spreadflow_core.remote module¶
Protocol and protocol factories allowing communication with remote instances.
-
class
spreadflow_core.remote.ClientEndpointMixin¶ Bases:
objectA mixin providing methods to components relying on twisted client endpoints.
-
strport¶ string
The strport description specifying the server to connect to or the process to start.
-
peer¶ IProtocol
The protocol instance when connected to the endpoint (managed by this mixin). Use it from a subclass to send messages to the peer.
-
attach(*args, **kwargs)¶
-
detach(*args, **kwargs)¶
-
get_client_protocol_factory(scheduler, reactor)¶ Returns a client protocol factory instance.
Must be overridden by a subclass.
-
peer= None
-
strport= None
-
-
class
spreadflow_core.remote.MessageHandler(scheduler, portmap)¶ Bases:
objectA simple default message handler.
Resolves output ports according the port map and forwards incoming messages to the scheduler.
-
dispatch(port, item)¶
-
-
class
spreadflow_core.remote.SchedulerClientFactory(builder_factory=None, handler=None, parser_factory=None)¶ Bases:
twisted.internet.protocol.ClientFactoryClient protocol factory for remote schedulers.
-
buildProtocol(addr)¶
-
-
class
spreadflow_core.remote.SchedulerProtocol¶ Bases:
twisted.internet.protocol.ProtocolA client protocol suitable to control a remote scheduler.
-
builder¶ A message builder for outgoing messages.
-
handler¶ A message handler for incoming messages.
-
handler A message parser for incoming messages.
-
builder= None
-
connectionLost(reason=<twisted.python.failure.Failure twisted.internet.error.ConnectionDone: Connection was closed cleanly.>)¶
-
dataReceived(data)¶
-
handler= None
-
loseConnection()¶ Stop the remote scheduler and disconnect the transport.
- Returns
- defer.Deferred: Fires when the connection has been closed.
-
parser= None¶
-
sendMessage(port, item)¶ Send an outgoing message to the specified input port on the remote scheduler.
-
-
class
spreadflow_core.remote.SchedulerServerFactory(scheduler, builder_factory=None, handler=None, parser_factory=None)¶ Bases:
twisted.internet.protocol.ServerFactoryServer protocol factory for remote schedulers.
-
buildProtocol(addr)¶
-
-
class
spreadflow_core.remote.SchedulerServerProtocol¶ Bases:
spreadflow_core.remote.SchedulerProtocol-
readConnectionLost()¶
-
scheduler= None¶
-
writeConnectionLost()¶
-
-
class
spreadflow_core.remote.ServerEndpointMixin¶ Bases:
objectA mixin providing methods to components relying on twisted server endpoints.
-
strport¶ string
The strport description specifying the server to connect to or the process to start.
-
peer¶ IProtocol
The protocol instance when connected to the endpoint (managed by this mixin). Use it from a subclass to send messages to the peer.
-
attach(*args, **kwargs)¶
-
detach(*args, **kwargs)¶
-
get_server_protocol_factory(scheduler, reactor)¶ Returns a server protocol factory instance.
Must be overridden by a subclass.
-
peer= None
-
strport= None
-