tinymux/client/console
Stephen Dennis 3b69fa7eeb fix(#2205): console/win32gui set TCP_NODELAY on connect completion
The IOCP session socket ran with Nagle enabled — a multi-write burst
(trigger, macro, keybinding) serialized at the peer's delayed-ACK
cadence, up to ~40ms per write after the first.  win32gui compiles the
same connection.cpp, so one fix covers both clients.  Windows half of
#2204.

Placed on the ConnectEx COMPLETION, immediately after
SO_UPDATE_CONNECT_CONTEXT — before that call the socket is not fully
associated and option calls do not behave (mirrors the server IOCP
engine's setSocketOptions ordering).  Non-fatal by design: a latency
hint failing is no reason to drop a working connection.  The server's
IOCP engine treats the same failure as fatal only because its call
site also configures the listener.

NOT build-verified: MSVC/IOCP code, no Windows toolchain on this box.
The edit is byte-for-byte the fix specified in #2205 at the site it
names, and TCP_NODELAY/IPPROTO_TCP come from the winsock2.h/ws2tcpip.h
pair connection.h already includes.  Wants a Windows build and ideally
the #2196-style option-readback confirmation before the issue closes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 12:58:26 -06:00
..
src fix(#2205): console/win32gui set TCP_NODELAY on connect completion 2026-08-07 12:58:26 -06:00
.gitignore Add .gitignore for console client, remove build artifacts 2026-03-18 05:49:49 -06:00
console.sln Add Win32 console MU* client — Phase 1 skeleton 2026-03-18 05:33:58 -06:00
console.vcxproj fix(console): keep Hydra passwords out of worlds.txt (#1891) 2026-07-31 09:32:48 -06:00
PLAN.md Win32 console client: triggers, keybindings, timers (Phase 5) 2026-03-18 05:53:50 -06:00
test_world_cred.cpp fix(console): keep Hydra passwords out of worlds.txt (#1891) 2026-07-31 09:32:48 -06:00