tokio_memcache/client/
service.rs

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