AyCode.Core/AyCode.Services.Server/SignalRs
Loretta f2c636bb1c Improve logger caller resolution and SignalR log reporting
Added ResolveBridgeCallerNames to AcLoggerBase for accurate caller detection in ILogger bridge logs using stack trace analysis. Updated debug logging to include caller info via EventId. Enhanced AcLoggerSignalRHub and AcSignaRClientLogItemWriter to log connection lifecycle events and improve connection state reporting. Updated documentation to reflect these changes.
2026-07-12 19:41:11 +02:00
..
AcLoggerSignalRHub.cs Improve logger caller resolution and SignalR log reporting 2026-07-12 19:41:11 +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.