Packages that use OutboundMessageState
Package
Description
SSU2, the UDP transport: datagram sessions with Holepunch peer discovery, plus the older SSU compatibility code.
Uses of OutboundMessageState in net.i2p.router.transport.udp
Fields in net.i2p.router.transport.udp declared as OutboundMessageStateModifier and TypeFieldDescriptionprivate OutboundMessageStateSSU2Payload.FirstFragBlock.mThe message state being tracked, if any.private OutboundMessageStateSSU2Payload.FollowFragBlock.mThe message state being tracked, if any.private OutboundMessageStateSSU2Payload.I2NPBlock.mThe message state being tracked, if any.final OutboundMessageStatePacketBuilder2.Fragment.stateThe outbound message state.Fields in net.i2p.router.transport.udp with type parameters of type OutboundMessageStateModifier and TypeFieldDescriptionprivate final List<OutboundMessageState> PeerState._failedBufferMessages that failed, buffered for retry.private final CachedIteratorCollection<OutboundMessageState> PeerState._outboundMessagesMostly messages that have been transmitted and are awaiting acknowledgement, although there could be some that have not been sent yet.private final PriBlockingQueue<OutboundMessageState> PeerState._outboundQueuePriority queue of messages that have not yet been sent.private final List<OutboundMessageState> PeerState._succeededBufferReusable lists for finishAndAllocate() — avoids per-volley allocation churn.Methods in net.i2p.router.transport.udp that return types with arguments of type OutboundMessageStateModifier and TypeMethodDescription(package private) List<OutboundMessageState> PeerState.finishAndAllocate(long now) Replaces the two-pass pattern of finishMessages() + allocateSend() with a single pass through _outboundMessages.(package private) List<OutboundMessageState> PeerState2.finishAndAllocate(long now) Single-pass combined cleanup + send allocation, overriding the base class to incorporate SSU2-specific _sentMessages cleanup and SessionConfirmed retransmit logic.Methods in net.i2p.router.transport.udp with parameters of type OutboundMessageStateModifier and TypeMethodDescription(package private) SSU2Payload.FirstFragBlockPacketBuilder2.BlockPool.acquireFirstFrag(OutboundMessageState state) Takes a first fragment block from the pool.(package private) SSU2Payload.FollowFragBlockPacketBuilder2.BlockPool.acquireFollowFrag(OutboundMessageState state, int fragment) Takes a follow-on fragment block from the pool.(package private) SSU2Payload.I2NPBlockPacketBuilder2.BlockPool.acquireI2NP(OutboundMessageState state) Takes an I2NP block from the pool.voidOutboundMessageFragments.add(OutboundMessageState state, PeerState peer) Short circuit the OutNetMessage, letting us send the establish complete message reliably.(package private) voidPeerState.add(OutboundMessageState state) Add an outbound message state to the queue.private booleanPeerState.allocateSendingBytes(OutboundMessageState state, long now) Decrement the remaining bytes in the current period's window, returning true if the full size can be decremented, false if it cannot.PacketBuilder2.buildPacket(OutboundMessageState state, int fragment, PeerState2 peer) This builds a data packet (PAYLOAD_TYPE_DATA).voidUDPTransport.failed(OutboundMessageState msg) Handle a failed outbound message.(package private) voidUDPTransport.failed(OutboundMessageState msg, boolean allowPeerFailure) Handle a failed outbound message, blaming the peer only after MAX_CONSECUTIVE_FAILED failures with no recent activity.private booleanPeerState.locked_shouldSend(OutboundMessageState state, long now) Locks this.(package private) voidSSU2Payload.FirstFragBlock.setMessage(OutboundMessageState msg) Repurpose this block for a new message.(package private) voidSSU2Payload.FollowFragBlock.setMessage(OutboundMessageState msg, int frag) Repurpose this block for a new fragment.(package private) voidSSU2Payload.I2NPBlock.setMessage(OutboundMessageState msg) Repurpose this block for a new message.voidUDPTransport.succeeded(OutboundMessageState msg) Handle a successful outbound message.Method parameters in net.i2p.router.transport.udp with type arguments of type OutboundMessageStateModifier and TypeMethodDescriptionvoidOutboundMessageFragments.add(List<OutboundMessageState> states, PeerState peer) Short circuit the OutNetMessage, letting us send multiple messages reliably and efficiently.private booleanPeerState.handleFailed(List<OutboundMessageState> failed, int failedSize, int failedCount, boolean totalFail, boolean shouldLogInfo, boolean shouldLogWarn) Process failed outbound messages and their side effects, completely outside _outboundLock.OutboundMessageFragments.preparePackets(List<OutboundMessageState> states, PeerState peer) Build the packets for one volley.Constructors in net.i2p.router.transport.udp with parameters of type OutboundMessageStateModifierConstructorDescriptionCreate a first fragment block.FollowFragBlock(OutboundMessageState msg, int frag) Create a follow-on fragment block.Fragment(OutboundMessageState state, int num) One fragment's slice of an outbound message, identified by its index.Create an I2NP message block.