Trait hyper::net::NetworkConnector
source · 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§
Required Methods§
Implementors§
source§impl NetworkConnector for HttpConnector
impl NetworkConnector for HttpConnector
type Stream = HttpStream
source§impl<C: NetworkConnector<Stream = S>, S: NetworkStream + Send> NetworkConnector for Pool<C>
impl<C: NetworkConnector<Stream = S>, S: NetworkStream + Send> NetworkConnector for Pool<C>
type Stream = PooledStream<S>
source§impl<F> NetworkConnector for Fwhere
F: Fn(&str, u16, &str) -> Result<TcpStream>,
impl<F> NetworkConnector for Fwhere
F: Fn(&str, u16, &str) -> Result<TcpStream>,
A closure as a connector used to generate TcpStream
s 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))
});