Class DHTTransportUDPContactImpl
- java.lang.Object
-
- com.biglybt.core.dht.transport.udp.impl.DHTTransportUDPContactImpl
-
- All Implemented Interfaces:
DHTTransportContact
,DHTTransportUDPContact
public class DHTTransportUDPContactImpl extends java.lang.Object implements DHTTransportUDPContact
-
-
Field Summary
Fields Modifier and Type Field Description private java.net.InetSocketAddress
external_address
private byte
generic_flags
private byte[]
id
private int
instance_id
private DHTNetworkPosition[]
network_positions
private int
node_status
static int
NODE_STATUS_ROUTABLE
static int
NODE_STATUS_UNKNOWN
private byte
protocol_version
private int
random_id
private long
skew
(package private) DHTTransportUDPImpl
transport
private java.net.InetSocketAddress
transport_address
-
Fields inherited from interface com.biglybt.core.dht.transport.DHTTransportContact
RANDOM_ID_TYPE1, RANDOM_ID_TYPE2
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DHTTransportUDPContactImpl(boolean _is_local, DHTTransportUDPImpl _transport, java.net.InetSocketAddress _transport_address, java.net.InetSocketAddress _external_address, byte _protocol_version, int _instance_id, long _skew, byte _generic_flags)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
addressMatchesID()
void
createNetworkPositions(boolean is_local)
void
exportContact(java.io.DataOutputStream os)
java.util.Map<java.lang.String,java.lang.Object>
exportContactToMap()
java.net.InetSocketAddress
getAddress()
byte[]
getBloomKey()
long
getClockSkew()
java.net.InetSocketAddress
getExternalAddress()
byte[]
getID()
int
getInstanceID()
int
getMaxFailForLiveCount()
int
getMaxFailForUnknownCount()
java.lang.String
getName()
DHTNetworkPosition
getNetworkPosition(byte position_type)
DHTNetworkPosition[]
getNetworkPositions()
protected int
getNodeStatus()
byte
getProtocolVersion()
int
getRandomID()
byte[]
getRandomID2()
int
getRandomIDType()
DHTTransportFullStats
getStats()
java.lang.String
getString()
DHTTransport
getTransport()
java.net.InetSocketAddress
getTransportAddress()
boolean
isAlive(long timeout)
void
isAlive(DHTTransportReplyHandler handler, 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, java.util.List<java.lang.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(java.net.InetSocketAddress address)
-
-
-
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
-
transport
final DHTTransportUDPImpl transport
-
external_address
private java.net.InetSocketAddress external_address
-
transport_address
private java.net.InetSocketAddress transport_address
-
id
private byte[] id
-
protocol_version
private byte protocol_version
-
instance_id
private int instance_id
-
skew
private final long skew
-
generic_flags
private byte generic_flags
-
random_id
private int random_id
-
node_status
private int node_status
-
network_positions
private DHTNetworkPosition[] network_positions
-
-
Constructor Detail
-
DHTTransportUDPContactImpl
protected DHTTransportUDPContactImpl(boolean _is_local, DHTTransportUDPImpl _transport, java.net.InetSocketAddress _transport_address, java.net.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 interfaceDHTTransportContact
-
getProtocolVersion
public byte getProtocolVersion()
- Specified by:
getProtocolVersion
in interfaceDHTTransportContact
-
setProtocolVersion
protected void setProtocolVersion(byte v)
-
getClockSkew
public long getClockSkew()
- Specified by:
getClockSkew
in interfaceDHTTransportContact
-
getRandomIDType
public int getRandomIDType()
- Specified by:
getRandomIDType
in interfaceDHTTransportContact
-
setRandomID
public void setRandomID(int _random_id)
- Specified by:
setRandomID
in interfaceDHTTransportContact
-
getRandomID
public int getRandomID()
- Specified by:
getRandomID
in interfaceDHTTransportContact
-
setRandomID2
public void setRandomID2(byte[] id)
- Specified by:
setRandomID2
in interfaceDHTTransportContact
-
getRandomID2
public byte[] getRandomID2()
- Specified by:
getRandomID2
in interfaceDHTTransportContact
-
getNodeStatus
protected int getNodeStatus()
-
setNodeStatus
protected void setNodeStatus(int ns)
-
isValid
public boolean isValid()
- Specified by:
isValid
in interfaceDHTTransportContact
-
isSleeping
public boolean isSleeping()
- Specified by:
isSleeping
in interfaceDHTTransportContact
-
setGenericFlags
protected void setGenericFlags(byte flags)
-
addressMatchesID
protected boolean addressMatchesID()
-
getTransportAddress
public java.net.InetSocketAddress getTransportAddress()
- Specified by:
getTransportAddress
in interfaceDHTTransportContact
-
setTransportAddress
public void setTransportAddress(java.net.InetSocketAddress address)
- Specified by:
setTransportAddress
in interfaceDHTTransportUDPContact
-
getExternalAddress
public java.net.InetSocketAddress getExternalAddress()
- Specified by:
getExternalAddress
in interfaceDHTTransportContact
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceDHTTransportContact
-
getBloomKey
public byte[] getBloomKey()
- Specified by:
getBloomKey
in interfaceDHTTransportContact
-
getAddress
public java.net.InetSocketAddress getAddress()
- Specified by:
getAddress
in interfaceDHTTransportContact
-
getMaxFailForLiveCount
public int getMaxFailForLiveCount()
- Specified by:
getMaxFailForLiveCount
in interfaceDHTTransportContact
-
getMaxFailForUnknownCount
public int getMaxFailForUnknownCount()
- Specified by:
getMaxFailForUnknownCount
in interfaceDHTTransportContact
-
getInstanceID
public int getInstanceID()
- Specified by:
getInstanceID
in interfaceDHTTransportContact
-
setInstanceIDAndVersion
protected void setInstanceIDAndVersion(int _instance_id, byte _protocol_version)
-
isAlive
public boolean isAlive(long timeout)
- Specified by:
isAlive
in interfaceDHTTransportContact
-
isAlive
public void isAlive(DHTTransportReplyHandler handler, long timeout)
- Specified by:
isAlive
in interfaceDHTTransportContact
-
sendPing
public void sendPing(DHTTransportReplyHandler handler)
- Specified by:
sendPing
in interfaceDHTTransportContact
-
sendImmediatePing
public void sendImmediatePing(DHTTransportReplyHandler handler, long timeout)
- Specified by:
sendImmediatePing
in interfaceDHTTransportContact
-
sendStats
public void sendStats(DHTTransportReplyHandler handler)
- Specified by:
sendStats
in interfaceDHTTransportContact
-
sendStore
public void sendStore(DHTTransportReplyHandler handler, byte[][] keys, DHTTransportValue[][] value_sets, boolean immediate)
- Specified by:
sendStore
in interfaceDHTTransportContact
-
sendQueryStore
public void sendQueryStore(DHTTransportReplyHandler handler, int header_length, java.util.List<java.lang.Object[]> key_details)
- Specified by:
sendQueryStore
in interfaceDHTTransportContact
-
sendFindNode
public void sendFindNode(DHTTransportReplyHandler handler, byte[] nid, short flags)
- Specified by:
sendFindNode
in interfaceDHTTransportContact
-
sendFindValue
public void sendFindValue(DHTTransportReplyHandler handler, byte[] key, int max_values, short flags)
- Specified by:
sendFindValue
in interfaceDHTTransportContact
-
sendKeyBlock
public void sendKeyBlock(DHTTransportReplyHandler handler, byte[] request, byte[] signature)
- Specified by:
sendKeyBlock
in interfaceDHTTransportContact
-
getStats
public DHTTransportFullStats getStats()
- Specified by:
getStats
in interfaceDHTTransportContact
-
getID
public byte[] getID()
- Specified by:
getID
in interfaceDHTTransportContact
-
exportContact
public void exportContact(java.io.DataOutputStream os) throws java.io.IOException, DHTTransportException
- Specified by:
exportContact
in interfaceDHTTransportContact
- Throws:
java.io.IOException
DHTTransportException
-
exportContactToMap
public java.util.Map<java.lang.String,java.lang.Object> exportContactToMap()
- Specified by:
exportContactToMap
in interfaceDHTTransportContact
-
remove
public void remove()
- Specified by:
remove
in interfaceDHTTransportContact
-
setNetworkPositions
protected void setNetworkPositions(DHTNetworkPosition[] positions)
-
createNetworkPositions
public void createNetworkPositions(boolean is_local)
- Specified by:
createNetworkPositions
in interfaceDHTTransportContact
-
getNetworkPositions
public DHTNetworkPosition[] getNetworkPositions()
- Specified by:
getNetworkPositions
in interfaceDHTTransportContact
-
getNetworkPosition
public DHTNetworkPosition getNetworkPosition(byte position_type)
- Specified by:
getNetworkPosition
in interfaceDHTTransportContact
-
getString
public java.lang.String getString()
- Specified by:
getString
in interfaceDHTTransportContact
-
-