|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.i2p.router.transport.udp.UDPPacket
public class UDPPacket
Basic delivery unit containing the datagram. This also maintains a cache of object instances to allow rapid reuse.
Field Summary | |
---|---|
static byte |
BITFIELD_CONTINUATION
|
static byte |
DATA_FLAG_ACK_BITFIELDS
|
static byte |
DATA_FLAG_ECN
|
static byte |
DATA_FLAG_EXPLICIT_ACK
|
static byte |
DATA_FLAG_EXTENDED
|
static byte |
DATA_FLAG_WANT_ACKS
|
static byte |
DATA_FLAG_WANT_REPLY
|
static int |
IV_SIZE
|
static int |
MAC_SIZE
|
(package private) static int |
MAX_PACKET_SIZE
|
static int |
PAYLOAD_TYPE_DATA
|
static int |
PAYLOAD_TYPE_RELAY_INTRO
|
static int |
PAYLOAD_TYPE_RELAY_REQUEST
|
static int |
PAYLOAD_TYPE_RELAY_RESPONSE
|
static int |
PAYLOAD_TYPE_SESSION_CONFIRMED
|
static int |
PAYLOAD_TYPE_SESSION_CREATED
|
static int |
PAYLOAD_TYPE_SESSION_REQUEST
|
static int |
PAYLOAD_TYPE_TEST
|
Method Summary | |
---|---|
static UDPPacket |
acquire(I2PAppContext ctx,
boolean inbound)
|
(package private) void |
afterHandling()
a packet handler has finished parsing out the good bits |
(package private) void |
beforeReceiveFragments()
a packet handler has decrypted and verified the packet and is about to parse out the good bits |
void |
decrypt(SessionKey cipherKey)
Decrypt this valid packet, overwriting the _data buffer's payload with the decrypted data (leaving the MAC and IV unaltered) |
(package private) void |
enqueue()
the UDPReceiver has tossed it onto the inbound queue |
(package private) long |
getAfterValidate()
when we finished validate() |
(package private) long |
getBeforeValidate()
when we began validate() |
long |
getBegin()
|
(package private) long |
getEnqueueTime()
when it was added to the endpoint's receive queue |
long |
getExpiration()
|
(package private) int |
getFragmentCount()
|
long |
getLifetime()
|
int |
getMarkedType()
flag this packet as a particular type for accounting purposes, with 1 implying the packet is an ACK, otherwise it is a data packet |
(package private) int |
getMessageType()
|
java.net.DatagramPacket |
getPacket()
|
short |
getPriority()
|
(package private) long |
getReceivedTime()
when it was pulled off the endpoint receive queue |
RemoteHostId |
getRemoteHost()
|
(package private) long |
getTimeSinceEnqueue()
the UDPReceiver has tossed it onto the inbound queue |
(package private) long |
getTimeSinceHandling()
a packet handler has finished parsing out the good bits |
(package private) long |
getTimeSinceReceived()
a packet handler has pulled it off the inbound queue |
(package private) long |
getTimeSinceReceiveFragments()
a packet handler has decrypted and verified the packet and is about to parse out the good bits |
(package private) int |
getValidateCount()
how many times we tried to validate the packet |
void |
markType(int type)
flag this packet as a particular type for accounting purposes |
(package private) void |
received()
a packet handler has pulled it off the inbound queue |
void |
release()
|
void |
resetBegin()
|
(package private) void |
setFragmentCount(int count)
|
(package private) void |
setMessageType(int type)
|
java.lang.String |
toString()
|
boolean |
validate(SessionKey macKey)
Validate the packet against the MAC specified, returning true if the MAC matches, false otherwise. |
void |
writeData(byte[] src,
int offset,
int len)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
static final int MAX_PACKET_SIZE
public static final int IV_SIZE
public static final int MAC_SIZE
public static final int PAYLOAD_TYPE_SESSION_REQUEST
public static final int PAYLOAD_TYPE_SESSION_CREATED
public static final int PAYLOAD_TYPE_SESSION_CONFIRMED
public static final int PAYLOAD_TYPE_RELAY_REQUEST
public static final int PAYLOAD_TYPE_RELAY_RESPONSE
public static final int PAYLOAD_TYPE_RELAY_INTRO
public static final int PAYLOAD_TYPE_DATA
public static final int PAYLOAD_TYPE_TEST
public static final byte DATA_FLAG_EXPLICIT_ACK
public static final byte DATA_FLAG_ACK_BITFIELDS
public static final byte DATA_FLAG_ECN
public static final byte DATA_FLAG_WANT_ACKS
public static final byte DATA_FLAG_WANT_REPLY
public static final byte DATA_FLAG_EXTENDED
public static final byte BITFIELD_CONTINUATION
Method Detail |
---|
public void writeData(byte[] src, int offset, int len)
public java.net.DatagramPacket getPacket()
public short getPriority()
public long getExpiration()
public long getBegin()
public long getLifetime()
public void resetBegin()
public void markType(int type)
public int getMarkedType()
int getMessageType()
void setMessageType(int type)
int getFragmentCount()
void setFragmentCount(int count)
public RemoteHostId getRemoteHost()
public boolean validate(SessionKey macKey)
public void decrypt(SessionKey cipherKey)
void enqueue()
void received()
void beforeReceiveFragments()
void afterHandling()
long getTimeSinceEnqueue()
long getTimeSinceReceived()
long getTimeSinceReceiveFragments()
long getTimeSinceHandling()
long getEnqueueTime()
long getReceivedTime()
long getBeforeValidate()
long getAfterValidate()
int getValidateCount()
public java.lang.String toString()
toString
in class java.lang.Object
public static UDPPacket acquire(I2PAppContext ctx, boolean inbound)
public void release()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |