Major protocol refactor: all byte[] payloads in SignalR hub/client interfaces, plumbing, and DTOs are now wrapped in SignalData, a disposable, ArrayPool-backed type with Span access. Introduces AyCodeBinaryHubProtocol (derived from AcBinaryHubProtocol) to rent pooled buffers for SignalData on receive. All message signatures, diagnostics, and serialization logic updated. Documentation and tests revised to reflect SignalData usage. Enables zero-copy, low-GC, high-performance binary messaging for large payloads. |
||
|---|---|---|
| .. | ||
| SignalRDatasources | ||
| README.md | ||
| SignalRClientToHubTest.cs | ||
| SignalRTestHelper.cs | ||
| TestSignalRService2.cs | ||
| TestSignalRTags.cs | ||
| TestableSignalRClient2.cs | ||
| TestableSignalRHub2.cs | ||
README.md
SignalRs
Full SignalR client→hub→service test infrastructure with testable components that bypass real network connections.
Key Files
SignalRClientToHubTest.cs— Abstract round-trip test base. Tests: Post_SingleInt, Post_TwoInts, Post_Bool, Post_String, Post_Guid, Post_Enum, and more.TestableSignalRClient2.cs—AcSignalRClientBaseimplementation: direct hub calls, zero network, zero delays.TestableSignalRHub2.cs—AcWebSignalRHubBaseimplementation: simulates connection state, user identity, claims. Captures responses.TestSignalRService2.cs— 50+ methods: primitives (23), complex objects (3), collections (9), arrays (6), mixed (4), async (4), Task.FromResult (4), large datasets, property mismatch, DataSource CRUD (7), production bug reproductions.TestSignalRTags.cs— 50+ const int message tags (100-500 range).SignalRTestHelper.cs— CreatePrimitiveParamsMessage, CreateComplexObjectMessage, GetResponseData, AssertSuccessResponse.
Subfolders
| Folder | Purpose |
|---|---|
SignalRDatasources/ |
DataSource CRUD and collection tests |