From e10e241fe9d368da93a4893368f5989c1cfdc20c Mon Sep 17 00:00:00 2001 From: Turtle Date: Fri, 4 Jun 2021 01:01:42 +0800 Subject: [PATCH] chore: export function --- src/emqx.appup.src | 6 ++++++ src/emqx_channel.erl | 13 ++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/emqx.appup.src b/src/emqx.appup.src index a10c1d209..82c52e46c 100644 --- a/src/emqx.appup.src +++ b/src/emqx.appup.src @@ -79,6 +79,9 @@ {load_module, emqx_trie, soft_purge, soft_purge, []}, {load_module, emqx_router, soft_purge, soft_purge, [emqx_trie]} ]}, + {<<"4.2.6">>, [ + {load_module, emqx_channel, brutal_purge, soft_purge, []} + ]}, {<<".*">>, []} ], [ @@ -159,6 +162,9 @@ {load_module, emqx_trie, soft_purge, soft_purge, [emqx_router]}, {load_module, emqx_router, soft_purge, soft_purge, []} ]}, + {<<"4.2.6">>, [ + {load_module, emqx_channel, brutal_purge, soft_purge, []} + ]}, {<<".*">>, []} ] }. diff --git a/src/emqx_channel.erl b/src/emqx_channel.erl index 679d2c72a..659d0eb08 100644 --- a/src/emqx_channel.erl +++ b/src/emqx_channel.erl @@ -49,7 +49,10 @@ ]). %% Export for emqx_sn --export([do_deliver/2]). +-export([ do_deliver/2 + , ensure_keepalive/2 + , clear_keepalive/1 + ]). %% Exports for CT -export([set_field/3]). @@ -1512,6 +1515,14 @@ ensure_keepalive_timer(Interval, Channel = #channel{clientinfo = #{zone := Zone} Keepalive = emqx_keepalive:init(round(timer:seconds(Interval) * Backoff)), ensure_timer(alive_timer, Channel#channel{keepalive = Keepalive}). +clear_keepalive(Channel = #channel{timers = Timers}) -> + case maps:get(alive_timer, Timers, undefined) of + undefined -> + Channel; + TRef -> + emqx_misc:cancel_timer(TRef), + Channel#channel{timers = maps:without([alive_timer], Timers)} + end. %%-------------------------------------------------------------------- %% Maybe Resume Session