Uses of Interface
net.i2p.data.i2np.I2NPMessage

Packages that use I2NPMessage
net.i2p.data.i2np The Invisible Internet Network Protocol (I2NP) is only a part of how an application can send messages over the network. 
net.i2p.router The I2P router application handles the I2P network communication. 
net.i2p.router.message   
net.i2p.router.networkdb   
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.udp The UDP transport (also known as 'SSU transport') allows passing I2P messages on top of UDP. 
net.i2p.router.tunnel   
 

Uses of I2NPMessage in net.i2p.data.i2np
 

Classes in net.i2p.data.i2np that implement I2NPMessage
 class DatabaseLookupMessage
          Defines the message a router sends to another router to search for a key in the network database.
 class DatabaseSearchReplyMessage
          Defines the message a router sends to another router in response to a search (DatabaseFindNearest or DatabaseLookup) when it doesn't have the value, specifying what routers it would search.
 class DatabaseStoreMessage
          Defines the message a router sends to another router to test the network database reachability, as well as the reply message sent back.
 class DataMessage
          Defines a message containing arbitrary bytes of data
 class DeliveryStatusMessage
          Defines the message sent back in reply to a message when requested, containing the private ack id.
 class GarlicMessage
          Defines the wrapped garlic message
 class I2NPMessageImpl
          Defines the base message implementation.
 class TunnelBuildMessage
           
 class TunnelBuildReplyMessage
          Transmitted from the new outbound endpoint to the creator through a reply tunnel
 class TunnelDataMessage
          Defines the message sent between routers as part of the tunnel delivery
 class TunnelGatewayMessage
          Defines the message sent between one tunnel's endpoint and another's gateway.
 class UnknownI2NPMessage
          This is the same as DataMessage but with a variable message type.
 class VariableTunnelBuildMessage
           
 class VariableTunnelBuildReplyMessage
          Transmitted from the new outbound endpoint to the creator through a reply tunnel
 

Methods in net.i2p.data.i2np that return I2NPMessage
 I2NPMessage I2NPMessageImpl.Builder.build(I2PAppContext ctx)
          instantiate a new I2NPMessage to be populated shortly
static I2NPMessage I2NPMessageImpl.createMessage(I2PAppContext context, int type)
          Yes, this is fairly ugly, but its the only place it ever happens.
static I2NPMessage I2NPMessageImpl.fromRawByteArray(I2PAppContext ctx, byte[] buffer, int offset, int len, I2NPMessageHandler handler)
          used by SSU only
 I2NPMessage GarlicClove.getData()
           
 I2NPMessage TunnelGatewayMessage.getMessage()
           
 I2NPMessage I2NPMessageHandler.lastRead()
          clear the last message read from a byte array with an offset
 I2NPMessage I2NPMessageHandler.readMessage(byte[] data)
          Read an I2NPMessage from the stream and return the fully populated object.
 I2NPMessage I2NPMessageHandler.readMessage(InputStream in)
          Read an I2NPMessage from the stream and return the fully populated object.
 

Methods in net.i2p.data.i2np with parameters of type I2NPMessage
 void I2NPMessageReader.I2NPMessageEventListener.messageReceived(I2NPMessageReader reader, I2NPMessage message, long msToRead, int bytesRead)
          Notify the listener that a message has been received from the given reader
 void GarlicClove.setData(I2NPMessage msg)
           
 void TunnelGatewayMessage.setMessage(I2NPMessage msg)
           
 

Uses of I2NPMessage in net.i2p.router
 

Methods in net.i2p.router that return I2NPMessage
 I2NPMessage OutNetMessage.getMessage()
          Specifies the message to be sent
 

Methods in net.i2p.router with parameters of type I2NPMessage
 int InNetMessagePool.add(I2NPMessage messageBody, RouterIdentity fromRouter, Hash fromRouterHash)
          Add a new message to the pool.
 Job HandlerJobBuilder.createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
          Create a new job to handle the received message.
 void MessageHistory.droppedOtherMessage(I2NPMessage message, Hash from)
          We received another message we weren't waiting for and don't know how to handle
 int InNetMessagePool.handleReplies(I2NPMessage messageBody)
           
 boolean MessageSelector.isMatch(I2NPMessage message)
          Returns true if the received message matches the selector
 void ReplyJob.setMessage(I2NPMessage message)
           
 void OutNetMessage.setMessage(I2NPMessage msg)
           
 

Uses of I2NPMessage in net.i2p.router.message
 

Methods in net.i2p.router.message that return I2NPMessage
 I2NPMessage PayloadGarlicConfig.getPayload()
           
 

Methods in net.i2p.router.message with parameters of type I2NPMessage
 Job GarlicMessageHandler.createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
           
 void GarlicMessageReceiver.CloveReceiver.handleClove(DeliveryInstructions instructions, I2NPMessage data)
           
 void HandleGarlicMessageJob.handleClove(DeliveryInstructions instructions, I2NPMessage data)
           
 void PayloadGarlicConfig.setPayload(I2NPMessage message)
          Specify the I2NP message to be sent - if this is set, no other cloves can be included in this block
 

Constructors in net.i2p.router.message with parameters of type I2NPMessage
SendMessageDirectJob(RouterContext ctx, I2NPMessage message, Hash toPeer, int timeoutMs, int priority)
           
SendMessageDirectJob(RouterContext ctx, I2NPMessage message, Hash toPeer, Job onSend, ReplyJob onSuccess, Job onFail, MessageSelector selector, int timeoutMs, int priority)
           
SendMessageDirectJob(RouterContext ctx, I2NPMessage message, Hash toPeer, ReplyJob onSuccess, Job onFail, MessageSelector selector, int timeoutMs, int priority)
           
 

Uses of I2NPMessage in net.i2p.router.networkdb
 

Methods in net.i2p.router.networkdb with parameters of type I2NPMessage
 Job DatabaseLookupMessageHandler.createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
           
 Job DatabaseStoreMessageHandler.createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
           
protected  void HandleDatabaseLookupMessageJob.sendMessage(I2NPMessage message, Hash toPeer, TunnelId replyTunnel)
           
 

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

Methods in net.i2p.router.networkdb.kademlia with parameters of type I2NPMessage
 Job FloodfillDatabaseLookupMessageHandler.createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
           
 Job FloodfillDatabaseStoreMessageHandler.createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
           
 boolean FloodOnlyLookupSelector.isMatch(I2NPMessage message)
           
 boolean StoreMessageSelector.isMatch(I2NPMessage message)
           
 boolean SearchMessageSelector.isMatch(I2NPMessage message)
           
 void FloodOnlyLookupMatchJob.setMessage(I2NPMessage message)
           
 void SearchUpdateReplyFoundJob.setMessage(I2NPMessage message)
           
(package private) static MessageWrapper.WrappedMessage MessageWrapper.wrap(RouterContext ctx, I2NPMessage m, Hash from, RouterInfo to)
          Garlic wrap a message from a client or this router, destined for a router, to hide the contents from the OBEP.
 

Uses of I2NPMessage in net.i2p.router.transport
 

Methods in net.i2p.router.transport with parameters of type I2NPMessage
 List OutboundMessageRegistry.getOriginalMessages(I2NPMessage message)
          Retrieve all messages that are waiting for the specified message.
 void TransportManager.messageReceived(I2NPMessage message, RouterIdentity fromRouter, Hash fromRouterHash)
           
 void TransportEventListener.messageReceived(I2NPMessage message, RouterIdentity fromRouter, Hash fromRouterHash)
           
 void TransportImpl.messageReceived(I2NPMessage inMsg, RouterIdentity remoteIdent, Hash remoteIdentHash, long msToReceive, int bytesReceived)
          Message received from the I2NPMessageReader - send it to the listener
 

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

Methods in net.i2p.router.transport.udp with parameters of type I2NPMessage
 boolean OutboundMessageState.initialize(I2NPMessage msg, PeerState peer)
           
 boolean OutboundMessageState.initialize(OutNetMessage m, I2NPMessage msg)
           
 void UDPTransport.messageReceived(I2NPMessage inMsg, RouterIdentity remoteIdent, Hash remoteIdentHash, long msToReceive, int bytesReceived)
          infinite loop public RouterAddress getCurrentAddress() { if (needsRebuild()) rebuildExternalAddress(false); return super.getCurrentAddress(); }
(package private)  void UDPTransport.send(I2NPMessage msg, PeerState peer)
           
 

Uses of I2NPMessage in net.i2p.router.tunnel
 

Methods in net.i2p.router.tunnel with parameters of type I2NPMessage
 void TunnelGateway.add(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)
          Add a message to be sent down the tunnel, either sending it now (perhaps coallesced with other pending messages) or after a brief pause (_flushFrequency).
 void ThrottledPumpedTunnelGateway.add(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)
          Possibly drop a message due to bandwidth before adding it to the preprocessor queue.
 void PumpedTunnelGateway.add(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)
          Add a message to be sent down the tunnel, either sending it now (perhaps coallesced with other pending messages) or after a brief pause (_flushFrequency).
 void TunnelGatewayZeroHop.add(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)
          Add a message to be sent down the tunnel (immediately forwarding it to the InboundMessageDistributor or OutboundMessageDistributor, as necessary).
 void TunnelDispatcher.dispatchOutbound(I2NPMessage msg, TunnelId outboundTunnel, Hash targetPeer)
          We are the outbound tunnel gateway (we created it), so wrap up this message with instructions to be forwarded to the targetPeer when it reaches the endpoint.
 void TunnelDispatcher.dispatchOutbound(I2NPMessage msg, TunnelId outboundTunnel, TunnelId targetTunnel, Hash targetPeer)
          We are the outbound tunnel gateway (we created it), so wrap up this message with instructions to be forwarded to the targetTunnel on the targetPeer when it reaches the endpoint.
 void InboundMessageDistributor.distribute(I2NPMessage msg, Hash target)
           
 void OutboundMessageDistributor.distribute(I2NPMessage msg, Hash target)
           
 void InboundMessageDistributor.distribute(I2NPMessage msg, Hash target, TunnelId tunnel)
           
 void OutboundMessageDistributor.distribute(I2NPMessage msg, Hash target, TunnelId tunnel)
           
 void OutboundMessageDistributor.distribute(I2NPMessage msg, RouterInfo target, TunnelId tunnel)
           
 void InboundMessageDistributor.handleClove(DeliveryInstructions instructions, I2NPMessage data)
          Handle a clove removed from the garlic message
 void FragmentHandler.DefragmentedReceiver.receiveComplete(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)
          Receive a fully formed I2NPMessage out of the tunnel
 

Constructors in net.i2p.router.tunnel with parameters of type I2NPMessage
TunnelGateway.Pending(I2NPMessage message, Hash toRouter, TunnelId toTunnel)
           
TunnelGateway.Pending(I2NPMessage message, Hash toRouter, TunnelId toTunnel, long now)
           
TunnelGateway.PendingImpl(I2NPMessage message, Hash toRouter, TunnelId toTunnel)