From ee205b29f7a2bb92aeef55ca88fccc8c91f22ec0 Mon Sep 17 00:00:00 2001
From: Hans Bolinder
Record definitions for the
- -include_lib("kernel/include/inet_sctp.hrl").+
-include_lib("kernel/include/inet_sctp.hrl").
These record definitions use the "new" spelling 'adaptation', not the deprecated 'adaption', regardless of which spelling the underlying C API uses.
@@ -152,8 +151,7 @@ The result of- #sctp_assoc_change{ +#sctp_assoc_change{ state = atom(), error = atom(), outbound_streams = integer(), @@ -163,8 +161,7 @@The number of outbound and inbound streams can be set by giving an
-sctp_initmsg option toconnect as in:- connect(Socket , Ip,Port , +connect(Socket , Ip,Port , [{sctp_initmsg,#sctp_initmsg{num_ostreams=OutStreams, max_instreams=MaxInStreams}}])All options
are set on the socket before the @@ -340,8 +337,7 @@ Opt
#sctp_assoc_change{} ;- -
- #sctp_paddr_change{ +#sctp_paddr_change{ addr = {ip_address(),port()}, state = atom(), error = integer(), @@ -378,8 +374,7 @@ converted into a string usingerror_string/1 .- -
- #sctp_send_failed{ +#sctp_send_failed{ flags = true | false, error = integer(), info = #sctp_sndrcvinfo{}, @@ -399,8 +394,7 @@ returned byrecv/* .- -
- #sctp_adaptation_event{ +#sctp_adaptation_event{ adaptation_ind = integer(), assoc_id = assoc_id() }@@ -411,8 +405,7 @@ the Erlang/SCTP binding, this event is disabled by default.- -
- #sctp_pdapi_event{ +#sctp_pdapi_event{ indication = sctp_partial_delivery_aborted, assoc_id = assoc_id() }@@ -469,7 +462,7 @@- + {mode, list|binary} or justlist orbinary .{mode, list|binary} or justlist orbinary Determines the type of data returned from
gen_sctp:recv/1,2 .@@ -562,8 +555,7 @@ {sctp_rtoinfo, #sctp_rtoinfo{}} - -
- #sctp_rtoinfo{ +#sctp_rtoinfo{ assoc_id = assoc_id(), initial = integer(), max = integer(), @@ -577,8 +569,7 @@{sctp_associnfo, #sctp_assocparams{}} - -
- #sctp_assocparams{ +#sctp_assocparams{ assoc_id = assoc_id(), asocmaxrxt = integer(), number_peer_destinations = integer(), @@ -593,8 +584,7 @@{sctp_initmsg, #sctp_initmsg{}} - -
-- #sctp_initmsg{ +#sctp_initmsg{ num_ostreams = integer(), max_instreams = integer(), max_attempts = integer(), @@ -622,7 +612,6 @@ for establishing an association.{sctp_autoclose, integer() >= 0} - @@ -657,8 +646,7 @@
{sctp_primary_addr, #sctp_prim{}} - -
- #sctp_prim{ +#sctp_prim{ assoc_id = assoc_id(), addr = {IP, Port} } @@ -671,8 +659,7 @@{sctp_set_peer_primary_addr, #sctp_setpeerprim{}} - -
-- #sctp_setpeerprim{ +#sctp_setpeerprim{ assoc_id = assoc_id(), addr = {IP, Port} } @@ -686,8 +673,7 @@{sctp_adaptation_layer, #sctp_setadaptation{}} - - #sctp_setadaptation{ +#sctp_setadaptation{ adaptation_ind = integer() }When set, requests that the local endpoint uses the value given by @@ -698,8 +684,7 @@
{sctp_peer_addr_params, #sctp_paddrparams{}} - -
-- #sctp_paddrparams{ +#sctp_paddrparams{ assoc_id = assoc_id(), address = {IP, Port}, hbinterval = integer(), @@ -756,16 +741,13 @@
sackdelay_disable : disable SAC delay.{sctp_default_send_param, #sctp_sndrcvinfo{}} - -
- - #sctp_sndrcvinfo{ +#sctp_sndrcvinfo{ stream = integer(), ssn = integer(), flags = list(), @@ -807,20 +789,17 @@ association, with flushing of unsent data.Other fields are rarely used. See
-RFC2960 andSockets API Extensions for SCTP for full information.{sctp_events, #sctp_event_subscribe{}} - - #sctp_event_subscribe{ +#sctp_event_subscribe{ data_io_event = true | false, association_event = true | false, address_event = true | false, @@ -845,8 +824,7 @@{sctp_delayed_ack_time, #sctp_assoc_value{}} - -
- #sctp_assoc_value{ +#sctp_assoc_value{ assoc_id = assoc_id(), assoc_value = integer() }@@ -857,8 +835,7 @@{sctp_status, #sctp_status{}} - -
-- #sctp_status{ +#sctp_status{ assoc_id = assoc_id(), state = atom(), rwnd = integer(), @@ -930,14 +907,12 @@ address (see below for the format of#sctp_paddrinfo{} ).{sctp_get_peer_addr_info, #sctp_paddrinfo{}} - - #sctp_paddrinfo{ +#sctp_paddrinfo{ assoc_id = assoc_id(), address = {IP, Port}, state = inactive | active, @@ -968,8 +943,7 @@Example of an Erlang SCTP Server which receives SCTP messages and prints them on the standard output:
-- -module(sctp_server). +-module(sctp_server). -export([server/0,server/1,server/2]). -include_lib("kernel/include/inet.hrl"). @@ -998,7 +972,6 @@ io:format("Received: ~p~n", [Data]) end, server_loop(S).-Example of an Erlang SCTP Client which interacts with the above Server. @@ -1008,8 +981,7 @@ over Stream 5 fails. The client then
-abort s the association, which results in the corresponding Event being received on the Server side.- -module(sctp_client). +-module(sctp_client). -export([client/0, client/1, client/2]). -include_lib("kernel/include/inet.hrl"). @@ -1042,13 +1014,11 @@ timer:sleep(1000), gen_sctp:close(S).-- -- cgit v1.2.3
A very simple Erlang SCTP Client which uses the connect_init API.
---module(ex3). +-module(ex3). -export([client/4]). -include_lib("kernel/include/inet.hrl"). @@ -1101,7 +1071,6 @@ client_loop(S, Peer1, Port1, AssocId1, Peer2, Port2, AssocId2) -> ok end.-