Remove resume_session/1,

This commit is contained in:
周子博 2018-10-27 14:25:10 +08:00
parent 7c14ba11d6
commit 3cea06f88f
2 changed files with 21 additions and 28 deletions

View File

@ -47,7 +47,7 @@
-export([info/1, attrs/1]). -export([info/1, attrs/1]).
-export([stats/1]). -export([stats/1]).
-export([resume/2, discard/2]). -export([resume/2, discard/2]).
-export([update_expiry_interval/2, update_misc/2]). -export([update_expiry_interval/2]).
-export([subscribe/2, subscribe/4]). -export([subscribe/2, subscribe/4]).
-export([publish/3]). -export([publish/3]).
-export([puback/2, puback/3]). -export([puback/2, puback/3]).
@ -324,9 +324,6 @@ discard(SPid, ByPid) ->
update_expiry_interval(SPid, Interval) -> update_expiry_interval(SPid, Interval) ->
gen_server:cast(SPid, {expiry_interval, Interval}). gen_server:cast(SPid, {expiry_interval, Interval}).
update_misc(SPid, Misc) ->
gen_server:cast(SPid, {update_misc, Misc}).
-spec(close(spid()) -> ok). -spec(close(spid()) -> ok).
close(SPid) -> close(SPid) ->
gen_server:call(SPid, close, infinity). gen_server:call(SPid, close, infinity).
@ -519,7 +516,9 @@ handle_cast({pubcomp, PacketId, _ReasonCode}, State = #state{inflight = Inflight
%% RESUME: %% RESUME:
handle_cast({resume, #{conn_pid := ConnPid, handle_cast({resume, #{conn_pid := ConnPid,
will_msg := WillMsg, will_msg := WillMsg,
expiry_interval := SessionExpiryInterval}}, State = #state{client_id = ClientId, expiry_interval := SessionExpiryInterval,
max_inflight := MaxInflight,
topic_alias_maximum := TopicAliasMaximum}}, State = #state{client_id = ClientId,
conn_pid = OldConnPid, conn_pid = OldConnPid,
clean_start = CleanStart, clean_start = CleanStart,
retry_timer = RetryTimer, retry_timer = RetryTimer,
@ -548,6 +547,8 @@ handle_cast({resume, #{conn_pid := ConnPid,
await_rel_timer = undefined, await_rel_timer = undefined,
expiry_timer = undefined, expiry_timer = undefined,
expiry_interval = SessionExpiryInterval, expiry_interval = SessionExpiryInterval,
inflight = emqx_inflight:update_size(MaxInflight, State#state.inflight),
topic_alias_maximum = TopicAliasMaximum,
will_delay_timer = undefined, will_delay_timer = undefined,
will_msg = WillMsg}, will_msg = WillMsg},
@ -562,10 +563,6 @@ handle_cast({resume, #{conn_pid := ConnPid,
handle_cast({expiry_interval, Interval}, State) -> handle_cast({expiry_interval, Interval}, State) ->
{noreply, State#state{expiry_interval = Interval}}; {noreply, State#state{expiry_interval = Interval}};
handle_cast({update_misc, #{max_inflight := MaxInflight, topic_alias_maximum := TopicAliasMaximum}}, State) ->
{noreply, State#state{inflight = emqx_inflight:update_size(MaxInflight, State#state.inflight),
topic_alias_maximum = TopicAliasMaximum}};
handle_cast(Msg, State) -> handle_cast(Msg, State) ->
emqx_logger:error("[Session] unexpected cast: ~p", [Msg]), emqx_logger:error("[Session] unexpected cast: ~p", [Msg]),
{noreply, State}. {noreply, State}.

View File

@ -22,7 +22,7 @@
-export([open_session/1, close_session/1]). -export([open_session/1, close_session/1]).
-export([lookup_session/1, lookup_session_pid/1]). -export([lookup_session/1, lookup_session_pid/1]).
-export([resume_session/1, resume_session/2]). -export([resume_session/2]).
-export([discard_session/1, discard_session/2]). -export([discard_session/1, discard_session/2]).
-export([register_session/2, unregister_session/1]). -export([register_session/2, unregister_session/1]).
-export([get_session_attrs/1, set_session_attrs/2]). -export([get_session_attrs/1, set_session_attrs/2]).
@ -66,7 +66,6 @@ open_session(SessAttrs = #{clean_start := false,
ResumeStart = fun(_) -> ResumeStart = fun(_) ->
case resume_session(ClientId, SessAttrs) of case resume_session(ClientId, SessAttrs) of
{ok, SPid} -> {ok, SPid} ->
emqx_session:update_misc(SPid, #{max_inflight => MaxInflight, topic_alias_maximum => TopicAliasMaximum}),
{ok, SPid, true}; {ok, SPid, true};
{error, not_found} -> {error, not_found} ->
emqx_session_sup:start_session(SessAttrs) emqx_session_sup:start_session(SessAttrs)
@ -89,10 +88,7 @@ discard_session(ClientId, ConnPid) when is_binary(ClientId) ->
end, lookup_session(ClientId)). end, lookup_session(ClientId)).
%% @doc Try to resume a session. %% @doc Try to resume a session.
-spec(resume_session(emqx_types:client_id()) -> {ok, pid()} | {error, term()}). -spec(resume_session(emqx_types:client_id(), map()) -> {ok, pid()} | {error, term()}).
resume_session(ClientId) ->
resume_session(ClientId, #{conn_pid => self(), will_msg => undefined}).
resume_session(ClientId, SessAttrs = #{conn_pid := ConnPid}) -> resume_session(ClientId, SessAttrs = #{conn_pid := ConnPid}) ->
case lookup_session(ClientId) of case lookup_session(ClientId) of
[] -> {error, not_found}; [] -> {error, not_found};