Struct tk_pool::Pool
[−]
[src]
pub struct Pool<M> { /* fields omitted */ }Pool is an object that is convenient to use for client connections. It will spawn a future that processes requests and establish a channel to it. It can be used from multiple threads (but will establish connections in an the one that originally created pool).
It's still a Sink and you are free to implement Service or whatever
high level interfaces apply for your protocol.
Methods
impl<M> Pool<M>[src]
Create a connection pool the specified buffer size and specified Sink (which should be a Multiplexer)
This is basicaly (sans the error conversion):
let (tx, rx) = channel(buffer_size); handle.spawn(rx.forward(multiplexer)); return tx;
fn create<S, E>(handle: &Handle, buffer_size: usize, multiplexer: S) -> Pool<M> where E: Display, S: Sink<SinkItem=M, SinkError=E> + 'static, M: 'static
Trait Implementations
impl<M> Sink for Pool<M>[src]
type SinkItem = M
The type of value that the sink accepts.
type SinkError = SendError<M>
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