net.i2p.router.transport.udp
Class IntroductionManager

java.lang.Object
  extended by net.i2p.router.transport.udp.IntroductionManager

public class IntroductionManager
extends java.lang.Object


Constructor Summary
IntroductionManager(RouterContext ctx, UDPTransport transport)
           
 
Method Summary
 void add(PeerState peer)
           
 PeerState get(long id)
           
(package private)  int introducerCount()
          Not as elaborate as pickInbound() above.
 int pickInbound(java.util.Properties ssuOptions, int howMany)
          Grab a bunch of peers who are willing to be introducers for us that are locally known (duh) and have published their own SSU address (duh^2).
(package private)  void receiveRelayIntro(RemoteHostId bob, UDPPacketReader reader)
           
(package private)  void receiveRelayRequest(RemoteHostId alice, UDPPacketReader reader)
           
 void remove(PeerState peer)
           
 void reset()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IntroductionManager

public IntroductionManager(RouterContext ctx,
                           UDPTransport transport)
Method Detail

reset

public void reset()

add

public void add(PeerState peer)

remove

public void remove(PeerState peer)

get

public PeerState get(long id)

pickInbound

public int pickInbound(java.util.Properties ssuOptions,
                       int howMany)
Grab a bunch of peers who are willing to be introducers for us that are locally known (duh) and have published their own SSU address (duh^2). The picked peers have their info tacked on to the ssuOptions parameter for use in the SSU RouterAddress. Try to use "good" peers (i.e. reachable, active) Also, ping all idle peers that were introducers in the last 2 hours, to keep the connection up, since the netDb can have quite stale information, and we want to keep our introducers valid.


introducerCount

int introducerCount()
Not as elaborate as pickInbound() above. Just a quick check to see how many volunteers we know, which the Transport uses to see if we need more.

Returns:
number of peers that have volunteerd to introduce us

receiveRelayIntro

void receiveRelayIntro(RemoteHostId bob,
                       UDPPacketReader reader)

receiveRelayRequest

void receiveRelayRequest(RemoteHostId alice,
                         UDPPacketReader reader)