Refactor AcBinary NamedPipe to long-lived multi-message mode
Refactored the AcBinary NamedPipe benchmark to use a single long-lived AsyncPipeReaderInput in multi-message mode, with one background drain task and synchronous deserialization per message. Buffer recycling is now signaled by the consumer via a new MessageDone() method, called in the deserializer's finally block, preventing producer-consumer races. Added IsCompleted property to AsyncPipeReaderInput. Increased release-mode benchmark iteration counts. Updated documentation and comments to reflect the new architecture and rationale.
.NET 9 core framework providing serialization (Binary, JSON, Toon), entity abstractions, database access, services, and shared utilities. Used as the foundation layer for AyCode applications.
LLM Context
Domain rules and key pitfalls live in a single file: .github/copilot-instructions.md
Tool
Auto-loaded
Action needed
GitHub Copilot
✅copilot-instructions.md
None
Claude Code
✅CLAUDE.md → references above
None
Cursor / Windsurf
✅README.md
Read copilot-instructions.md via @file
Solution-level docs in docs/:
Document
Topic
GLOSSARY.md
Core terminology reference
ARCHITECTURE.md
Solution layers, dependency rules
CONVENTIONS.md
Coding conventions
Project-level docs — each project's docs/ folder documents the code it defines:
Project
Documents
AyCode.Core/docs/
BINARY/ (README, FORMAT, FEATURES, OPTIONS, …), LOGGING/ (README, ISSUES, TODO)