Crate tk_pool

Source
Expand description

A connection pool implementation for tokio

Documentation | Github | Crate | Examples

A connection pool implementation for tokio. Main features:

  1. Works for any request-reply protocol (actually for any Sink)
  2. Provides both queue and pushback if needed
  3. Allows pipelining (multiple in-flight request when multiplexing)
  4. Auto-reconnects on broken connection
  5. 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