Merge pull request #7087 from emqx/fix-server-keepalive/e4.2.11
fix(frame): server_keepalive only for MQTT v5.0
This commit is contained in:
commit
b04160e09d
|
@ -149,6 +149,7 @@
|
||||||
]},
|
]},
|
||||||
{<<"4.2.9">>, [
|
{<<"4.2.9">>, [
|
||||||
{load_module, emqx_frame, brutal_purge, soft_purge, []},
|
{load_module, emqx_frame, brutal_purge, soft_purge, []},
|
||||||
|
{load_module, emqx_channel, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_connection, brutal_purge, soft_purge, []},
|
{load_module, emqx_connection, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_ws_connection, brutal_purge, soft_purge, []},
|
{load_module, emqx_ws_connection, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
|
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
|
||||||
|
@ -157,6 +158,7 @@
|
||||||
{load_module, emqx_os_mon, brutal_purge, soft_purge, []}
|
{load_module, emqx_os_mon, brutal_purge, soft_purge, []}
|
||||||
]},
|
]},
|
||||||
{<<"4.2.10">>, [
|
{<<"4.2.10">>, [
|
||||||
|
{load_module, emqx_channel, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_app, brutal_purge, soft_purge, []},
|
{load_module, emqx_app, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
|
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_alarm, brutal_purge, soft_purge, []}
|
{load_module, emqx_alarm, brutal_purge, soft_purge, []}
|
||||||
|
@ -311,6 +313,7 @@
|
||||||
]},
|
]},
|
||||||
{<<"4.2.9">>, [
|
{<<"4.2.9">>, [
|
||||||
{load_module, emqx_frame, brutal_purge, soft_purge, []},
|
{load_module, emqx_frame, brutal_purge, soft_purge, []},
|
||||||
|
{load_module, emqx_channel, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_connection, brutal_purge, soft_purge, []},
|
{load_module, emqx_connection, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_ws_connection, brutal_purge, soft_purge, []},
|
{load_module, emqx_ws_connection, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
|
{load_module, emqx_limiter, brutal_purge, soft_purge, []},
|
||||||
|
@ -319,6 +322,7 @@
|
||||||
{load_module, emqx_alarm, brutal_purge, soft_purge, []}
|
{load_module, emqx_alarm, brutal_purge, soft_purge, []}
|
||||||
]},
|
]},
|
||||||
{<<"4.2.10">>, [
|
{<<"4.2.10">>, [
|
||||||
|
{load_module, emqx_channel, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_app, brutal_purge, soft_purge, []},
|
{load_module, emqx_app, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
|
{load_module, emqx_os_mon, brutal_purge, soft_purge, []},
|
||||||
{load_module, emqx_alarm, brutal_purge, soft_purge, []}
|
{load_module, emqx_alarm, brutal_purge, soft_purge, []}
|
||||||
|
|
|
@ -1455,11 +1455,13 @@ enrich_connack_caps(AckProps, _Channel) -> AckProps.
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
%% Enrich server keepalive
|
%% Enrich server keepalive
|
||||||
|
|
||||||
enrich_server_keepalive(AckProps, #channel{clientinfo = #{zone := Zone}}) ->
|
enrich_server_keepalive(AckProps, ?IS_MQTT_V5 = #channel{clientinfo = #{zone := Zone}}) ->
|
||||||
case emqx_zone:server_keepalive(Zone) of
|
case emqx_zone:server_keepalive(Zone) of
|
||||||
undefined -> AckProps;
|
undefined -> AckProps;
|
||||||
Keepalive -> AckProps#{'Server-Keep-Alive' => Keepalive}
|
Keepalive -> AckProps#{'Server-Keep-Alive' => Keepalive}
|
||||||
end.
|
end;
|
||||||
|
|
||||||
|
enrich_server_keepalive(AckProps, _Channel) -> AckProps.
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
%% Enrich response information
|
%% Enrich response information
|
||||||
|
@ -1505,7 +1507,7 @@ init_alias_maximum(#mqtt_packet_connect{proto_ver = ?MQTT_PROTO_V5,
|
||||||
init_alias_maximum(_ConnPkt, _ClientInfo) -> undefined.
|
init_alias_maximum(_ConnPkt, _ClientInfo) -> undefined.
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
%% Enrich Keepalive
|
%% Ensure Keepalive
|
||||||
|
|
||||||
ensure_keepalive(#{'Server-Keep-Alive' := Interval}, Channel) ->
|
ensure_keepalive(#{'Server-Keep-Alive' := Interval}, Channel) ->
|
||||||
ensure_keepalive_timer(Interval, Channel);
|
ensure_keepalive_timer(Interval, Channel);
|
||||||
|
@ -1671,4 +1673,3 @@ flag(false) -> 0.
|
||||||
set_field(Name, Value, Channel) ->
|
set_field(Name, Value, Channel) ->
|
||||||
Pos = emqx_misc:index_of(Name, record_info(fields, channel)),
|
Pos = emqx_misc:index_of(Name, record_info(fields, channel)),
|
||||||
setelement(Pos+1, Channel, Value).
|
setelement(Pos+1, Channel, Value).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue