Struct net2::TcpBuilder [] [src]

pub struct TcpBuilder {
    // some fields omitted
}

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.

Methods

impl TcpBuilder
[src]

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.

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.

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.

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.

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.

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.

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.

impl TcpBuilder
[src]

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.

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.

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

Set value for the SO_REUSEADDR option on this socket.

This indicates that futher 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.

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

Check the SO_REUSEADDR option on this socket.

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

impl Debug for TcpBuilder
[src]

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

Formats the value using the given formatter.

impl FromRawFd for TcpBuilder
[src]

unsafe fn from_raw_fd(fd: c_int) -> TcpBuilder

Constructs a new instances of Self from the given raw file descriptor. Read more

impl AsRawFd for TcpBuilder
[src]

fn as_raw_fd(&self) -> c_int

Extracts the raw file descriptor. Read more

impl UnixTcpBuilderExt for TcpBuilder
[src]

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

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

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

Check the value of the SO_REUSEPORT option on this socket.