Fix bugs of keepalive value init of emqx_client (#2443)
Fix bugs of keepalive value init of emqx_client
This commit is contained in:
parent
8821cfcfc7
commit
94aa173858
|
@ -503,7 +503,7 @@ init([{username, Username} | Opts], State) ->
|
|||
init([{password, Password} | Opts], State) ->
|
||||
init(Opts, State#state{password = iolist_to_binary(Password)});
|
||||
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(Opts, State#state{proto_ver = ?MQTT_PROTO_V3,
|
||||
proto_name = <<"MQIsdp">>});
|
||||
|
@ -1026,11 +1026,11 @@ publish_process(?QOS_2, Packet = ?PUBLISH_PACKET(?QOS_2, PacketId),
|
|||
end.
|
||||
|
||||
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}) ->
|
||||
State;
|
||||
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) ->
|
||||
State#state{keepalive_timer = erlang:start_timer(I, self(), keepalive)}.
|
||||
|
||||
|
|
Loading…
Reference in New Issue