Struct tk_pool::uniform::UniformMx
[−]
[src]
pub struct UniformMx<S, E, A> { /* fields omitted */ }A simple uniform connection pool
This pool connects fixed number of connections to each IP/Port pair (if they are available) and distribute requests by round-robin
Note the pool has neither a buffer of it's own nor any internal tasks, so
you are expected to use Sink::buffer and call poll_complete on every
wake-up.
Methods
impl<S, E, A> UniformMx<S, E, A> where
S: Sink<SinkError = E>,
A: Stream<Item = Address>,
E: From<A::Error> + Display, [src]
S: Sink<SinkError = E>,
A: Stream<Item = Address>,
E: From<A::Error> + Display,
fn new<C>(
handle: &Handle,
config: &Arc<Config>,
address: A,
connect: C
) -> UniformMx<S, E, A> where
C: Connect<Sink = S, Error = E> + 'static,
handle: &Handle,
config: &Arc<Config>,
address: A,
connect: C
) -> UniformMx<S, E, A> where
C: Connect<Sink = S, Error = E> + 'static,
Create a connection pool
This doesn't establish any connections even in eager mode. You need
to call poll_complete to start.
Trait Implementations
impl<S, E, A> Sink for UniformMx<S, E, A> where
S: Sink<SinkError = E>,
A: Stream<Item = Address>,
E: From<A::Error> + Display, [src]
S: Sink<SinkError = E>,
A: Stream<Item = Address>,
E: From<A::Error> + Display,
type SinkItem = S::SinkItem
The type of value that the sink accepts.
type SinkError = S::SinkError
The type of value produced by the sink when an error occurs.
fn start_send(
&mut self,
item: Self::SinkItem
) -> StartSend<Self::SinkItem, Self::SinkError>
&mut self,
item: Self::SinkItem
) -> StartSend<Self::SinkItem, Self::SinkError>
Begin the process of sending a value to the sink. Read more
fn poll_complete(&mut self) -> Poll<(), Self::SinkError>
Flush all output from this sink, if necessary. Read more
fn close(&mut self) -> Result<Async<()>, Self::SinkError>
A method to indicate that no more values will ever be pushed into this sink. Read more
fn wait(self) -> Wait<Self>
Creates a new object which will produce a synchronous sink. Read more
fn with<U, F, Fut>(self, f: F) -> With<Self, U, F, Fut> where
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
<Fut as IntoFuture>::Error: From<Self::SinkError>,
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
<Fut as IntoFuture>::Error: From<Self::SinkError>,
Composes a function in front of the sink. Read more
fn sink_map_err<F, E>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::SinkError) -> E,
F: FnOnce(Self::SinkError) -> E,
Transforms the error returned by the sink.
fn sink_from_err<E>(self) -> SinkFromErr<Self, E> where
E: From<Self::SinkError>,
E: From<Self::SinkError>,
Map this sink's error to any error implementing From for this sink's Error, returning a new sink. Read more
fn buffer(self, amt: usize) -> Buffer<Self>
Adds a fixed-size buffer to the current sink. Read more
fn flush(self) -> Flush<Self>
A future that completes when the sink has finished processing all pending requests. Read more
fn send(self, item: Self::SinkItem) -> Send<Self>
A future that completes after the given item has been fully processed into the sink, including flushing. Read more
fn send_all<S>(self, stream: S) -> SendAll<Self, S> where
S: Stream<Item = Self::SinkItem>,
Self::SinkError: From<<S as Stream>::Error>,
S: Stream<Item = Self::SinkItem>,
Self::SinkError: From<<S as Stream>::Error>,
A future that completes after the given stream has been fully processed into the sink, including flushing. Read more