Major overhaul for SignalR response pipeline: - All deserialization now uses byte[] (offset/length) for zero-copy, allocation-free operation; all span/memory overloads removed. - SignalR protocol sends (signalParams, object) directly; SignalData envelope and related logic removed. - Server sets SignalParams.SignalDataType so protocol deserializes to the correct runtime type on the client. - SignalResponseDataMessage now only used for client request/response tracking and stream path; RawResponseData holds the actual object. - All extension methods, helpers, and infrastructure updated to use new byte[]-based APIs. - AcSignalRDataSource and all test/benchmark code updated for new object flow. - Removes all diagnostics, logging, and error handling related to binary envelopes. - Enables true zero-copy, type-safe, allocation-free SignalR response handling. |
||
|---|---|---|
| .. | ||
| 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 |