libmuscle.manager.mmp_server module¶
- class libmuscle.manager.mmp_server.MMPRequestHandler(logger: libmuscle.manager.logger.Logger, settings: ymmsl.settings.Settings, instance_registry: libmuscle.manager.instance_registry.InstanceRegistry, topology_store: libmuscle.manager.topology_store.TopologyStore)[source]¶
Bases:
libmuscle.mcp.transport_server.RequestHandler
Handles Manager requests.
Create an MMPRequestHandler.
- Parameters
logger – The Logger component to log messages to.
settings – The global settings to serve to instances.
instance_registry – The database for instances.
topology_store – Keeps track of how to connect things.
- class libmuscle.manager.mmp_server.MMPServer(logger: libmuscle.manager.logger.Logger, settings: ymmsl.settings.Settings, instance_registry: libmuscle.manager.instance_registry.InstanceRegistry, topology_store: libmuscle.manager.topology_store.TopologyStore)[source]¶
Bases:
object
The MUSCLE Manager Protocol server.
This class accepts connections from the instances comprising the multiscale model to be executed, and services them using an MMPRequestHandler.
Create an MMPServer.
This starts a TCP Transport server and connects it to an MMPRequestHandler, which uses the given components to service the requests. By default, we listen on port 9000, unless it’s not available in which case we use a random other one.
- Parameters
logger – Logger to send log messages to
settings – Settings component to get settings from
instance_registry – To register instances with and get peer locations from
topology_store – To get peers and conduits from
- libmuscle.manager.mmp_server.decode_operator(data: str) ymmsl.component.Operator [source]¶
Create an Operator from a MsgPack-compatible value.