use futures::Future;
pub trait Connector<ID, ADDR, REQ, RESP, ERR> {
fn request(&mut self, id: ID, addr: ADDR, req: REQ) -> Box<Future<Item=RESP, Error=ERR>>;
fn respond(&mut self, id: ID, addr: ADDR, resp: RESP) -> Box<Future<Item=(), Error=ERR>>;
}