- Add BINARY_FORMAT.md: full AcBinary wire format spec (markers, encoding, options, protocol, interactions) - Reference BINARY_FORMAT.md from GLOSSARY.md, Binaries/README.md, and Serializers/Binaries/README.md; add new glossary terms - Clarify and expand config options tables to match new doc - Add/clarify LLM maintenance rules: always sync .md files with code, auto-fix discrepancies - Update root README.md: AyCode.Core targets .NET 9, not 10; stress doc/code sync - Add code reuse and doc sync conventions to copilot-instructions.md and CONVENTIONS.md - Add docs/ folder and BINARY_FORMAT.md to solution as Solution Items - Minor clarifications and cross-links in ARCHITECTURE.md and other docs |
||
|---|---|---|
| .. | ||
| AcLoggerSignalRHub.cs | ||
| AcSessionService.cs | ||
| AcSignalRDataSource.cs | ||
| AcSignalRSendToClientService.cs | ||
| AcWebSignalRHubBase.cs | ||
| ExtensionMethods.cs | ||
| IAcSessionItem.cs | ||
| IAcSignalRHubItemServer.cs | ||
| README.md | ||
| TrackingItemHelpers.cs | ||
README.md
SignalRs
Server-side SignalR hub infrastructure: hub base class, session management, data source with change tracking, and client broadcast service.
Key Files
Hub
AcWebSignalRHubBase.cs— Abstract hub extendingHub<IAcSignalRHubItemServer>. Manages connection lifecycle, message dispatch viaDynamicMethodRegistry, 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 withConcurrentDictionary<TSessionItemId, TSessionItem>.IAcSessionItem.cs— Session item interface withSessionIdproperty.AcSignalRSendToClientService.cs— Abstract broadcast service:SendMessageToClient(),SendMessageToAllClients(),SendMessageToConnection(),SendMessageToUser().
Data Source
AcSignalRDataSource.cs— Server-side data source implementingIList<T>with change tracking (TrackingItem<T, TId>,ChangeTracking<T, TId>). SupportsLoadDataSource(),LoadDataSourceFromResponseData()with binary/JSON deserialization.
Utilities
ExtensionMethods.cs—InvokeMethod()— invokes methods and unwrapsTask/Task<T>/ValueTaskresults.TrackingItemHelpers.cs— Deep clone helpers:JsonClone<T>(),ReflectionClone<T>().