class Dynflow::Connectors::Abstract
Public Instance Methods
prune_undeliverable_envelopes(world)
click to toggle source
# File lib/dynflow/connectors/abstract.rb, line 27 def prune_undeliverable_envelopes(world) raise NotImplementedError end
receive(world, envelope)
click to toggle source
we need to pass the world, as the connector can be shared between words: we need to know the one to send the message to
# File lib/dynflow/connectors/abstract.rb, line 33 def receive(world, envelope) Type! envelope, Dispatcher::Envelope Telemetry.with_instance { |t| t.increment_counter(:dynflow_connector_envelopes, 1, :world => world.id, :direction => 'incoming') } match(envelope.message, (on Dispatcher::Ping do response_envelope = envelope.build_response_envelope(Dispatcher::Pong, world) send(response_envelope) end), (on Dispatcher::Request do world.executor_dispatcher.tell([:handle_request, envelope]) end), (on Dispatcher::Response do world.client_dispatcher.tell([:dispatch_response, envelope]) end)) end
send(envelope)
click to toggle source
# File lib/dynflow/connectors/abstract.rb, line 23 def send(envelope) raise NotImplementedError end
start_listening(world)
click to toggle source
# File lib/dynflow/connectors/abstract.rb, line 7 def start_listening(world) raise NotImplementedError end
stop_listening(world, timeout = nil)
click to toggle source
# File lib/dynflow/connectors/abstract.rb, line 15 def stop_listening(world, timeout = nil) raise NotImplementedError end
stop_receiving_new_work(_, timeout = nil)
click to toggle source
# File lib/dynflow/connectors/abstract.rb, line 11 def stop_receiving_new_work(_, timeout = nil) raise NotImplementedError end
terminate()
click to toggle source
# File lib/dynflow/connectors/abstract.rb, line 19 def terminate raise NotImplementedError end