diff --git a/apps/emqttd/src/emqttd_protocol.erl b/apps/emqttd/src/emqttd_protocol.erl index 37e19f16e..c6b3448a5 100644 --- a/apps/emqttd/src/emqttd_protocol.erl +++ b/apps/emqttd/src/emqttd_protocol.erl @@ -51,6 +51,7 @@ username, clientid, clean_sess, + sessmod, session, %% session state or session pid will_msg, max_clientid_len = ?MAX_CLIENTID_LEN, diff --git a/apps/emqttd/src/emqttd_sm.erl b/apps/emqttd/src/emqttd_sm.erl index 05d9e62b0..a454d6fd9 100644 --- a/apps/emqttd/src/emqttd_sm.erl +++ b/apps/emqttd/src/emqttd_sm.erl @@ -47,7 +47,9 @@ %% API Function Exports -export([start_link/2, pool/0, table/0]). --export([lookup_session/1, start_session/2, destroy_session/1]). +-export([lookup_session/1, + start_session/2, + destroy_session/1]). %% gen_server Function Exports -export([init/1, handle_call/3, handle_cast/2, handle_info/2, @@ -85,6 +87,15 @@ pool() -> ?SM_POOL. %%------------------------------------------------------------------------------ table() -> ?SESSION_TAB. +%%------------------------------------------------------------------------------ +%% @doc Start a session +%% @end +%%------------------------------------------------------------------------------ +-spec start_session(binary(), pid()) -> {ok, pid()} | {error, any()}. +start_session(ClientId, ClientPid) -> + SmPid = gproc_pool:pick_worker(?SM_POOL, ClientId), + gen_server:call(SmPid, {start_session, ClientId, ClientPid}). + %%------------------------------------------------------------------------------ %% @doc Lookup Session Pid %% @end @@ -96,15 +107,6 @@ lookup_session(ClientId) -> [] -> undefined end. -%%------------------------------------------------------------------------------ -%% @doc Start a session -%% @end -%%------------------------------------------------------------------------------ --spec start_session(binary(), pid()) -> {ok, pid()} | {error, any()}. -start_session(ClientId, ClientPid) -> - SmPid = gproc_pool:pick_worker(?SM_POOL, ClientId), - gen_server:call(SmPid, {start_session, ClientId, ClientPid}). - %%------------------------------------------------------------------------------ %% @doc Destroy a session %% @end