Packages that use SimpleTimer2.TimedEvent
Package
Description
Web100 Network Diagnostic Tool applet behind the router console speed test.
POP3 client (RFC 1939) for SusiMail, including APOP authentication.
Internal implementation of the I2P client SDK - the client side of the Invisible Internet Client Protocol (I2CP), separating implementation from the interfaces in
net.i2p.client. Implementation of a TCP-like (reliable, authenticated, in order) set of sockets for communicating over the IP-like (unreliable, unauthenticated, unordered) I2P messages.
Authentication and authorization for the I2P Control service: token management and keystore handling.
Implementation of preconfigured tunnels for clients and servers, including special-purpose tunnels for IRC, SOCKS, HTTP and streaming.
Definition-based incoming connection filter for server tunnels, with fine-grained access control by destination.
StreamR adaptive-rate streaming tunnel: streams audio and video over a single I2P tunnel, adapting the encoder rate to the measured tunnel bandwidth.
The I2P router application handles I2P network communication.
Router-side implementation of the Invisible Internet Client Protocol (I2CP): client sessions over plain or TLS sockets, message delivery, and lease and tunnel management on behalf of clients.
Router-specific cryptography: ElGamal+AES garlic encryption (ElGamalAESEngine), session key and tag caching for repeated peer communication (TransientSessionKeyManager), router-family shared keys (FamilyKeyCrypto), and the ratchet and pqc subpackages.
The Double Ratchet with X25519 key agreement and ECIES hybrid encryption, used by the NTCP2 and SSU transports for session encryption.
Garlic message creation, parsing and handling, and the outbound message jobs: one-shot sends, source routing and delivery status handling.
The Kademlia distributed hash table (DHT) network database: lookup, store and explore jobs, the data store, the floodfill variants, and lookup throttling.
Reseeding: fetching router info lists from reseed servers, web indexes or local files, validating them (signed SU3 update files and unsigned ZIP archives) and processing them to bootstrap into the network.
Peer profiles and capacity calculation, peer test jobs, peer selection for tunnel building, and the database and tunnel history used for peer selection.
The I2P startup package loads configuration when I2P is started.
Periodic maintenance jobs: stats coalescing, cryptographic algorithm checks, liveliness marking, out-of-memory handling, thread dumps, the watchdog, graceful shutdown and soft restart, update installation, republishing and config reloading.
Transport framework: the transport lifecycle and pool management, connection handling and bandwidth throttling for the transports (NTCP2 over TCP, SSU over UDP) that carry I2P messages between routers, plus NAT traversal via UPnP and GeoIP country lookups.
NTCP2, the TCP transport: framed, ratchet-encrypted and mutually authenticated connections between routers.
SSU2, the UDP transport: datagram sessions with Holepunch peer discovery, plus the older SSU compatibility code.
Tunnel messages and the tunnel layer: the
TunnelManagerFacade, tunnel build request and reply processing, and the inbound and outbound tunnel structures. Tunnel pool management: pool lifecycle, peer selection, build scheduling and failure handling for client and exploratory tunnels.
Router-side update checking and installation: fetching update notifications, downloading and verifying updates, and staging them for the restart.
Router utility classes: CoDel active queue management, time-decaying collections, a diagnostics ring buffer, CIDR matching, and password management.
The router console user interface, implemented in routerconsole.jar, with these classes supporting the webapp in routerconsole.war.
General utility classes shared across the core libraries and the router.
I2P version of the Snark BitTorrent client, enhanced for I2P: peers are I2P destinations, torrents can be served anonymously as hidden services, and metadata carries I2P-specific comment fields.
BitTorrent distributed hash table (DHT) implementation following the Mainline protocol, for trackerless peer discovery.
Uses of SimpleTimer2.TimedEvent in edu.internet2.ndt
Subclasses of SimpleTimer2.TimedEvent in edu.internet2.ndtModifier and TypeClassDescriptionprivate classTimer base for periodic NDT phases.Uses of SimpleTimer2.TimedEvent in i2p.susi.webmail.pop3
Subclasses of SimpleTimer2.TimedEvent in i2p.susi.webmail.pop3Modifier and TypeClassDescriptionprivate classTimer event starting the periodic mailbox checks.private classChecks for messages to delete.private classChecks the mailbox for idleness.Fields in i2p.susi.webmail.pop3 declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate final SimpleTimer2.TimedEventBackgroundChecker.timerThe timer scheduling the checks.private final SimpleTimer2.TimedEventDelayedDeleter.timerThe timer running the delete checks.private final SimpleTimer2.TimedEventIdleCloser.timerThe timer running the idle checks.Uses of SimpleTimer2.TimedEvent in net.i2p.client.impl
Subclasses of SimpleTimer2.TimedEvent in net.i2p.client.implModifier and TypeClassDescriptionprivate classTimeout for async lookup, if the router does not respond.private classCheck for unclaimed messages, without wastefully setting a timer for each message.private classCheck for expired message states, without wastefully setting a timer for each message.(package private) classReduce tunnels or shutdown the session on idle if so configured.Uses of SimpleTimer2.TimedEvent in net.i2p.client.streaming.impl
Subclasses of SimpleTimer2.TimedEvent in net.i2p.client.streaming.implModifier and TypeClassDescription(package private) classReusable event to send an ACK for a duplicate packet after a short delay.private classActivity timer.(package private) classNotify waiters to reschedule the connection event.private classDisconnect scheduled event.private classPeriodic evaluation of the throughput floor.private classInner class for paced packet transmission.(package private) classTimer event that resends a single outbound packet when it fires and then offers itself back to_resendEventPoolfor reuse.(package private) classA single retransmit timer for all packets.private classTail Loss Probe: fire at ~2*RTT to detect loss before the RTO timer.private classPeriodic reaper that removes SYN packets from the accept queue after their accept timeout has elapsed, sending a reset if it was a SYN.private classPeriodically drops temp-bans whose time has elapsed and resets the per-dest refusal window, so a ban always expires (24h default) and the refusal counter doesn't grow unbounded.private classTimer event that removes a pending ping from the map and notifies the caller on timeout.private classDecays the per-peer counts on a schedule.private classPassive flush timer to flush buffered data after inactivity delay.private classCheck for expired message states, without wastefully setting a timer for each.private classPeriodic timer event that removes expired entries from the cache.Methods in net.i2p.client.streaming.impl with parameters of type SimpleTimer2.TimedEventModifier and TypeMethodDescriptionvoidRetransmissionTimer.addEvent(SimpleTimer2.TimedEvent event, long timeoutMs) Schedule an event via one of the dedicated timers.Uses of SimpleTimer2.TimedEvent in net.i2p.i2pcontrol.security
Subclasses of SimpleTimer2.TimedEvent in net.i2p.i2pcontrol.securityModifier and TypeClassDescriptionprivate classClean up old authorization tokens to keep the token store slim and fit.Fields in net.i2p.i2pcontrol.security declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate final SimpleTimer2.TimedEventSecurityManager.timerExpires the tokens as they age out.Uses of SimpleTimer2.TimedEvent in net.i2p.i2ptunnel
Subclasses of SimpleTimer2.TimedEvent in net.i2p.i2ptunnelModifier and TypeClassDescriptionprivate classTimer clearing the old peer records.private static final classWatchdog for an async (detached) body handoff.private final classPeriodic tick enforcingI2PTunnelRunner.INITIAL_RESPONSE_TIMEOUT_MS.private classPeriodically check for an updated offline-signed private key file.Fields in net.i2p.i2ptunnel declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate final SimpleTimer2.TimedEventConnThrottler._cleanerTimer clearing the old records.private SimpleTimer2.TimedEventI2PTunnelRunner._initialWatchdogWatchdog for the initial connection, kept for cancelling.private SimpleTimer2.TimedEventTunnelController._pkfcThe queued private key file check event.Uses of SimpleTimer2.TimedEvent in net.i2p.i2ptunnel.access
Subclasses of SimpleTimer2.TimedEvent in net.i2p.i2ptunnel.accessModifier and TypeClassDescriptionprivate classTimer purging the expired entries.private classTimer writing the filter to disk.Uses of SimpleTimer2.TimedEvent in net.i2p.i2ptunnel.streamr
Subclasses of SimpleTimer2.TimedEvent in net.i2p.i2ptunnel.streamrModifier and TypeClassDescriptionprivate classTimer event that expires stale subscriptions.Fields in net.i2p.i2ptunnel.streamr declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate final SimpleTimer2.TimedEventSubscriber.timerThe timer expiring the subscribers.Uses of SimpleTimer2.TimedEvent in net.i2p.router
Subclasses of SimpleTimer2.TimedEvent in net.i2p.routerModifier and TypeClassDescriptionclassRecords live bandwidth samples every second for the minigraph.private classDelay telling update manager until it's there.private classAuto-release timer event — safety net for stranded requests.private classReset status from starting up to not-starting up, in case we don't get a tunnel request soon after the 20 minutes is up.classGeneral-purpose adaptive tuner.Uses of SimpleTimer2.TimedEvent in net.i2p.router.client
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.clientModifier and TypeClassDescriptionprivate classRe-requests a lease set until it is published.private classTell external clients the time periodically.Fields in net.i2p.router.client declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate final SimpleTimer2.TimedEventClientManager._clientTimestamperTimer stamping the client sessions' clocks.Uses of SimpleTimer2.TimedEvent in net.i2p.router.crypto
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.cryptoModifier and TypeClassDescriptionprivate classPeriodically cleans up stale tag sets.Uses of SimpleTimer2.TimedEvent in net.i2p.router.crypto.ratchet
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.crypto.ratchetModifier and TypeClassDescription(package private) classTimer for sending ratchet-layer acknowledgments when application responses are delayed, supporting NS, NSR, ACK requests, and forward next key blocks.private classPeriodically cleans up stale ratchet sessions.Fields in net.i2p.router.crypto.ratchet declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate SimpleTimer2.TimedEventRatchetSKM.OutboundSession._ackTimerTimer that flushes the pending acks.Methods in net.i2p.router.crypto.ratchet with parameters of type SimpleTimer2.TimedEventModifier and TypeMethodDescriptionbooleanRatchetSKM.OutboundSession.registerTimer(Destination d, SimpleTimer2.TimedEvent timer) A timer that we will cancel when we send something.(package private) booleanRatchetSKM.registerTimer(PublicKey target, Destination d, SimpleTimer2.TimedEvent timer) Side effect - binds this session to the supplied destination.Uses of SimpleTimer2.TimedEvent in net.i2p.router.message
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.messageModifier and TypeClassDescriptionprivate classInternal timer event that periodically cleans all caches.Uses of SimpleTimer2.TimedEvent in net.i2p.router.networkdb.kademlia
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.networkdb.kademliaModifier and TypeClassDescriptionprivate classBatched job that processes all search timeouts periodically.private classDon't actually publish unless the RI didn't change during the delay.private classClears the flood counts on a schedule.private classPeriodic cleanup: remove expired bans, prune idle burst trackers, size-bound.private classPeriodically clears throttle counters to prevent unbounded growth.private classTimer event expiring the cached lookups.private classSchedules a delayed force disconnect for a banned peer.private classDisconnects a router whose refresh has stalled.Fields in net.i2p.router.networkdb.kademlia declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate final SimpleTimer2.TimedEventNegativeLookupCache.cleanerTimer event expiring the cached entries.Uses of SimpleTimer2.TimedEvent in net.i2p.router.networkdb.reseed
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.networkdb.reseedModifier and TypeClassDescriptionprivate classTimer event to clear stale status and error messages after a timeout.Uses of SimpleTimer2.TimedEvent in net.i2p.router.peermanager
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.peermanagerModifier and TypeClassDescriptionprivate classRequests RouterInfos for stored profiles whose peer the netdb cannot resolve.private classTimer reorganizing the peer profiles.Fields in net.i2p.router.peermanager declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate final SimpleTimer2.TimedEventPeerManager.ReorgThread._eventThe reorganization timer instance.Constructors in net.i2p.router.peermanager with parameters of type SimpleTimer2.TimedEventModifierConstructorDescriptionCreate the thread that performs the reorganization.Uses of SimpleTimer2.TimedEvent in net.i2p.router.startup
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.startupModifier and TypeClassDescriptionstatic classPublic for router console only, not for use by others, subject to change.private static classJob waiting for the netdb before loading a client.Uses of SimpleTimer2.TimedEvent in net.i2p.router.tasks
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.tasksModifier and TypeClassDescriptionclassPeriodic statistics collection and aggregation system.classRouter instance liveliness marker for multi-instance detection.classRouter information publisher for network database synchronization.Uses of SimpleTimer2.TimedEvent in net.i2p.router.transport
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.transportModifier and TypeClassDescriptionprivate classSimple check to see if we have a network connection.private classUpdate the clock offset based on the average of the peers.private classPeriodic job looking up the new routers' countries.private classCollect the IPs for all routers in the DB, and queue them for lookup, then fire off the periodic lookup task for the first time.private classPeriodically removes entries that were never answered.private classTimer clearing the unreachable entries.private classPeriodically ensures we have enough outbound connections to Fast peers.private classDelayed update of UPnP ports.private classPeriodic refresh of UPnP ports.private classDelayed Callback.private classInitiate a UPnP search.Fields in net.i2p.router.transport declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate final SimpleTimer2.TimedEventUPnPManager._rescannerTimer rescanning the gateway.private final SimpleTimer2.TimedEventTransportManager._upnpRefresherTimer refreshing the UPnP mappings.Uses of SimpleTimer2.TimedEvent in net.i2p.router.transport.ntcp
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.transport.ntcpModifier and TypeClassDescriptionprivate classClose after a brief timeout.private classAfter an AEAD failure, read a random number of bytes, with a brief timeout, and then fail.Uses of SimpleTimer2.TimedEvent in net.i2p.router.transport.udp
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.transport.udpModifier and TypeClassDescriptionprivate classWait for a relay request, then relay the RouterInfo.private classSimple fix for RI DSM getting there before RelayIntro.private classDecays the per-IP counts on a schedule.private classA timer to send an ack-only packet.private classA timer to send an ack+destroy packet.private classA timer to remove us from the transport list.(package private) classInitiate a test (we are Alice).private classSSU 2 Charlie only.private classSSU 1 or 2.private classSimple fix for RI getting there before PeerTest.private classWait for RI.private classFor when we are Bob or Charlie: SSU 1 Bob/Charlie and SSU 2 Bob forget about charlie's nonce after a short while.private classTimer expiring idle peers and pinging the rest.private classPeriodically ping the introducers, split out since we need to do it faster than we rebuild our address.private classCreates the periodic SSU2 rebuild timer event.private classTimer removing a peer from the drop list when it ages out.Uses of SimpleTimer2.TimedEvent in net.i2p.router.tunnel
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.tunnelModifier and TypeClassDescriptionprivate classRemoves a failed message after a delay.private classPeriodic cleanup task to remove expired tunnels from all maps.protected classDelayed flush timer event.private classTimer event for requeuing backlogged gateways after delay.Fields in net.i2p.router.tunnel declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate SimpleTimer2.TimedEventFragmentedMessage._expireEventTimer dropping the incomplete reassembly.Methods in net.i2p.router.tunnel that return SimpleTimer2.TimedEventModifier and TypeMethodDescriptionFragmentedMessage.getExpireEvent()Used in the fragment handler so we can cancel the expire event on success.Methods in net.i2p.router.tunnel with parameters of type SimpleTimer2.TimedEventModifier and TypeMethodDescriptionvoidFragmentedMessage.setExpireEvent(SimpleTimer2.TimedEvent evt) The expire event to cancel when this message completes.Uses of SimpleTimer2.TimedEvent in net.i2p.router.tunnel.pool
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.tunnel.poolModifier and TypeClassDescription(package private) classMonitors transit tunnels for idle behavior.private classPeriodic timer event that clears the participation counts to reset throttling.private classTimer event that disconnects a router after a delay.private classPeriodic timer event that clears the request counts to reset throttling.private classTimer event that forces disconnection from a router after a delay.private classEvent to perform deferred LeaseSet refresh after throttle window expires.private classRepublishes the lease set after a delay.private static classConditionally start the outbound pool after the inbound pool has at least one tunnel.private classDelayed cleanup task for pool removal.Uses of SimpleTimer2.TimedEvent in net.i2p.router.update
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.updateModifier and TypeClassDescriptionprivate classTimer clearing an old update status message.private classPeriodically drops checkers and downloaders whose tasks stopped running.(package private) classTask to periodically look for updates to the news.xml, and to keep track of whether that has an announcement for a new version.Uses of SimpleTimer2.TimedEvent in net.i2p.router.util
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.utilModifier and TypeClassDescriptionprivate classRotates the filter to a fresh hour on a schedule.private classDecays at 5 minutes after the top of the hour.Fields in net.i2p.router.util declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprotected final SimpleTimer2.TimedEventDecayingBloomFilter._decayEventThe decay timer event.Uses of SimpleTimer2.TimedEvent in net.i2p.router.web
Subclasses of SimpleTimer2.TimedEvent in net.i2p.router.webModifier and TypeClassDescriptionclassPeriodic check ref: https://dzone.com/articles/how-detect-java-deadlocksprivate static classSimple override to track whether a plugin's client is delayed and queued.Fields in net.i2p.router.web with type parameters of type SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate static Map<String, Collection<SimpleTimer2.TimedEvent>> PluginStarter._pendingPluginClientsDelayed clients waiting for their plugins.Uses of SimpleTimer2.TimedEvent in net.i2p.util
Subclasses of SimpleTimer2.TimedEvent in net.i2p.utilModifier and TypeClassDescriptionprivate static classGlobal cleanup task that iterates over all caches.private static classGlobal cleanup task that iterates over all caches.classImplements one or two timers; one for inactivity, that is reset bySocketTimeout.resetTimer(), and optionally, a total time since instantiation, that is configured bySocketTimeout.setTotalTimeoutPeriod(long).classPrevent systemd from deleting our temp dir or any dirs or files in it.Methods in net.i2p.util with parameters of type SimpleTimer2.TimedEventModifier and TypeMethodDescriptionvoidSimpleTimer2.addEvent(SimpleTimer2.TimedEvent event, long timeoutMs) Queue up the given event to be fired no sooner than timeoutMs from now.voidSimpleTimer2.addPeriodicEvent(SimpleTimer2.TimedEvent event, long timeoutMs) Schedule a periodic event backed by SimpleTimer2.TimedEvent.voidSimpleTimer2.addPeriodicEvent(SimpleTimer2.TimedEvent event, long delay, long timeoutMs) Schedule a periodic event backed by SimpleTimer2.TimedEvent.private ScheduledFuture<?> SimpleTimer2.schedule(SimpleTimer2.TimedEvent t, long timeoutMs) Schedules one event on the executor.Uses of SimpleTimer2.TimedEvent in org.klomp.snark
Subclasses of SimpleTimer2.TimedEvent in org.klomp.snarkModifier and TypeClassDescriptionclassSelf-contained bandwidth sampler for the snark screen log graph.private classPeriodically cleans up stale acceptors.private classUnbans a peer after a delay.(package private) classPeriodically ramp the tunnel count with connected peers, and reduce it once nothing is running.private static classRun the PeerCheckerTask via the SimpleTimer2 executors.private classRerequest after unthrottled.private classPeriodically cycle destinations: stop all running torrents and restart them so their sessions - and with them their destinations - are recreated fresh.private classRestart the torrents that were running when the cycle fired, once the stop-all's Disconnector has closed the old session, so the new session - and with it the new destinations - is created on start.private classDisconnects the I2P tunnel when the router shuts down.private classPeriodically re-registers the app with the update manager.private classQueues the next announce on the shared timer.private classCallback for replies.private classTimeout timer for metainfo and complete deadlines.private classPeriodic watcher for torrent completion.Fields in org.klomp.snark declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate final SimpleTimer2.TimedEventConnectionAcceptor._cleanerTimer cleaning the bad peer records.private SimpleTimer2.TimedEventTrackerClient._eventThe queued timer event, kept for cancellation.private SimpleTimer2.TimedEventSnarkManager._idleCheckerTimer stopping idle torrents.private SimpleTimer2.TimedEventSnark._retryEventStartup retry event, when a per-torrent session creation failed.private final SimpleTimer2.TimedEventPeerCoordinator.rerequestTimerTimer re-requesting peers from the tracker.Uses of SimpleTimer2.TimedEvent in org.klomp.snark.dht
Subclasses of SimpleTimer2.TimedEvent in org.klomp.snark.dhtModifier and TypeClassDescriptionprivate classTimer event expiring the cached nodes.private classTimer event expiring the tracked entries.private classCleaner-upper.private classFire off explorer thread.protected classCallback for replies.Fields in org.klomp.snark.dht declared as SimpleTimer2.TimedEventModifier and TypeFieldDescriptionprivate SimpleTimer2.TimedEventKRPC._cleanerQueued cleanup event, kept for cancellation.private SimpleTimer2.TimedEventKRPC._explorerQueued exploration event, kept for cancellation.