diff options
author | Loïc Hoguin <[email protected]> | 2015-08-17 18:18:07 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2015-08-17 18:51:55 +0200 |
commit | d440a2c1d26e4f0770a66279de151806b1ad5ac2 (patch) | |
tree | 774bbcf04a147e10284454a05aa8daecf04d3ec2 /src | |
parent | f5f480c5750b76b662430b62ef85ebceea5aadc6 (diff) | |
download | ranch-d440a2c1d26e4f0770a66279de151806b1ad5ac2.tar.gz ranch-d440a2c1d26e4f0770a66279de151806b1ad5ac2.tar.bz2 ranch-d440a2c1d26e4f0770a66279de151806b1ad5ac2.zip |
Don't pass Ranch-specific options down to transports
Should fix Dialyzer issues. The options are now also
documented in the Ranch module, and there's new ranch:opt(),
ranch_tcp:opt() and ranch_ssl:opt() for use in third party
code.
Diffstat (limited to 'src')
-rw-r--r-- | src/ranch.erl | 7 | ||||
-rw-r--r-- | src/ranch_acceptors_sup.erl | 7 | ||||
-rw-r--r-- | src/ranch_ssl.erl | 7 | ||||
-rw-r--r-- | src/ranch_tcp.erl | 7 |
4 files changed, 23 insertions, 5 deletions
diff --git a/src/ranch.erl b/src/ranch.erl index 087d032..fc9bad3 100644 --- a/src/ranch.erl +++ b/src/ranch.erl @@ -31,6 +31,13 @@ -type max_conns() :: non_neg_integer() | infinity. -export_type([max_conns/0]). +-type opt() :: {ack_timeout, timeout()} + | {connection_type, worker | supervisor} + | {max_connections, max_conns()} + | {shutdown, timeout() | brutal_kill} + | {socket, any()}. +-export_type([opt/0]). + -type ref() :: any(). -export_type([ref/0]). diff --git a/src/ranch_acceptors_sup.erl b/src/ranch_acceptors_sup.erl index 51b0129..b8c82df 100644 --- a/src/ranch_acceptors_sup.erl +++ b/src/ranch_acceptors_sup.erl @@ -27,7 +27,12 @@ init([Ref, NbAcceptors, Transport, TransOpts]) -> ConnsSup = ranch_server:get_connections_sup(Ref), LSocket = case proplists:get_value(socket, TransOpts) of undefined -> - {ok, Socket} = Transport:listen(TransOpts), + TransOpts2 = proplists:delete(ack_timeout, + proplists:delete(connection_type, + proplists:delete(max_connections, + proplists:delete(shutdown, + proplists:delete(socket, TransOpts))))), + {ok, Socket} = Transport:listen(TransOpts2), Socket; Socket -> Socket diff --git a/src/ranch_ssl.erl b/src/ranch_ssl.erl index a353c97..acfe38d 100644 --- a/src/ranch_ssl.erl +++ b/src/ranch_ssl.erl @@ -35,7 +35,7 @@ -export([shutdown/2]). -export([close/1]). --type opts() :: [{backlog, non_neg_integer()} +-type opt() :: {backlog, non_neg_integer()} | {cacertfile, string()} | {cacerts, [Der::binary()]} | {cert, Der::binary()} @@ -64,7 +64,10 @@ | {send_timeout_close, boolean()} | {verify, ssl:verify_type()} | {verify_fun, {fun(), InitialUserState::term()}} - | {versions, [atom()]}]. + | {versions, [atom()]}. +-export_type([opt/0]). + +-type opts() :: [opt()]. -export_type([opts/0]). name() -> ssl. diff --git a/src/ranch_tcp.erl b/src/ranch_tcp.erl index e3bcf81..51b10ba 100644 --- a/src/ranch_tcp.erl +++ b/src/ranch_tcp.erl @@ -35,7 +35,7 @@ -export([shutdown/2]). -export([close/1]). --type opts() :: [{backlog, non_neg_integer()} +-type opt() :: {backlog, non_neg_integer()} | {ip, inet:ip_address()} | {linger, {boolean(), non_neg_integer()}} | {nodelay, boolean()} @@ -43,7 +43,10 @@ | {raw, non_neg_integer(), non_neg_integer(), non_neg_integer() | binary()} | {send_timeout, timeout()} - | {send_timeout_close, boolean()}]. + | {send_timeout_close, boolean()}. +-export_type([opt/0]). + +-type opts() :: [opt()]. -export_type([opts/0]). name() -> tcp. |