class DEVp2p::Discovery::Receiver
Public Class Methods
new(service, socket)
click to toggle source
Calls superclass method
# File lib/devp2p/discovery/service.rb, line 8 def initialize(service, socket) super() @service = service @socket = socket @stopped = false end
Public Instance Methods
handle_packet(message, ip, port)
click to toggle source
# File lib/devp2p/discovery/service.rb, line 35 def handle_packet(message, ip, port) logger.debug "handling packet", ip: ip, port: port, size: message.size @service.async.receive_message Address.new(ip, port), message end
start()
click to toggle source
# File lib/devp2p/discovery/service.rb, line 17 def start maxlen = Multiplexer.max_window_size * 2 loop do break if @stopped || @socket.closed? message, info = @socket.recvfrom maxlen handle_packet message, info[3], info[1] end rescue puts $! puts $!.backtrace[0,10].join("\n") end
stop()
click to toggle source
# File lib/devp2p/discovery/service.rb, line 31 def stop @stopped = true end
Private Instance Methods
logger()
click to toggle source
# File lib/devp2p/discovery/service.rb, line 42 def logger @logger ||= Logger.new "p2p.discovery" end