Module smoltcp::socket[][src]

Communication between endpoints.

The socket module deals with network endpoints and buffering. It provides interfaces for accessing buffers of data, and protocol state machines for filling and emptying these buffers.

The programming interface implemented here differs greatly from the common Berkeley socket interface. Specifically, in the Berkeley interface the buffering is implicit: the operating system decides on the good size for a buffer and manages it. The interface implemented by this module uses explicit buffering: you decide on the good size for a buffer, allocate it, and let the networking stack use it.

Structs

IcmpSocket

A ICMP socket

RawSocket

A raw IP socket.

SocketHandle

A handle, identifying a socket in a set.

SocketRef

A smart pointer to a socket.

SocketSet

An extensible set of sockets.

SocketSetItem

An item of a socket set.

SocketSetIter

Immutable socket set iterator.

SocketSetIterMut

Mutable socket set iterator.

TcpSocket

A Transmission Control Protocol socket.

UdpSocket

A User Datagram Protocol socket.

Enums

IcmpEndpoint

Type of endpoint to bind the ICMP socket to. See IcmpSocket::bind for more details.

Socket

A network socket.

TcpState

The state of a TCP socket, according to RFC 793.

Traits

AnySocket

A conversion trait for network sockets.

Type Definitions

IcmpPacketMetadata

An ICMP packet metadata.

IcmpSocketBuffer

An ICMP packet ring buffer.

RawPacketMetadata

A UDP packet metadata.

RawSocketBuffer

A UDP packet ring buffer.

TcpSocketBuffer

A TCP socket ring buffer.

UdpPacketMetadata

A UDP packet metadata.

UdpSocketBuffer

A UDP packet ring buffer.