Class: DEVp2p::PeerManager::ServiceListener

Inherits:
Object
  • Object
show all
Includes:
Concurrent::Async
Defined in:
lib/devp2p/peer_manager.rb

Instance Method Summary collapse

Constructor Details

#initialize(service, server) ⇒ ServiceListener



19
20
21
22
23
24
25
26
# File 'lib/devp2p/peer_manager.rb', line 19

def initialize(service, server)
  super()

  @service = service
  @server = server

  @stopped = false
end

Instance Method Details

#startObject



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/devp2p/peer_manager.rb', line 28

def start
  loop do
    break if @stopped
    @service.async.handle_connection @server.accept
  end
rescue IOError
  logger.error "listening error: #{$!}"
  puts $!
  @stopped = true
rescue
  logger.error $!
  logger.error $!.backtrace[0,10].join("\n")
end

#stopObject



42
43
44
# File 'lib/devp2p/peer_manager.rb', line 42

def stop
  @stopped = true
end