- Change OnReceiveMessage signature to use `object data` (was `SignalData`), enabling type-aware and raw byte[] payloads. - Implement three-path argument deserialization: byte[] fast-path, IsRawBytesData, and eager typed deserialization via SignalDataType. - Add SignalDataType and IsRawBytesData fields to SignalParams for protocol guidance. - Write path now uses AcBinarySerializer zero-copy to pipe; byte[] uses fast-path. - SequenceBinaryInput now dynamically sizes scratch buffer for large cross-segment reads. - Deserializer now advances segments before throwing end-of-buffer, improving multi-segment support. - Set client logging to Debug for better diagnostics. - Update all docs and markdown to reflect new protocol, dispatch model, and field semantics. - AyCodeBinaryHubProtocol is now an empty derived class for registration/future hooks; SignalData is no longer the primary payload type. - SignalResponseDataMessage is now an internal DTO with RawResponseData as object? (typed or byte[]), and GetResponseData<T>() is a direct cast. |
||
|---|---|---|
| .. | ||
| 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.md |
Client-side SignalR transport (tags, wire protocol, req/resp flow) |
LOGGING_REMOTE.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 |