#r2d2 #connection-pool #pool

r2d2_couchdb

CouchDB support for the r2d2 connection pool

1 unstable release

Uses old Rust 2015

0.1.0 Jul 1, 2016

#39 in #r2d2

MIT/Apache

7KB
55 lines

r2d2-couchdb Build Status MIT License Apache 2.0

CouchDB support library for the r2d2 connection pool. Read the documentation.

Example

extern crate r2d2;
extern crate r2d2_couchdb;
extern crate serde_json;

use r2d2_couchdb::{CouchdbConnectionManager};

use std::thread;

fn main() {
    let config = r2d2::Config::default();
    let manager = CouchdbConnectionManager::new("http://localhost:5984/").unwrap();
    let pool = r2d2::Pool::new(config, manager).unwrap();

    let mut handles = vec![];

    for i in 0..20 {
        let pool = pool.clone();
        handles.push(thread::spawn(move || {
            let content = serde_json::builder::ObjectBuilder::new()
                .insert("foo", i)
                .unwrap();
            println!("Sending {}", &content);
            let conn = pool.get().unwrap();
            conn.create_document("/test", &content).run().unwrap();
        }));
    }

    for handle in handles {
        handle.join().unwrap()
    }
}

Dependencies

~11MB
~236K SLoC