Crate tk_pool [] [src]

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

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