aboutsummaryrefslogtreecommitdiffstats
path: root/src/ranch_listener_sup.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2013-11-26 14:22:10 +0100
committerLoïc Hoguin <[email protected]>2013-11-26 14:22:10 +0100
commit99242f3342f24f447e487aee6cbf909fcfce9fdb (patch)
tree7174e2ca193efee7a9d8b48959566b44aa56c642 /src/ranch_listener_sup.erl
parent95bb778f57f55e02bd7fe6f86dfbb4f0a94d6ade (diff)
downloadranch-99242f3342f24f447e487aee6cbf909fcfce9fdb.tar.gz
ranch-99242f3342f24f447e487aee6cbf909fcfce9fdb.tar.bz2
ranch-99242f3342f24f447e487aee6cbf909fcfce9fdb.zip
Add accept_ack on all transports and ack_timeout transport option
Doing this in the connection process allows us to free acceptors to start accepting more connections quicker, especially under load.
Diffstat (limited to 'src/ranch_listener_sup.erl')
-rw-r--r--src/ranch_listener_sup.erl3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ranch_listener_sup.erl b/src/ranch_listener_sup.erl
index 56df6b7..b0a6bd5 100644
--- a/src/ranch_listener_sup.erl
+++ b/src/ranch_listener_sup.erl
@@ -36,10 +36,11 @@ start_link(Ref, NbAcceptors, Transport, TransOpts, Protocol, ProtoOpts) ->
%% supervisor.
init({Ref, NbAcceptors, Transport, TransOpts, Protocol}) ->
+ AckTimeout = proplists:get_value(ack_timeout, TransOpts, 5000),
ConnType = proplists:get_value(connection_type, TransOpts, worker),
ChildSpecs = [
{ranch_conns_sup, {ranch_conns_sup, start_link,
- [Ref, ConnType, Transport, Protocol]},
+ [Ref, ConnType, Transport, AckTimeout, Protocol]},
permanent, infinity, supervisor, [ranch_conns_sup]},
{ranch_acceptors_sup, {ranch_acceptors_sup, start_link,
[Ref, NbAcceptors, Transport, TransOpts]},