subscribe/2

This commit is contained in:
Feng Lee 2015-07-25 14:34:44 +08:00
parent 90b3344db0
commit e370e18b19
1 changed files with 12 additions and 6 deletions

View File

@ -43,7 +43,7 @@
-export([start_link/2]). -export([start_link/2]).
-export([create/1, -export([create/1,
subscribe/1, subscribe/1, subscribe/2,
unsubscribe/1, unsubscribe/1,
publish/1]). publish/1]).
@ -131,12 +131,18 @@ create(Topic) when is_binary(Topic) ->
-spec subscribe({Topic, Qos} | list({Topic, Qos})) -> -spec subscribe({Topic, Qos} | list({Topic, Qos})) ->
{ok, Qos | list(Qos)} | {error, any()} when {ok, Qos | list(Qos)} | {error, any()} when
Topic :: binary(), Topic :: binary(),
Qos :: mqtt_qos(). Qos :: mqtt_qos() | mqtt_qos_name().
subscribe({Topic, Qos}) when is_binary(Topic) andalso ?IS_QOS(Qos) -> subscribe({Topic, Qos}) when is_binary(Topic) andalso (?IS_QOS(Qos) orelse is_atom(Qos)) ->
call({subscribe, self(), Topic, Qos}); call({subscribe, self(), Topic, ?QOS_I(Qos)});
subscribe(Topics = [{_Topic, _Qos} | _]) -> subscribe(Topics = [{_Topic, _Qos} | _]) ->
call({subscribe, self(), Topics}). call({subscribe, self(), [{Topic, ?QOS_I(Qos)} || {Topic, Qos} <- Topics]}).
-spec subscribe(Topic, Qos) -> {ok, Qos} when
Topic :: binary(),
Qos :: mqtt_qos() | mqtt_qos_name().
subscribe(Topic, Qos) ->
subscribe({Topic, Qos}).
%%------------------------------------------------------------------------------ %%------------------------------------------------------------------------------
%% @doc Unsubscribe Topic or Topics %% @doc Unsubscribe Topic or Topics