Skip to main content

Handler

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".

Implementors§

Source§

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