AyCode.Core/AyCode.Services
Loretta 91194fcfa3 Refactor SignalR protocol for zero-copy, typed deserialization
- 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.
2026-04-07 03:10:09 +02:00
..
Loggers Update README links to use code-style paths for docs 2026-03-30 08:01:05 +02:00
Logins Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
SignalRs Refactor SignalR protocol for zero-copy, typed deserialization 2026-04-07 03:10:09 +02:00
docs Refactor SignalR protocol for zero-copy, typed deserialization 2026-04-07 03:10:09 +02:00
AyCode.Services.csproj Refactor: Split and expand project-level documentation 2026-03-29 22:16:28 +02:00
README.md Add structured metadata blocks to all project/repo docs 2026-03-30 08:53:56 +02:00

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