ModernUO/Projects/Server/Network
Kamron Batman 80aff11a46
feat(network): consume IORingGroup 1.0.8 and expose send tuning
IORingGroup 1.0.8 allows more than one send in flight per socket. RIO
reports send completion on acknowledgement rather than on copy, so with a
single send in flight a connection was capped at one send per round trip
whenever it had data queued. On a 50ms-RTT shard that showed up as in-game
latency of 100-145ms whenever any data was flowing, against a 50ms idle
baseline; as little as 6 bytes of queued data was enough to hold the gate
shut. Local testing could not surface it: the same measurement at loopback
RTT is microseconds.

Adds two restart-time settings:

  network.maxOutstandingSends (default 32) - sends in flight per
  connection. Honoured by RIO only; other backends complete sends on copy
  and report 1. Costs a request-queue and completion-queue slot per send,
  not another buffer, since every outstanding send addresses a different
  range of the same registered buffer.

  network.sendBufferSize (default 256KB) - per-connection send buffer,
  coerced to a power of two of at least the platform allocation
  granularity. This is the lever for "send buffer exhausted" disconnects
  and the per-connection memory ceiling.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 22:55:22 -07:00
..
Bans feat(network): pluggable connection filters; file blocklist + contribute-first CrowdSec (#2542) 2026-07-25 11:59:37 -07:00
Encryption fix: Fixes encryption support for pre-6.0.5 clients (#2365) 2026-03-12 21:59:01 -07:00
NetState feat(network): consume IORingGroup 1.0.8 and expose send tuning 2026-07-27 22:55:22 -07:00
Packets refactor: decompose mobile/corpse hair, delete VirtualHairInfo, fix removal serial (#2462) (#2463) 2026-06-06 14:33:28 -07:00
ConnectionFilters.cs feat(network): pluggable connection filters; file blocklist + contribute-first CrowdSec (#2542) 2026-07-25 11:59:37 -07:00
EncodedPacketHandler.cs fix: Bumps deps. Updates copyrights (#2353) 2026-03-05 19:36:54 -08:00
EncodedReader.cs fix: Bumps deps. Updates copyrights (#2353) 2026-03-05 19:36:54 -08:00
IConnectionFilter.cs feat(network): pluggable connection filters; file blocklist + contribute-first CrowdSec (#2542) 2026-07-25 11:59:37 -07:00
IPRateLimiter.cs fix: Bumps deps. Updates copyrights (#2353) 2026-03-05 19:36:54 -08:00
MovementThrottle.cs feat: Adds robust speed hack detection and movement throttling (#2266) 2026-03-07 11:44:37 -08:00
NetworkCompression.cs fix(network): restore huffman code for symbol 0x19 (#2528) 2026-07-14 09:26:39 -07:00
PacketHandler.cs fix: Bumps deps. Updates copyrights (#2353) 2026-03-05 19:36:54 -08:00
PacketUtilities.cs fix: Bumps deps. Updates copyrights (#2353) 2026-03-05 19:36:54 -08:00
PingServer.cs fix: Bumps deps. Updates copyrights (#2353) 2026-03-05 19:36:54 -08:00
ServerInfo.cs fix: Bumps deps. Updates copyrights (#2353) 2026-03-05 19:36:54 -08:00
SocketHelper.cs fix: Bumps deps. Updates copyrights (#2353) 2026-03-05 19:36:54 -08:00