Method: Packet::Core::CommonMethods#start_reactor

Defined in:
lib/packet/packet_core.rb

#start_reactorObject

method starts event loop in the process



136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'lib/packet/packet_core.rb', line 136

def start_reactor
  Signal.trap("TERM") { terminate_me }
  Signal.trap("INT") { shutdown }
  loop do
    check_for_timer_events
    @on_next_tick.call if @on_next_tick

    ready_read_fds,ready_write_fds,read_error_fds = select(read_ios,write_ios,[],0.005)

    if ready_read_fds && !ready_read_fds.empty?
      handle_read_event(ready_read_fds)
    elsif ready_write_fds && !ready_write_fds.empty?
      handle_write_event(ready_write_fds)
    end
  end

end