From 3adbe65a5846e5f241757db39a139e1b05dfea3d Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Thu, 8 Feb 2024 17:41:06 +0100 Subject: [PATCH] refactor(sessds): Unify logic for QoS 1 and 2 --- apps/emqx/src/emqx_persistent_session_ds.erl | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/apps/emqx/src/emqx_persistent_session_ds.erl b/apps/emqx/src/emqx_persistent_session_ds.erl index 856210331..7494aca95 100644 --- a/apps/emqx/src/emqx_persistent_session_ds.erl +++ b/apps/emqx/src/emqx_persistent_session_ds.erl @@ -907,17 +907,11 @@ do_enqueue_transient(Msg = #message{qos = Qos}, Session = #{inflight := Inflight ?QOS_0 -> S = S0, Inflight = emqx_persistent_session_ds_inflight:push({undefined, Msg}, Inflight0); - ?QOS_1 -> + QoS when QoS =:= ?QOS_1; QoS =:= ?QOS_2 -> SeqNo = inc_seqno( - ?QOS_1, emqx_persistent_session_ds_state:get_seqno(?next(?QOS_1), S0) + QoS, emqx_persistent_session_ds_state:get_seqno(?next(QoS), S0) ), - S = emqx_persistent_session_ds_state:put_seqno(?next(?QOS_1), SeqNo, S0), - Inflight = emqx_persistent_session_ds_inflight:push({SeqNo, Msg}, Inflight0); - ?QOS_2 -> - SeqNo = inc_seqno( - ?QOS_2, emqx_persistent_session_ds_state:get_seqno(?next(?QOS_2), S0) - ), - S = emqx_persistent_session_ds_state:put_seqno(?next(?QOS_2), SeqNo, S0), + S = emqx_persistent_session_ds_state:put_seqno(?next(QoS), SeqNo, S0), Inflight = emqx_persistent_session_ds_inflight:push({SeqNo, Msg}, Inflight0) end, Session#{