Expand description
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
ⓘ
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