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
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
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 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.