Add dispatch/3

This commit is contained in:
Feng Lee 2016-08-08 14:34:11 +08:00
parent bc72e33056
commit 28be1e2a00
1 changed files with 11 additions and 0 deletions

View File

@ -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.