Method: Peasant::NodeManager#select_for

Defined in:
lib/peasant/node_manager.rb

#select_for(peer) {|node| ... } ⇒ Object

Yields:

  • (node)


35
36
37
38
39
40
41
42
# File 'lib/peasant/node_manager.rb', line 35

def select_for peer
  peer_info = @peers[peer] ||= PeerInfo.new(peer)
  node = peer_info.node ||= select
  peer_info.inc_requests
  peer_info.reset_node_expiration
  yield node if block_given?
  node
end