mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-09-25 06:04:51 +00:00
Greptile P2 on PR #92: with 64 tracked sources, evicting the oldest entry discarded its open cooldown, so a flood of distinct bogus identities reset other sources' windows and forced unbounded path requests (each answered by every peer holding the announce). - Per-identity cooldown 5 min -> 30 min. - The table no longer evicts an open window: while all 64 slots hold unexpired windows, never-before-seen identities are deferred until a slot frees (at most one 30-minute window) instead of dropping someone else's cooldown. Open windows are only ever pruned after they expire. - Aggregate bound: at most kMaxTrackedSources automatic path requests per rolling 30-minute window, capping the worst-case network cost of a rotating-identity flood. Host tests extended: saturated-table deferral, 512-identity flood bound (one window and across consecutive windows), lazy expiry/prune, boundary checks at the 30-minute cooldown.