From 4a175bfc683f4cf82257c9e1be7fc5533dd4c2d5 Mon Sep 17 00:00:00 2001 From: Feng Date: Mon, 28 Dec 2015 20:18:31 +0800 Subject: [PATCH] fix spec --- src/emqttd_ctl.erl | 11 +++++++---- src/emqttd_metrics.erl | 12 ++++++------ src/emqttd_pubsub.erl | 2 +- src/emqttd_session.erl | 2 +- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/emqttd_ctl.erl b/src/emqttd_ctl.erl index 4aa29750e..41ef77eec 100644 --- a/src/emqttd_ctl.erl +++ b/src/emqttd_ctl.erl @@ -58,17 +58,20 @@ start_link() -> %% @doc Register a command %% @end %%------------------------------------------------------------------------------ --spec register_cmd(atom(), {module(), atom()}, list()) -> true. +-spec register_cmd(atom(), {module(), atom()}, list()) -> ok. register_cmd(Cmd, MF, Opts) -> - gen_server:cast(?SERVER, {register_cmd, Cmd, MF, Opts}). + cast({register_cmd, Cmd, MF, Opts}). %%------------------------------------------------------------------------------ %% @doc Unregister a command %% @end %%------------------------------------------------------------------------------ --spec unregister_cmd(atom()) -> true. +-spec unregister_cmd(atom()) -> ok. unregister_cmd(Cmd) -> - gen_server:cast(?SERVER, {unregister_cmd, Cmd}). + cast({unregister_cmd, Cmd}). + +cast(Msg) -> + gen_server:cast(?SERVER, Msg). %%------------------------------------------------------------------------------ %% @doc Run a command diff --git a/src/emqttd_metrics.erl b/src/emqttd_metrics.erl index d75985ef3..37b034355 100644 --- a/src/emqttd_metrics.erl +++ b/src/emqttd_metrics.erl @@ -226,12 +226,12 @@ inc(Metric) -> %% @doc Increase metric value %% @end %%------------------------------------------------------------------------------ --spec inc(counter | gauge, atom()) -> non_neg_integer(). -inc(gauge, Metric) -> - inc(gauge, Metric, 1); -inc(counter, Metric) -> - inc(counter, Metric, 1); -inc(Metric, Val) when is_atom(Metric) and is_integer(Val) -> +-spec inc({counter | gauge, atom()} | atom(), pos_integer()) -> non_neg_integer(). +inc({gauge, Metric}, Val) -> + inc(gauge, Metric, Val); +inc({counter, Metric}, Val) -> + inc(counter, Metric, Val); +inc(Metric, Val) when is_atom(Metric) -> inc(counter, Metric, Val). %%------------------------------------------------------------------------------ diff --git a/src/emqttd_pubsub.erl b/src/emqttd_pubsub.erl index 0a5335fb0..1d528402f 100644 --- a/src/emqttd_pubsub.erl +++ b/src/emqttd_pubsub.erl @@ -142,7 +142,7 @@ name(Id) -> %% @doc Create Topic or Subscription. %% @end %%------------------------------------------------------------------------------ --spec create(topic | subscription, binary()) -> ok | {error, any()}. +-spec create(topic | subscription, binary() | {binary(), binary(), mqtt_qos()}) -> ok | {error, any()}. create(topic, Topic) when is_binary(Topic) -> Record = #mqtt_topic{topic = Topic, node = node()}, case mnesia:transaction(fun add_topic/1, [Record]) of diff --git a/src/emqttd_session.erl b/src/emqttd_session.erl index dde925ab0..af7fec0ca 100644 --- a/src/emqttd_session.erl +++ b/src/emqttd_session.erl @@ -191,7 +191,7 @@ subscribe(SessPid, PacketId, TopicTable) -> %% @doc Publish message %% @end %%------------------------------------------------------------------------------ --spec publish(pid(), mqtt_message()) -> ok. +-spec publish(pid(), mqtt_message()) -> ok | {error, any()}. publish(_SessPid, Msg = #mqtt_message{qos = ?QOS_0}) -> %% publish qos0 directly emqttd_pubsub:publish(Msg);