## Uses of Class
net.i2p.router.OutNetMessage

Packages that use OutNetMessage
net.i2p.router: The I2P router application handles the I2P network communication.
net.i2p.router.networkdb.kademlia
net.i2p.router.transport: The transport system allows the usage of communication layers that are below I2P in the stack, on which I2P messages are sent.
net.i2p.router.transport.ntcp: The NTCP transport allows passing I2P messages on top of TCP.
net.i2p.router.transport.udp: The UDP transport (also known as 'SSU transport') allows passing I2P messages on top of UDP.

Uses of OutNetMessage in net.i2p.router

Methods in net.i2p.router with parameters of type OutNetMessage
`void` `OutNetMessagePool.add(OutNetMessage msg)` Add a new message to the pool
`abstract void` `CommSystemFacade.processMessage(OutNetMessage msg)`
`void` `MessageHistory.replyTimedOut(OutNetMessage sentMessage)` The message wanted a reply but no reply came in the time expected

Uses of OutNetMessage in net.i2p.router.networkdb.kademlia

Fields in net.i2p.router.networkdb.kademlia declared as OutNetMessage
`(package private) OutNetMessage` `SingleSearchJob._onm`

Uses of OutNetMessage in net.i2p.router.transport

Methods in net.i2p.router.transport that return OutNetMessage
`OutNetMessage` `TransportImpl.getNextMessage()` Nonblocking call to pull the next outbound message off the queue.
`OutNetMessage` `OutboundMessageRegistry.registerPending(MessageSelector replySelector, ReplyJob onReply, Job onTimeout, int timeoutMs)`

Methods in net.i2p.router.transport with parameters of type OutNetMessage
`protected void` `TransportImpl.afterSend(OutNetMessage msg, boolean sendSuccessful)` The transport is done sending this message
`protected void` `TransportImpl.afterSend(OutNetMessage msg, boolean sendSuccessful, boolean allowRequeue)` The transport is done sending this message
`protected void` `TransportImpl.afterSend(OutNetMessage msg, boolean sendSuccessful, boolean allowRequeue, long msToSend)` The transport is done sending this message.
`protected void` `TransportImpl.afterSend(OutNetMessage msg, boolean sendSuccessful, long msToSend)` The transport is done sending this message
`TransportBid` `TransportManager.getBid(OutNetMessage msg)`
`TransportBid` `CommSystemFacadeImpl.getBid(OutNetMessage msg)`
`List<TransportBid>` `TransportManager.getBids(OutNetMessage msg)`
`List<TransportBid>` `CommSystemFacadeImpl.getBids(OutNetMessage msg)`
`(package private) static void` `GetBidsJob.getBids(RouterContext context, CommSystemFacadeImpl facade, OutNetMessage msg)`
`TransportBid` `TransportManager.getNextBid(OutNetMessage msg)`
`TransportBid` `CommSystemFacadeImpl.getNextBid(OutNetMessage msg)`
`void` `VMCommSystem.processMessage(OutNetMessage msg)` The router wants us to send the given message to the peer.
`void` `CommSystemFacadeImpl.processMessage(OutNetMessage msg)` Send the message out
`void` `OutboundMessageRegistry.registerPending(OutNetMessage msg)`
`void` `OutboundMessageRegistry.registerPending(OutNetMessage msg, boolean allowEmpty)`
`void` `Transport.send(OutNetMessage msg)` Asynchronously send the message as requested in the message and, if the send is successful, queue up any msg.getOnSendJob job, and register it with the OutboundMessageRegistry (if it has a reply selector).
`void` `TransportImpl.send(OutNetMessage msg)` Asynchronously send the message as requested in the message and, if the send is successful, queue up any msg.getOnSendJob job, and register it with the OutboundMessageRegistry (if it has a reply selector).
`void` `OutboundMessageRegistry.unregisterPending(OutNetMessage msg)`

Constructors in net.i2p.router.transport with parameters of type OutNetMessage
`GetBidsJob(RouterContext ctx, CommSystemFacadeImpl facade, OutNetMessage msg)`

Uses of OutNetMessage in net.i2p.router.transport.ntcp

Methods in net.i2p.router.transport.ntcp with parameters of type OutNetMessage
`void` `NTCPSendFinisher.add(OutNetMessage msg)`
`void` `NTCPTransport.afterSend(OutNetMessage msg, boolean sendSuccessful, boolean allowRequeue, long msToSend)`
`void` `NTCPConnection.send(OutNetMessage msg)` toss the message onto the connection's send queue
`(package private) void` `NTCPTransport.sendComplete(OutNetMessage msg)` queue up afterSend call, which can take some time w/ jobs, etc

Uses of OutNetMessage in net.i2p.router.transport.udp

Methods in net.i2p.router.transport.udp that return OutNetMessage
`OutNetMessage` `OutboundMessageState.getMessage()`
`OutNetMessage` `TimedWeightedPriorityMessageQueue.getNext(long blockUntil)` Grab the next message out of the next queue.
`OutNetMessage` `MessageQueue.getNext(long blockUntil)` Get the next message, blocking until one is found or the expiration reached.
`OutNetMessage` `OutboundEstablishState.getNextQueuedMessage()`

Methods in net.i2p.router.transport.udp with parameters of type OutNetMessage
`void` `TimedWeightedPriorityMessageQueue.add(OutNetMessage message)`
`void` `OutboundMessageFragments.add(OutNetMessage msg)` Add a new message to the active pool
`void` `MessageQueue.add(OutNetMessage message)` Add on a new message to the queue
`void` `OutboundEstablishState.addMessage(OutNetMessage msg)`
`void` `EstablishmentManager.establish(OutNetMessage msg)` Send the message to its specified recipient by establishing a connection with them and sending it off.
`void` `UDPTransport.failed(OutNetMessage msg, String reason)`
`void` `TimedWeightedPriorityMessageQueue.FailedListener.failed(OutNetMessage msg, String reason)`
`boolean` `OutboundMessageState.initialize(OutNetMessage msg)`
`boolean` `OutboundMessageState.initialize(OutNetMessage m, I2NPMessage msg)`
`void` `UDPTransport.send(OutNetMessage msg)`