From 9d2f6503afcd81acd260e9db51378d3b2f4557df Mon Sep 17 00:00:00 2001 From: lafirest Date: Wed, 1 Sep 2021 12:34:02 +0800 Subject: [PATCH] fix(emqx_retainer): fix function clause error --- apps/emqx_retainer/src/emqx_retainer.erl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/emqx_retainer/src/emqx_retainer.erl b/apps/emqx_retainer/src/emqx_retainer.erl index 3fab5958d..8e14dd21d 100644 --- a/apps/emqx_retainer/src/emqx_retainer.erl +++ b/apps/emqx_retainer/src/emqx_retainer.erl @@ -74,9 +74,11 @@ %%-------------------------------------------------------------------- %% Hook API %%-------------------------------------------------------------------- +-spec on_session_subscribed(_, _, emqx_types:subopts(), _) -> any(). on_session_subscribed(_, _, #{share := ShareName}, _) when ShareName =/= undefined -> ok; -on_session_subscribed(_, Topic, #{rh := Rh, is_new := IsNew}, Context) -> +on_session_subscribed(_, Topic, #{rh := Rh} = Opts, Context) -> + IsNew = maps:get(is_new, Opts, true), case Rh =:= 0 orelse (Rh =:= 1 andalso IsNew) of true -> dispatch(Context, Topic); _ -> ok