ModernUO/Projects
Kamron Batman 5b7304addd
refactor: review pass over the auto-denylist ring
Three things the review turned up, no behaviour change:

Hold recomputed address.ToUInt128() three times where the original hoisted
it to a local. Restored.

Drain cleared _warnedFull on every iteration; it now clears once, after,
and only when something was actually retired. The store was inside the loop
whose cost this whole design exists to keep small.

Grow doubled without a ceiling, so a 324,449 cap reserved 524,288 ring slots
-- 4.8 MB that can never be used. Push only runs below the cap, so the ring
never needs more than maxEntries; growth is capped there. Progress is still
guaranteed: Grow is only reached when capacity == _ringCount, which is at
most maxEntries - 1 at that point, so the capped size is always larger.

Adds a test for that last one, since a cap that is not a power of two is
where a wrapped write would run off the end, and notes the new default in
the configuration table.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 22:37:25 -07:00
..
Application fix: Bumps dependencies. (#2531) 2026-07-14 15:17:55 -07:00
BuildTool fix: Require only runtime packages on Linux, and check ICU and tzdata the way the runtime does (#2561) 2026-08-07 15:03:08 -07:00
Logger fix: Bumps dependencies. (#2531) 2026-07-14 15:17:55 -07:00
Server fix: stop the idle-sleep backoff tripping on healthy hosts (#2572) 2026-08-13 19:58:03 -07:00
Server.Tests fix: stop stack merges and splits from laundering PlayerConstructed (#2576) 2026-08-13 19:18:06 -07:00
UOContent refactor: review pass over the auto-denylist ring 2026-08-13 22:37:25 -07:00
UOContent.Tests refactor: review pass over the auto-denylist ring 2026-08-13 22:37:25 -07:00