Remove SegmentBufferReader; unify on AsyncPipeReaderInput Migrates all SignalR chunked streaming receive logic to AsyncPipeReaderInput, fully removing SegmentBufferReader and SegmentBufferReaderInput from the codebase. Updates all references, deserialization paths, and documentation to reflect the new unified primitive. Marks ADR-0003 as accepted (partially executed), closes related TODOs, and clarifies protocol docs. Sets DoubleBuffered as the default FlushPolicy. No wire format or behavioral changes; all tests pass. |
||
|---|---|---|
| .. | ||
| Loggers | ||
| Logins | ||
| SignalRs | ||
| docs | ||
| AyCode.Services.csproj | ||
| README.md | ||
README.md
AyCode.Services
@project { type = "framework" }
Shared service implementations: SignalR communication (custom binary protocol), login services, and remote log writers.
Documentation
| Document | Topic |
|---|---|
SIGNALR/README.md |
Client-side SignalR transport (tags, wire protocol, req/resp flow) |
SIGNALR_BINARY_PROTOCOL/README.md |
Binary-over-SignalR wire format, chunked framing |
LOGGING/README.md |
Remote log writers (HTTP, browser console, SignalR) |
Folder Structure
| Folder | Purpose |
|---|---|
Loggers/ |
Remote log writers: HTTP, browser console (JS interop), SignalR |
Logins/ |
Base and client-side login service implementations |
SignalRs/ |
Custom binary SignalR protocol, client base, message tagging, serialization |
Dependencies
| Dependency | Purpose |
|---|---|
AyCode.Core |
Core types, serializers, compression |
AyCode.Entities |
Entity base classes |
AyCode.Interfaces |
Service contracts |
AyCode.Models |
DTOs |
Microsoft.AspNetCore.SignalR.Client |
SignalR client |
Microsoft.AspNetCore.SignalR.Common |
IHubProtocol for custom binary protocol |
Microsoft.AspNetCore.Authentication.JwtBearer |
JWT authentication |