From 5e0bf3d831f7e6145d308da0731d1d2d846de328 Mon Sep 17 00:00:00 2001 From: Feng Date: Fri, 12 Jun 2015 21:59:37 +0800 Subject: [PATCH] sync with imac --- apps/emqttd/src/emqttd_protocol.erl | 1 + apps/emqttd/src/emqttd_sm.erl | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) 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