Struct net2::TcpBuilder

source ·
pub struct TcpBuilder { /* private fields */ }
Expand description

An “in progress” TCP socket which has not yet been connected or listened.

Allows configuration of a socket before one of these operations is executed.

Implementations§

source§

impl TcpBuilder

source

pub fn new_v4() -> Result<TcpBuilder>

Constructs a new TcpBuilder with the AF_INET domain, the SOCK_STREAM type, and with a protocol argument of 0.

Note that passing other kinds of flags or arguments can be done through the FromRaw{Fd,Socket} implementation.

source

pub fn new_v6() -> Result<TcpBuilder>

Constructs a new TcpBuilder with the AF_INET6 domain, the SOCK_STREAM type, and with a protocol argument of 0.

Note that passing other kinds of flags or arguments can be done through the FromRaw{Fd,Socket} implementation.

source

pub fn bind<T>(&self, addr: T) -> Result<&TcpBuilder>where T: ToSocketAddrs,

Binds this socket to the specified address.

This function directly corresponds to the bind(2) function on Windows and Unix.

source

pub fn listen(&self, backlog: i32) -> Result<TcpListener>

Mark a socket as ready to accept incoming connection requests using accept()

This function directly corresponds to the listen(2) function on Windows and Unix.

An error will be returned if listen or connect has already been called on this builder.

source

pub fn connect<T>(&self, addr: T) -> Result<TcpStream>where T: ToSocketAddrs,

Initiate a connection on this socket to the specified address.

This function directly corresponds to the connect(2) function on Windows and Unix.

An error will be returned if listen or connect has already been called on this builder.

source

pub fn to_tcp_stream(&self) -> Result<TcpStream>

Converts this builder into a TcpStream

This function will consume the internal socket and return it re-wrapped as a TcpStream. An error will be returned if the internal socket has already been consumed from a successful call to connect, listen, etc.

source

pub fn to_tcp_listener(&self) -> Result<TcpListener>

Converts this builder into a TcpListener

This function will consume the internal socket and return it re-wrapped as a TcpListener. An error will be returned if the internal socket has already been consumed from a successful call to connect, listen, etc.

source

pub fn local_addr(&self) -> Result<SocketAddr>

Returns the address of the local half of this TCP socket.

An error will be returned if listen or connect has already been called on this builder.

source§

impl TcpBuilder

source

pub fn ttl(&self, ttl: u32) -> Result<&Self>

Sets the value for the IP_TTL option on this socket.

This is the same as TcpStreamExt::set_ttl.

source

pub fn only_v6(&self, only_v6: bool) -> Result<&Self>

Sets the value for the IPV6_V6ONLY option on this socket.

This is the same as TcpStreamExt::set_only_v6.

source

pub fn reuse_address(&self, reuse: bool) -> Result<&Self>

Set value for the SO_REUSEADDR option on this socket.

This indicates that further calls to bind may allow reuse of local addresses. For IPv4 sockets this means that a socket may bind even when there’s a socket already listening on this port.

source

pub fn get_reuse_address(&self) -> Result<bool>

Check the SO_REUSEADDR option on this socket.

source

pub fn take_error(&self) -> Result<Option<Error>>

Get the value of the SO_ERROR option on this socket.

This will retrieve the stored error in the underlying socket, clearing the field in the process. This can be useful for checking errors between calls.

Trait Implementations§

source§

impl AsRawFd for TcpBuilder

source§

fn as_raw_fd(&self) -> c_int

Extracts the raw file descriptor. Read more
source§

impl Debug for TcpBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FromRawFd for TcpBuilder

source§

unsafe fn from_raw_fd(fd: c_int) -> TcpBuilder

Constructs a new instance of Self from the given raw file descriptor. Read more
source§

impl UnixTcpBuilderExt for TcpBuilder

source§

fn reuse_port(&self, reuse: bool) -> Result<&Self>

Set value for the SO_REUSEPORT option on this socket. Read more
source§

fn get_reuse_port(&self) -> Result<bool>

Check the value of the SO_REUSEPORT option on this socket.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.