1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use std::boxed::Box;
use std::net::SocketAddr;
use tokio_proto::TcpClient;
use tokio_core::reactor::Handle;
use futures::Future;
use super::protocol::{MemcachedProto};
use super::connection::Connection;
use errors::MemcacheError;
pub struct Client;
impl Client {
pub fn connect(addr: &SocketAddr, handle: &Handle) -> Box<Future<Item=Connection, Error=MemcacheError>> {
let result = TcpClient::new(MemcachedProto)
.connect(addr, handle)
.map_err(MemcacheError::from)
.map(|client_service| {
Connection {
inner: client_service,
}
});
Box::new(result)
}
}