Refactor: replace PipeReaderBinaryInput with SegmentBufferReader - Remove PipeReaderBinaryInput and all related code. - Add SegmentBufferReader and SegmentBufferReaderInput for efficient, thread-safe chunked streaming deserialization. - Update AcBinaryDeserializer and AcBinaryHubProtocol to use the new buffer for async segment protocol, improving state management and background deserialization. - Enhance chunked protocol handling: skip re-presented chunk start frames, track consumed chunk frame bytes, and improve logging. - Update test infrastructure to support async segment protocol and add AsyncSegmentPipeTransportWriter for realistic testing. - Update settings.local.json to reflect new build/test commands and remove obsolete files. - Improves performance, reliability, and testability of chunked SignalR streaming. |
||
|---|---|---|
| .. | ||
| SignalRDatasources | ||
| AsyncSegmentPipeTransportWriter.cs | ||
| README.md | ||
| SignalRClientToHubTest.cs | ||
| SignalRTestHelper.cs | ||
| SlabTransportWriter.cs | ||
| TestInvocationBinder.cs | ||
| TestMultiSegmentProtocol.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 |