Struct sctp_rs::Socket

source ·
pub struct Socket { /* private fields */ }
Expand description

A structure representing an unconnected SCTP Socket.

When we listen on this socket, we get an Listener on which we can accept to get a ConnectedSocket (This is like TCPStream but since this can have multiple associations, we are calling it a ‘connected’ socket).

Implementations§

Create a New IPv4 family socket.

SocketToAssociation determines the type of the socket created. For a TCP style socket use OneToOne and for a UDP style socket use OneToMany. The socket created is set to a non-blocking socket and is registered for polling for read-write events. For any potentially blocking I/O operations, whether the socket is ‘readable’ or ‘writable’ is handled internally.

Create a New IPv6 family socket.

SocketToAssociation determines the type of the socket created. For a TCP style socket use SocketToAssociation::OneToOne and for a UDP style socket use SocketToAssociation::OneToMany. The socket created is set to a non-blocking socket and is registered for polling for read-write events. For any potentially blocking I/O operations, whether the socket is ‘readable’ or ‘writable’ is handled internally.

Bind a socket to a given IP Address.

The passed IP address can be an IPv4 or an IPv6, IP address. For the IPv6 family sockets, it is possible to bind to both IPv4 and IPv6 addresses. IPv4 family sockets can be bound only to IPv4 addresses only.

Listen on a given socket.

This successful operation returns Listener consuming this structure. The backlog parameter determines the length of the listen queue.

Connect to SCTP Server.

The successful operation returns ConnectedSocket consuming this structure.

SCTP Specific extension for binding to multiple addresses on a given socket. See Section 9.1 RFC 6458.

sctp_bindx API can be used to add or remove additional addresses to an unbound (ie newly created socket) or a socket that is already bound to address(es) (flag Add). It is also possible to ‘remove’ bound addresses from the socket using the same API (flag Remove). See the section 9.1 for more details about the semantics of which addresses are acceptable for addition or removoal using the sctp_bindx API.

Connect to a multi-homed Peer. See Section 9.9 RFC 6458

An Unbound socket when connected to a remote end would return a tuple containing a connected socket and an associaton ID. In the case of One-to-many sockets, this association ID can be used for subscribing to SCTP events and requesting additional anciliary control data on the socket.

👎Deprecated since 0.2.2: use sctp_subscribe_events instead.

Subscribe to a given SCTP Event on the given socket. See section 6.2.1 of RFC6458.

SCTP allows receiving notifications about the changes to SCTP associations etc from the user space. For these notification events to be received, this API is used to subsribe for the events while receiving the data on the SCTP Socket.

👎Deprecated since 0.2.2: use sctp_unsubscribe_events instead.

Unsubscribe from a given SCTP Event on the given socket. See section 6.2.1 of RFC6458.

See sctp_subscribe_event for further details.

Subscribe to SCTP Events. See section 6.2.1 of RFC6458.

SCTP allows receiving notifications about the changes to SCTP associations etc from the user space. For these notification events to be received, this API is used to subsribe for the events while receiving the data on the SCTP Socket.

Unsubscribe from a given SCTP Event on the given socket. See section 6.2.1 of RFC6458.

See sctp_subscribe_events for further details.

Setup parameters for a new association.

To specify custom parameters for a new association this API is used.

Request to receive RcvInfo ancillary data.

SCTP allows receiving ancillary data about the curent data received on the given socket. This API is used to obtain receive side additional info when the data is to be received.

Request to receive NxtInfo ancillary data.

SCTP allows receiving ancillary data about the curent data received on the given socket. This API is used to obtain information about the next datagram that will be received.

Get the status of the connection associated with the association ID.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.