Method: ForeignActor::InternalReactor#initialize

Defined in:
lib/foreign_actor/reactor.rb

#initialize(context = nil, poller = nil, timers = nil) ⇒ InternalReactor

Returns a new instance of InternalReactor.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/foreign_actor/reactor.rb', line 11

def initialize(context = nil, poller = nil, timers = nil)
  @context = context || ZMQ::Context.new
  @poller = poller || ZMQ::Poller.new
  @waiting_readables = {}
  @servers = {}
  @timers = timers || Timers::Group.new
  
  @control_socket_srv = @context.socket(ZMQ::PAIR)
  @control_socket_cl = @context.socket(ZMQ::PAIR)
  @control_messages = Array.new
  
  addr = "inproc://ctrl"
  @control_socket_srv.bind(addr)
  @control_socket_cl.connect(addr)
  
  @poller.register_readable(@control_socket_srv)
  
end