BBS: TELESC.NET.BR Assunto: src/ssh/design-channel-io-api.md De: Deuc¨ Data: Sat, 28 Mar 2026 16:46:56 -0700 ----------------------------------------------------------- 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)n --- mSynchronetn hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net ----------------------------------------------------------- [Voltar]