boss.multiprocess¶
Attributes¶
Classes¶
Use the communication between two processes via a pipe to implement RPC. |
Module Contents¶
- boss.multiprocess.POLLING_INTERVAL = 0.01¶
- class boss.multiprocess.MethodCallMessage(*args, **kwargs)[source]¶
Bases:
Message- TYPE = 'c'¶
- fields = ['method', 'args', 'kwargs']¶
- class boss.multiprocess.AttributeGetMessage(*args, **kwargs)[source]¶
Bases:
Message- TYPE = 'g'¶
- fields = ['name']¶
- class boss.multiprocess.AttributeSetMessage(*args, **kwargs)[source]¶
Bases:
Message- TYPE = 's'¶
- fields = ['name', 'value']¶
- class boss.multiprocess.ResultMessage(*args, **kwargs)[source]¶
Bases:
Message- TYPE = 'r'¶
- fields = ['payload']¶
- class boss.multiprocess.ErrorMessage(*args, **kwargs)[source]¶
Bases:
Message- TYPE = 'e'¶
- fields = ['error']¶
- class boss.multiprocess.MultiprocessRPC(loop, pipe)[source]¶
Use the communication between two processes via a pipe to implement RPC.
In BOSS this is used to communicate between the BOSS object in the main process and the BOSSRemote running in a separate process. This becomes necessary since zenoh/rust/pyO3 does not allow to run in the main process and in dynamically generated processes.
- _loop¶
- _pipe¶
- _pending_results¶
- _shutdown = False¶
- _communicatation_task¶