Trait Handler

Source
pub trait Handler<C>
where Self: Sized + Stream<Item = C>, C: Channel,
{ // Provided methods fn max_channels_per_key<K, KF>( self, n: u32, keymaker: KF, ) -> ChannelFilter<Self, K, KF> where K: Display + Eq + Hash + Clone + Unpin, KF: Fn(&C) -> K { ... } fn max_concurrent_requests_per_channel( self, n: usize, ) -> ThrottlerStream<Self> { ... } }
Expand description

A utility trait enabling a stream to fluently chain a request handler.

Provided Methods§

Source

fn max_channels_per_key<K, KF>( self, n: u32, keymaker: KF, ) -> ChannelFilter<Self, K, KF>
where K: Display + Eq + Hash + Clone + Unpin, KF: Fn(&C) -> K,

Enforces channel per-key limits.

Source

fn max_concurrent_requests_per_channel(self, n: usize) -> ThrottlerStream<Self>

Caps the number of concurrent requests per channel.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<S, C> Handler<C> for S
where S: Sized + Stream<Item = C>, C: Channel,