From 0ae43e316c0947b97492b8ac92bedb5739840015 Mon Sep 17 00:00:00 2001 From: Ery Lee Date: Thu, 15 Jan 2015 00:02:05 +0800 Subject: [PATCH] subscribe, unsubscribe topics --- apps/emqtt/src/emqtt_session.erl | 8 ++++---- apps/emqtt/src/emqtt_sm.erl | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/emqtt/src/emqtt_session.erl b/apps/emqtt/src/emqtt_session.erl index 2c1304e03..42e47e27e 100644 --- a/apps/emqtt/src/emqtt_session.erl +++ b/apps/emqtt/src/emqtt_session.erl @@ -126,9 +126,9 @@ subscribe(SessState = #session_state{client_id = ClientId, submap = SubMap}, Top _ -> lager:warning("~s resubscribe ~p", [ClientId, Resubs]) end, SubMap1 = lists:foldl(fun({Name, Qos}, Acc) -> maps:put(Name, Qos, Acc) end, SubMap, Topics), - [ok = emqtt_pubsub:subscribe({Topic, Qos}, self()) || {Topic, Qos} <- Topics], - %%TODO: granted all? - GrantedQos = [Qos || {_Name, Qos} <- Topics], + {ok, GrantedQos} = emqtt_pubsub:subscribe(Topics, self()), + %[ok = emqtt_pubsub:subscribe({Topic, Qos}, self()) || {Topic, Qos} <- Topics], + %GrantedQos = [Qos || {_Name, Qos} <- Topics], {ok, SessState#session_state{submap = SubMap1}, GrantedQos}; subscribe(SessPid, Topics) when is_pid(SessPid) -> @@ -142,7 +142,7 @@ unsubscribe(SessState = #session_state{client_id = ClientId, submap = SubMap}, T BadUnsubs -> lager:warning("~s should not unsubscribe ~p", [ClientId, BadUnsubs]) end, %%unsubscribe from topic tree - [ok = emqtt_pubsub:unsubscribe(Topic, self()) || Topic <- Topics], + ok = emqtt_pubsub:unsubscribe(Topics, self()), SubMap1 = lists:foldl(fun(Topic, Acc) -> maps:remove(Topic, Acc) end, SubMap, Topics), {ok, SessState#session_state{submap = SubMap1}}; diff --git a/apps/emqtt/src/emqtt_sm.erl b/apps/emqtt/src/emqtt_sm.erl index 439ce3a30..c9db9c710 100644 --- a/apps/emqtt/src/emqtt_sm.erl +++ b/apps/emqtt/src/emqtt_sm.erl @@ -87,7 +87,6 @@ %% API Function Definitions %% ------------------------------------------------------------------ - start_link() -> gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).