AyCode.Core/AyCode.Core/docs/BINARY
Loretta 204b361748 [LOADED_DOCS: 3 files, no new loads]
Refactor AcBinary streaming: multi-message protocol

- Renamed framing flags to multiMessage for clarity in AsyncPipeReaderInput/AsyncPipeWriterOutput.
- Multi-message mode ([202]=end-of-message) now auto-resets input for reuse; session end is explicit.
- Updated framing state machine, buffer cycling, and sentinel logic.
- Revised all serializer/deserializer entry points and tests for new protocol.
- Expanded docs and XML comments to detail wire format and protocol constraints.
- Updated benchmarks and tests for new streaming API and multi-message behavior.
- Documented protocol limits and added security issue/TODO for type-name deserialization in SignalR binary protocol.
2026-04-30 19:58:30 +02:00
..
BINARY_FEATURES.md [LOADED_DOCS: 6 files, no new loads] 2026-04-30 12:36:37 +02:00
BINARY_FORMAT.md [LOADED_DOCS: 4 files, no new loads] 2026-04-24 21:54:04 +02:00
BINARY_IMPLEMENTATION.md [LOADED_DOCS: 3 files, no new loads] 2026-04-30 07:48:01 +02:00
BINARY_ISSUES.md [LOADED_DOCS: 3 files, no new loads] 2026-04-30 19:58:30 +02:00
BINARY_OPTIONS.md [LOADED_DOCS: 6 files, no new loads] 2026-04-30 12:36:37 +02:00
BINARY_SGEN.md [LOADED_DOCS: 3 files, no new loads] 2026-04-30 06:53:59 +02:00
BINARY_TODO.md [LOADED_DOCS: 3 files, no new loads] 2026-04-30 14:32:13 +02:00
BINARY_WRITERS.md [LOADED_DOCS: 4 files, no new loads] 2026-04-24 21:54:04 +02:00
README.md [LOADED_DOCS: 2 files, no new loads] 2026-04-28 14:18:27 +02:00

README.md

BINARY — AcBinary serializer

Reference documentation for the AcBinary serialization system. Primary goal: speed (two-phase scan+serialize, reference tracking, string interning).

Files in this folder

Start here

For a first read-through, start with BINARY_FEATURES.md for the overview, then dive into BINARY_FORMAT.md for wire-level details. BINARY_SGEN.md explains how the code-gen integrates at build time.

Cross-references

  • Serialization overview (Toon vs AcBinary vs AcJson, shared infrastructure): ../../Serializers/README.md
  • SignalR binary transport (uses this serializer): ../../AyCode.Services/docs/SIGNALR_BINARY_PROTOCOL/README.md
  • Glossary terms: ../../../docs/GLOSSARY.md
  • AyCode.Core/docs/adr/0003-acbinary-streaming-receive-architecture.mdAcBinary streaming receive — AsyncPipeReaderInput unified primitive and transport-agnostic helpers (Status: Proposed (2026-04-27)). Repo-level cross-cutting ADR establishing the receive-side streaming architecture and transport-agnostic helpers (NamedPipe + FileStream) for this serializer. AsyncPipeReaderInput (sealed class) consolidates today's SegmentBufferReader + SegmentBufferReaderInput pair into a single self-contained primitive; the Async-prefixed naming mirrors the existing AsyncPipeWriterOutput send-side primitive. Implementation tracked across ACCORE-BIN-T-D6H4 / M2K1 / V7C9 / A3T8 / B5Y6 (Steps 15) in BINARY_TODO.md and ACCORE-SBP-T-G7T2 (Step 6) in AyCode.Services/docs/SIGNALR_BINARY_PROTOCOL/SIGNALR_BINARY_PROTOCOL_TODO.md.