Additional utilities

Version 0.3.0 Updated Apr 06, 2026
  • read_preamble decodes up to 1 KiB using bincode, returning the decoded value plus any leftover bytes that must be replayed before normal frame processing.[^37]
  • RewindStream replays leftover bytes before delegating reads and writes to the underlying stream, keeping the framing layer transparent.[^38]
  • panic::format_panic renders panic payloads for consistent logging across log and tracing consumers.[^39]

[^1]: Implemented in src/lib.rs (lines 2-33). [^2]: Implemented in src/app/builder.rs (lines 66-209). [^3]: Implemented in src/app/builder.rs (lines 100-121, 347-360). [^4]: Implemented in src/app/builder.rs (lines 326-344). [^5]: Implemented in src/error.rs (lines 1-68). [^6]: Implemented in src/app/inbound_handler.rs (lines 41-205). [^7]: Implemented in src/app/inbound_handler.rs (lines 207-289). [^8]: Implemented in src/app/envelope.rs (lines 11-172). [^9]: Implemented in src/frame/metadata.rs (lines 1-40). [^10]: Implemented in src/message.rs (lines 4-41). [^11]: Implemented in src/middleware.rs (lines 13-206). [^12]: Implemented in src/middleware.rs (lines 252-347). [^13]: Implemented in src/extractor.rs (lines 1-236). [^14]: Implemented in src/hooks.rs (lines 18-175). [^15]: Implemented in src/server/config/mod.rs (lines 47-152). [^16]: Implemented in src/server/runtime.rs (lines 46-83). [^17]: Implemented in src/server/config/binding.rs (lines 68-214). [^18]: Implemented in src/server/runtime.rs (lines 90-233). [^19]: Implemented in src/server/runtime.rs (lines 240-333). [^20]: Implemented in src/server/config/preamble.rs (lines 14-135) and src/server/connection_spawner.rs (lines 1-222). [^21]: Implemented in src/server/error.rs (lines 7-18). [^23]: Implemented in src/push/queues/mod.rs (lines 41-190). [^24]: Implemented in src/push/queues/errors.rs (lines 7-28). [^25]: Implemented in src/push/queues/handle.rs (lines 84-225). [^26]: Implemented in src/push/queues/handle.rs (lines 198-295). [^27]: Implemented in src/push/queues/mod.rs (lines 255-318). [^28]: Implemented in src/connection.rs (lines 69-205). [^29]: Implemented in src/fairness.rs (lines 1-79). [^30]: Implemented in src/connection.rs (lines 240-441). [^31]: Implemented in src/connection.rs (lines 22-46). [^33]: Implemented in src/metrics.rs (lines 21-111). [^34]: Implemented in src/response.rs (lines 46-151). [^35]: Implemented in src/response.rs (lines 156-209). [^36]: Demonstrated in examples/async_stream.rs (lines 1-23). [^37]: Implemented in src/preamble.rs (lines 1-128). [^38]: Implemented in src/rewind_stream.rs (lines 14-76). [^39]: Implemented in src/panic.rs (lines 1-18). [^40]: Implemented in src/session.rs (lines 13-255). [^41]: Implemented in src/fragment/mod.rs and supporting submodules. [^42]: Exercised in tests/features/fragment.feature. [^43]: Step definitions in tests/steps/fragment_steps.rs. [^44]: Implemented in src/client/runtime.rs, src/client/builder.rs, src/client/config.rs, and src/client/error.rs. [^45]: Implemented in src/request.rs. [^46]: See ADR 0002 for design rationale: docs/adr/0002-streaming-requests-and-shared-message-assembly.md. [^47]: Client preamble support implemented in src/client/builder.rs (lines 288-566) and src/client/mod.rs (callback types). [^48]: Client lifecycle hooks implemented in src/client/hooks.rs, src/client/builder.rs (lifecycle methods), and src/client/runtime.rs (hook invocation). Behaviour-driven development (BDD) tests in tests/features/client_lifecycle.feature.

[^49]: Implemented in src/app/envelope.rs (Packet::is_stream_terminator) and src/client/response_stream.rs (terminator detection in ResponseStream::poll_next). [^50]: See Section 3.1 of the streaming design for back-pressure architecture. [^51]: Implemented in src/client/response_stream.rs (correlation validation) and src/client/error.rs (ClientError::StreamCorrelationMismatch). Once terminated, the stream returns None per the fused-stream convention.

[^52]: Client request hooks implemented in src/client/hooks.rs (BeforeSendHook, AfterReceiveHook, RequestHooks), src/client/builder/request_hooks.rs (builder methods), and src/client/messaging.rs (hook invocation). BDD tests in tests/features/client_request_hooks.feature.

[^53]: Implemented in src/client/send_streaming.rs. See ADR 0002, Section 4, for design rationale.