pub trait NetworkConnector {
    type Stream: Into<Box<dyn NetworkStream + Send>>;

    fn connect(&self, host: &str, port: u16, scheme: &str) -> Result<Self::Stream>;
}
Expand description

A connector creates a NetworkStream.

Required Associated Types§

Type of Stream to create

Required Methods§

Connect to a remote address.

Implementors§

A closure as a connector used to generate TcpStreams per request

Example

Basic example:

Client::with_connector(|addr: &str, port: u16, scheme: &str| {
    TcpStream::connect(&(addr, port))
});

Example using TcpBuilder from the net2 crate if you want to configure your source socket:

Client::with_connector(|addr: &str, port: u16, scheme: &str| {
    let b = try!(TcpBuilder::new_v4());
    try!(b.bind("127.0.0.1:0"));
    b.connect(&(addr, port))
});