Uses of Interface
net.i2p.data.i2np.I2NPMessage
Package | Description |
---|---|
net.i2p.data.i2np |
This package defines the low-level messages sent between routers,
called the Invisible Internet Network Protocol (I2NP).
|
net.i2p.router |
The I2P router application handles the I2P network communication.
|
net.i2p.router.message |
Creates and parses garlic messages.
|
net.i2p.router.networkdb |
A couple of classes, but most things are in kademlia.
|
net.i2p.router.networkdb.kademlia |
The network database, including implementation of floodfills.
|
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.
|
net.i2p.router.tunnel |
All the work of managing locally created and participating tunnels,
creating and handling tunnel messages, and their encryption.
|
-
Uses of I2NPMessage in net.i2p.data.i2np
Classes in net.i2p.data.i2np that implement I2NPMessage Modifier and Type Class Description 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 This is what goes in a GarlicClove.class
DeliveryStatusMessage
Defines the message sent back in reply to a message when requested, containing the private ack id.class
FastI2NPMessageImpl
Ignore, but save, the SHA-256 checksum in the full 16-byte header when read in.class
GarlicMessage
Defines the wrapped garlic messageclass
I2NPMessageImpl
Defines the base message implementation.class
InboundTunnelBuildMessage
Sent from the tunnel creator to the IBGW via an outbound tunnel.class
OutboundTunnelBuildReplyMessage
Sent from the OBEP to the tunnel creator via an inbound tunnel.class
ShortTunnelBuildMessage
Variable size, small records.class
ShortTunnelBuildReplyMessage
Internal use only, to convert an inbound STBM to a reply.class
TunnelBuildMessage
The basic build message with 8 records.class
TunnelBuildMessageBase
Base for TBM, TBRM, VTBM, VTBRM Retrofitted over them.class
TunnelBuildReplyMessage
The basic build reply message with 8 records.class
TunnelDataMessage
Defines the message sent between routers as part of the tunnel delivery The tunnel ID is changed in-place by TunnelParticipant.send(), so we can't reuse the checksum on output, but we still subclass FastI2NPMessageImpl so we don't verify the checksum on input...class
TunnelGatewayMessage
Defines the message sent between one tunnel's endpoint and another's gateway.class
UnknownI2NPMessage
This is similar to DataMessage or GarlicMessage but with a variable message type.class
VariableTunnelBuildMessage
Variable number of records.class
VariableTunnelBuildReplyMessage
Transmitted from the new outbound endpoint to the creator through a reply tunnel.Methods in net.i2p.data.i2np that return I2NPMessage Modifier and Type Method Description I2NPMessage
I2NPMessageImpl.Builder. build(I2PAppContext ctx)
instantiate a new I2NPMessage to be populated shortlyI2NPMessage
UnknownI2NPMessage. convert()
Attempt to convert this message to a known message class.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)
Read the message with a short 5-byte header.static I2NPMessage
I2NPMessageImpl. fromRawByteArrayNTCP2(I2PAppContext ctx, byte[] buffer, int offset, int len, I2NPMessageHandler handler)
Read the message with a short 9-byte header.I2NPMessage
GarlicClove. getData()
I2NPMessage
TunnelGatewayMessage. getMessage()
Warning, at the IBGW, where the message was read in, this will be an UnknownI2NPMessage.I2NPMessage
I2NPMessageHandler. lastRead()
clear the last message read from a byte array with an offsetI2NPMessage
I2NPMessageHandler. readMessage(byte[] data)
Read an I2NPMessage from the byte array and return the fully populated object.Methods in net.i2p.data.i2np with parameters of type I2NPMessage Modifier and Type Method Description 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 Modifier and Type Method Description I2NPMessage
OutNetMessage. getMessage()
Specifies the message to be sent.Methods in net.i2p.router with parameters of type I2NPMessage Modifier and Type Method Description 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 handleint
InNetMessagePool. handleReplies(I2NPMessage messageBody)
boolean
MessageSelector. isMatch(I2NPMessage message)
Returns true if the received message matches the selector.void
ReplyJob. setMessage(I2NPMessage message)
Called by InNetMessagePool when an I2NPMessage matching a MessageSelector registered with the OutboundMessageRegistry is receivedConstructors in net.i2p.router with parameters of type I2NPMessage Constructor Description OutNetMessage(RouterContext context, I2NPMessage msg, long expiration, int priority, RouterInfo target)
Standard constructor -
Uses of I2NPMessage in net.i2p.router.message
Methods in net.i2p.router.message that return I2NPMessage Modifier and Type Method Description I2NPMessage
PayloadGarlicConfig. getPayload()
Specify the I2NP message to be sent - if this is set, no other cloves can be included in this blockMethods in net.i2p.router.message with parameters of type I2NPMessage Modifier and Type Method Description Job
GarlicMessageHandler. createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
void
GarlicMessageReceiver.CloveReceiver. handleClove(DeliveryInstructions instructions, I2NPMessage data)
void
HandleGarlicMessageJob. handleClove(DeliveryInstructions instructions, I2NPMessage data)
Constructors in net.i2p.router.message with parameters of type I2NPMessage Constructor Description PayloadGarlicConfig(Certificate cert, long id, long expiration, DeliveryInstructions di, I2NPMessage message)
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 Modifier and Type Method Description 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 that return I2NPMessage Modifier and Type Method Description protected I2NPMessage
ExploreJob. buildMessage(TunnelId replyTunnelId, Hash replyGateway, long expiration, RouterInfo peer)
Build the database search message, but unlike the normal searches, we're more explicit in what we /don't/ want.protected I2NPMessage
SearchJob. buildMessage(TunnelId replyTunnelId, Hash replyGateway, long expiration, RouterInfo peer)
Build the database search messageMethods in net.i2p.router.networkdb.kademlia with parameters of type I2NPMessage Modifier and Type Method Description Job
FloodfillDatabaseLookupMessageHandler. createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
Job
FloodfillDatabaseStoreMessageHandler. createJob(I2NPMessage receivedMessage, RouterIdentity from, Hash fromHash)
boolean
FloodOnlyLookupSelector. isMatch(I2NPMessage message)
boolean
IterativeLookupSelector. isMatch(I2NPMessage message)
This only returns true for DSMs, not for DSRMs.boolean
SearchMessageSelector. isMatch(I2NPMessage message)
boolean
StoreMessageSelector. 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.static GarlicMessage
MessageWrapper. wrap(RouterContext ctx, I2NPMessage m, RouterInfo to)
Garlic wrap a message from nobody, destined for a router, to hide the contents from the OBEP.static GarlicMessage
MessageWrapper. wrap(RouterContext ctx, I2NPMessage m, SessionKey encryptKey, SessionTag encryptTag)
Garlic wrap a message from nobody, destined for an unknown router, to hide the contents from the IBGW.static GarlicMessage
MessageWrapper. wrap(RouterContext ctx, I2NPMessage m, SessionKey encryptKey, RatchetSessionTag encryptTag)
Garlic wrap a message from nobody, destined for an unknown router, to hide the contents from the IBGW.static GarlicMessage
MessageWrapper. wrap(RouterContext ctx, I2NPMessage m, MessageWrapper.OneTimeSession session)
Garlic wrap a message from nobody, destined for an unknown router, to hide the contents from the IBGW. -
Uses of I2NPMessage in net.i2p.router.transport
Methods in net.i2p.router.transport with parameters of type I2NPMessage Modifier and Type Method Description List<OutNetMessage>
OutboundMessageRegistry. getOriginalMessages(I2NPMessage message)
Retrieve all messages that are waiting for the specified message.void
TransportEventListener. messageReceived(I2NPMessage message, RouterIdentity fromRouter, Hash fromRouterHash)
Message receivedvoid
TransportImpl. messageReceived(I2NPMessage inMsg, RouterIdentity remoteIdent, Hash remoteIdentHash, long msToReceive, int bytesReceived)
Message received from the I2NPMessageReader - send it to the listenervoid
TransportManager. messageReceived(I2NPMessage message, RouterIdentity fromRouter, Hash fromRouterHash)
Message received -
Uses of I2NPMessage in net.i2p.router.transport.ntcp
Methods in net.i2p.router.transport.ntcp with parameters of type I2NPMessage Modifier and Type Method Description void
InboundEstablishState. gotI2NP(I2NPMessage msg)
void
NTCP2Payload.PayloadCallback. gotI2NP(I2NPMessage msg)
Constructors in net.i2p.router.transport.ntcp with parameters of type I2NPMessage Constructor Description I2NPBlock(I2NPMessage msg)
-
Uses of I2NPMessage in net.i2p.router.transport.udp
Methods in net.i2p.router.transport.udp with parameters of type I2NPMessage Modifier and Type Method Description 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, List<OutNetMessage> msgs, PeerState peer)
"injected" message from the EstablishmentManager, plus pending messages to send, so the messages may be bundled efficiently.(package private) void
UDPTransport. send(I2NPMessage msg, PeerState peer)
"injected" message from the EstablishmentManager.Method parameters in net.i2p.router.transport.udp with type arguments of type I2NPMessage Modifier and Type Method Description (package private) void
UDPTransport. send(List<I2NPMessage> msgs, PeerState peer)
"injected" messages from the EstablishmentManager.Constructors in net.i2p.router.transport.udp with parameters of type I2NPMessage Constructor Description OutboundMessageState(I2PAppContext context, I2NPMessage msg, PeerState peer)
"injected" message from the establisher. -
Uses of I2NPMessage in net.i2p.router.tunnel
Methods in net.i2p.router.tunnel with parameters of type I2NPMessage Modifier and Type Method Description void
PumpedTunnelGateway. add(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)
Add a message to be sent down the tunnel, either sending it now (perhaps coalesced 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
TunnelGateway. add(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)
Add a message to be sent down the tunnel, either sending it now (perhaps coalesced 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 theInboundMessageDistributor
orOutboundMessageDistributor
, 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
InboundMessageDistributor. distribute(I2NPMessage msg, Hash target, TunnelId tunnel)
void
OutboundMessageDistributor. distribute(I2NPMessage msg, Hash target)
void
OutboundMessageDistributor. distribute(I2NPMessage msg, Hash target, TunnelId tunnel)
void
InboundMessageDistributor. handleClove(DeliveryInstructions instructions, I2NPMessage data)
Handle a clove removed from the garlic messagevoid
FragmentHandler.DefragmentedReceiver. receiveComplete(I2NPMessage msg, Hash toRouter, TunnelId toTunnel)
Receive a fully formed I2NPMessage out of the tunnelConstructors in net.i2p.router.tunnel with parameters of type I2NPMessage Constructor Description OutboundGatewayMessage(I2NPMessage message, Hash toRouter, TunnelId toTunnel)
PendingGatewayMessage(I2NPMessage message, Hash toRouter, TunnelId toTunnel)