Class AZHandshake
- java.lang.Object
-
- com.biglybt.core.peermanager.messaging.azureus.AZHandshake
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String[]
avail_ids
private byte[]
avail_versions
private static byte
bss
private DirectByteBuffer
buffer
private java.lang.String
client
private java.lang.String
client_version
private java.lang.String
description
private int
handshake_type
static int
HANDSHAKE_TYPE_CRYPTO
static int
HANDSHAKE_TYPE_PLAIN
private byte[]
identity
private java.net.InetAddress
ipv6
private int
md_size
private HashWrapper
reconnectID
private HashWrapper
sessionID
private int
tcp_port
private int
udp_non_data_port
private int
udp_port
private boolean
uploadOnly
private byte
version
-
Fields inherited from interface com.biglybt.core.peermanager.messaging.azureus.AZMessage
AZ_FEATURE_ID, ID_AZ_BAD_PIECE, ID_AZ_BAD_PIECE_BYTES, ID_AZ_GENERIC_MAP, ID_AZ_GENERIC_MAP_BYTES, ID_AZ_HANDSHAKE, ID_AZ_HANDSHAKE_BYTES, ID_AZ_HAVE, ID_AZ_HAVE_BYTES, ID_AZ_METADATA, ID_AZ_METADATA_BYTES, ID_AZ_PEER_EXCHANGE, ID_AZ_PEER_EXCHANGE_BYTES, ID_AZ_REQUEST_HINT, ID_AZ_REQUEST_HINT_BYTES, ID_AZ_STAT_REPLY, ID_AZ_STAT_REPLY_BYTES, ID_AZ_STAT_REQUEST, ID_AZ_STAT_REQUEST_BYTES, SUBID_AZ_BAD_PIECE, SUBID_AZ_GENERIC_MAP, SUBID_AZ_HANDSHAKE, SUBID_AZ_HAVE, SUBID_AZ_METADATA, SUBID_AZ_PEER_EXCHANGE, SUBID_AZ_REQUEST_HINT, SUBID_AZ_STAT_REPLY, SUBID_AZ_STAT_REQUEST
-
Fields inherited from interface com.biglybt.core.peermanager.messaging.Message
TYPE_DATA_PAYLOAD, TYPE_PROTOCOL_PAYLOAD
-
-
Constructor Summary
Constructors Constructor Description AZHandshake(byte[] peer_identity, HashWrapper sessionID, HashWrapper reconnectID, java.lang.String _client, java.lang.String version, int tcp_listen_port, int udp_listen_port, int udp_non_data_listen_port, java.net.InetAddress ipv6addr, int md_size, java.lang.String[] avail_msg_ids, byte[] avail_msg_versions, int _handshake_type, byte _version, boolean uploadOnly)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Message
deserialize(DirectByteBuffer data, byte version)
Create a new instance of this message by decoding the given byte serialization.void
destroy()
Destroy the message; i.e.java.lang.String
getClient()
java.lang.String
getClientVersion()
DirectByteBuffer[]
getData()
Get message payload data.java.lang.String
getDescription()
Get textual description of this particular message.java.lang.String
getFeatureID()
Get the main feature set name this message belongs to.int
getFeatureSubID()
Get the static message sub-id for the feature.int
getHandshakeType()
java.lang.String
getID()
Get message id.byte[]
getIDBytes()
byte[]
getIdentity()
java.net.InetAddress
getIPv6()
java.lang.String[]
getMessageIDs()
byte[]
getMessageVersions()
int
getMetadataSize()
HashWrapper
getReconnectSessionID()
HashWrapper
getRemoteSessionID()
int
getTCPListenPort()
int
getType()
Get message type.int
getUDPListenPort()
int
getUDPNonDataListenPort()
byte
getVersion()
boolean
isUploadOnly()
-
-
-
Field Detail
-
HANDSHAKE_TYPE_PLAIN
public static final int HANDSHAKE_TYPE_PLAIN
- See Also:
- Constant Field Values
-
HANDSHAKE_TYPE_CRYPTO
public static final int HANDSHAKE_TYPE_CRYPTO
- See Also:
- Constant Field Values
-
bss
private static final byte bss
- See Also:
- Constant Field Values
-
version
private final byte version
-
buffer
private DirectByteBuffer buffer
-
description
private java.lang.String description
-
identity
private final byte[] identity
-
sessionID
private final HashWrapper sessionID
-
reconnectID
private final HashWrapper reconnectID
-
client
private final java.lang.String client
-
client_version
private final java.lang.String client_version
-
avail_ids
private final java.lang.String[] avail_ids
-
avail_versions
private final byte[] avail_versions
-
tcp_port
private int tcp_port
-
udp_port
private int udp_port
-
udp_non_data_port
private int udp_non_data_port
-
handshake_type
private final int handshake_type
-
uploadOnly
private final boolean uploadOnly
-
ipv6
private final java.net.InetAddress ipv6
-
md_size
private final int md_size
-
-
Constructor Detail
-
AZHandshake
public AZHandshake(byte[] peer_identity, HashWrapper sessionID, HashWrapper reconnectID, java.lang.String _client, java.lang.String version, int tcp_listen_port, int udp_listen_port, int udp_non_data_listen_port, java.net.InetAddress ipv6addr, int md_size, java.lang.String[] avail_msg_ids, byte[] avail_msg_versions, int _handshake_type, byte _version, boolean uploadOnly)
-
-
Method Detail
-
getIdentity
public byte[] getIdentity()
-
getRemoteSessionID
public HashWrapper getRemoteSessionID()
-
getReconnectSessionID
public HashWrapper getReconnectSessionID()
-
isUploadOnly
public boolean isUploadOnly()
-
getClient
public java.lang.String getClient()
-
getClientVersion
public java.lang.String getClientVersion()
-
getMessageIDs
public java.lang.String[] getMessageIDs()
-
getMessageVersions
public byte[] getMessageVersions()
-
getTCPListenPort
public int getTCPListenPort()
-
getUDPListenPort
public int getUDPListenPort()
-
getUDPNonDataListenPort
public int getUDPNonDataListenPort()
-
getIPv6
public java.net.InetAddress getIPv6()
-
getMetadataSize
public int getMetadataSize()
-
getHandshakeType
public int getHandshakeType()
-
getID
public java.lang.String getID()
Description copied from interface:Message
Get message id.
-
getIDBytes
public byte[] getIDBytes()
- Specified by:
getIDBytes
in interfaceMessage
-
getFeatureID
public java.lang.String getFeatureID()
Description copied from interface:Message
Get the main feature set name this message belongs to.- Specified by:
getFeatureID
in interfaceMessage
- Returns:
- feature id
-
getFeatureSubID
public int getFeatureSubID()
Description copied from interface:Message
Get the static message sub-id for the feature.- Specified by:
getFeatureSubID
in interfaceMessage
- Returns:
- sub id
-
getType
public int getType()
Description copied from interface:Message
Get message type.
-
getVersion
public byte getVersion()
- Specified by:
getVersion
in interfaceMessage
-
getDescription
public java.lang.String getDescription()
Description copied from interface:Message
Get textual description of this particular message.- Specified by:
getDescription
in interfaceMessage
- Returns:
- description
-
getData
public DirectByteBuffer[] getData()
Description copied from interface:Message
Get message payload data.
-
deserialize
public Message deserialize(DirectByteBuffer data, byte version) throws MessageException
Description copied from interface:Message
Create a new instance of this message by decoding the given byte serialization.- Specified by:
deserialize
in interfaceMessage
- Parameters:
data
- to deserialize- Returns:
- decoded message instance
- Throws:
MessageException
- if the decoding process fails NOTE: Does not auto-return given direct buffer on thrown exception.
-
-