pub struct ConnectOptions { /* private fields */ }Expand description
Options for an outbound connection.
use net_io::{ConnectOptions, TcpConnection};
use std::time::Duration;
let options = ConnectOptions::new().timeout(Duration::from_secs(3));
let conn = TcpConnection::connect_host("example.com", 443, options)?;
println!("connected to {}", conn.peer_addr());Implementations§
Source§impl ConnectOptions
impl ConnectOptions
Sourcepub fn new() -> ConnectOptions
pub fn new() -> ConnectOptions
Timeout 10 s, TCP_NODELAY on, no local bind.
Sourcepub fn timeout(self, total: Duration) -> ConnectOptions
pub fn timeout(self, total: Duration) -> ConnectOptions
The total time for all attempts.
Sourcepub fn local_addr(self, addr: SocketAddr) -> ConnectOptions
pub fn local_addr(self, addr: SocketAddr) -> ConnectOptions
Binds to this address before connecting.
Sourcepub fn tcp_options(self, options: TcpOptions) -> ConnectOptions
pub fn tcp_options(self, options: TcpOptions) -> ConnectOptions
Options applied before the connect.
Sourcepub fn limits(self, limits: Limits) -> ConnectOptions
pub fn limits(self, limits: Limits) -> ConnectOptions
Limits for the connection.
Sourcepub fn happy_eyeballs(self, on: bool) -> ConnectOptions
pub fn happy_eyeballs(self, on: bool) -> ConnectOptions
Happy Eyeballs (RFC 8305, simplified because std resolution returns both
families at once): attempts overlap instead of waiting for each other, IPv6
first and the families interleaved, and the first established connection wins.
The total timeout still bounds everything; the others are reset.
Sourcepub fn attempt_delay(self, d: Duration) -> ConnectOptions
pub fn attempt_delay(self, d: Duration) -> ConnectOptions
How long an attempt runs alone before the next one starts (250 ms; held to 100 ms through 2 s). An attempt that fails starts the next at once.
Trait Implementations§
Source§impl Clone for ConnectOptions
impl Clone for ConnectOptions
Source§impl Debug for ConnectOptions
impl Debug for ConnectOptions
Source§impl Default for ConnectOptions
impl Default for ConnectOptions
Source§fn default() -> ConnectOptions
fn default() -> ConnectOptions
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ConnectOptions
impl RefUnwindSafe for ConnectOptions
impl Send for ConnectOptions
impl Sync for ConnectOptions
impl Unpin for ConnectOptions
impl UnsafeUnpin for ConnectOptions
impl UnwindSafe for ConnectOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more