Class: Baykit::BayServer::Agent::Multiplexer::JobMultiplexerBase
- Inherits:
-
MultiplexerBase
- Object
- MultiplexerBase
- Baykit::BayServer::Agent::Multiplexer::JobMultiplexerBase
- Includes:
- TimerHandler
- Defined in:
- lib/baykit/bayserver/agent/multiplexer/job_multiplexer_base.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#anchorable ⇒ Object
readonly
Returns the value of attribute anchorable.
-
#pipe ⇒ Object
readonly
Returns the value of attribute pipe.
Attributes inherited from MultiplexerBase
#agent, #channel_count, #lock, #rudders, #rudders_lock
Instance Method Summary collapse
-
#initialize(agt, anchorable) ⇒ JobMultiplexerBase
constructor
A new instance of JobMultiplexerBase.
- #on_free ⇒ Object
-
#on_timer ⇒ Object
Implements TimerHandler.
-
#shutdown ⇒ Object
Implements Multiplexer.
Methods inherited from MultiplexerBase
#add_rudder_state, #close_all, #close_rudder, #close_timeout_sockets, #consume_oldest_unit, #find_rudder_state_by_key, #get_rudder_state, #get_transporter, #is_busy, #remove_rudder_state
Methods included from Common::Multiplexer
#add_rudder_state, #cancel_read, #cancel_write, #close_rudder, #consume_oldest_unit, #get_rudder_state, #get_transporter, #is_busy, #is_non_blocking, #next_accept, #next_read, #next_write, #on_busy, #remove_rudder_state, #req_accept, #req_close, #req_connect, #req_end, #req_read, #req_write, #use_async_api
Constructor Details
#initialize(agt, anchorable) ⇒ JobMultiplexerBase
Returns a new instance of JobMultiplexerBase.
12 13 14 15 16 17 18 19 |
# File 'lib/baykit/bayserver/agent/multiplexer/job_multiplexer_base.rb', line 12 def initialize(agt, anchorable) super(agt) @anchorable = anchorable @agent.add_timer_handler(self) @pipe = IO::pipe end |
Instance Attribute Details
#anchorable ⇒ Object (readonly)
Returns the value of attribute anchorable.
9 10 11 |
# File 'lib/baykit/bayserver/agent/multiplexer/job_multiplexer_base.rb', line 9 def anchorable @anchorable end |
#pipe ⇒ Object (readonly)
Returns the value of attribute pipe.
10 11 12 |
# File 'lib/baykit/bayserver/agent/multiplexer/job_multiplexer_base.rb', line 10 def pipe @pipe end |
Instance Method Details
#on_free ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/baykit/bayserver/agent/multiplexer/job_multiplexer_base.rb', line 29 def on_free() if @agent.aborted return end if @anchorable BayServer::anchorable_port_map.keys.each do |rd| req_accept(rd) end end end |
#on_timer ⇒ Object
Implements TimerHandler
45 46 47 |
# File 'lib/baykit/bayserver/agent/multiplexer/job_multiplexer_base.rb', line 45 def on_timer() close_timeout_sockets() end |
#shutdown ⇒ Object
Implements Multiplexer
25 26 27 |
# File 'lib/baykit/bayserver/agent/multiplexer/job_multiplexer_base.rb', line 25 def shutdown() close_all() end |