From 28be1e2a0056aa1a20e7ff6b9d156dc2355e9fbe Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Mon, 8 Aug 2016 14:34:11 +0800 Subject: [PATCH] Add dispatch/3 --- src/emqttd_sm.erl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/emqttd_sm.erl b/src/emqttd_sm.erl index 05aed7b42..3ab36186f 100644 --- a/src/emqttd_sm.erl +++ b/src/emqttd_sm.erl @@ -36,6 +36,8 @@ -export([register_session/3, unregister_session/2]). +-export([dispatch/3]). + %% gen_server Function Exports -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]). @@ -105,6 +107,15 @@ register_session(CleanSess, ClientId, Info) -> unregister_session(CleanSess, ClientId) -> ets:delete(sesstab(CleanSess), {ClientId, self()}). +%%TODO: FIXME... +dispatch(Id, Topic, Msg) -> + case lookup_session(Id) of + #mqtt_session{sess_pid = Pid} -> + Pid ! {dispatch, Topic, Msg}; + undefined -> + ok + end. + sesstab(true) -> mqtt_transient_session; sesstab(false) -> mqtt_persistent_session.