Packages that use PendingGatewayMessage
Package
Description
Tunnel messages and the tunnel layer: the
TunnelManagerFacade, tunnel build request and reply processing, and the inbound and outbound tunnel structures.Uses of PendingGatewayMessage in net.i2p.router.tunnel
Subclasses of PendingGatewayMessage in net.i2p.router.tunnelModifier and TypeClassDescription(package private) classStores all the state for an unsent or partially-sent message.Fields in net.i2p.router.tunnel with type parameters of type PendingGatewayMessageModifier and TypeFieldDescriptionprivate final BlockingQueue<PendingGatewayMessage> PumpedTunnelGateway._prequeueMessages waiting to enter the tunnel queue.protected final List<PendingGatewayMessage> TunnelGateway._queueThe message queue.Methods in net.i2p.router.tunnel with parameters of type PendingGatewayMessageModifier and TypeMethodDescriptionprotected booleanPumpedTunnelGateway.add(PendingGatewayMessage cur) Adds a PendingGatewayMessage to the prequeue and notifies the pumper to process it.protected static intTrivialPreprocessor.getInstructionAugmentationSize(PendingGatewayMessage msg, int offset, int instructionsSize) Get the augmentation size for instructions if fragmentation is needed.protected static intTrivialPreprocessor.getInstructionsSize(PendingGatewayMessage msg) Calculate the size of the instructions for a pending message.protected intTrivialPreprocessor.writeFirstFragment(PendingGatewayMessage msg, byte[] target, int offset) Write the first fragment of a tunnel message.protected intTrivialPreprocessor.writeSubsequentFragment(PendingGatewayMessage msg, byte[] target, int offset) Write a subsequent fragment of a tunnel message.Method parameters in net.i2p.router.tunnel with type arguments of type PendingGatewayMessageModifier and TypeMethodDescriptionprivate voidBatchedPreprocessor.display(long allocated, List<PendingGatewayMessage> pending, String title) Logs the state of the queue, only if Log.INFO.private booleanBatchedPreprocessor.preprocessAndSend(List<PendingGatewayMessage> pending, TunnelGateway.Sender sender, TunnelGateway.Receiver rec) Body ofBatchedPreprocessor.preprocessQueue(List, TunnelGateway.Sender, TunnelGateway.Receiver), split out so the per-flush stat batches are flushed on every return path.booleanBatchedPreprocessor.preprocessQueue(List<PendingGatewayMessage> pending, TunnelGateway.Sender sender, TunnelGateway.Receiver rec) booleanTrivialPreprocessor.preprocessQueue(List<PendingGatewayMessage> pending, TunnelGateway.Sender sender, TunnelGateway.Receiver rec) Return true if there were messages remaining, and we should queue up a delayed flush to clear thembooleanTunnelGateway.QueuePreprocessor.preprocessQueue(List<PendingGatewayMessage> pending, TunnelGateway.Sender sender, TunnelGateway.Receiver receiver) Caller must synchronize on the list!booleanPumpedTunnelGateway.pump(List<PendingGatewayMessage> queueBuf) Pumps messages from the internal prequeue into the processing queue.booleanTunnelGatewayPumper.PoisonPTG.pump(List<PendingGatewayMessage> queueBuf) protected voidBatchedPreprocessor.send(List<PendingGatewayMessage> pending, int startAt, int sendThrough, TunnelGateway.Sender sender, TunnelGateway.Receiver rec) Preprocess the messages from the pending list, grouping items startAt through sendThrough (though only part of the last one may be fully sent), delivering them through the sender/receiver.private intBatchedPreprocessor.writeFragments(List<PendingGatewayMessage> pending, int startAt, int sendThrough, byte[] target, int offset) Write the fragments out of the pending list onto the target, updating each of the Pending message's offsets accordingly.