pub struct ListenOptions { /* private fields */ }Expand description
Options set on a listening socket before bind and listen.
use net_io::{ListenOptions, TcpListener};
let options = ListenOptions::new().backlog(4096).reuse_port(cfg!(target_os = "linux"));
let listener = TcpListener::bind_with("127.0.0.1:0", options)?;
println!("effective backlog {:?}", listener.info().backlog);Implementations§
Source§impl ListenOptions
impl ListenOptions
Sourcepub fn new() -> ListenOptions
pub fn new() -> ListenOptions
Backlog 1,024; reuse address on Unix, exclusive address use on Windows;
IPv6-only; TCP_NODELAY on accepted sockets.
Sourcepub fn backlog(self, n: u32) -> ListenOptions
pub fn backlog(self, n: u32) -> ListenOptions
The listen backlog (capped by the OS; the effective value is in ListenerInfo).
Sourcepub fn reuse_address(self, on: bool) -> ListenOptions
pub fn reuse_address(self, on: bool) -> ListenOptions
Unix: SO_REUSEADDR. Windows: false = SO_EXCLUSIVEADDRUSE, true = SO_REUSEADDR.
Sourcepub fn reuse_port(self, on: bool) -> ListenOptions
pub fn reuse_port(self, on: bool) -> ListenOptions
SO_REUSEPORT (Unsupported on Windows).
Sourcepub fn ipv6_only(self, on: bool) -> ListenOptions
pub fn ipv6_only(self, on: bool) -> ListenOptions
IPV6_V6ONLY for IPv6 addresses (on by default; decision D-026).
Sourcepub fn send_buffer(self, bytes: u32) -> ListenOptions
pub fn send_buffer(self, bytes: u32) -> ListenOptions
SO_SNDBUF on the listener (before listen).
Sourcepub fn receive_buffer(self, bytes: u32) -> ListenOptions
pub fn receive_buffer(self, bytes: u32) -> ListenOptions
SO_RCVBUF on the listener (before listen, so window scaling is negotiated).
Sourcepub fn tcp_options(self, options: TcpOptions) -> ListenOptions
pub fn tcp_options(self, options: TcpOptions) -> ListenOptions
Options applied to every accepted socket.
Trait Implementations§
Source§impl Clone for ListenOptions
impl Clone for ListenOptions
impl Copy for ListenOptions
Source§impl Debug for ListenOptions
impl Debug for ListenOptions
Source§impl Default for ListenOptions
impl Default for ListenOptions
Source§fn default() -> ListenOptions
fn default() -> ListenOptions
Returns the “default value” for a type. Read more
impl Eq for ListenOptions
Source§impl PartialEq for ListenOptions
impl PartialEq for ListenOptions
impl StructuralPartialEq for ListenOptions
Auto Trait Implementations§
impl Freeze for ListenOptions
impl RefUnwindSafe for ListenOptions
impl Send for ListenOptions
impl Sync for ListenOptions
impl Unpin for ListenOptions
impl UnsafeUnpin for ListenOptions
impl UnwindSafe for ListenOptions
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