Class BTKeepAlive
java.lang.Object
com.biglybt.core.peermanager.messaging.bittorrent.BTKeepAlive
- All Implemented Interfaces:
RawMessage, BTMessage, Message
BitTorrent keep-alive message.
-
Field Summary
FieldsFields inherited from interface 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_HASH_REJECT, ID_BT_HASH_REJECT_BYTES, ID_BT_HASH_REQUEST, ID_BT_HASH_REQUEST_BYTES, ID_BT_HASHES, ID_BT_HASHES_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_HASH_REJECT, SUBID_BT_HASH_REQUEST, SUBID_BT_HASHES, 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, SUBID_MAXFields inherited from interface Message
TYPE_DATA_PAYLOAD, TYPE_PROTOCOL_PAYLOADFields inherited from interface RawMessage
PRIORITY_HIGH, PRIORITY_LOW, PRIORITY_NORMAL -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondeserialize(DirectByteBuffer data, byte version) Create a new instance of this message by decoding the given byte serialization.voiddestroy()Destroy the message; i.e.Get the message this raw message is based upon.getData()Get message payload data.Get textual description of this particular message.Get the main feature set name this message belongs to.intGet the static message sub-id for the feature.getID()Get message id.byte[]intGet the message's queue priority.Get the message's raw data payload.intgetType()Get message type.bytebooleanIs this a no-delay message.Message[]Get the yet-unsent message types that should be removed before queueing this message for sending.voidSet no-delay for this message
-
Field Details
-
version
private final byte version -
buffer
-
no_delay
private boolean no_delay
-
-
Constructor Details
-
BTKeepAlive
public BTKeepAlive(byte _version)
-
-
Method Details
-
getID
-
getIDBytes
public byte[] getIDBytes()- Specified by:
getIDBytesin interfaceMessage
-
getFeatureID
Description copied from interface:MessageGet the main feature set name this message belongs to.- Specified by:
getFeatureIDin interfaceMessage- Returns:
- feature id
-
getFeatureSubID
public int getFeatureSubID()Description copied from interface:MessageGet the static message sub-id for the feature.- Specified by:
getFeatureSubIDin interfaceMessage- Returns:
- sub id
-
getType
-
getVersion
public byte getVersion()- Specified by:
getVersionin interfaceMessage
-
getDescription
Description copied from interface:MessageGet textual description of this particular message.- Specified by:
getDescriptionin interfaceMessage- Returns:
- description
-
getData
Description copied from interface:MessageGet message payload data. -
deserialize
Description copied from interface:MessageCreate a new instance of this message by decoding the given byte serialization.- Specified by:
deserializein 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.
-
getRawData
Description copied from interface:RawMessageGet the message's raw data payload.- Specified by:
getRawDatain interfaceRawMessage- Returns:
- data payload buffers
-
getPriority
public int getPriority()Description copied from interface:RawMessageGet the message's queue priority.- Specified by:
getPriorityin interfaceRawMessage- Returns:
- priority
-
isNoDelay
public boolean isNoDelay()Description copied from interface:RawMessageIs this a no-delay message. No-delay messages are transmitted immediately, i.e. force-flushed out the transport.- Specified by:
isNoDelayin interfaceRawMessage- Returns:
- true if a no-delay message
-
setNoDelay
public void setNoDelay()Description copied from interface:RawMessageSet no-delay for this message- Specified by:
setNoDelayin interfaceRawMessage
-
messagesToRemove
Description copied from interface:RawMessageGet the yet-unsent message types that should be removed before queueing this message for sending.- Specified by:
messagesToRemovein interfaceRawMessage- Returns:
- message types; null if no types
-
destroy
-
getBaseMessage
Description copied from interface:RawMessageGet the message this raw message is based upon.- Specified by:
getBaseMessagein interfaceRawMessage- Returns:
- original message
-