Interface Message
- All Known Subinterfaces:
AZMessage,AZStylePeerExchange,BTMessage,LTMessage,RawMessage
- All Known Implementing Classes:
AZBadPiece,AZGenericMapPayload,AZHandshake,AZHave,AZMetaData,AZPeerExchange,AZRequestHint,AZStatReply,AZStatRequest,BTAllowedFast,BTBitfield,BTCancel,BTChoke,BTDHTPort,BTHandshake,BTHashes,BTHashReject,BTHashRequest,BTHave,BTHaveAll,BTHaveNone,BTInterested,BTKeepAlive,BTLTMessage,BTMessageCancel,BTMessagePiece,BTMessageRequest,BTPiece,BTRawMessage,BTRejectRequest,BTRequest,BTSuggestPiece,BTUnchoke,BTUninterested,GenericMessage,HTTPMessage,LTDisabledExtensionMessage,LTHandshake,MessageAdapter,RawMessageAdapter,RawMessageImpl,UTHolePunch,UTMetaData,UTPeerExchange,UTUploadOnly
public interface Message
Basic peer message.
A message is uniquely identified by the combination of ID and version.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intIs a data-bearing message, i.e.static final intIs a protocol-bearing message, i.e. -
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.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[]intgetType()Get message type.byte
-
Field Details
-
TYPE_PROTOCOL_PAYLOAD
static final int TYPE_PROTOCOL_PAYLOADIs a protocol-bearing message, i.e. messaging/overhead data.- See Also:
-
TYPE_DATA_PAYLOAD
static final int TYPE_DATA_PAYLOADIs a data-bearing message, i.e. file data.- See Also:
-
-
Method Details
-
getID
String getID()Get message id.- Returns:
- id
-
getIDBytes
byte[] getIDBytes() -
getFeatureID
String getFeatureID()Get the main feature set name this message belongs to.- Returns:
- feature id
-
getFeatureSubID
int getFeatureSubID()Get the static message sub-id for the feature.- Returns:
- sub id
-
getVersion
byte getVersion() -
getType
int getType()Get message type.- Returns:
- type
-
getDescription
String getDescription()Get textual description of this particular message.- Returns:
- description
-
getData
DirectByteBuffer[] getData()Get message payload data.- Returns:
- message data buffers
-
deserialize
Create a new instance of this message by decoding the given byte serialization.- 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
void destroy()Destroy the message; i.e. perform cleanup actions.
-