Struct tk_pool::uniform::UniformMx
[−]
[src]
pub struct UniformMx<S, E, A = Error> { /* 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>, E: From<A> + Display[src]
fn new<C>(handle: &Handle,
config: &Arc<Config>,
address: Box<Stream<Item=Address, Error=A>>,
connect: C)
-> UniformMx<S, E, A> where C: Connect<Sink=S, Error=E> + 'static
config: &Arc<Config>,
address: Box<Stream<Item=Address, Error=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>, E: From<A> + Display[src]
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>
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>
Make progress on all pending requests, and determine whether they have completed. 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::Error: From<Self::SinkError>
Fut: IntoFuture<Item=Self::SinkItem>,
Fut::Error: From<Self::SinkError>
Composes a function in front of the 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::Error>
A future that completes after the given stream has been fully processed into the sink, including flushing. Read more