fixeria has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/39864?usp=email )
Change subject: sctp_{client,server}: disable Nagle by setting sctp_nodelay ......................................................................
sctp_{client,server}: disable Nagle by setting sctp_nodelay
The Nagle's algorithm [1] works by combining a number of small outgoing messages and sending them all at once. It's enabled by default when opening a socket. While it helps to reduce the network congestion by reducing the number of outgoing packets, it comes at the cost of increased delay. Disable it by setting sctp_nodelay to true.
[1] https://en.wikipedia.org/wiki/Nagle%27s_algorithm
Change-Id: I6058a593a617d67d479eea0673d899a5da2d49bf Related: SYS#7288 --- M src/sctp_client.erl M src/sctp_server.erl 2 files changed, 2 insertions(+), 0 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved
diff --git a/src/sctp_client.erl b/src/sctp_client.erl index 5875f61..de3fefb 100644 --- a/src/sctp_client.erl +++ b/src/sctp_client.erl @@ -101,6 +101,7 @@ connect({LocAddr, RemAddr}, Port) -> {ok, Sock} = gen_sctp:open([{ip, LocAddr}, {type, seqpacket}, + {sctp_nodelay, true}, {active, true}]), gen_sctp:connect_init(Sock, RemAddr, Port, []), {ok, Sock}. diff --git a/src/sctp_server.erl b/src/sctp_server.erl index 27752d8..e9066ac 100644 --- a/src/sctp_server.erl +++ b/src/sctp_server.erl @@ -111,6 +111,7 @@ {port, BindPort}, {type, seqpacket}, {reuseaddr, true}, + {sctp_nodelay, true}, {active, true}]), ?LOG_INFO("SCTP server listening on ~w:~w", [BindAddr, BindPort]), ok = gen_sctp:listen(Sock, true),