rskit-provider — Async I/O Interaction Traits
Typed async interaction traits (Provider, RequestResponse, Stream, Sink, Duplex) with a Tower bridge.
Features
RequestResponse<I,O>— single request → single responseStream<I,O>— request → async stream of responsesSink<I>— fire-and-forgetDuplex<I,O>— bidirectional streaming- Tower bridge for adapting
tower::ServicetoRequestResponse
The provider traits intentionally remain object-safe via async-trait because some downstream adapters store them behind dyn trait objects. Stream, sink, and duplex implementations must use bounded queues or downstream backpressure and surface saturation as typed AppError values.
Cross-cutting behavior such as retry, rate limiting, circuit breaking, logging, and tracing belongs above these L2 contracts. Compose those concerns with rskit-resilience tower layers before wrapping a service with TowerProvider.
Usage
[]
= "0.2.0-alpha.3"
= "0.1"
use ;
;