java.lang.Object
net.i2p.router.tunnel.OutboundTunnelEndpoint
We are the end of an outbound tunnel that we did not create. Gather fragments and honor the instructions as received.
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classHandler for the reassembled lease sets.Field Summary
FieldsModifier and TypeFieldDescriptionprivate final HopConfigThe hop configuration of our tunnel.private final RouterContextThe router context.private final FragmentHandlerReassembles the fragmented lease sets.private intOther messages relayed.private final LogLogger for the outbound tunnel endpoint.private intLease set store messages relayed.private final OutboundMessageDistributorDistributes the messages we relay onward.private final SyntheticREDQueueQueue estimating the outbound share used while relaying.private final HopProcessorProcesses the messages for the previous hop.private intRouter info store messages relayed.private intTotal messages relayed.Constructor Summary
ConstructorsConstructorDescriptionOutboundTunnelEndpoint(RouterContext ctx, HopConfig config, HopProcessor processor) Binds the context, config, and processor, sizing the RED queue to the allocated bandwidth.Method Summary
All MethodsModifier and TypeMethodDescriptionvoiddispatch(TunnelDataMessage msg, Hash recvFrom) Decrypt and honor the instructions of an incoming tunnel data message.toString()Tunnel summary for log messages.
Field Details
_context
The router context._log
Logger for the outbound tunnel endpoint._config
The hop configuration of our tunnel._processor
Processes the messages for the previous hop._handler
Reassembles the fragmented lease sets._outDistributor
Distributes the messages we relay onward._partBWE
Queue estimating the outbound share used while relaying._lsdsm
private int _lsdsmLease set store messages relayed._ridsm
private int _ridsmRouter info store messages relayed._i2npmsg
private int _i2npmsgOther messages relayed._totalmsg
private int _totalmsgTotal messages relayed.
Constructor Details
OutboundTunnelEndpoint
Binds the context, config, and processor, sizing the RED queue to the allocated bandwidth.- Parameters:
ctx- the router contextconfig- the hop configuration, whose allocated bandwidth sizes the RED queue and may be raised to the per-tunnel maximum when it is still at its estimateprocessor- the inbound hop processor, used to decrypt each message before handling
Method Details
dispatch
Decrypt and honor the instructions of an incoming tunnel data message.- Parameters:
msg- the tunnel data message, already registered with the message registryrecvFrom- the hash to blame for a decryption failure, the previous hop
toString