Stream framing and bounded connection state
This required 22–32-hour package replaces the former three-hour framing exercise: lessons and predictions 6–8, implementation and experiments 10–16, assessment and delayed repair 6–8. Estimates await learner pilots. Existing IP, DNS, UDP/TCP, TLS, HTTP, socket-server and packet-debugging practice remains required. See the reconciled semester workload.
Prerequisite bridge
Use Semester 04 partial-I/O reasoning, Module 3 bounded queues and Module 4 uncertainty after an unobserved acknowledgement. Before coding, split a four-byte big-endian integer by hand, trace a state machine and explain why bytes received differ from messages processed. Use 1–2 hours of the lesson allocation for repair if needed.
Learning sequence
- Stream boundaries.
- Limits and terminal errors.
- Deadlines and backpressure.
- Prediction practice, runnable lab, NW1–NW6 and calibration.
Selective primary resources
Use RFC 9293, particularly the TCP service/communication discussion, to ground byte-stream assumptions. Use the Python Socket Programming HOWTO selectively for send/receive and message-boundary handling; do not treat its historical usage percentages as current measurements. Sources checked on 2026-10-23. Existing networking and Unix Network Programming selections remain the book backbone; no purchase is required.
The original decoder is a teaching application protocol, not HTTP, TLS or a TCP implementation. Simulated time proves only the specified timer rule; a real adapter must arrange scheduling and socket cleanup.