com.aelitis.azureus.core.dht.nat.impl
Class DHTNATPuncherImpl

java.lang.Object
  extended by com.aelitis.azureus.core.dht.nat.impl.DHTNATPuncherImpl
All Implemented Interfaces:
DHTNATPuncher

public class DHTNATPuncherImpl
extends Object
implements DHTNATPuncher


Constructor Summary
DHTNATPuncherImpl(DHTNATPuncherAdapter _adapter, DHT _dht)
           
 
Method Summary
 boolean active()
          We're trying to run a rendezvous
 void addListener(DHTNATPuncherListener listener)
           
protected  DHTTransportUDPContact decodeContact(byte[] bytes)
           
 void destroy()
           
protected  byte[] encodeContact(DHTTransportContact contact)
           
protected  byte[] encodePublishValue(DHTTransportContact contact)
           
 void forceActive(boolean force)
           
 DHTTransportContact getLocalContact()
           
protected  byte[] getPublishKey(DHTTransportContact contact)
           
 DHTTransportContact getRendezvous()
           
protected  DHTTransportContact getRendezvous(String reason, DHTTransportContact target)
           
 DHTNATPuncher getSecondaryPuncher()
           
 String getStats()
           
protected  void log(String str)
           
protected  void log(Throwable e)
           
 boolean operational()
          Got a good running rendezvous
protected  void publish(boolean force)
           
protected  void publishSupport()
           
 Map punch(String reason, DHTTransportContact _target, DHTTransportContact[] rendezvous_used, Map originator_client_data)
           
 Map punch(String reason, InetSocketAddress[] target, DHTTransportContact[] rendezvous_used, Map originator_client_data)
           
protected  void receiveBind(DHTTransportUDPContact originator, Map request, Map response)
           
protected  void receiveClose(DHTTransportUDPContact originator, Map request, Map response)
           
protected  void receiveConnect(DHTTransportContact rendezvous, Map request, Map response)
           
protected  void receivePunch(DHTTransportUDPContact originator, Map request, Map response)
           
protected  void receiveQuery(DHTTransportUDPContact originator, Map request, Map response)
           
protected  byte[] receiveRequest(DHTTransportUDPContact originator, byte[] data)
           
protected  Map receiveRequest(DHTTransportUDPContact originator, Map data)
           
protected  void receiveTunnelInbound(DHTTransportUDPContact originator, Map data)
           
protected  void receiveTunnelOutbound(DHTTransportContact originator, Map data)
           
 void removeListener(DHTNATPuncherListener listener)
           
protected  void rendezvousFailed(DHTTransportContact current_target, boolean tidy)
           
protected  void runRendezvous()
           
protected  void runRendezvousSupport()
           
protected  int sendBind(DHTTransportContact target)
           
protected  int sendClose(DHTTransportContact target)
           
protected  Map sendConnect(DHTTransportContact target, DHTTransportContact originator, Map originator_client_data)
           
 Map sendMessage(InetSocketAddress rendezvous, InetSocketAddress target, Map message)
           
protected  Map sendPunch(DHTTransportContact rendezvous, DHTTransportUDPContact target, Map originator_client_data, boolean no_tunnel)
           
protected  byte[] sendRequest(DHTTransportContact target, byte[] data, int timeout)
           
protected  Map sendRequest(DHTTransportContact target, Map data, int timeout)
           
protected  boolean sendTunnelInbound(DHTTransportContact target)
           
protected  boolean sendTunnelMessage(DHTTransportContact target, byte[] data)
           
protected  boolean sendTunnelMessage(DHTTransportContact target, Map data)
           
protected  boolean sendTunnelOutbound(DHTTransportContact target)
           
 void setRendezvous(DHTTransportContact target, DHTTransportContact rendezvous)
           
 void setSuspended(boolean susp)
           
 void start()
           
protected  void trace(String str)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DHTNATPuncherImpl

public DHTNATPuncherImpl(DHTNATPuncherAdapter _adapter,
                         DHT _dht)
Method Detail

getSecondaryPuncher

public DHTNATPuncher getSecondaryPuncher()
Specified by:
getSecondaryPuncher in interface DHTNATPuncher

start

public void start()
Specified by:
start in interface DHTNATPuncher

setSuspended

public void setSuspended(boolean susp)
Specified by:
setSuspended in interface DHTNATPuncher

active

public boolean active()
Description copied from interface: DHTNATPuncher
We're trying to run a rendezvous

Specified by:
active in interface DHTNATPuncher
Returns:

forceActive

public void forceActive(boolean force)
Specified by:
forceActive in interface DHTNATPuncher

operational

public boolean operational()
Description copied from interface: DHTNATPuncher
Got a good running rendezvous

Specified by:
operational in interface DHTNATPuncher
Returns:

getLocalContact

public DHTTransportContact getLocalContact()
Specified by:
getLocalContact in interface DHTNATPuncher

getRendezvous

public DHTTransportContact getRendezvous()
Specified by:
getRendezvous in interface DHTNATPuncher

publish

protected void publish(boolean force)

publishSupport

protected void publishSupport()

runRendezvous

protected void runRendezvous()

runRendezvousSupport

protected void runRendezvousSupport()

rendezvousFailed

protected void rendezvousFailed(DHTTransportContact current_target,
                                boolean tidy)

sendRequest

protected byte[] sendRequest(DHTTransportContact target,
                             byte[] data,
                             int timeout)

receiveRequest

protected byte[] receiveRequest(DHTTransportUDPContact originator,
                                byte[] data)

sendRequest

protected Map sendRequest(DHTTransportContact target,
                          Map data,
                          int timeout)

receiveRequest

protected Map receiveRequest(DHTTransportUDPContact originator,
                             Map data)

sendTunnelMessage

protected boolean sendTunnelMessage(DHTTransportContact target,
                                    Map data)

sendTunnelMessage

protected boolean sendTunnelMessage(DHTTransportContact target,
                                    byte[] data)

sendBind

protected int sendBind(DHTTransportContact target)

receiveBind

protected void receiveBind(DHTTransportUDPContact originator,
                           Map request,
                           Map response)

destroy

public void destroy()
Specified by:
destroy in interface DHTNATPuncher

sendClose

protected int sendClose(DHTTransportContact target)

receiveClose

protected void receiveClose(DHTTransportUDPContact originator,
                            Map request,
                            Map response)

receiveQuery

protected void receiveQuery(DHTTransportUDPContact originator,
                            Map request,
                            Map response)

sendPunch

protected Map sendPunch(DHTTransportContact rendezvous,
                        DHTTransportUDPContact target,
                        Map originator_client_data,
                        boolean no_tunnel)

receivePunch

protected void receivePunch(DHTTransportUDPContact originator,
                            Map request,
                            Map response)

sendConnect

protected Map sendConnect(DHTTransportContact target,
                          DHTTransportContact originator,
                          Map originator_client_data)

receiveConnect

protected void receiveConnect(DHTTransportContact rendezvous,
                              Map request,
                              Map response)

sendTunnelInbound

protected boolean sendTunnelInbound(DHTTransportContact target)

receiveTunnelInbound

protected void receiveTunnelInbound(DHTTransportUDPContact originator,
                                    Map data)

sendTunnelOutbound

protected boolean sendTunnelOutbound(DHTTransportContact target)

receiveTunnelOutbound

protected void receiveTunnelOutbound(DHTTransportContact originator,
                                     Map data)

punch

public Map punch(String reason,
                 InetSocketAddress[] target,
                 DHTTransportContact[] rendezvous_used,
                 Map originator_client_data)
Specified by:
punch in interface DHTNATPuncher
target - input/output parameter for target of traversal
Returns:

punch

public Map punch(String reason,
                 DHTTransportContact _target,
                 DHTTransportContact[] rendezvous_used,
                 Map originator_client_data)
Specified by:
punch in interface DHTNATPuncher

sendMessage

public Map sendMessage(InetSocketAddress rendezvous,
                       InetSocketAddress target,
                       Map message)
Specified by:
sendMessage in interface DHTNATPuncher

setRendezvous

public void setRendezvous(DHTTransportContact target,
                          DHTTransportContact rendezvous)
Specified by:
setRendezvous in interface DHTNATPuncher

getRendezvous

protected DHTTransportContact getRendezvous(String reason,
                                            DHTTransportContact target)

getPublishKey

protected byte[] getPublishKey(DHTTransportContact contact)

encodePublishValue

protected byte[] encodePublishValue(DHTTransportContact contact)

encodeContact

protected byte[] encodeContact(DHTTransportContact contact)

decodeContact

protected DHTTransportUDPContact decodeContact(byte[] bytes)

addListener

public void addListener(DHTNATPuncherListener listener)
Specified by:
addListener in interface DHTNATPuncher

removeListener

public void removeListener(DHTNATPuncherListener listener)
Specified by:
removeListener in interface DHTNATPuncher

log

protected void log(String str)

log

protected void log(Throwable e)

trace

protected void trace(String str)

getStats

public String getStats()
Specified by:
getStats in interface DHTNATPuncher