26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
# Router Streaming Data Transfer
|
|
|
|
## Module
|
|
Router
|
|
|
|
## Status
|
|
IMPLEMENTED
|
|
|
|
## Description
|
|
REQUEST_STREAM_DATA and RESPONSE_STREAM_DATA frame types for chunked streaming, backpressure handling via flow control, and streaming endpoint support in the Microservice SDK.
|
|
|
|
## Implementation Details
|
|
- **Modules**: `src/Router/__Libraries/StellaOps.Router.Common/`, `src/Router/__Libraries/StellaOps.Microservice/`
|
|
- **Key Classes**:
|
|
- `RequestDispatcher` (`src/Router/__Libraries/StellaOps.Microservice/RequestDispatcher.cs`) - handles streaming frame dispatch with backpressure
|
|
- `TypedEndpointAdapter` (`src/Router/__Libraries/StellaOps.Microservice/TypedEndpointAdapter.cs`) - supports streaming request/response patterns
|
|
- **Frame Types**: REQUEST_STREAM_DATA, RESPONSE_STREAM_DATA for chunked transfer
|
|
- **Source**: batch_52/file_01.md
|
|
|
|
## E2E Test Plan
|
|
- [ ] Send a streaming request with multiple data chunks and verify the endpoint receives all chunks
|
|
- [ ] Verify streaming response: send a request to a streaming endpoint and confirm chunked response delivery
|
|
- [ ] Verify backpressure: send data faster than the receiver processes and confirm flow control signals
|
|
- [ ] Verify large file streaming: transfer a large payload via streaming and confirm complete delivery
|
|
- [ ] Verify streaming cancellation: cancel mid-stream and confirm resources are cleaned up
|