AyCode.Core/AyCode.Core/docs/BINARY
Loretta bb1dbd242e Relocate AcSignalRDataSource to AyCode.Services
Moved AcSignalRDataSource and TrackingItemHelpers from AyCode.Services.Server to AyCode.Services (namespace updated). Updated all references, usings, and doc cross-refs to new location. Removed orphan SignalR.Core 1.2.0 package and .Server DLL refs from Blazor/Web.Client/Shared projects; WASM AOT build now works. Introduced AcBinaryDeserExecutor for off-pool streaming deserialization, fixing thread pool starvation (see updated protocol docs). Updated test usings and doc tables. No functional changes to DataSource logic. Decision log entry LLMP-DEC-68 documents the change.
2026-06-08 10:43:10 +02:00
..
BINARY_AQN_IMPLEMENTATION.md SGen null-handling parity, micro-opt CV, doc & bench fixes 2026-05-24 07:39:21 +02:00
BINARY_ASYNCPIPE_ISSUES.md Relocate AcSignalRDataSource to AyCode.Services 2026-06-08 10:43:10 +02:00
BINARY_ASYNCPIPE_TODO.md Fix SGen null complex prop bug, add CHUNK_ABORT to SignalR 2026-05-23 09:26:48 +02:00
BINARY_BYTECODE_OPTIMIZATION.md Refactor charset profiles; split StringSmall decode paths 2026-05-19 12:58:22 +02:00
BINARY_FEATURES.md [LOADED_DOCS: 7 files, no new loads] 2026-05-11 13:28:43 +02:00
BINARY_FORMAT.md Unify AcBinary string marker; prefix-tier VarUInt encoding 2026-05-26 16:24:33 +02:00
BINARY_IMPLEMENTATION.md [LOADED_DOCS: 3 files, no new loads] 2026-05-01 14:01:23 +02:00
BINARY_ISSUES.md Refactor string wire format to universal FixStr/String 2026-05-22 10:59:59 +02:00
BINARY_OPTIONS.md [LOADED_DOCS: 3 files, no new loads] 2026-05-15 08:40:52 +02:00
BINARY_SGEN.md SGen null-handling parity, micro-opt CV, doc & bench fixes 2026-05-24 07:39:21 +02:00
BINARY_SGEN_OPTIMIZATION.md AcBinary: Hot/cold marker split for string deserialization 2026-05-18 15:20:56 +02:00
BINARY_STRICT_SGEN.md SGen null-handling parity, micro-opt CV, doc & bench fixes 2026-05-24 07:39:21 +02:00
BINARY_TODO.md SignalR binary protocol: doc updates, WASM threading guide 2026-05-27 14:54:12 +02:00
BINARY_TODO_2026_04.md Refactor: BDN runner, unified reporting, doc overhaul 2026-05-15 20:54:42 +02:00
BINARY_TODO_2026_05.md Refactor: BDN runner, unified reporting, doc overhaul 2026-05-15 20:54:42 +02:00
BINARY_WHYUSE.md [LOADED_DOCS: 3 files, no new loads] 2026-05-15 08:40:52 +02:00
BINARY_WRITERS.md [LOADED_DOCS: 3 files, no new loads] 2026-05-03 15:21:15 +02:00
README.md Refactor charset profiles; split StringSmall decode paths 2026-05-19 12:58:22 +02:00

README.md

BINARY — AcBinary serializer

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

Files in this folder

Start here

Start with BINARY_WHYUSE.md (architectural framing — why this serializer over the alternatives), then BINARY_FEATURES.md (feature overview), then BINARY_FORMAT.md (wire-level). BINARY_SGEN.md covers build-time code-gen integration.

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
  • ASP.NET Core MVC formatter (uses this serializer): ../../AyCode.Services/docs/MVC/README.md
  • Glossary terms: ../../../docs/GLOSSARY.md
  • AyCode.Core/docs/adr/0003-acbinary-streaming-receive-architecture.md — Receive-side streaming architecture (Status: Accepted 2026-05-03, partially executed). Delivered: SegmentBufferReader + SegmentBufferReaderInput consolidated into a single AsyncPipeReaderInput primitive (mirrors send-side AsyncPipeWriterOutput); SignalR receive-side migration completed. Dropped during execution: NamedPipe + FileStream helpers (Steps 4 & 5) — framework stays consumer-implements-transport, exposes only generic PipeWriter / PipeReader primitives.