Skip to main content

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​

  1. Stream boundaries.
  2. Limits and terminal errors.
  3. Deadlines and backpressure.
  4. 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.