AyCode.Core/AyCode.Services.Server/SignalRs
Loretta bb1dbd242e Relocate AcSignalRDataSource to AyCode.Services
Moved AcSignalRDataSource and TrackingItemHelpers from AyCode.Services.Server to AyCode.Services (namespace updated). Updated all references, usings, and doc cross-refs to new location. Removed orphan SignalR.Core 1.2.0 package and .Server DLL refs from Blazor/Web.Client/Shared projects; WASM AOT build now works. Introduced AcBinaryDeserExecutor for off-pool streaming deserialization, fixing thread pool starvation (see updated protocol docs). Updated test usings and doc tables. No functional changes to DataSource logic. Decision log entry LLMP-DEC-68 documents the change.
2026-06-08 10:43:10 +02:00
..
AcLoggerSignalRHub.cs Implement SignalRLoggerClient 2025-09-02 11:48:05 +02:00
AcSessionService.cs Add SignalR common services and dependencies 2025-08-31 12:39:47 +02:00
AcSignalRSendToClientService.cs [LOADED_DOCS: .github\copilot-instructions.md] 2026-04-19 12:58:31 +02:00
AcSignalRServerProtocolExtensions.cs [LOADED_DOCS: 3 files, no new loads] 2026-05-03 15:21:15 +02:00
AcWebSignalRHubBase.cs Fix SignalR binary protocol: VarUInt framing & type-safe ser 2026-05-27 05:47:23 +02:00
ExtensionMethods.cs Refactor JSON/SignalR infra; add full test & benchmark suite 2025-12-11 21:25:50 +01:00
IAcSessionItem.cs Add SignalR common services and dependencies 2025-08-31 12:39:47 +02:00
IAcSignalRHubItemServer.cs improvements, fixes, etc 2024-05-25 22:16:22 +02:00
README.md Relocate AcSignalRDataSource to AyCode.Services 2026-06-08 10:43:10 +02:00

README.md

SignalRs

Server-side SignalR hub infrastructure: hub base class, session management, and client broadcast service.

Architecture: For full dispatch flow, tag system, and tech debt documentation see AyCode.Services/docs/SIGNALR/README.md.

Key Files

Hub

  • AcWebSignalRHubBase.cs — Abstract hub extending Hub<IAcSignalRHubItemServer>. Manages connection lifecycle, message dispatch via DynamicMethodRegistry, binary/JSON parameter deserialization. Response methods: ResponseToCaller(), SendMessageToOthers(), SendMessageToUserIdInternal().
  • IAcSignalRHubItemServer.cs — Server hub interfaces: IAcSignalRHubItemServer, IAcSignalRHubServer.
  • AcLoggerSignalRHub.cs — Specialized hub for receiving log items via SignalR (AddLogItem()).

Session & Broadcast

  • AcSessionService.cs — Generic session manager with ConcurrentDictionary<TSessionItemId, TSessionItem>.
  • IAcSessionItem.cs — Session item interface with SessionId property.
  • AcSignalRSendToClientService.cs — Abstract broadcast service: SendMessageToClient(), SendMessageToAllClients(), SendMessageToConnection(), SendMessageToUser().

Data Source

Relocated (LLMP-DEC-68): AcSignalRDataSource — the client-side real-time collection — moved to AyCode.Services/SignalRs/ and is no longer part of this server-side assembly. Full spec: AyCode.Services/docs/SIGNALR_DATASOURCE/README.md.

Utilities

  • ExtensionMethods.csInvokeMethod() — invokes methods and unwraps Task/Task<T>/ValueTask results.

TrackingItemHelpers.cs (deep-clone helpers used by the data source) relocated to AyCode.Services/SignalRs/ alongside AcSignalRDataSource — see LLMP-DEC-68.