Back to matrix

F15-I2: Yes

Rationale

The pinned Java I2P router checks backlog age and a previous-hop request throttle before queueing participating tunnel-build requests and before expensive build-record decryption. Its LinkedBlockingQueue has a computed capacity clamped between 18 and 192 entries; failed offers drop the request. The worker also drops stale requests or requests observed under excessive job lag before handleRequest reaches cryptographic processing. This provides native early rejection and a bounded pending-work queue at the tunnel-build admission boundary.

Assessment method

Primary documentation and pinned source review; no runtime experiment

Source context

Pinned Java I2P BuildHandler admission, bounded queue and RequestThrottler

Outstanding qualification

Use normal non-test operation with RequestThrottler enabled. Pre-admission parsing, hashing, counters, transport processing and logging still cost resources. The queue bound counts waiting entries, not bytes, executing jobs, every router queue or total process memory. The per-hop counter map is cleared periodically but is not credited as a global identity/state bound; changing identities can undermine per-peer throttling. These checks do not authorize final application users or guarantee service under attack. No NTCP2 handshake protection, whole-router budget, i2pd post-quantum implementation equivalence or runtime throughput result is inferred. The selected NTCP2 composition is retained; no SSU cookie mechanism is imported.

Public sources

Editorial evidence references

The following identifiers refer to research records not included in this public package; they are not public links.