com.aelitis.azureus.core.dht.transport.udp.impl
Class DHTTransportUDPContactImpl

java.lang.Object
  extended by com.aelitis.azureus.core.dht.transport.udp.impl.DHTTransportUDPContactImpl
All Implemented Interfaces:
DHTTransportContact, DHTTransportUDPContact

public class DHTTransportUDPContactImpl
extends Object
implements DHTTransportUDPContact

Author:
parg

Field Summary
static int NODE_STATUS_ROUTABLE
           
static int NODE_STATUS_UNKNOWN
           
 
Fields inherited from interface com.aelitis.azureus.core.dht.transport.DHTTransportContact
RANDOM_ID_TYPE1, RANDOM_ID_TYPE2
 
Constructor Summary
protected DHTTransportUDPContactImpl(boolean _is_local, DHTTransportUDPImpl _transport, InetSocketAddress _transport_address, InetSocketAddress _external_address, byte _protocol_version, int _instance_id, long _skew, byte _generic_flags)
           
 
Method Summary
protected  boolean addressMatchesID()
           
 void createNetworkPositions(boolean is_local)
           
 void exportContact(DataOutputStream os)
           
 Map<String,Object> exportContactToMap()
           
 InetSocketAddress getAddress()
           
 byte[] getBloomKey()
           
 long getClockSkew()
           
 InetSocketAddress getExternalAddress()
           
 byte[] getID()
           
 int getInstanceID()
           
 int getMaxFailForLiveCount()
           
 int getMaxFailForUnknownCount()
           
 String getName()
           
 DHTNetworkPosition getNetworkPosition(byte position_type)
           
 DHTNetworkPosition[] getNetworkPositions()
           
protected  int getNodeStatus()
           
 byte getProtocolVersion()
           
 int getRandomID()
           
 byte[] getRandomID2()
           
 int getRandomIDType()
           
 DHTTransportFullStats getStats()
           
 String getString()
           
 DHTTransport getTransport()
           
 InetSocketAddress getTransportAddress()
           
 void isAlive(DHTTransportReplyHandler handler, long timeout)
           
 boolean isAlive(long timeout)
           
 boolean isSleeping()
           
 boolean isValid()
           
 void remove()
           
 void sendFindNode(DHTTransportReplyHandler handler, byte[] nid, short flags)
           
 void sendFindValue(DHTTransportReplyHandler handler, byte[] key, int max_values, short flags)
           
 void sendImmediatePing(DHTTransportReplyHandler handler, long timeout)
           
 void sendKeyBlock(DHTTransportReplyHandler handler, byte[] request, byte[] signature)
           
 void sendPing(DHTTransportReplyHandler handler)
           
 void sendQueryStore(DHTTransportReplyHandler handler, int header_length, List<Object[]> key_details)
           
 void sendStats(DHTTransportReplyHandler handler)
           
 void sendStore(DHTTransportReplyHandler handler, byte[][] keys, DHTTransportValue[][] value_sets, boolean immediate)
           
protected  void setGenericFlags(byte flags)
           
protected  void setInstanceIDAndVersion(int _instance_id, byte _protocol_version)
           
protected  void setNetworkPositions(DHTNetworkPosition[] positions)
           
protected  void setNodeStatus(int ns)
           
protected  void setProtocolVersion(byte v)
           
 void setRandomID(int _random_id)
           
 void setRandomID2(byte[] id)
           
 void setTransportAddress(InetSocketAddress address)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NODE_STATUS_UNKNOWN

public static final int NODE_STATUS_UNKNOWN
See Also:
Constant Field Values

NODE_STATUS_ROUTABLE

public static final int NODE_STATUS_ROUTABLE
See Also:
Constant Field Values
Constructor Detail

DHTTransportUDPContactImpl

protected DHTTransportUDPContactImpl(boolean _is_local,
                                     DHTTransportUDPImpl _transport,
                                     InetSocketAddress _transport_address,
                                     InetSocketAddress _external_address,
                                     byte _protocol_version,
                                     int _instance_id,
                                     long _skew,
                                     byte _generic_flags)
                              throws DHTTransportException
Throws:
DHTTransportException
Method Detail

getTransport

public DHTTransport getTransport()
Specified by:
getTransport in interface DHTTransportContact

getProtocolVersion

public byte getProtocolVersion()
Specified by:
getProtocolVersion in interface DHTTransportContact

setProtocolVersion

protected void setProtocolVersion(byte v)

getClockSkew

public long getClockSkew()
Specified by:
getClockSkew in interface DHTTransportContact

getRandomIDType

public int getRandomIDType()
Specified by:
getRandomIDType in interface DHTTransportContact

setRandomID

public void setRandomID(int _random_id)
Specified by:
setRandomID in interface DHTTransportContact

getRandomID

public int getRandomID()
Specified by:
getRandomID in interface DHTTransportContact

setRandomID2

public void setRandomID2(byte[] id)
Specified by:
setRandomID2 in interface DHTTransportContact

getRandomID2

public byte[] getRandomID2()
Specified by:
getRandomID2 in interface DHTTransportContact

getNodeStatus

protected int getNodeStatus()

setNodeStatus

protected void setNodeStatus(int ns)

isValid

public boolean isValid()
Specified by:
isValid in interface DHTTransportContact

isSleeping

public boolean isSleeping()
Specified by:
isSleeping in interface DHTTransportContact

setGenericFlags

protected void setGenericFlags(byte flags)

addressMatchesID

protected boolean addressMatchesID()

getTransportAddress

public InetSocketAddress getTransportAddress()
Specified by:
getTransportAddress in interface DHTTransportContact

setTransportAddress

public void setTransportAddress(InetSocketAddress address)
Specified by:
setTransportAddress in interface DHTTransportUDPContact

getExternalAddress

public InetSocketAddress getExternalAddress()
Specified by:
getExternalAddress in interface DHTTransportContact

getName

public String getName()
Specified by:
getName in interface DHTTransportContact

getBloomKey

public byte[] getBloomKey()
Specified by:
getBloomKey in interface DHTTransportContact

getAddress

public InetSocketAddress getAddress()
Specified by:
getAddress in interface DHTTransportContact

getMaxFailForLiveCount

public int getMaxFailForLiveCount()
Specified by:
getMaxFailForLiveCount in interface DHTTransportContact

getMaxFailForUnknownCount

public int getMaxFailForUnknownCount()
Specified by:
getMaxFailForUnknownCount in interface DHTTransportContact

getInstanceID

public int getInstanceID()
Specified by:
getInstanceID in interface DHTTransportContact

setInstanceIDAndVersion

protected void setInstanceIDAndVersion(int _instance_id,
                                       byte _protocol_version)

isAlive

public boolean isAlive(long timeout)
Specified by:
isAlive in interface DHTTransportContact

isAlive

public void isAlive(DHTTransportReplyHandler handler,
                    long timeout)
Specified by:
isAlive in interface DHTTransportContact

sendPing

public void sendPing(DHTTransportReplyHandler handler)
Specified by:
sendPing in interface DHTTransportContact

sendImmediatePing

public void sendImmediatePing(DHTTransportReplyHandler handler,
                              long timeout)
Specified by:
sendImmediatePing in interface DHTTransportContact

sendStats

public void sendStats(DHTTransportReplyHandler handler)
Specified by:
sendStats in interface DHTTransportContact

sendStore

public void sendStore(DHTTransportReplyHandler handler,
                      byte[][] keys,
                      DHTTransportValue[][] value_sets,
                      boolean immediate)
Specified by:
sendStore in interface DHTTransportContact

sendQueryStore

public void sendQueryStore(DHTTransportReplyHandler handler,
                           int header_length,
                           List<Object[]> key_details)
Specified by:
sendQueryStore in interface DHTTransportContact

sendFindNode

public void sendFindNode(DHTTransportReplyHandler handler,
                         byte[] nid,
                         short flags)
Specified by:
sendFindNode in interface DHTTransportContact

sendFindValue

public void sendFindValue(DHTTransportReplyHandler handler,
                          byte[] key,
                          int max_values,
                          short flags)
Specified by:
sendFindValue in interface DHTTransportContact

sendKeyBlock

public void sendKeyBlock(DHTTransportReplyHandler handler,
                         byte[] request,
                         byte[] signature)
Specified by:
sendKeyBlock in interface DHTTransportContact

getStats

public DHTTransportFullStats getStats()
Specified by:
getStats in interface DHTTransportContact

getID

public byte[] getID()
Specified by:
getID in interface DHTTransportContact

exportContact

public void exportContact(DataOutputStream os)
                   throws IOException,
                          DHTTransportException
Specified by:
exportContact in interface DHTTransportContact
Throws:
IOException
DHTTransportException

exportContactToMap

public Map<String,Object> exportContactToMap()
Specified by:
exportContactToMap in interface DHTTransportContact

remove

public void remove()
Specified by:
remove in interface DHTTransportContact

setNetworkPositions

protected void setNetworkPositions(DHTNetworkPosition[] positions)

createNetworkPositions

public void createNetworkPositions(boolean is_local)
Specified by:
createNetworkPositions in interface DHTTransportContact

getNetworkPositions

public DHTNetworkPosition[] getNetworkPositions()
Specified by:
getNetworkPositions in interface DHTTransportContact

getNetworkPosition

public DHTNetworkPosition getNetworkPosition(byte position_type)
Specified by:
getNetworkPosition in interface DHTTransportContact

getString

public String getString()
Specified by:
getString in interface DHTTransportContact