From 6c7b7741d530b2dcaf8f33265c222dca9632cae2 Mon Sep 17 00:00:00 2001 From: William Yang Date: Mon, 26 Feb 2024 23:05:49 +0100 Subject: [PATCH] feat(quic): mqtt 5.0 graceful shutdown in takeover --- apps/emqx/src/emqx_quic_stream.erl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/emqx/src/emqx_quic_stream.erl b/apps/emqx/src/emqx_quic_stream.erl index 09244d67f..f27009888 100644 --- a/apps/emqx/src/emqx_quic_stream.erl +++ b/apps/emqx/src/emqx_quic_stream.erl @@ -149,7 +149,8 @@ fast_close({quic, _Conn, Stream, _Info}) -> ok. shutdown({quic, _Conn, Stream, _Info}, read_write) -> - quicer:async_shutdown_stream(Stream). + %% A graceful shutdown means both side shutdown the read and write gracefully. + quicer:shutdown_stream(Stream, ?QUIC_STREAM_SHUTDOWN_FLAG_GRACEFUL, 1, 5000). -spec ensure_ok_or_exit(atom(), list(term())) -> term(). ensure_ok_or_exit(Fun, Args = [Sock | _]) when is_atom(Fun), is_list(Args) ->