| 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.client |
Implements the router side of the I2CP interface,
which is the API for applications to send and receive data through the router.
|
| net.i2p.router.crypto |
Classes formerly in net.i2p.crypto but moved here as they are only used by the router.
|
| net.i2p.router.crypto.ratchet |
Implementation of ECIES-X25519-AEAD-Ratchet (proposal 144).
|
| net.i2p.router.dummy |
Dummy versions of things for testing.
|
| 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.networkdb.reseed |
Fetching, validation, unpacking, and installation of RouterInfos from
signed su3 files, unsigned zip files, and web indexes.
|
| net.i2p.router.peermanager |
The peer manager logs information about the history and quality of network peers.
|
| net.i2p.router.startup |
The I2P startup package loads the configuration when I2P is started.
|
| net.i2p.router.sybil |
Classes to run offline Sybil analysis, and to
store and load the results.
|
| net.i2p.router.tasks |
Miscellaneous classes, mostly things that are executed periodically as
Jobs, Threads, and SimpleTimer.TimedEvents.
|
| 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.
|
| net.i2p.router.tunnel.pool |
Tunnel creation, tunnel build message handling.
|
| net.i2p.router.util |
These classes define the several useful utilities used
throughout the router.
|
| Modifier and Type | Method and Description |
|---|---|
EncryptedBuildRecord |
BuildRequestRecord.encryptECIESRecord(RouterContext ctx,
net.i2p.data.PublicKey toKey,
net.i2p.data.Hash toPeer)
Encrypt the record to the specified peer.
|
| Constructor and Description |
|---|
BuildRequestRecord(RouterContext ctx,
net.i2p.data.PrivateKey ourKey,
EncryptedBuildRecord encryptedRecord)
Decrypt the data from the specified record, writing the decrypted record into this instance's
data buffer
Caller MUST check that first 16 bytes of our hash matches first 16 bytes of encryptedRecord
before calling this.
|
| Modifier and Type | Field and Description |
|---|---|
protected RouterContext |
RouterThrottleImpl._context |
(package private) RouterContext |
SSUDemo._us |
| Modifier and Type | Method and Description |
|---|---|
RouterContext |
Router.getContext()
Non-null, but take care when accessing context items before runRouter() is called
as the context will not be initialized.
|
RouterContext |
JobImpl.getContext() |
| Modifier and Type | Method and Description |
|---|---|
(package private) static List<RouterContext> |
RouterContext.getContexts()
Same as listContexts() but package private and modifiable.
|
static List<RouterContext> |
RouterContext.listContexts()
Retrieve the list of router contexts currently instantiated in this JVM.
|
| Modifier and Type | Method and Description |
|---|---|
(package private) static boolean |
RouterContext.setGlobalContext(RouterContext ctx)
Sets the default context, unless there is one already.
|
| Modifier and Type | Field and Description |
|---|---|
protected RouterContext |
ClientConnectionRunner._context |
protected RouterContext |
ClientListenerRunner._context |
protected RouterContext |
ClientMessageEventListener._context |
protected RouterContext |
ClientManager._ctx |
| Constructor and Description |
|---|
ClientConnectionRunner(RouterContext context,
ClientManager manager,
Socket socket)
Create a new runner against the given socket
|
ClientListenerRunner(RouterContext context,
ClientManager manager,
int port) |
ClientManager(RouterContext context,
int port)
Does not start the listeners.
|
ClientManagerFacadeImpl(RouterContext context) |
ClientMessageEventListener(RouterContext context,
ClientConnectionRunner runner,
boolean enforceAuth) |
ClientWriterRunner(RouterContext context,
ClientConnectionRunner runner) |
CreateSessionJob(RouterContext context,
net.i2p.data.i2cp.SessionConfig config) |
LocalClientConnectionRunner(RouterContext context,
ClientManager manager,
Socket socket)
Create a new runner with the given queues
|
LocalClientListenerRunner(RouterContext context,
ClientManager manager,
int port) |
LocalClientManager(RouterContext context,
int port) |
LocalClientMessageEventListener(RouterContext context,
ClientConnectionRunner runner,
boolean enforceAuth) |
LookupDestJob(RouterContext context,
ClientConnectionRunner runner,
net.i2p.data.Hash h,
net.i2p.data.Hash fromLocalDest) |
LookupDestJob(RouterContext context,
ClientConnectionRunner runner,
long reqID,
long timeout,
net.i2p.data.i2cp.SessionId sessID,
net.i2p.data.Hash h,
String name,
net.i2p.data.Hash fromLocalDest)
One of h or name non-null.
|
MessageReceivedJob(RouterContext ctx,
ClientConnectionRunner runner,
net.i2p.data.Destination toDest,
net.i2p.data.Destination fromDest,
net.i2p.data.Payload payload,
boolean sendDirect) |
QueuedClientConnectionRunner(RouterContext context,
ClientManager manager,
net.i2p.internal.I2CPMessageQueue queue)
Create a new runner with the given queues
|
ReportAbuseJob(RouterContext context,
ClientConnectionRunner runner,
net.i2p.data.Destination dest,
String reason,
int severity) |
RequestLeaseSetJob(RouterContext ctx,
ClientConnectionRunner runner,
LeaseRequestState state) |
SSLClientListenerRunner(RouterContext context,
ClientManager manager,
int port) |
| Constructor and Description |
|---|
FamilyKeyCrypto(RouterContext context)
For signing and verification.
|
| Modifier and Type | Field and Description |
|---|---|
protected RouterContext |
RatchetSKM._context |
| Constructor and Description |
|---|
ACKTimer(RouterContext context,
net.i2p.data.Destination from,
net.i2p.data.Destination to)
Caller must schedule
|
ECIESAEADEngine(RouterContext ctx)
Caller MUST call startup() to get threaded generation.
|
MuxedEngine(RouterContext ctx) |
RatchetSKM(RouterContext context)
For the router SKM only.
|
RatchetSKM(RouterContext context,
net.i2p.data.Destination dest)
The session key manager is constructed and accessed through the
client manager.
|
| Constructor and Description |
|---|
DummyClientManagerFacade(RouterContext ctx) |
DummyNetworkDatabaseFacade(RouterContext ctx) |
VMCommSystem(RouterContext context) |
| Modifier and Type | Method and Description |
|---|---|
static GarlicMessage |
GarlicMessageBuilder.buildECIESMessage(RouterContext ctx,
GarlicConfig config)
Encrypt from an anonymous source.
|
(package private) static GarlicMessage |
GarlicMessageBuilder.buildECIESMessage(RouterContext ctx,
GarlicConfig config,
net.i2p.data.Hash from,
net.i2p.data.Destination to,
net.i2p.crypto.SessionKeyManager skm,
ReplyCallback callback)
ECIES_X25519 only.
|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
net.i2p.data.SessionKey encryptKey,
RatchetSessionTag encryptTag)
Ratchet only.
|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
net.i2p.data.SessionKey wrappedKey,
Set<net.i2p.data.SessionTag> wrappedTags,
int numTagsToDeliver,
int lowTagsThreshold,
net.i2p.crypto.SessionKeyManager skm)
ELGAMAL_2048 only.
|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
net.i2p.data.SessionKey wrappedKey,
Set<net.i2p.data.SessionTag> wrappedTags,
int numTagsToDeliver,
net.i2p.crypto.SessionKeyManager skm)
ELGAMAL_2048 only.
|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
net.i2p.data.SessionKey wrappedKey,
Set<net.i2p.data.SessionTag> wrappedTags,
net.i2p.crypto.SessionKeyManager skm)
Now unused, since we have to generate a reply token first in OCMOSJ but we don't know if tags are required yet.
|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
Set<net.i2p.data.SessionTag> wrappedTags,
net.i2p.data.PublicKey target,
net.i2p.data.SessionKey encryptKey,
net.i2p.data.SessionTag encryptTag)
ELGAMAL_2048 only.
|
(package private) static GarlicMessage |
OutboundClientMessageJobHelper.createGarlicMessage(RouterContext ctx,
long replyToken,
long expiration,
net.i2p.data.PublicKey recipientPK,
PayloadGarlicConfig dataClove,
net.i2p.data.Hash from,
net.i2p.data.Destination dest,
TunnelInfo replyTunnel,
int tagsToSendOverride,
int lowTagsOverride,
net.i2p.data.SessionKey wrappedKey,
Set<net.i2p.data.SessionTag> wrappedTags,
boolean requireAck,
net.i2p.data.LeaseSet bundledReplyLeaseSet,
ReplyCallback callback)
Allow the app to specify the data clove directly, which enables OutboundClientMessage to resend the
same payload (including expiration and unique id) in different garlics (down different tunnels)
This is called from OCMOSJ
|
static void |
OutboundClientMessageOneShotJob.init(RouterContext ctx)
call once only
|
(package private) static boolean |
GarlicMessageBuilder.needsTags(RouterContext ctx,
net.i2p.data.PublicKey key,
net.i2p.data.Hash local,
int minTagOverride)
ELGAMAL_2048 only.
|
| Constructor and Description |
|---|
BuildTestMessageJob(RouterContext ctx,
RouterInfo target,
net.i2p.data.Hash replyTo,
Job onSendJob,
Job onSendFailedJob,
long timeoutMs,
int priority) |
GarlicMessageHandler(RouterContext context) |
GarlicMessageParser(RouterContext context) |
GarlicMessageReceiver(RouterContext context,
GarlicMessageReceiver.CloveReceiver receiver) |
GarlicMessageReceiver(RouterContext context,
GarlicMessageReceiver.CloveReceiver receiver,
net.i2p.data.Hash clientDestination) |
HandleGarlicMessageJob(RouterContext context,
GarlicMessage msg,
RouterIdentity from,
net.i2p.data.Hash fromHash) |
OutboundCache(RouterContext ctx) |
OutboundClientMessageOneShotJob(RouterContext ctx,
OutboundCache cache,
ClientMessage msg)
Send it.
|
OutboundClientMessageStatus(RouterContext ctx,
ClientMessage msg) |
SendGarlicJob(RouterContext ctx,
GarlicConfig config,
Job onSend,
Job onSendFailed,
ReplyJob onReply,
Job onReplyFailed,
long timeoutMs,
int priority,
MessageSelector replySelector) |
SendGarlicJob(RouterContext ctx,
GarlicConfig config,
Job onSend,
Job onSendFailed,
ReplyJob onReply,
Job onReplyFailed,
long timeoutMs,
int priority,
MessageSelector replySelector,
net.i2p.data.SessionKey wrappedKey,
Set<net.i2p.data.SessionTag> wrappedTags) |
SendMessageDirectJob(RouterContext ctx,
I2NPMessage message,
net.i2p.data.Hash toPeer,
int timeoutMs,
int priority) |
SendMessageDirectJob(RouterContext ctx,
I2NPMessage message,
net.i2p.data.Hash toPeer,
Job onSend,
ReplyJob onSuccess,
Job onFail,
MessageSelector selector,
int timeoutMs,
int priority) |
SendMessageDirectJob(RouterContext ctx,
I2NPMessage message,
net.i2p.data.Hash toPeer,
ReplyJob onSuccess,
Job onFail,
MessageSelector selector,
int timeoutMs,
int priority) |
| Constructor and Description |
|---|
HandleDatabaseLookupMessageJob(RouterContext ctx,
DatabaseLookupMessage receivedMessage,
RouterIdentity from,
net.i2p.data.Hash fromHash) |
PublishLocalRouterInfoJob(RouterContext ctx) |
| Modifier and Type | Field and Description |
|---|---|
protected RouterContext |
KademliaNetworkDatabaseFacade._context |
protected RouterContext |
PeerSelector._context |
protected RouterContext |
TransientDataStore._context |
| Modifier and Type | Method and Description |
|---|---|
static MessageWrapper.OneTimeSession |
MessageWrapper.generateSession(RouterContext ctx,
net.i2p.data.Hash localDest,
long expiration,
boolean forceElG)
Create a single key and tag, for receiving a single encrypted message,
and register it with the client's session key manager, to expire in the time specified.
|
static MessageWrapper.OneTimeSession |
MessageWrapper.generateSession(RouterContext ctx,
long expiration)
Create a single key and tag, for receiving a single encrypted message,
and register it with the client's session key manager, to expire in the time specified.
|
static MessageWrapper.OneTimeSession |
MessageWrapper.generateSession(RouterContext ctx,
net.i2p.crypto.SessionKeyManager skm,
long expiration,
boolean forceElG)
Create a single key and tag, for receiving a single encrypted message,
and register it with the client's session key manager, to expire in the time specified.
|
static File |
PersistentDataStore.getRouterInfoFile(RouterContext ctx,
net.i2p.data.Hash hash)
The persistent RI file for a hash.
|
(package private) static boolean |
SearchJob.onlyQueryFloodfillPeers(RouterContext ctx)
this is now misnamed, as it is only used to determine whether to return floodfill peers only
|
(package private) static MessageWrapper.WrappedMessage |
MessageWrapper.wrap(RouterContext ctx,
I2NPMessage m,
net.i2p.data.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,
MessageWrapper.OneTimeSession session)
Garlic wrap a message from nobody, destined for an unknown router,
to hide the contents from the IBGW.
|
(package private) 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,
net.i2p.data.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,
net.i2p.data.SessionKey encryptKey,
net.i2p.data.SessionTag encryptTag)
Garlic wrap a message from nobody, destined for an unknown router,
to hide the contents from the IBGW.
|
| Constructor and Description |
|---|
BlindCache(RouterContext ctx)
Caller MUST call startup() to load persistent cache from disk
|
ExpireLeasesJob(RouterContext ctx,
KademliaNetworkDatabaseFacade facade) |
ExpireRoutersJob(RouterContext ctx,
KademliaNetworkDatabaseFacade facade) |
ExploreJob(RouterContext context,
KademliaNetworkDatabaseFacade facade,
net.i2p.data.Hash key,
boolean isRealExplore)
Create a new search for the routingKey specified
|
ExploreKeySelectorJob(RouterContext context,
KademliaNetworkDatabaseFacade facade)
Deprecated.
|
FailedJob(RouterContext enclosingContext,
RouterInfo peer) |
FailedJob(RouterContext enclosingContext,
RouterInfo peer,
boolean penalizePeer)
Allow the choice as to whether failed searches should count against
the peer (such as if we search for a random key)
|
FloodfillDatabaseLookupMessageHandler(RouterContext context,
FloodfillNetworkDatabaseFacade facade) |
FloodfillDatabaseStoreMessageHandler(RouterContext context,
FloodfillNetworkDatabaseFacade facade) |
FloodfillMonitorJob(RouterContext context,
FloodfillNetworkDatabaseFacade facade) |
FloodfillNetworkDatabaseFacade(RouterContext context) |
FloodfillPeerSelector(RouterContext ctx) |
FloodfillRouterInfoFloodJob(RouterContext context,
FloodfillNetworkDatabaseFacade facade) |
FloodfillStoreJob(RouterContext context,
FloodfillNetworkDatabaseFacade facade,
net.i2p.data.Hash key,
net.i2p.data.DatabaseEntry data,
Job onSuccess,
Job onFailure,
long timeoutMs)
Send a data structure to the floodfills
|
FloodfillStoreJob(RouterContext context,
FloodfillNetworkDatabaseFacade facade,
net.i2p.data.Hash key,
net.i2p.data.DatabaseEntry data,
Job onSuccess,
Job onFailure,
long timeoutMs,
Set<net.i2p.data.Hash> toSkip) |
FloodfillVerifyStoreJob(RouterContext ctx,
net.i2p.data.Hash key,
net.i2p.data.Hash client,
long published,
int type,
net.i2p.data.Hash sentTo,
FloodfillNetworkDatabaseFacade facade)
Delay a few seconds, then start the verify
|
FloodOnlyLookupMatchJob(RouterContext ctx,
FloodSearchJob job) |
FloodOnlyLookupSelector(RouterContext ctx,
FloodOnlySearchJob search) |
FloodOnlyLookupTimeoutJob(RouterContext ctx,
FloodSearchJob job) |
FloodOnlySearchJob(RouterContext ctx,
FloodfillNetworkDatabaseFacade facade,
net.i2p.data.Hash key,
Job onFind,
Job onFailed,
int timeoutMs,
boolean isLease) |
FloodSearchJob(RouterContext ctx,
FloodfillNetworkDatabaseFacade facade,
net.i2p.data.Hash key,
Job onFind,
Job onFailed,
int timeoutMs,
boolean isLease) |
HandleFloodfillDatabaseLookupMessageJob(RouterContext ctx,
DatabaseLookupMessage receivedMessage,
RouterIdentity from,
net.i2p.data.Hash fromHash) |
HandleFloodfillDatabaseStoreMessageJob(RouterContext ctx,
DatabaseStoreMessage receivedMessage,
RouterIdentity from,
net.i2p.data.Hash fromHash,
FloodfillNetworkDatabaseFacade facade) |
IterativeFollowupJob(RouterContext ctx,
net.i2p.data.Hash key,
net.i2p.data.Hash to,
IterativeSearchJob search) |
IterativeLookupJob(RouterContext ctx,
DatabaseSearchReplyMessage dsrm,
IterativeSearchJob search) |
IterativeLookupSelector(RouterContext ctx,
IterativeSearchJob search) |
IterativeSearchJob(RouterContext ctx,
FloodfillNetworkDatabaseFacade facade,
net.i2p.data.Hash key,
Job onFind,
Job onFailed,
int timeoutMs,
boolean isLease)
Lookup using exploratory tunnels
|
IterativeSearchJob(RouterContext ctx,
FloodfillNetworkDatabaseFacade facade,
net.i2p.data.Hash key,
Job onFind,
Job onFailed,
int timeoutMs,
boolean isLease,
net.i2p.data.Hash fromLocalDest)
Lookup using the client's tunnels.
|
IterativeTimeoutJob(RouterContext ctx,
net.i2p.data.Hash peer,
IterativeSearchJob job) |
KademliaNetworkDatabaseFacade(RouterContext context) |
NegativeLookupCache(RouterContext context) |
PeerSelector(RouterContext ctx) |
PersistentDataStore(RouterContext ctx,
String dbDir,
KademliaNetworkDatabaseFacade facade) |
RefreshRoutersJob(RouterContext ctx,
FloodfillNetworkDatabaseFacade facade) |
RepublishLeaseSetJob(RouterContext ctx,
KademliaNetworkDatabaseFacade facade,
net.i2p.data.Hash destHash) |
SearchJob(RouterContext context,
KademliaNetworkDatabaseFacade facade,
net.i2p.data.Hash key,
Job onSuccess,
Job onFailure,
long timeoutMs,
boolean keepStats,
boolean isLease)
Create a new search for the routingKey specified
|
SearchMessageSelector(RouterContext context,
RouterInfo peer,
long expiration,
SearchState state) |
SearchReplyJob(RouterContext enclosingContext,
SearchJob job,
DatabaseSearchReplyMessage message,
net.i2p.data.Hash peer,
long duration) |
SearchState(RouterContext context,
net.i2p.data.Hash key) |
SearchUpdateReplyFoundJob(RouterContext context,
RouterInfo peer,
SearchState state,
KademliaNetworkDatabaseFacade facade,
SearchJob job) |
SearchUpdateReplyFoundJob(RouterContext context,
RouterInfo peer,
SearchState state,
KademliaNetworkDatabaseFacade facade,
SearchJob job,
TunnelInfo outTunnel,
TunnelInfo replyTunnel) |
SingleLookupJob(RouterContext ctx,
DatabaseSearchReplyMessage dsrm) |
SingleSearchJob(RouterContext ctx,
net.i2p.data.Hash key,
net.i2p.data.Hash to) |
StartExplorersJob(RouterContext context,
KademliaNetworkDatabaseFacade facade) |
StoreJob(RouterContext context,
KademliaNetworkDatabaseFacade facade,
net.i2p.data.Hash key,
net.i2p.data.DatabaseEntry data,
Job onSuccess,
Job onFailure,
long timeoutMs)
Send a data structure to the floodfills
|
StoreJob(RouterContext context,
KademliaNetworkDatabaseFacade facade,
net.i2p.data.Hash key,
net.i2p.data.DatabaseEntry data,
Job onSuccess,
Job onFailure,
long timeoutMs,
Set<net.i2p.data.Hash> toSkip) |
StoreMessageSelector(RouterContext ctx,
long storeJobId,
RouterInfo peer,
long waitingForId,
long expiration) |
StoreState(RouterContext ctx,
net.i2p.data.Hash key,
net.i2p.data.DatabaseEntry data) |
StoreState(RouterContext ctx,
net.i2p.data.Hash key,
net.i2p.data.DatabaseEntry data,
Set<net.i2p.data.Hash> toSkip) |
TransientDataStore(RouterContext ctx) |
| Constructor and Description |
|---|
ReseedBundler(RouterContext ctx) |
ReseedChecker(RouterContext context)
All reseeding must be done through this instance.
|
Reseeder(RouterContext ctx,
ReseedChecker rc) |
| Modifier and Type | Method and Description |
|---|---|
(package private) RouterContext |
PeerProfile.getContext()
Helper for calculators
|
| Constructor and Description |
|---|
DBHistory(RouterContext context,
String statGroup) |
PeerManager(RouterContext context)
Profiles are now loaded in a separate thread,
so this should return quickly.
|
PeerManagerFacadeImpl(RouterContext ctx) |
PeerProfile(RouterContext context,
net.i2p.data.Hash peer)
Caller should call setLastHeardAbout() and setFirstHeardAbout()
|
PeerTestJob(RouterContext context)
Creates a new instance of PeerTestJob
|
ProfileManagerImpl(RouterContext context) |
ProfileOrganizer(RouterContext context) |
ProfilePersistenceHelper(RouterContext ctx) |
TunnelHistory(RouterContext context,
String statGroup) |
| Modifier and Type | Field and Description |
|---|---|
protected RouterContext |
LoadClientAppsJob.DelayedRunClient._ctx |
| Modifier and Type | Method and Description |
|---|---|
static List<ClientAppConfig> |
ClientAppConfig.getClientApps(RouterContext ctx) |
(package private) static long |
CreateRouterInfoJob.getCurrentPublishDate(RouterContext context)
We probably don't want to expose the exact time at which a router published its info.
|
static net.i2p.crypto.EncType |
CreateRouterInfoJob.getEncTypeConfig(RouterContext ctx)
The configured EncType to expect on read-in
|
static net.i2p.crypto.SigType |
CreateRouterInfoJob.getSigTypeConfig(RouterContext ctx)
The configured SigType to expect on read-in
|
static void |
MigrateJetty.migrate(RouterContext ctx,
List<ClientAppConfig> apps)
For each entry in apps, if the main class is an old Jetty class,
migrate it to the new Jetty class, and update the Jetty config files.
|
static void |
LoadClientAppsJob.runClient(String className,
String clientName,
String[] args,
RouterContext ctx,
net.i2p.util.Log log)
Run client in a new thread.
|
static void |
LoadClientAppsJob.runClient(String className,
String clientName,
String[] args,
RouterContext ctx,
net.i2p.util.Log log,
ThreadGroup threadGroup,
ClassLoader cl)
Run client in a new thread.
|
| Constructor and Description |
|---|
BootCommSystemJob(RouterContext context) |
BootNetworkDbJob(RouterContext ctx) |
BootPeerManagerJob(RouterContext ctx) |
BuildTrustedLinksJob(RouterContext context,
Job next) |
CreateRouterInfoJob(RouterContext ctx,
Job next) |
DelayedRunClient(net.i2p.util.SimpleTimer2 pool,
RouterContext enclosingContext,
String className,
String clientName,
String[] args)
caller MUST call schedule()
|
DelayedRunClient(net.i2p.util.SimpleTimer2 pool,
RouterContext enclosingContext,
String className,
String clientName,
String[] args,
ThreadGroup threadGroup,
ClassLoader cl)
caller MUST call schedule()
|
LoadClientAppsJob(RouterContext ctx) |
LoadRouterInfoJob(RouterContext ctx) |
RebuildRouterInfoJob(RouterContext context) |
RouterAppManager(RouterContext ctx) |
StartAcceptingClientsJob(RouterContext context) |
StartupJob(RouterContext context) |
| Modifier and Type | Method and Description |
|---|---|
static Analysis |
Analysis.getInstance(RouterContext ctx) |
| Modifier and Type | Method and Description |
|---|---|
static void |
BasePerms.fix(RouterContext ctx) |
static String |
OOMListener.getWrapperConfigPath(RouterContext ctx)
Best guess of wrapper.config path.
|
static void |
CryptoChecker.warnUnavailableCrypto(RouterContext ctx) |
| Constructor and Description |
|---|
CoalesceStatsEvent(RouterContext ctx) |
GracefulShutdown(RouterContext ctx) |
OOMListener(RouterContext ctx) |
PersistRouterInfoJob(RouterContext ctx) |
ReadConfigJob(RouterContext ctx) |
Republish(RouterContext ctx) |
Restarter(RouterContext ctx) |
RouterWatchdog(RouterContext ctx) |
ShutdownHook(RouterContext ctx) |
UpdateRoutingKeyModifierJob(RouterContext ctx) |
| Modifier and Type | Field and Description |
|---|---|
protected RouterContext |
TransportImpl._context |
| Modifier and Type | Method and Description |
|---|---|
(package private) static void |
GetBidsJob.fail(RouterContext context,
OutNetMessage msg) |
(package private) static void |
GetBidsJob.getBids(RouterContext context,
TransportManager tmgr,
OutNetMessage msg) |
static TransportUtil.IPv6Config |
TransportUtil.getIPv6Config(RouterContext ctx,
String transportStyle) |
static boolean |
TransportUtil.isIPv4Firewalled(RouterContext ctx,
String transportStyle)
This returns true if the force-firewalled setting is configured, false otherwise.
|
static boolean |
TransportUtil.isIPv6Firewalled(RouterContext ctx,
String transportStyle)
This returns true if the force-firewalled setting is configured, false otherwise.
|
static boolean |
TransportManager.isNTCPEnabled(RouterContext ctx) |
static int |
TransportUtil.selectRandomPort(RouterContext ctx,
String transportStyle)
Pick a random port between the configured boundaries
|
| Constructor and Description |
|---|
BandwidthLimitedInputStream(RouterContext context,
InputStream source,
RouterIdentity peer) |
BandwidthLimitedInputStream(RouterContext context,
InputStream source,
RouterIdentity peer,
boolean pullFromOutbound) |
BandwidthLimitedOutputStream(RouterContext context,
OutputStream source,
RouterIdentity peer) |
CommSystemFacadeImpl(RouterContext context) |
GetBidsJob(RouterContext ctx,
TransportManager tmgr,
OutNetMessage msg)
Deprecated.
unused, see static getBids()
|
OutboundMessageRegistry(RouterContext context) |
TransportImpl(RouterContext context)
Initialize the new transport
|
TransportManager(RouterContext context) |
UPnPManager(RouterContext context,
TransportManager manager) |
| Modifier and Type | Field and Description |
|---|---|
protected RouterContext |
EstablishBase._context |
| Modifier and Type | Method and Description |
|---|---|
(package private) static byte[][] |
OutboundNTCP2State.generateSipHashKeys(RouterContext ctx,
HandshakeState state)
KDF for SipHash
|
| Constructor and Description |
|---|
EstablishBase(RouterContext ctx,
NTCPTransport transport,
NTCPConnection con) |
EventPumper(RouterContext ctx,
NTCPTransport transport) |
InboundEstablishState(RouterContext ctx,
NTCPTransport transport,
NTCPConnection con) |
NTCPConnection(RouterContext ctx,
NTCPTransport transport,
RouterIdentity remotePeer,
RouterAddress remAddr,
int version)
Create an outbound unconnected NTCP connection.
|
NTCPConnection(RouterContext ctx,
NTCPTransport transport,
SocketChannel chan,
SelectionKey key)
Create an inbound connected (though not established) NTCP connection.
|
NTCPTransport(RouterContext ctx,
DHSessionKeyBuilder.Factory dh,
X25519KeyFactory xdh) |
OutboundEstablishState(RouterContext ctx,
NTCPTransport transport,
NTCPConnection con) |
OutboundNTCP2State(RouterContext ctx,
NTCPTransport transport,
NTCPConnection con) |
Reader(RouterContext ctx) |
Writer(RouterContext ctx) |
| Modifier and Type | Method and Description |
|---|---|
static UDPPacket |
UDPPacket.acquire(RouterContext ctx,
boolean inbound) |
| Modifier and Type | Field and Description |
|---|---|
protected static RouterContext |
RouterITBase._context |
protected static RouterContext |
FragmentTest._context |
protected RouterContext |
TunnelCreatorConfig._context |
protected RouterContext |
TrivialPreprocessor._context |
protected RouterContext |
FragmentHandler._context |
protected RouterContext |
TunnelGateway._context |
| Modifier and Type | Method and Description |
|---|---|
protected TunnelGateway.QueuePreprocessor |
FragmentTest.createPreprocessor(RouterContext ctx) |
protected TunnelGateway.QueuePreprocessor |
BatchedFragmentTest.createPreprocessor(RouterContext ctx) |
static void |
BuildMessageGenerator.createRecord(int recordNum,
int hop,
TunnelBuildMessage msg,
TunnelCreatorConfig cfg,
net.i2p.data.Hash replyRouter,
long replyTunnel,
RouterContext ctx,
net.i2p.data.PublicKey peerKey)
Place the asymmetrically encrypted record in the specified record slot,
containing the hop's configuration (as well as the reply info, if it is an outbound endpoint)
|
static int |
TunnelDispatcher.getShareBandwidth(RouterContext ctx) |
| Modifier and Type | Field and Description |
|---|---|
protected RouterContext |
TunnelPool._context |
protected RouterContext |
ConnectChecker.ctx |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
BuildRequestor.request(RouterContext ctx,
PooledTunnelCreatorConfig cfg,
BuildExecutor exec)
Send out a build request message.
|
static boolean |
TunnelPeerSelector.shouldExclude(RouterContext ctx,
RouterInfo peer)
warning, this is also called by ProfileOrganizer.isSelectable()
|
| Modifier and Type | Field and Description |
|---|---|
protected RouterContext |
RouterPasswordManager._context |
| Constructor and Description |
|---|
MaskedIPSet(RouterContext ctx,
net.i2p.data.Hash peer,
int mask)
The Set of IPs for this peer, with a given mask.
|
MaskedIPSet(RouterContext ctx,
net.i2p.data.Hash peer,
RouterInfo pinfo,
int mask)
The Set of IPs for this peer, with a given mask.
|
MaskedIPSet(RouterContext ctx,
RouterInfo pinfo,
int mask)
The Set of IPs for this peer, with a given mask.
|
RouterPasswordManager(RouterContext ctx)
// migrate these to b64
private static final String[] MIGRATE_FROM = {
// This has a separate router.reseedProxy.username prop,
// so let's not mess with it
"router.reseedProxy.password",
// Don't migrate these until we have a console form for them,
// which we aren't likely to ever bother with
"routerconsole.keyPassword",
"routerconsole.keystorePassword",
"i2cp.keyPassword",
"i2cp.keystorePassword"
};
private static final String[] MIGRATE_TO = {
"router.reseedProxy.auth",
"routerconsole.ssl.key.auth",
"routerconsole.ssl.keystore.auth",
"i2cp.ssl.key.auth",
"i2cp.ssl.keystore.auth"
};
|