https://gitlab.synchro.net/main/sbbs/-/commit/d5a9dd33ac68c0f3fd88906d
Modified Files:
src/ssh/design-channel-io-api.md
Log Message:
Revise channel I/O design: two models, deferred window, linear accumulation
Replace unified read/write proposal with two distinct I/O models:
- Stream API (dssh_channel_read/write) for session channels (shell/exec)
- Zero-copy callback for subsystem channels (sftp, etc.)
Key design decisions:
- Max packet size per-session (set once, used in all channel opens)
- Max window size per-channel (deferred to channel request/accept)
- Channel accept as finalization point (server callback, client function)
- Linear accumulation buffer for subsystem callbacks (no ring, no wrap)
- Flow control via natural window exhaustion during accumulation
Co-Authored-By: Claude Opus 4.6 (1M context) <
[email protected]>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)