Class: OSPFv2::NeighborEventHandler
- Defined in:
- lib/neighbor/neighbor_event_handler.rb
Instance Method Summary collapse
-
#initialize(neighbor) ⇒ NeighborEventHandler
constructor
A new instance of NeighborEventHandler.
- #start_event_loop ⇒ Object
- #update(*args) ⇒ Object
Constructor Details
#initialize(neighbor) ⇒ NeighborEventHandler
Returns a new instance of NeighborEventHandler.
28 29 30 31 32 |
# File 'lib/neighbor/neighbor_event_handler.rb', line 28 def initialize(neighbor) @neighbor = neighbor @evQ = Queue.new start_event_loop end |
Instance Method Details
#start_event_loop ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/neighbor/neighbor_event_handler.rb', line 38 def start_event_loop @neighbor.debug "*** Event Loop Started ***" Thread.new(@evQ) do |events| loop do ev_type, *ev = events.deq case ev_type when :ev_recv bits, from, @port = ev packet = OspfPacket.factory(bits[20..-1]) if packet @neighbor.log :rcv, packet @neighbor.__send__ "recv_#{packet.name}", packet, from, @port else STDERR.puts "Not an ospf packet: #{bits.unpack('H*')}" end else @neighbor.log ev_type, ev.inspect end end end end |
#update(*args) ⇒ Object
34 35 36 |
# File 'lib/neighbor/neighbor_event_handler.rb', line 34 def update(*args) @evQ.enq(args) end |