Class: P2p2::P2pdWorker

Inherits:
Object
  • Object
show all
Defined in:
lib/p2p2/p2pd_worker.rb

Instance Method Summary collapse

Constructor Details

#initialize(p2pd_port, p2pd_tmp_dir) ⇒ P2pdWorker

Returns a new instance of P2pdWorker.



4
5
6
7
8
9
10
11
# File 'lib/p2p2/p2pd_worker.rb', line 4

def initialize( p2pd_port, p2pd_tmp_dir )
  p2pd = Socket.new( Socket::AF_INET, Socket::SOCK_DGRAM, 0 )
  p2pd.setsockopt( Socket::SOL_SOCKET, Socket::SO_REUSEADDR, 1 )
  p2pd.bind( Socket.pack_sockaddr_in( p2pd_port, '0.0.0.0' ) )

  @p2pd = p2pd
  @p2pd_tmp_dir = p2pd_tmp_dir
end

Instance Method Details

#loopingObject



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/p2p2/p2pd_worker.rb', line 13

def looping
  puts 'looping'

  loop do
    rs, _ = IO.select( [ @p2pd ] )
    read_p2pd( rs.first )
  end
rescue Interrupt => e
  puts e.class
  quit!
end

#quit!Object



25
26
27
# File 'lib/p2p2/p2pd_worker.rb', line 25

def quit!
  exit
end