From abd58bb23553585a139dccac6275e0efd4385a29 Mon Sep 17 00:00:00 2001 From: William Yang Date: Wed, 25 Aug 2021 09:22:18 +0200 Subject: [PATCH] feat(quic): idle_timeout transport idle timeout should be at least 3x mqtt idle_timeout --- apps/emqx/src/emqx_listeners.erl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/emqx/src/emqx_listeners.erl b/apps/emqx/src/emqx_listeners.erl index 411caeea9..3c132f335 100644 --- a/apps/emqx/src/emqx_listeners.erl +++ b/apps/emqx/src/emqx_listeners.erl @@ -183,8 +183,10 @@ do_start_listener(quic, ListenerName, #{bind := ListenOn} = Opts) -> , {key, maps:get(keyfile, Opts)} , {alpn, ["mqtt"]} , {conn_acceptors, maps:get(acceptors, Opts, DefAcceptors)} - , {idle_timeout_ms, emqx_config:get_zone_conf(zone(Opts), - [mqtt, idle_timeout])} + , {idle_timeout_ms, lists:max([ + emqx_config:get_zone_conf(zone(Opts), [mqtt, idle_timeout]) * 3 + , timer:seconds(maps:get(idle_timeout, Opts))] + )} ], ConnectionOpts = #{ conn_callback => emqx_quic_connection , peer_unidi_stream_count => 1