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. |
||
|---|---|---|
| .. | ||
| 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 |