Package net.i2p.router.tunnel
Class PendingGatewayMessage
java.lang.Object
net.i2p.router.tunnel.PendingGatewayMessage
- All Implemented Interfaces:
CDQEntry
- Direct Known Subclasses:
OutboundGatewayMessage
Stores all the state for an unsent or partially-sent message
- Since:
- 0.9.3 refactored from TunnelGateway.Pending
-
Field Summary
-
Constructor Summary
ConstructorDescriptionPendingGatewayMessage
(I2NPMessage message, Hash toRouter, TunnelId toTunnel) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addMessageId
(long id) Add an ID to the list of the TunnelDataMssages this message was fragmented into.void
drop()
For CDQbyte[]
getData()
raw unfragmented message to sendlong
For CDQlong
int
which fragment are we working on (0 for the first fragment)long
long
The IDs of the TunnelDataMssages this message was fragmented into.int
index into the data to be sentmay be nullmay be nullvoid
ok, fragment sent, increment what the next will bevoid
setEnqueueTime
(long now) For CDQvoid
setOffset
(int offset) move the offsettoString()
-
Field Details
-
_toRouter
-
_toTunnel
-
_messageId
protected final long _messageId -
_expiration
protected final long _expiration -
_remaining
protected final byte[] _remaining -
_offset
protected int _offset -
_fragmentNumber
protected int _fragmentNumber -
_created
protected final long _created
-
-
Constructor Details
-
PendingGatewayMessage
-
-
Method Details
-
getToRouter
may be null -
getToTunnel
may be null -
getMessageId
public long getMessageId() -
getExpiration
public long getExpiration() -
getData
public byte[] getData()raw unfragmented message to send -
getOffset
public int getOffset()index into the data to be sent -
setOffset
public void setOffset(int offset) move the offset -
getLifetime
public long getLifetime() -
getFragmentNumber
public int getFragmentNumber()which fragment are we working on (0 for the first fragment) -
incrementFragmentNumber
public void incrementFragmentNumber()ok, fragment sent, increment what the next will be -
addMessageId
public void addMessageId(long id) Add an ID to the list of the TunnelDataMssages this message was fragmented into. Unused except in notePreprocessing() calls for debugging -
getMessageIds
The IDs of the TunnelDataMssages this message was fragmented into. Unused except in notePreprocessing() calls for debugging -
setEnqueueTime
public void setEnqueueTime(long now) For CDQ- Specified by:
setEnqueueTime
in interfaceCDQEntry
- Since:
- 0.9.3
-
getEnqueueTime
public long getEnqueueTime()For CDQ- Specified by:
getEnqueueTime
in interfaceCDQEntry
- Since:
- 0.9.3
-
drop
public void drop()For CDQ -
toString
-