class PacketBuilder extends Object
Modifier and Type | Class and Description |
---|---|
static class |
PacketBuilder.Fragment
Class for passing multiple fragments to buildPacket()
|
Modifier and Type | Field and Description |
---|---|
static int |
ABSOLUTE_MAX_ACKS
one byte field
|
static int |
DATA_HEADER_SIZE
not including acks.
|
static int |
FRAGMENT_HEADER_SIZE
4 byte msg ID + 3 byte fragment info
|
static int |
HEADER_SIZE
if no extended options or rekey data, which we don't support = 37
|
static int |
IP_HEADER_SIZE
IPv4 only
|
static int |
IPV6_HEADER_SIZE |
static int |
MIN_DATA_PACKET_OVERHEAD
74
|
static int |
MIN_IPV6_DATA_PACKET_OVERHEAD
94
|
(package private) static int |
PRIORITY_HIGH |
(package private) static int |
TYPE_ACK |
(package private) static int |
TYPE_CONF |
(package private) static int |
TYPE_CREAT |
(package private) static int |
TYPE_FIRST
For debugging and stats only - does not go out on the wire.
|
(package private) static int |
TYPE_INTRO |
(package private) static int |
TYPE_PUNCH |
(package private) static int |
TYPE_RESP |
(package private) static int |
TYPE_RREQ |
(package private) static int |
TYPE_SREQ |
(package private) static int |
TYPE_TBC |
(package private) static int |
TYPE_TCB |
(package private) static int |
TYPE_TFA |
(package private) static int |
TYPE_TTA |
static int |
UDP_HEADER_SIZE
Same for IPv4 and IPv6
|
Constructor and Description |
---|
PacketBuilder() |
Modifier and Type | Method and Description |
---|---|
static int |
getMaxAdditionalFragmentSize(PeerState peer,
int numFragments,
int curDataSize)
Will a packet to 'peer' that already has 'numFragments' fragments
totalling 'curDataSize' bytes fit another fragment of size 'newFragSize' ??
This doesn't leave anything for acks.
|
static final int TYPE_FIRST
static final int TYPE_ACK
static final int TYPE_PUNCH
static final int TYPE_RESP
static final int TYPE_INTRO
static final int TYPE_RREQ
static final int TYPE_TCB
static final int TYPE_TBC
static final int TYPE_TTA
static final int TYPE_TFA
static final int TYPE_CONF
static final int TYPE_SREQ
static final int TYPE_CREAT
public static final int HEADER_SIZE
public static final int FRAGMENT_HEADER_SIZE
public static final int DATA_HEADER_SIZE
public static final int IP_HEADER_SIZE
public static final int UDP_HEADER_SIZE
public static final int MIN_DATA_PACKET_OVERHEAD
public static final int IPV6_HEADER_SIZE
public static final int MIN_IPV6_DATA_PACKET_OVERHEAD
public static final int ABSOLUTE_MAX_ACKS
static final int PRIORITY_HIGH
public static int getMaxAdditionalFragmentSize(PeerState peer, int numFragments, int curDataSize)
numFragments
- >= 1