Class: ASIR::Transport::Demux
- Inherits:
-
ASIR::Transport
- Object
- ASIR::Transport
- ASIR::Transport::Demux
- Includes:
- Delegation
- Defined in:
- lib/asir/transport/demux.rb
Overview
!SLIDE Select a Transport based on a Proc.
Constant Summary
Constants included from ASIR::ThreadVariable
ASIR::ThreadVariable::DEBUG, ASIR::ThreadVariable::EMPTY_HASH, ASIR::ThreadVariable::SETTER
Instance Attribute Summary collapse
-
#transport_proc ⇒ Object
Proc returning actual transport to use.
Attributes included from Delegation
#on_failed_message, #on_send_message_exception, #reraise_first_exception
Attributes inherited from ASIR::Transport
#after_invoke_message, #after_receive_message, #before_send_message, #coder_needs_result_message, #decoder, #encoder, #invoker, #message_count, #needs_message_identifier, #needs_message_timestamp, #on_exception, #on_result_exception, #one_way, #running, #verbose
Attributes included from Log
Instance Method Summary collapse
- #_send_message(state) ⇒ Object
- #send_message(message) ⇒ Object
-
#transports ⇒ Object
Support for Delegation mixin.
Methods included from Delegation
#_handle_send_message_exception!, #_receive_result, #needs_message_identifier?, #needs_message_timestamp?
Methods inherited from ASIR::Transport
#_after_invoke_message, #_subclass_responsibility, #initialize, #invoke_message!, #needs_message_identifier?, #needs_message_timestamp?, #receive_message, #receive_result, #send_result, #serve_message!, #stop!, #with_force_stop!, #with_server_signals!
Methods included from Log
#_log, #_log_enabled=, #_log_enabled?, #_log_format, #_log_result, enabled, enabled=, included
Methods included from Initialization
Methods included from AdditionalData
#[], #[]=, #_additional_data, #additional_data, #additional_data!, #additional_data=, included
Methods included from Message::Delay
#relative_message_delay!, #wait_for_delay!
Methods included from ASIR::ThreadVariable
Constructor Details
This class inherits a constructor from ASIR::Transport
Instance Attribute Details
#transport_proc ⇒ Object
Proc returning actual transport to use. transport_proc.call(transport, message)
12 13 14 |
# File 'lib/asir/transport/demux.rb', line 12 def transport_proc @transport_proc end |
Instance Method Details
#_send_message(state) ⇒ Object
26 27 28 |
# File 'lib/asir/transport/demux.rb', line 26 def state transport.(state.) end |
#send_message(message) ⇒ Object
20 21 22 23 24 |
# File 'lib/asir/transport/demux.rb', line 20 def with_attr! :transport, transport_proc.call(self, ) do super end end |
#transports ⇒ Object
Support for Delegation mixin.
18 |
# File 'lib/asir/transport/demux.rb', line 18 def transports; [ transport ]; end |