From b4a9d663aee800141cbfbcaba0fe7d5935b269c3 Mon Sep 17 00:00:00 2001 From: William Yang Date: Wed, 16 Jun 2021 15:08:56 +0200 Subject: [PATCH] feat(quic): quic conn idle_timeout default 1min --- apps/emqx/src/emqx_listeners.erl | 10 +++++----- apps/emqx/src/emqx_schema.erl | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/emqx/src/emqx_listeners.erl b/apps/emqx/src/emqx_listeners.erl index 6ee07e17b..c7d42e2e4 100644 --- a/apps/emqx/src/emqx_listeners.erl +++ b/apps/emqx/src/emqx_listeners.erl @@ -147,17 +147,17 @@ start_listener(quic, ListenOn, Options) -> quicer_nif:open_lib(), quicer_nif:reg_open(), SSLOpts = proplists:get_value(ssl_options, Options), + DefAcceptors = erlang:system_info(schedulers_online) * 8, ListenOpts = [ {cert, proplists:get_value(certfile, SSLOpts)} , {key, proplists:get_value(keyfile, SSLOpts)} , {alpn, ["mqtt"]} - , {peer_unidi_stream_count, 1} - , {peer_bidi_stream_count, 10} - , {conn_acceptors, 32} + , {conn_acceptors, proplists:get_value(acceptors, Options, DefAcceptors)} + , {idle_timeout_ms, proplists:get_value(idle_timeout, Options, 60000)} ], ConnectionOpts = [ {conn_callback, emqx_quic_connection} - , {idle_timeout_ms, 5000} , {peer_unidi_stream_count, 1} - , {peer_bidi_stream_count, 10}], + , {peer_bidi_stream_count, 10} + ], StreamOpts = [], quicer:start_listener('mqtt:quic', ListenOn, {ListenOpts, ConnectionOpts, StreamOpts}). diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl index f8a5de183..2660fa668 100644 --- a/apps/emqx/src/emqx_schema.erl +++ b/apps/emqx/src/emqx_schema.erl @@ -382,6 +382,7 @@ fields("quic_listener_settings") -> [ {"certfile", t(string(), undefined, undefined)} , {"keyfile", t(string(), undefined, undefined)} , {"ciphers", t(comma_separated_list(), undefined, "TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256")} + , {"idle_timeout", t(duration(), undefined, 60000)} | fields("listener_settings")], Unsupported);