com.aelitis.azureus.core.peermanager.messaging.bittorrent
Class BTKeepAlive

java.lang.Object
  extended by com.aelitis.azureus.core.peermanager.messaging.bittorrent.BTKeepAlive
All Implemented Interfaces:
RawMessage, BTMessage, Message

public class BTKeepAlive
extends java.lang.Object
implements BTMessage, RawMessage

BitTorrent keep-alive message.


Field Summary
 
Fields inherited from interface com.aelitis.azureus.core.peermanager.messaging.bittorrent.BTMessage
BT_FEATURE_ID, ID_BT_ALLOWED_FAST, ID_BT_ALLOWED_FAST_BYTES, ID_BT_BITFIELD, ID_BT_BITFIELD_BYTES, ID_BT_CANCEL, ID_BT_CANCEL_BYTES, ID_BT_CHOKE, ID_BT_CHOKE_BYTES, ID_BT_DHT_PORT, ID_BT_DHT_PORT_BYTES, ID_BT_HANDSHAKE, ID_BT_HANDSHAKE_BYTES, ID_BT_HAVE, ID_BT_HAVE_ALL, ID_BT_HAVE_ALL_BYTES, ID_BT_HAVE_BYTES, ID_BT_HAVE_NONE, ID_BT_HAVE_NONE_BYTES, ID_BT_INTERESTED, ID_BT_INTERESTED_BYTES, ID_BT_KEEP_ALIVE, ID_BT_KEEP_ALIVE_BYTES, ID_BT_LT_EXT_MESSAGE, ID_BT_LT_EXT_MESSAGE_BYTES, ID_BT_PIECE, ID_BT_PIECE_BYTES, ID_BT_REJECT_REQUEST, ID_BT_REJECT_REQUEST_BYTES, ID_BT_REQUEST, ID_BT_REQUEST_BYTES, ID_BT_SUGGEST_PIECE, ID_BT_SUGGEST_PIECE_BYTES, ID_BT_UNCHOKE, ID_BT_UNCHOKE_BYTES, ID_BT_UNINTERESTED, ID_BT_UNINTERESTED_BYTES, SUBID_BT_ALLOWED_FAST, SUBID_BT_BITFIELD, SUBID_BT_CANCEL, SUBID_BT_CHOKE, SUBID_BT_DHT_PORT, SUBID_BT_HANDSHAKE, SUBID_BT_HAVE, SUBID_BT_HAVE_ALL, SUBID_BT_HAVE_NONE, SUBID_BT_INTERESTED, SUBID_BT_KEEP_ALIVE, SUBID_BT_LT_EXT_MESSAGE, SUBID_BT_PIECE, SUBID_BT_REJECT_REQUEST, SUBID_BT_REQUEST, SUBID_BT_SUGGEST_PIECE, SUBID_BT_UNCHOKE, SUBID_BT_UNINTERESTED
 
Fields inherited from interface com.aelitis.azureus.core.networkmanager.RawMessage
PRIORITY_HIGH, PRIORITY_LOW, PRIORITY_NORMAL
 
Fields inherited from interface com.aelitis.azureus.core.peermanager.messaging.Message
TYPE_DATA_PAYLOAD, TYPE_PROTOCOL_PAYLOAD
 
Constructor Summary
BTKeepAlive(byte _version)
           
 
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.
 Message getBaseMessage()
          Get the message this raw message is based upon.
 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.
 java.lang.String getID()
          Get message id.
 byte[] getIDBytes()
           
 int getPriority()
          Get the message's queue priority.
 DirectByteBuffer[] getRawData()
          Get the message's raw data payload.
 int getType()
          Get message type.
 byte getVersion()
           
 boolean isNoDelay()
          Is this a no-delay message.
 Message[] messagesToRemove()
          Get the yet-unsent message types that should be removed before queueing this message for sending.
 void setNoDelay()
          Set no-delay for this message
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BTKeepAlive

public BTKeepAlive(byte _version)
Method Detail

getID

public java.lang.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 java.lang.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 java.lang.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.

getRawData

public DirectByteBuffer[] getRawData()
Description copied from interface: RawMessage
Get the message's raw data payload.

Specified by:
getRawData in interface RawMessage
Returns:
data payload buffers

getPriority

public int getPriority()
Description copied from interface: RawMessage
Get the message's queue priority.

Specified by:
getPriority in interface RawMessage
Returns:
priority

isNoDelay

public boolean isNoDelay()
Description copied from interface: RawMessage
Is this a no-delay message. No-delay messages are transmitted immediately, i.e. force-flushed out the transport.

Specified by:
isNoDelay in interface RawMessage
Returns:
true if a no-delay message

setNoDelay

public void setNoDelay()
Description copied from interface: RawMessage
Set no-delay for this message

Specified by:
setNoDelay in interface RawMessage

messagesToRemove

public Message[] messagesToRemove()
Description copied from interface: RawMessage
Get the yet-unsent message types that should be removed before queueing this message for sending.

Specified by:
messagesToRemove in interface RawMessage
Returns:
message types; null if no types

destroy

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

Specified by:
destroy in interface Message

getBaseMessage

public Message getBaseMessage()
Description copied from interface: RawMessage
Get the message this raw message is based upon.

Specified by:
getBaseMessage in interface RawMessage
Returns:
original message