Package | Description |
---|---|
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.desktopgui.router | |
net.i2p.router |
The I2P router application handles the I2P network communication.
|
net.i2p.router.client | |
net.i2p.router.message | |
net.i2p.router.networkdb | |
net.i2p.router.networkdb.kademlia | |
net.i2p.router.networkdb.reseed | |
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.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 | |
net.i2p.router.tunnel.pool | |
net.i2p.router.web |
Constructor and Description |
---|
GarlicClove(RouterContext context) |
I2NPMessageReader(RouterContext context,
InputStream stream,
I2NPMessageReader.I2NPMessageEventListener lsnr) |
I2NPMessageReader(RouterContext context,
InputStream stream,
I2NPMessageReader.I2NPMessageEventListener lsnr,
String name) |
Modifier and Type | Method and Description |
---|---|
static RouterContext |
RouterManager.getRouterContext() |
Modifier and Type | Method and Description |
---|---|
RouterContext |
Router.getContext() |
RouterContext |
JobImpl.getContext() |
protected RouterContext |
RouterThrottleImpl.getContext() |
Modifier and Type | Method and Description |
---|---|
static List<RouterContext> |
RouterContext.listContexts()
Retrieve the list of router contexts currently instantiated in this JVM.
|
Constructor and Description |
---|
Blocklist(RouterContext context) |
ClientMessagePool(RouterContext context) |
DummyClientManagerFacade(RouterContext ctx) |
DummyNetworkDatabaseFacade(RouterContext ctx) |
InNetMessagePool(RouterContext context) |
JobImpl(RouterContext context) |
JobQueue(RouterContext context) |
JobQueueRunner(RouterContext context,
int id) |
JobTiming(RouterContext context) |
KeyManager(RouterContext context) |
MessageHistory(RouterContext context) |
MessageStateMonitor(RouterContext context) |
MessageValidator(RouterContext context) |
OutNetMessage(RouterContext context) |
OutNetMessagePool(RouterContext context) |
PersistentKeyRing(RouterContext ctx) |
RouterClock(RouterContext context) |
RouterDoSThrottle(RouterContext context)
Deprecated.
|
RouterThrottleImpl(RouterContext context) |
RouterWatchdog(RouterContext ctx) |
Shitlist(RouterContext context) |
StatisticsManager(RouterContext context) |
Modifier and Type | Field and Description |
---|---|
protected RouterContext |
ClientListenerRunner._context |
protected RouterContext |
ClientConnectionRunner._context |
Modifier and Type | Method and Description |
---|---|
(package private) static PayloadGarlicConfig |
OutboundClientMessageJobHelper.buildDataClove(RouterContext ctx,
Payload data,
Destination dest,
long expiration)
Build a clove that sends the payload to the destination
|
(package private) static PayloadGarlicConfig |
OutboundClientMessageJobHelper.buildLeaseSetClove(RouterContext ctx,
long expiration,
LeaseSet replyLeaseSet)
Build a clove that stores the leaseSet locally
|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
SessionKey wrappedKey,
Set<SessionTag> wrappedTags,
int numTagsToDeliver,
int lowTagsThreshold,
boolean forceElGamal,
SessionKeyManager skm)
called by netdb
|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
SessionKey wrappedKey,
Set<SessionTag> wrappedTags,
PublicKey target,
SessionKey encryptKey,
SessionTag encryptTag)
used by TestJob and directly above
|
static GarlicMessage |
GarlicMessageBuilder.buildMessage(RouterContext ctx,
GarlicConfig config,
SessionKey wrappedKey,
Set<SessionTag> wrappedTags,
SessionKeyManager skm)
called by OCMJH
|
(package private) static GarlicMessage |
OutboundClientMessageJobHelper.createGarlicMessage(RouterContext ctx,
long replyToken,
long expiration,
PublicKey recipientPK,
PayloadGarlicConfig dataClove,
Hash from,
Destination dest,
TunnelInfo replyTunnel,
SessionKey wrappedKey,
Set<SessionTag> wrappedTags,
boolean requireAck,
LeaseSet bundledReplyLeaseSet)
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
|
(package private) static GarlicMessage |
OutboundClientMessageJobHelper.createGarlicMessage(RouterContext ctx,
long replyToken,
long expiration,
PublicKey recipientPK,
Payload data,
Hash from,
Destination dest,
TunnelInfo replyTunnel,
SessionKey wrappedKey,
Set<SessionTag> wrappedTags,
boolean requireAck,
LeaseSet bundledReplyLeaseSet)
Build a garlic message that will be delivered to the router on which the target is located.
|
static int |
GarlicMessageBuilder.estimateAvailableTags(RouterContext ctx,
PublicKey key,
Hash local) |
static void |
OutboundClientMessageOneShotJob.init(RouterContext ctx)
call once only
|
Constructor and Description |
---|
DatabaseLookupMessageHandler(RouterContext context) |
DatabaseStoreMessageHandler(RouterContext context) |
HandleDatabaseLookupMessageJob(RouterContext ctx,
DatabaseLookupMessage receivedMessage,
RouterIdentity from,
Hash fromHash) |
HandleDatabaseStoreMessageJob(RouterContext ctx,
DatabaseStoreMessage receivedMessage,
RouterIdentity from,
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 boolean |
FloodfillNetworkDatabaseFacade.floodfillEnabled(RouterContext ctx) |
(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,
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.
|
Modifier and Type | Method and Description |
---|---|
static void |
ReseedChecker.checkReseed(RouterContext context,
int count) |
Constructor and Description |
---|
Reseeder(RouterContext ctx) |
Constructor and Description |
---|
DBHistory(RouterContext context,
String statGroup) |
PeerManager(RouterContext context) |
PeerManagerFacadeImpl(RouterContext ctx) |
PeerProfile(RouterContext context,
Hash peer) |
PeerProfile(RouterContext context,
Hash peer,
boolean expand) |
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 | 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 void |
ClientAppConfig.writeClientAppConfig(RouterContext ctx,
List apps)
classpath and stopargs not supported
|
Constructor and Description |
---|
BootCommSystemJob(RouterContext context) |
BootNetworkDbJob(RouterContext ctx) |
BootPeerManagerJob(RouterContext ctx) |
BuildTrustedLinksJob(RouterContext context,
Job next) |
CreateRouterInfoJob(RouterContext ctx,
Job next) |
LoadClientAppsJob.DelayedRunClient(RouterContext enclosingContext,
String className,
String clientName,
String[] args,
long delay) |
LoadClientAppsJob.DelayedRunClient(RouterContext enclosingContext,
String className,
String clientName,
String[] args,
long delay,
ThreadGroup threadGroup,
ClassLoader cl) |
LoadClientAppsJob(RouterContext ctx) |
LoadRouterInfoJob(RouterContext ctx) |
ReadConfigJob(RouterContext ctx) |
RebuildRouterInfoJob(RouterContext context) |
StartAcceptingClientsJob(RouterContext context) |
StartupJob(RouterContext context) |
Modifier and Type | Field and Description |
---|---|
protected RouterContext |
TransportImpl._context |
Modifier and Type | Method and Description |
---|---|
RouterContext |
TransportImpl.getContext() |
Modifier and Type | Method and Description |
---|---|
static RouterAddress |
CommSystemFacadeImpl.createNTCPAddress(RouterContext ctx)
This only creates an address if the hostname AND port are set in router.config,
which should be rare.
|
(package private) static void |
GetBidsJob.getBids(RouterContext context,
CommSystemFacadeImpl facade,
OutNetMessage msg) |
static boolean |
TransportManager.isNTCPEnabled(RouterContext ctx) |
Constructor and Description |
---|
CommSystemFacadeImpl(RouterContext context) |
GeoIP(RouterContext context) |
GetBidsJob(RouterContext ctx,
CommSystemFacadeImpl facade,
OutNetMessage msg) |
OutboundMessageRegistry(RouterContext context) |
TransportImpl(RouterContext context)
Initialize the new transport
|
TransportManager(RouterContext context) |
UPnPManager(RouterContext context,
TransportManager manager) |
VMCommSystem(RouterContext context) |
Constructor and Description |
---|
EstablishState(RouterContext ctx,
NTCPTransport transport,
NTCPConnection con) |
EventPumper(RouterContext ctx,
NTCPTransport transport) |
NTCPConnection(RouterContext ctx,
NTCPTransport transport,
RouterIdentity remotePeer,
NTCPAddress remAddr)
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) |
Reader(RouterContext ctx) |
Writer(RouterContext ctx) |
Modifier and Type | Field and Description |
---|---|
protected RouterContext |
TunnelGateway._context |
protected RouterContext |
TrivialPreprocessor._context |
protected RouterContext |
TunnelCreatorConfig._context |
protected RouterContext |
FragmentHandler._context |
protected RouterContext |
BatchedRouterPreprocessor._routerContext |
Modifier and Type | Method and Description |
---|---|
static int |
TunnelDispatcher.getShareBandwidth(RouterContext ctx) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
TunnelPeerSelector.filterSlow(RouterContext ctx,
boolean isInbound,
boolean isExploratory)
do we want to skip peers that are slow?
|
protected boolean |
TunnelPeerSelector.filterUnreachable(RouterContext ctx,
boolean isInbound,
boolean isExploratory)
do we want to skip peers who haven't been up for long?
|
protected boolean |
TunnelPeerSelector.filterUptime(RouterContext ctx,
boolean isInbound,
boolean isExploratory)
do we want to skip peers who haven't been up for long?
|
Set<Hash> |
TunnelPeerSelector.getExclude(RouterContext ctx,
boolean isInbound,
boolean isExploratory)
Pick peers that we want to avoid
|
protected int |
TunnelPeerSelector.getLength(RouterContext ctx,
TunnelPoolSettings settings) |
static void |
BuildRequestor.request(RouterContext ctx,
TunnelPool pool,
PooledTunnelCreatorConfig cfg,
BuildExecutor exec) |
protected List<Hash> |
TunnelPeerSelector.selectExplicit(RouterContext ctx,
TunnelPoolSettings settings,
int length)
For debugging, also possibly for restricted routes?
Needs analysis and testing
|
List<Hash> |
ClientPeerSelector.selectPeers(RouterContext ctx,
TunnelPoolSettings settings) |
abstract List<Hash> |
TunnelPeerSelector.selectPeers(RouterContext ctx,
TunnelPoolSettings settings)
Which peers should go into the next tunnel for the given settings?
|
List<Hash> |
ExploratoryPeerSelector.selectPeers(RouterContext ctx,
TunnelPoolSettings settings) |
static boolean |
TunnelPeerSelector.shouldExclude(RouterContext ctx,
RouterInfo peer)
warning, this is also called by ProfileOrganizer.isSelectable()
|
Constructor and Description |
---|
BuildExecutor(RouterContext ctx,
TunnelPoolManager mgr) |
BuildHandler(RouterContext ctx,
BuildExecutor exec) |
ExpireJob(RouterContext ctx,
TunnelCreatorConfig cfg,
TunnelPool pool) |
ParticipatingThrottler(RouterContext ctx) |
PooledTunnelCreatorConfig(RouterContext ctx,
int length,
boolean isInbound)
Creates a new instance of PooledTunnelCreatorConfig
|
PooledTunnelCreatorConfig(RouterContext ctx,
int length,
boolean isInbound,
Hash destination) |
TestJob(RouterContext ctx,
PooledTunnelCreatorConfig cfg,
TunnelPool pool) |
TunnelPool(RouterContext ctx,
TunnelPoolManager mgr,
TunnelPoolSettings settings,
TunnelPeerSelector sel) |
TunnelPoolManager(RouterContext ctx) |
Modifier and Type | Field and Description |
---|---|
protected RouterContext |
PluginStarter._context |
protected RouterContext |
HelperBase._context |
protected RouterContext |
UpdateHandler._context |
protected RouterContext |
FormHandler._context |
Modifier and Type | Method and Description |
---|---|
static RouterContext |
ContextHelper.getContext(String contextId) |
Modifier and Type | Method and Description |
---|---|
(package private) static boolean |
PluginStarter.deletePlugin(RouterContext ctx,
String appName) |
static PluginUpdateHandler |
PluginUpdateHandler.getInstance(RouterContext ctx) |
static PluginUpdateChecker |
PluginUpdateChecker.getInstance(RouterContext ctx) |
static boolean |
PluginStarter.isPluginRunning(String pluginName,
RouterContext ctx) |
(package private) static boolean |
PluginStarter.startPlugin(RouterContext ctx,
String appName) |
(package private) static void |
PluginStarter.startPlugins(RouterContext ctx)
this shouldn't throw anything
|
(package private) static boolean |
PluginStarter.stopPlugin(RouterContext ctx,
String appName) |
(package private) static void |
PluginStopper.stopPlugins(RouterContext ctx)
Stop all plugins
(whether or not they were ever started)
this shouldn't throw anything
|
Constructor and Description |
---|
NetDbRenderer(RouterContext ctx) |
PluginStarter(RouterContext ctx) |
PluginStopper(RouterContext ctx) |
ProfileOrganizerRenderer(ProfileOrganizer organizer,
RouterContext context) |
ReseedHandler(RouterContext ctx) |
ShitlistRenderer(RouterContext context) |
StatsGenerator(RouterContext context) |
SummaryBarRenderer(RouterContext context,
SummaryHelper helper) |
TunnelRenderer(RouterContext ctx) |
UnsignedUpdateHandler(RouterContext ctx,
String zipURL,
String version) |
UpdateHandler(RouterContext ctx) |