How to use the portpicker.return_port function in portpicker

To help you get started, we’ve selected a few portpicker examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github deepmind / pysc2 / pysc2 / lib / sc_process.py View on Github external
def close(self):
    """Shut down the game and clean up."""
    if hasattr(self, "_controller") and self._controller:
      self._controller.quit()
      self._controller.close()
      self._controller = None
    self._shutdown()
    if hasattr(self, "_port") and self._port:
      if not FLAGS.sc2_port:
        portpicker.return_port(self._port)
      self._port = None
    if hasattr(self, "_tmp_dir") and os.path.exists(self._tmp_dir):
      shutil.rmtree(self._tmp_dir)
github qing8137 / StarCraft2-Happy-Kitting / DQN / pysc2 / lib / sc_process.py View on Github external
def close(self):
    """Shut down the game and clean up."""
    if hasattr(self, "_controller") and self._controller:
      self._controller.quit()
      self._controller.close()
      self._controller = None
    self._shutdown()
    if hasattr(self, "_port") and self._port:
      portpicker.return_port(self._port)
      self._port = None
    if hasattr(self, "_tmp_dir") and os.path.exists(self._tmp_dir):
      shutil.rmtree(self._tmp_dir)
github qing8137 / StarCraft2-Happy-Kitting / DQN / pysc2 / env / sc2_env.py View on Github external
self._renderer_human.close()
      self._renderer_human = None

    # Don't use parallel since it might be broken by an exception.
    if hasattr(self, "_controllers") and self._controllers:
      for c in self._controllers:
        c.quit()
      self._controllers = None
    if hasattr(self, "_sc2_procs") and self._sc2_procs:
      for p in self._sc2_procs:
        p.close()
      self._sc2_procs = None

    if hasattr(self, "_ports") and self._ports:
      for port in self._ports:
        portpicker.return_port(port)
      self._ports = None
github qing8137 / StarCraft2-Happy-Kitting / DQN / pysc2 / env / sc2_env.py View on Github external
def _pick_unused_ports(num_ports, retry_interval_secs=3, retry_attempts=5):
  """Returns a list of `num_ports` unused ports."""
  ports = set()
  for _ in range(retry_attempts):
    ports.update(
        portpicker.pick_unused_port() for _ in range(num_ports - len(ports)))
    ports.discard(None)  # portpicker returns None on error.
    if len(ports) == num_ports:
      return list(ports)
    # Duplicate ports can be returned, especially when insufficient ports are
    # free. Wait for more ports to be freed and retry.
    time.sleep(retry_interval_secs)

  # Could not obtain enough ports. Release what we do have.
  for port in ports:
    portpicker.return_port(port)
  raise RuntimeError("Unable to obtain %d unused ports." % num_ports)
github deepmind / pysc2 / pysc2 / lib / portspicker.py View on Github external
def return_ports(ports):
  """Returns previously reserved ports so that may be reused."""
  for port in ports:
    if port in _contiguous_ports:
      _contiguous_ports.discard(port)
    else:
      portpicker.return_port(port)

portpicker

A library to choose unique available network ports.

Apache-2.0
Latest version published 9 months ago

Package Health Score

80 / 100
Full package analysis

Similar packages