class Message extends Object
This class encapsulates all BitTorrent protocol message types including:
Messages are created and queued for sending through a DataOutputStream. The sendMessage() method translates messages to wire format.
Message structure includes:
PeerState| Modifier and Type | Field and Description |
|---|---|
(package private) static byte |
ALLOWED_FAST |
(package private) int |
begin |
(package private) static byte |
BITFIELD |
(package private) static byte |
CANCEL |
(package private) static byte |
CHOKE |
(package private) byte[] |
data |
(package private) static byte |
EXTENSION |
(package private) static byte |
HASH_REJECT |
(package private) static byte |
HASH_REQUEST |
(package private) static byte |
HASHES |
(package private) static byte |
HAVE |
(package private) static byte |
HAVE_ALL |
(package private) static byte |
HAVE_NONE |
(package private) static byte |
INTERESTED |
(package private) static byte |
KEEP_ALIVE |
(package private) int |
len |
(package private) int |
length |
(package private) int |
off |
(package private) int |
piece |
(package private) static byte |
PIECE |
(package private) static byte |
PORT |
(package private) static byte |
REJECT |
(package private) static byte |
REQUEST |
(package private) static byte |
SUGGEST |
(package private) byte |
type |
(package private) static byte |
UNCHOKE |
(package private) static byte |
UNINTERESTED |
| Constructor and Description |
|---|
Message(byte type)
For types KEEP_ALIVE, CHOKE, UNCHOKE, INTERESTED, UNINTERESTED, HAVE_ALL, HAVE_NONE
|
Message(byte[] data)
For type BITFIELD
|
Message(byte type,
int piece)
For types HAVE, PORT, SUGGEST, ALLOWED_FAST
|
Message(byte type,
int piece,
int begin,
int length)
For types REQUEST, REJECT, CANCEL
|
Message(int id,
byte[] data)
For type EXTENSION
|
Message(int piece,
int begin,
int length,
DataLoader loader)
For type PIECE with deferred data
|
| Modifier and Type | Method and Description |
|---|---|
(package private) void |
sendMessage(DataOutputStream dos)
Utility method for sending a message through a DataStream.
|
String |
toString() |
static final byte ALLOWED_FAST
final int begin
static final byte BITFIELD
static final byte CANCEL
static final byte CHOKE
byte[] data
static final byte EXTENSION
static final byte HASH_REJECT
static final byte HASH_REQUEST
static final byte HASHES
static final byte HAVE
static final byte HAVE_ALL
static final byte HAVE_NONE
static final byte INTERESTED
static final byte KEEP_ALIVE
final int len
final int length
final int off
final int piece
static final byte PIECE
static final byte PORT
static final byte REJECT
static final byte REQUEST
static final byte SUGGEST
final byte type
static final byte UNCHOKE
static final byte UNINTERESTED
Message(byte type)
Message(byte[] data)
Message(byte type,
int piece)
Message(byte type,
int piece,
int begin,
int length)
Message(int id,
byte[] data)
Message(int piece,
int begin,
int length,
DataLoader loader)
void sendMessage(DataOutputStream dos) throws IOException
IOException