AyCode.Core/AyCode.Services
Loretta b1cdf80fad Fix SignalR binary protocol: VarUInt framing & type-safe ser
- Add type-explicit ToBinary/SerializeToBinary overloads to preserve runtime type info for object? serialization, fixing deserialization bugs.
- Refactor VarUInt encoding/decoding to a prefix-tiered scheme (1–5 bytes), replacing LEB128 and preventing buffer overrun/corruption.
- Update all SignalR and serialization call sites to use new overloads.
- Sync SignalR binary protocol VarUInt decoding logic; fix test regressions.
- Add SIGNALR_BINARY_PROTOCOL_VARUINT.md with new wire-format spec and rationale.
- Add debug logging for argument serialization.
- Update .gitignore to not ignore itself.
- Resolves 65 KB value cap and missing in-band abort marker; requires both sender/receiver to use new framing for full compatibility.
2026-05-27 05:47:23 +02:00
..
Loggers [LOADED_DOCS: 4 files, no new loads] 2026-04-24 21:54:04 +02:00
Logins Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
Mvc [LOADED_DOCS: 3 files, no new loads] 2026-05-05 15:06:11 +02:00
SignalRs Fix SignalR binary protocol: VarUInt framing & type-safe ser 2026-05-27 05:47:23 +02:00
docs Fix SignalR binary protocol: VarUInt framing & type-safe ser 2026-05-27 05:47:23 +02:00
AyCode.Services.csproj [LOADED_DOCS: 3 files, no new loads] 2026-05-05 15:06:11 +02:00
README.md [LOADED_DOCS: 3 files, no new loads] 2026-05-05 15:06:11 +02:00

README.md

AyCode.Services

@project { type = "framework" }

Shared service implementations: SignalR communication (custom binary protocol), ASP.NET Core MVC formatters for the AcBinary wire format, 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
MVC/README.md ASP.NET Core MVC formatters for AcBinary (application/vnd.acbinary) — temporarily disabled
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
Mvc/ ASP.NET Core MVC InputFormatter / OutputFormatter for AcBinary wire format — temporarily disabled (block-commented, FrameworkReference removed)
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.App (FrameworkReference) temporarily disabled — see Mvc/README.md
Microsoft.AspNetCore.SignalR.Client SignalR client
Microsoft.AspNetCore.SignalR.Common IHubProtocol for custom binary protocol
Microsoft.AspNetCore.Authentication.JwtBearer JWT authentication