Enum w5500_ll::SocketStatus
source · #[repr(u8)]pub enum SocketStatus {
Show 13 variants
Closed = 0,
Init = 19,
Listen = 20,
SynSent = 21,
SynRecv = 22,
Established = 23,
FinWait = 24,
Closing = 26,
TimeWait = 27,
CloseWait = 28,
LastAck = 29,
Udp = 34,
Macraw = 66,
}
Expand description
Socket status.
This is used with the sn_sr
method.
Variants§
Closed = 0
Socket closed, this is the reset state of all sockets.
This state can be set by a Disconnect
or Close
command.
This state will also be set automatically if a timeout occurs.
Init = 19
The socket is opened in TCP mode.
This state is set when the socket protocol is Tcp
, and a Open
command is sent.
Listen = 20
The socket is listening, operating as a TCP server.
The socket will wait for a connextion-request (SYN packet) from a peer (TCP client).
The state will change to Established
when the connection-request is
successfully accepted.
Otherwise the state will change to Closed
after the
TCP timeout duration set by rcr
and rtr
.
SynSent = 21
Connection request (SYN packet) has been sent to a peer.
This is temporarily displayed between the Init
and Established
states, after a Connect
command has been sent.
If the SYN/ACK is received from the peer the state changes to
Established
, otherwise the state changes to Closed
after the TCP
timeout duration set by rcr
and rtr
.
SynRecv = 22
Connection request (SYN packet) has been received from a peer.
If the socket sends the response (SYN/ACK packet) to the peer
successfully the state changes to Established
, otherwise the state
changes to Closed
after the TCP timeout duration set by rcr
and
rtr
.
Established = 23
TCP connection is established.
When operating as a TCP client this state is set after the TCP server
accepts the SYN packet, which is sent by the client after issuing a
Connect
.
When operating as a TCP server this state is set after a client
connects when in the Listen
state.
While in this state data can be transferred with the Send
and
Recv
commands.
FinWait = 24
Temporary status between status transitions.
This indicates the socket is closing.
Closing = 26
Temporary status between status transitions.
This indicates the socket is closing.
TimeWait = 27
Temporary status between status transitions.
This indicates the socket is closing.
CloseWait = 28
The socket has received the disconnect-request (FIN packet) from the connected peer.
This is half-closing status, and data can be transferred.
For full-closing the Disconnect
command is used.
For just-closing the Close
command is used.
LastAck = 29
Temporary status between status transitions.
Udp = 34
Socket is opened in UDP mode.
This state is set when the socket protocol is Udp
, and a Open
command is sent.
Macraw = 66
Trait Implementations§
source§impl Clone for SocketStatus
impl Clone for SocketStatus
source§fn clone(&self) -> SocketStatus
fn clone(&self) -> SocketStatus
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SocketStatus
impl Debug for SocketStatus
source§impl Default for SocketStatus
impl Default for SocketStatus
source§fn default() -> SocketStatus
fn default() -> SocketStatus
source§impl Format for SocketStatus
impl Format for SocketStatus
source§impl From<SocketStatus> for u8
impl From<SocketStatus> for u8
source§fn from(val: SocketStatus) -> u8
fn from(val: SocketStatus) -> u8
source§impl Hash for SocketStatus
impl Hash for SocketStatus
source§impl Ord for SocketStatus
impl Ord for SocketStatus
source§fn cmp(&self, other: &SocketStatus) -> Ordering
fn cmp(&self, other: &SocketStatus) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq for SocketStatus
impl PartialEq for SocketStatus
source§fn eq(&self, other: &SocketStatus) -> bool
fn eq(&self, other: &SocketStatus) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for SocketStatus
impl PartialOrd for SocketStatus
source§fn partial_cmp(&self, other: &SocketStatus) -> Option<Ordering>
fn partial_cmp(&self, other: &SocketStatus) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more