Fix bugs of keepalive value init of emqx_client (#2443)

Fix bugs of keepalive value init of emqx_client
This commit is contained in:
Gilbert 2019-04-17 10:43:20 +08:00 committed by tigercl
parent 8821cfcfc7
commit 94aa173858
1 changed files with 3 additions and 3 deletions

View File

@ -503,7 +503,7 @@ init([{username, Username} | Opts], State) ->
init([{password, Password} | Opts], State) -> init([{password, Password} | Opts], State) ->
init(Opts, State#state{password = iolist_to_binary(Password)}); init(Opts, State#state{password = iolist_to_binary(Password)});
init([{keepalive, Secs} | Opts], State) -> init([{keepalive, Secs} | Opts], State) ->
init(Opts, State#state{keepalive = timer:seconds(Secs)}); init(Opts, State#state{keepalive = Secs});
init([{proto_ver, v3} | Opts], State) -> init([{proto_ver, v3} | Opts], State) ->
init(Opts, State#state{proto_ver = ?MQTT_PROTO_V3, init(Opts, State#state{proto_ver = ?MQTT_PROTO_V3,
proto_name = <<"MQIsdp">>}); proto_name = <<"MQIsdp">>});
@ -1026,11 +1026,11 @@ publish_process(?QOS_2, Packet = ?PUBLISH_PACKET(?QOS_2, PacketId),
end. end.
ensure_keepalive_timer(State = ?PROPERTY('Server-Keep-Alive', Secs)) -> ensure_keepalive_timer(State = ?PROPERTY('Server-Keep-Alive', Secs)) ->
ensure_keepalive_timer(timer:seconds(Secs), State); ensure_keepalive_timer(timer:seconds(Secs), State#state{keepalive = Secs});
ensure_keepalive_timer(State = #state{keepalive = 0}) -> ensure_keepalive_timer(State = #state{keepalive = 0}) ->
State; State;
ensure_keepalive_timer(State = #state{keepalive = I}) -> ensure_keepalive_timer(State = #state{keepalive = I}) ->
ensure_keepalive_timer(I, State). ensure_keepalive_timer(timer:seconds(I), State).
ensure_keepalive_timer(I, State) when is_integer(I) -> ensure_keepalive_timer(I, State) when is_integer(I) ->
State#state{keepalive_timer = erlang:start_timer(I, self(), keepalive)}. State#state{keepalive_timer = erlang:start_timer(I, self(), keepalive)}.