pycram.worlds.multiverse_communication.client_manager
=====================================================

.. py:module:: pycram.worlds.multiverse_communication.client_manager


Classes
-------

.. autoapisummary::

   pycram.worlds.multiverse_communication.client_manager.MultiverseClientManager


Module Contents
---------------

.. py:class:: MultiverseClientManager(simulation_wait_time_factor: typing_extensions.Optional[float] = 1.0)

   .. py:attribute:: BASE_PORT
      :type:  int

      The base port of the Multiverse client.



   .. py:attribute:: clients
      :type:  typing_extensions.Optional[typing_extensions.Dict[str, pycram.worlds.multiverse_communication.clients.MultiverseClient]]

      The list of Multiverse clients.



   .. py:attribute:: last_used_port
      :type:  int


   .. py:attribute:: simulation_wait_time_factor
      :value: 1.0



   .. py:method:: create_reader(is_prospection_world: typing_extensions.Optional[bool] = False) -> pycram.worlds.multiverse_communication.clients.MultiverseReader

      Create a Multiverse reader client.

      :param is_prospection_world: Whether the reader is connected to the prospection world.



   .. py:method:: create_writer(simulation: str, is_prospection_world: typing_extensions.Optional[bool] = False) -> pycram.worlds.multiverse_communication.clients.MultiverseWriter

      Create a Multiverse writer client.

      :param simulation: The name of the simulation that the writer is connected to
       (usually the name defined in the .muv file).
      :param is_prospection_world: Whether the writer is connected to the prospection world.



   .. py:method:: create_controller(is_prospection_world: typing_extensions.Optional[bool] = False) -> pycram.worlds.multiverse_communication.clients.MultiverseController

      Create a Multiverse controller client.

      :param is_prospection_world: Whether the controller is connected to the prospection world.



   .. py:method:: create_api_requester(simulation: str, is_prospection_world: typing_extensions.Optional[bool] = False) -> pycram.worlds.multiverse_communication.clients.MultiverseAPI

      Create a Multiverse API client.

      :param simulation: The name of the simulation that the API is connected to
       (usually the name defined in the .muv file).
      :param is_prospection_world: Whether the API is connected to the prospection world.



   .. py:method:: create_client(client_type: typing_extensions.Type[pycram.worlds.multiverse_communication.clients.MultiverseClient], name: typing_extensions.Optional[str] = None, is_prospection_world: typing_extensions.Optional[bool] = False, **kwargs) -> typing_extensions.Union[pycram.worlds.multiverse_communication.clients.MultiverseClient, pycram.worlds.multiverse_communication.clients.MultiverseAPI, pycram.worlds.multiverse_communication.clients.MultiverseReader, pycram.worlds.multiverse_communication.clients.MultiverseWriter, pycram.worlds.multiverse_communication.clients.MultiverseController]

      Create a Multiverse client.

      :param client_type: The type of the client to create.
      :param name: The name of the client.
      :param is_prospection_world: Whether the client is connected to the prospection world.
      :param kwargs: Any other keyword arguments that should be passed to the client constructor.



   .. py:method:: stop_all_clients()
      :classmethod:


      Stop all clients.



