AyCode.Core/AyCode.Services.Server
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
..
Emails Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
Logins Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
SignalRs SignalR: Add raw byte[] fast-path for DataSource GetAll 2026-04-07 00:20:52 +02:00
docs Refactor SignalR protocol for zero-copy, typed deserialization 2026-04-07 03:10:09 +02:00
AyCode.Services.Server.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.Server

@project { type = "framework" }

Server-side service implementations: JWT authentication, SendGrid email delivery, SignalR hub infrastructure with binary protocol, session management, and change-tracked data sources.

Documentation

Document Topic
SIGNALR_SERVER.md Server-side SignalR hub (dispatch, session, broadcast)
SIGNALR_DATASOURCE.md Real-time DataSource with CRUD & change tracking

Folder Structure

Folder Purpose
Emails/ SendGrid email service (registration, password reset)
Logins/ Server-side login with JWT token generation
SignalRs/ SignalR hub base, session service, data source with change tracking, client broadcast

Dependencies

Dependency Purpose
AyCode.Core Core types, serializers
AyCode.Core.Server GlobalLogger
AyCode.Database Data access layer
AyCode.Entities / AyCode.Entities.Server Entity types
AyCode.Interfaces / AyCode.Interfaces.Server Service contracts
AyCode.Models / AyCode.Models.Server DTOs, dynamic method dispatch
AyCode.Services Client-side SignalR base, tag attributes
SendGrid Email delivery
Microsoft.AspNetCore.SignalR.* SignalR server
Microsoft.AspNetCore.Cryptography.KeyDerivation Password hashing
Microsoft.AspNetCore.Authentication.JwtBearer JWT auth (transitive)