Crate tk_pool [−] [src]
A connection pool implementation for tokio
Documentation | Github | Crate | Examples
A connection pool implementation for tokio. Main features:
- Works for any request-reply protocol (actually for any
Sink
) - Provides both queue and pushback if needed
- Allows pipelining (multiple in-flight request when multiplexing)
- Auto-reconnects on broken connection
- Adapts when DNS name change
Multiple load-balancing strategies are in to do list.
Example
ⓘThis example is not tested
let mut pool = pool_for(|addr| connect(addr)) .connect_to(ns.subscribe_many(address, default_port)) .lazy_uniform_connections(2) .with_queue_size(10) .spawn_on(&core.handle());
Modules
config |
A number of traits to configure connection pool and their implementatons |
error_log |
ErrorLog trait and default implementations |
metrics |
Metrics trait and no-op implementation |
queue |
A queue (buffer) of requests sent to connection pool |
uniform |
A uniform connection pool implementation |
Traits
Connect |
This is a trait that is used for establishing a connection |
Functions
pool_for |
Start configuring pool by providing a connector |