com.aelitis.azureus.core.peermanager.messaging.azureus
Class AZHandshake

java.lang.Object
  extended by com.aelitis.azureus.core.peermanager.messaging.azureus.AZHandshake
All Implemented Interfaces:
AZMessage, Message

public class AZHandshake
extends Object
implements AZMessage

AZ handshake message.


Field Summary
static int HANDSHAKE_TYPE_CRYPTO
           
static int HANDSHAKE_TYPE_PLAIN
           
 
Fields inherited from interface com.aelitis.azureus.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_SESSION_ACK, ID_AZ_SESSION_ACK_BYTES, ID_AZ_SESSION_BITFIELD, ID_AZ_SESSION_BITFIELD_BYTES, ID_AZ_SESSION_CANCEL, ID_AZ_SESSION_CANCEL_BYTES, ID_AZ_SESSION_END, ID_AZ_SESSION_END_BYTES, ID_AZ_SESSION_HAVE, ID_AZ_SESSION_HAVE_BYTES, ID_AZ_SESSION_PIECE, ID_AZ_SESSION_PIECE_BYTES, ID_AZ_SESSION_REQUEST, ID_AZ_SESSION_REQUEST_BYTES, ID_AZ_SESSION_SYN, ID_AZ_SESSION_SYN_BYTES, ID_AZ_STAT_REPLY, ID_AZ_STAT_REPLY_BYTES, ID_AZ_STAT_REQUEST, ID_AZ_STAT_REQUEST_BYTES, SUBID_AZ_GENERIC_MAP, SUBID_AZ_HANDSHAKE, SUBID_AZ_PEER_EXCHANGE, SUBID_ID_AZ_BAD_PIECE, SUBID_ID_AZ_HAVE, SUBID_ID_AZ_METADATA, SUBID_ID_AZ_REQUEST_HINT, SUBID_ID_AZ_STAT_REPLY, SUBID_ID_AZ_STAT_REQUEST
 
Fields inherited from interface com.aelitis.azureus.core.peermanager.messaging.Message
TYPE_DATA_PAYLOAD, TYPE_PROTOCOL_PAYLOAD
 
Constructor Summary
AZHandshake(byte[] peer_identity, HashWrapper sessionID, HashWrapper reconnectID, String _client, String version, int tcp_listen_port, int udp_listen_port, int udp_non_data_listen_port, InetAddress ipv6addr, int md_size, String[] avail_msg_ids, byte[] avail_msg_versions, int _handshake_type, byte _version, boolean uploadOnly)
           
 
Method Summary
 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.
 String getClient()
           
 String getClientVersion()
           
 DirectByteBuffer[] getData()
          Get message payload data.
 String getDescription()
          Get textual description of this particular message.
 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()
           
 String getID()
          Get message id.
 byte[] getIDBytes()
           
 byte[] getIdentity()
           
 InetAddress getIPv6()
           
 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()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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
Constructor Detail

AZHandshake

public AZHandshake(byte[] peer_identity,
                   HashWrapper sessionID,
                   HashWrapper reconnectID,
                   String _client,
                   String version,
                   int tcp_listen_port,
                   int udp_listen_port,
                   int udp_non_data_listen_port,
                   InetAddress ipv6addr,
                   int md_size,
                   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 String getClient()

getClientVersion

public String getClientVersion()

getMessageIDs

public String[] getMessageIDs()

getMessageVersions

public byte[] getMessageVersions()

getTCPListenPort

public int getTCPListenPort()

getUDPListenPort

public int getUDPListenPort()

getUDPNonDataListenPort

public int getUDPNonDataListenPort()

getIPv6

public InetAddress getIPv6()

getMetadataSize

public int getMetadataSize()

getHandshakeType

public int getHandshakeType()

getID

public String getID()
Description copied from interface: Message
Get message id.

Specified by:
getID in interface Message
Returns:
id

getIDBytes

public byte[] getIDBytes()
Specified by:
getIDBytes in interface Message

getFeatureID

public String getFeatureID()
Description copied from interface: Message
Get the main feature set name this message belongs to.

Specified by:
getFeatureID in interface Message
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 interface Message
Returns:
sub id

getType

public int getType()
Description copied from interface: Message
Get message type.

Specified by:
getType in interface Message
Returns:
type

getVersion

public byte getVersion()
Specified by:
getVersion in interface Message

getDescription

public String getDescription()
Description copied from interface: Message
Get textual description of this particular message.

Specified by:
getDescription in interface Message
Returns:
description

getData

public DirectByteBuffer[] getData()
Description copied from interface: Message
Get message payload data.

Specified by:
getData in interface Message
Returns:
message data buffers

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 interface Message
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.

destroy

public void destroy()
Description copied from interface: Message
Destroy the message; i.e. perform cleanup actions.

Specified by:
destroy in interface Message