Enum w5500_ll::SocketCommand [−][src]
#[repr(u8)]
pub enum SocketCommand {
Accepted,
Open,
Listen,
Connect,
Disconnect,
Close,
Send,
SendMac,
SendKeep,
Recv,
}
Expand description
Variants
The command register clears to this state once a command has been accepted.
The socket is initialized and opened according to the protocol
selected in sn_mr
.
Operate the socket as a TCP server.
This will change the socket state from Init
to Listen
,
and the socket will listen for a
connection-request (SYN packet) from any TCP client.
When a TCP client connection request is successfully established,
the socket state changes from Listen
to
Established
and the CON
socket interrupt is raised.
When a TCP client connection request fails the TIMEOUT
socket
interrupt is set and the
socket status changes to Closed
.
Only valid in Tcp
mode.
Connect to a TCP server.
A connect-request (SYN packet) is sent to the TCP server configured by
the IPv4 address and port set with set_sn_dest
.
If the connect-request is successful, the socket state changes to
Established
and the CON
socket interrupt is raised.
The connect-request fails in the following three cases:
- When a ARPTO occurs (
timeout_raised
) because the destination hardware address is not acquired through the ARP-process. - When a SYN/ACK packet is not received within the TCP timeout duration
set by
rcr
andrtr
(timeout_raised
). - When a RST packet is received instead of a SYN/ACK packet.
In these cases the socket state changes to Closed
.
Only valid in Tcp
mode when acting as a TCP client.
Start the disconnect process.
- Active close it transmits disconnect-request(FIN packet) to the connected peer.
- Passive close when FIN packet is received from peer, a FIN packet is replied back to the peer.
When the disconnect-process is successful
(that is, FIN/ACK packet is received successfully),
the socket state changes to Closed
.
Otherwise, TCP timeout occurs
(timeout_raised
) and then
the socket state changes to Closed
.
If the Close
command is used instead of
Disconnect
, the socket state is changes to
Closed
without the disconnect process.
If a RST packet is received from a peer during communication the socket
status is unconditionally changed to Closed
.
Only valid in Tcp
mode.
Close the socket.
The socket status is changed to Closed
.
Transmits all the data in the socket TX buffer.
The basic operation is same as Send
.
Normally Send
transmits data after destination
hardware address is acquired by the automatic ARP-process
(Address Resolution Protocol).
SendMac
transmits data without the automatic
ARP-process.
In this case, the destination hardware address is acquired from
sn_dhar
configured by the host, instead of the ARP
process.
Only valid in Udp
mode.
Sends a 1 byte keep-alive packet.
If the peer cannot respond to the keep-alive packet during timeout
time, the connection is terminated and the timeout interrupt will
occur (timeout_raised
).
Only valid in Tcp
mode.
Completes the processing of the received data in socket RX buffer.
See sn_rx_buf
for an example.
Trait Implementations
Performs the conversion.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for SocketCommand
impl Send for SocketCommand
impl Sync for SocketCommand
impl Unpin for SocketCommand
impl UnwindSafe for SocketCommand
Blanket Implementations
Mutably borrows from an owned value. Read more