chore(mqttsn): update appup.src

This commit is contained in:
JianBo He 2022-03-14 18:36:23 +08:00
parent fcf1178f3b
commit f8b7b9415d
2 changed files with 49 additions and 10 deletions

View File

@ -1,26 +1,44 @@
%% -*- mode: erlang -*-
{VSN,
[
{<<"4\\.3\\.[4-5]">>,[
{"4.3.5",[
{load_module,emqx_sn_frame,brutal_purge,soft_purge,[]},
{load_module,emqx_sn_gateway,brutal_purge,soft_purge,[]}
{update,emqx_sn_gateway,{advance,["4.3.5"]}}
]},
{<<"4.3.[2-3]">>,[
{"4.3.4",[
{load_module,emqx_sn_frame,brutal_purge,soft_purge,[]},
{update,emqx_sn_gateway,{advance,["4.3.4"]}}
]},
{"4.3.3",[
{load_module,emqx_sn_registry,brutal_purge,soft_purge,[]},
{load_module,emqx_sn_frame,brutal_purge,soft_purge,[]},
{load_module,emqx_sn_gateway,brutal_purge,soft_purge,[]}
{update,emqx_sn_gateway,{advance, ["4.3.3"]}}
]},
{"4.3.2",[
{load_module,emqx_sn_registry,brutal_purge,soft_purge,[]},
{load_module,emqx_sn_frame,brutal_purge,soft_purge,[]},
{update,emqx_sn_gateway,{advance, ["4.3.2"]}}
]},
{<<"4\\.3\\.[0-1]">>, [{restart_application,emqx_sn}]}
],
[
{<<"4\\.3\\.[4-5]">>,[
{"4.3.5",[
{load_module,emqx_sn_frame,brutal_purge,soft_purge,[]},
{load_module,emqx_sn_gateway,brutal_purge,soft_purge,[]}
{update,emqx_sn_gateway,{advance,["4.3.5"]}}
]},
{<<"4.3.[2-3]">>,[
{"4.3.4",[
{load_module,emqx_sn_frame,brutal_purge,soft_purge,[]},
{update,emqx_sn_gateway,{advance,["4.3.4"]}}
]},
{"4.3.3",[
{load_module,emqx_sn_registry,brutal_purge,soft_purge,[]},
{load_module,emqx_sn_frame,brutal_purge,soft_purge,[]},
{load_module,emqx_sn_gateway,brutal_purge,soft_purge,[]}
{update,emqx_sn_gateway,{advance, ["4.3.3"]}}
]},
{"4.3.2",[
{load_module,emqx_sn_registry,brutal_purge,soft_purge,[]},
{load_module,emqx_sn_frame,brutal_purge,soft_purge,[]},
{update,emqx_sn_gateway,{advance, ["4.3.2"]}}
]},
{<<"4\\.3\\.[0-1]">>, [{restart_application,emqx_sn}]}
]}.

View File

@ -683,8 +683,29 @@ terminate(Reason, _StateName, #state{channel = Channel}) ->
emqx_channel:terminate(Reason, Channel),
ok.
code_change(_Vsn, StateName, State, _Extra) ->
{ok, StateName, State}.
%% in the emqx_sn:v4.3.6, we have added two new fields in the state last:
%% - waiting_sync_topics
%% - previous_outgoings_and_state
code_change({down, _Vsn}, StateName, State, [ToVsn]) ->
case re:run(ToVsn, "4\\.3\\.[2-5]") of
{match, _} ->
NState0 = lists:droplast(lists:droplast(tuple_to_list(State))),
NState = list_to_tuple(lists:reverse(NState0)),
{ok, StateName, NState};
_ ->
{ok, StateName, State}
end;
code_change(_Vsn, StateName, State, [FromVsn]) ->
case re:run(FromVsn, "4\\.3\\.[2-5]") of
{match, _} ->
NState = list_to_tuple(
tuple_to_list(State) ++ [[], undefined]
),
{ok, StateName, NState};
_ ->
{ok, StateName, State}
end.
%%--------------------------------------------------------------------
%% Handle Call/Info