Branched-off Association
Applications can branch an established association on a one-to-many sockets model into a separate socket and file descriptor. A separate socket and file descriptor is useful for applications that have a number of sporadic message senders or receivers that need to remain under the original one-to-many sockets model. The application branches off associations that carry high volume data traffic into separate socket descriptors. The application uses the sctp_peeloff
() call to branch off an association into a separate socket. The new socket is a one-to-one socket model. The syntax for the sctp_peeloff
() function is as follows:
int sctp_peeloff(sock, id); int sock, sctp_assoc_t id;
-
sock
-
The original one-to-many sockets model descriptor returned from the
socket
() system call. -
id
-
The identifier of the association to branch off to a separate file descriptor.
The sctp_peeloff
() function fails and returns EOPTNOTSUPP
if the socket descriptor passed in the sock
parameter is not a one-to-many SCTP sockets model. The sctp_peeloff
() function fails and returns EINVAL
if the value of id
is zero or if the value of id
is greater than the maximum number of associations for the socket descriptor passed in the sock
parameter. The sctp_peeloff
() function fails and returns EMFILE
if the function fails to create a new user file descriptor or file structure.