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. |
||
|---|---|---|
| .. | ||
| LoginServices | ||
| SignalRs | ||
| AyCode.Services.Server.Tests.csproj | ||
| InvokeMethodExtensionTests.cs | ||
| README.md | ||
| TestLogger.cs | ||
README.md
AyCode.Services.Server.Tests
@project { type = "test" }
Comprehensive server-side tests for SignalR communication, DataSource operations, login services, and reflection-based method invocation.
Folder Structure
| Folder | Purpose |
|---|---|
SignalRs/ |
Full SignalR client→hub→service test infrastructure |
LoginServices/ |
Login service test base classes |
Key Files (Root)
TestLogger.cs— Re-exports TestLogger from AyCode.Core.Tests.InvokeMethodExtensionTests.cs— Tests MethodInfo.InvokeMethod: sync, async Task unwrapping, Task.FromResult (production bug fix), non-generic Task, complex objects.