Commit graph

2 commits

Author SHA1 Message Date
Stephen Dennis
96db8a3c82 Update platform interface design doc to match implementation
CPlatform is compiled into netmux, not a separate loadable module.
It follows the same pattern as CDriverControl and CConnectionManager:
registered in driver_classes[], created via mux_CreateInstance().

The #ifdef blocks concentrate in CPlatform method bodies in modules.cpp.
The driver code that calls the interface is #ifdef-free.

Updated: implementation section, what-changed table, remaining work,
risk assessment. Removed references to platform_unix.cpp/platform_win32.cpp
as separate files.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 01:55:29 -06:00
Stephen Dennis
2ca5e6a9f7 Add design doc for mux_IPlatform COM interface
Abstracts the remaining platform-specific code in the driver behind a
COM interface with two implementations (Unix, Windows).  Six methods
wrap operations not syscalls: RegisterSignalHandler, BootHelperProcess,
ReapChild, MaximizeFileDescriptors, PanicRestart, GetProcessId.

The driver adapts at runtime based on return codes instead of #ifdef.
~260 lines move from driver.cpp/signals.cpp/ganl_adapter.cpp into
platform_unix.cpp and platform_win32.cpp.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 01:02:05 -06:00