Class: Plug::PeerList
Direct Known Subclasses
Instance Method Summary collapse
- #add_peer(addr) ⇒ Object
- #add_peer_manually(host, port) ⇒ Object
- #delete(addr) ⇒ Object
- #find_peer(addr) ⇒ Object
-
#initialize(owner, *args) ⇒ PeerList
constructor
A new instance of PeerList.
Methods inherited from Array
Constructor Details
#initialize(owner, *args) ⇒ PeerList
Returns a new instance of PeerList.
39 40 41 42 43 44 |
# File 'lib/rbkb/plug/peer.rb', line 39 def initialize(owner, *args) @owner = owner @transport = @owner.transport super(*args) end |
Instance Method Details
#add_peer(addr) ⇒ Object
51 52 53 54 |
# File 'lib/rbkb/plug/peer.rb', line 51 def add_peer(addr) self << Peer.new(addr, @owner) self.last end |
#add_peer_manually(host, port) ⇒ Object
56 57 58 59 |
# File 'lib/rbkb/plug/peer.rb', line 56 def add_peer_manually(host, port) addr = Socket.pack_sockaddr_in(port, host) return (find_peer(addr) || add_peer(addr)) end |
#delete(addr) ⇒ Object
61 62 63 64 65 66 |
# File 'lib/rbkb/plug/peer.rb', line 61 def delete(addr) if p=find_peer(addr) p.close super(p) end end |
#find_peer(addr) ⇒ Object
46 47 48 49 |
# File 'lib/rbkb/plug/peer.rb', line 46 def find_peer(addr) self.find {|p| p.addr == addr } return nil end |