Package com.sun.nio.sctp

A Java API for Stream Control Transport Protocol.

The Stream Control Transport Protocol (SCTP) is a reliable, message-oriented, transport protocol existing at an equivalent level with UDP (User Datagram Protocol) and TCP (Transmission Control Protocol). SCTP is session oriented and an association between the endpoints must be established before any data can be transmitted.

SCTP has direct support for multi-homing, meaning than an endpoint may be represented by more than one address and each address may be used for sending and receiving data, thus providing network redundancy. The connection between two endpoints is referred to as an association between those endpoints. Endpoints can exchange a list of addresses during association setup. One address is designated as the primary address, this is the default address that the peer will use for sending data. A single port number is used across the entire address list at an endpoint for a specific session.

SCTP is message based. I/O operations operate upon messages and message boundaries are preserved. Each association may support multiple independent logical streams. Each stream represents a sequence of messages within a single association and streams are independent of one another, meaning that stream identifiers and sequence numbers are included in the data packet to allow sequencing of messages on a per-stream basis.

This package provides two programming model styles. The one-to-one style supported by SctpChannel and SctpServerChannel, and the one-to-many style supported by SctpMultiChannel. The semantics of the one-to-one style interface are very similar to TCP. An SctpChannel can only control one SCTP association. The semantics of the one-to-many style interface are very similar to UDP. An SctpMutliChannel can control multiple SCTP associations.

Applications can send and receive per-message ancillary information through MessageInfo. For example, the stream number that the message it is to be sent or received from. The SCTP stack is event driven and applications can receive notifications of certain SCTP events by invoking the receive method of the SCTP channel with an appropriate notification handler.

The SCTP protocol is defined by RFC4960, and the optional extension for Dynamic Address Reconfiguration is defined by RFC5061.

Since:
1.7
Interface Description
Notification

A notification from the SCTP stack.

NotificationHandler<T>

A handler for consuming notifications from the SCTP stack.

SctpSocketOption<T>

A socket option associated with an SCTP channel.

Class Description
AbstractNotificationHandler<T>

A skeletal handler that consumes notifications and continues.

Association

A class that represents an SCTP association.

AssociationChangeNotification

Notification emitted when an association has either opened or closed.

MessageInfo

The MessageInfo class provides additional ancillary information about messages.

PeerAddressChangeNotification

Notification emitted when a destination address on a multi-homed peer encounters a change.

SctpChannel

A selectable channel for message-oriented connected SCTP sockets.

SctpMultiChannel

A selectable channel for message-oriented SCTP sockets.

SctpServerChannel

A selectable channel for message-oriented listening SCTP sockets.

SctpStandardSocketOptions

SCTP channels supports the socket options defined by this class (as well as those listed in the particular channel class) and may support additional Implementation specific socket options.

SctpStandardSocketOptions.InitMaxStreams

This class is used to set the maximum number of inbound/outbound streams used by the local endpoint during association initialization.

SendFailedNotification

Notification emitted when a send failed notification has been received.

ShutdownNotification

Notification emitted when a peers shutdowns an the association.

Enum Description
AssociationChangeNotification.AssocChangeEvent

Defines the type of change event that happened to the association.

HandlerResult

Defines notification handler results.

PeerAddressChangeNotification.AddressChangeEvent

Defines the type of address change event that occurred to the destination address on a multi-homed peer when it encounters a change of interface details.

Exception Description
IllegalReceiveException

Unchecked exception thrown when an attempt is made to invoke the receive method of SctpChannel or SctpMultiChannel from a notification handler.

IllegalUnbindException

Unchecked exception thrown when an attempt is made to remove an address that is not bound to the channel, or remove an address from a channel that has only one address bound to it.

InvalidStreamException

Unchecked exception thrown when an attempt is made to send a message to an invalid stream.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.sctp/com/sun/nio/sctp/package-summary.html