glm-5.3-flash
|
4ba9b652b3
|
feat(websocket): WS upgrade route + channels session (server producer half)
- src/websocket/byte_adapter.rs: production WsByteStream from the POC —
inbound bounded mpsc (64 slots, backpressure), outbound chunk parser
emitting one WS message per chunk with 1 MiB split; write-side
backpressure now uses futures mpsc poll_ready (POC spin-wait fixed);
text messages closed with 1002; close mapping per websocket.md
- src/websocket/upgrade.rs: /alk/channels upgrade route — bearer auth
(401 unresolvable), identity attached to the channels Connection,
ChannelsAdapter + install_channel_zero running
Dispatcher::run_loop_single_stream
- test_support module (feature test-support): WsClient, chunk/frame
assemblers; shared with from_wss consumer path (ADR-070)
- tests/ws_upgrade_session.rs: 10 integration tests — call round-trip,
services/list ACL-filtered, 3 MiB split, interleaved calls, ACL 403,
internal-op NOT_FOUND, text->1002 close, disconnect mid-call no-hang
Verified: cargo test (95), cargo test --all-features (95+10),
clippy -D warnings (default + all-features), fmt.
|
2026-08-28 08:47:13 +00:00 |
|
glm-5.3-flash
|
63dc4b6d06
|
docs: implementation plan (TTY precedents folded in); task decomposition (17 tasks)
Plan updated with the alknet-tty findings: the drainer pattern
(single ordered writer) makes outbound chunk-boundary parsing sound;
TestStdinSink's try_send→Full→Pending is the inbound backpressure
precedent; OQ-01(a) now cites the reference.
Task graph (taskgraph-validated, 17 tasks, 6 generations, no cycles):
- tasks/server/: core-types, auth, healthz-decoy, adapter
- tasks/gateway/: dispatch, routes, publish
- tasks/websocket/: byte-adapter (research POC), upgrade-session, overlay-ops
- tasks/adapters/: from-openapi, from-jsonschema, to-openapi, from-wss, mcp
- tasks/client/: http-host
- tasks/infra/: integration-suite (phase 4)
Critical path runs through server core → adapter → WS session →
overlay tests → integration suite. High-risk tasks are the three WS
tasks, de-risked by the ws-byte-adapter POC blocking upgrade-session.
|
2026-08-28 06:05:45 +00:00 |
|