aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEvgeny Khramtsov <ekhramtsov@process-one.net>2019-06-28 22:16:29 +0300
committerEvgeny Khramtsov <ekhramtsov@process-one.net>2019-06-28 22:16:29 +0300
commita2a061c1c8d78adea4e33b1a38187fc4226a9190 (patch)
tree3c077fdfb9c4a677fcd02dcc19b96a48dfab7589 /src
parentUse yconf validator for custom Mnesia schemas (diff)
Avoid using broad p1_queue:queue() type wherever possible
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_redis.erl7
-rw-r--r--src/mod_mqtt_session.erl2
-rw-r--r--src/mod_muc_room.erl6
-rw-r--r--src/mod_stream_mgmt.erl3
4 files changed, 10 insertions, 8 deletions
diff --git a/src/ejabberd_redis.erl b/src/ejabberd_redis.erl
index 18a73414b..a9ceb1833 100644
--- a/src/ejabberd_redis.erl
+++ b/src/ejabberd_redis.erl
@@ -55,8 +55,9 @@
-record(state, {connection :: pid() | undefined,
num :: pos_integer(),
subscriptions = #{} :: subscriptions(),
- pending_q :: p1_queue:queue()}).
+ pending_q :: queue()}).
+-type queue() :: p1_queue:queue({{pid(), term()}, integer()}).
-type subscriptions() :: #{binary() => [pid()]}.
-type error_reason() :: binary() | timeout | disconnected | overloaded.
-type redis_error() :: {error, error_reason()}.
@@ -592,7 +593,7 @@ fsm_limit_opts() ->
get_queue_type() ->
ejabberd_option:redis_queue_type().
--spec flush_queue(p1_queue:queue()) -> p1_queue:queue().
+-spec flush_queue(queue()) -> queue().
flush_queue(Q) ->
CurrTime = erlang:monotonic_time(millisecond),
p1_queue:dropwhile(
@@ -605,7 +606,7 @@ flush_queue(Q) ->
true
end, Q).
--spec clean_queue(p1_queue:queue(), integer()) -> p1_queue:queue().
+-spec clean_queue(queue(), integer()) -> queue().
clean_queue(Q, CurrTime) ->
Q1 = p1_queue:dropwhile(
fun({_From, Time}) ->
diff --git a/src/mod_mqtt_session.erl b/src/mod_mqtt_session.erl
index 9d90ab0a8..dd7a7c47f 100644
--- a/src/mod_mqtt_session.erl
+++ b/src/mod_mqtt_session.erl
@@ -46,7 +46,7 @@
id = 0 :: non_neg_integer(),
in_flight :: undefined | publish() | pubrel(),
codec :: mqtt_codec:state(),
- queue :: undefined | p1_queue:queue(),
+ queue :: undefined | p1_queue:queue(publish()),
tls :: boolean()}).
-type acks() :: #{non_neg_integer() => pubrec()}.
diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl
index 415a7f5de..bbbd3a2ec 100644
--- a/src/mod_muc_room.erl
+++ b/src/mod_muc_room.erl
@@ -1540,7 +1540,7 @@ get_service_max_users(StateData) ->
get_max_users_admin_threshold(StateData) ->
mod_muc_opt:max_users_admin_threshold(StateData#state.server_host).
--spec room_queue_new(binary(), ejabberd_shaper:shaper(), _) -> p1_queue:queue().
+-spec room_queue_new(binary(), ejabberd_shaper:shaper(), _) -> p1_queue:queue({message | presence, jid()}) | undefined.
room_queue_new(ServerHost, Shaper, QueueType) ->
HaveRoomShaper = Shaper /= none,
HaveMessageShaper = mod_muc_opt:user_message_shaper(ServerHost) /= none,
@@ -2121,7 +2121,7 @@ get_history(Nick, Packet, #state{history = History}) ->
p1_queue:to_list(History#lqueue.queue)
end.
--spec filter_history(p1_queue:queue(), erlang:timestamp(),
+-spec filter_history(p1_queue:queue(lqueue_elem()), erlang:timestamp(),
binary(), muc_history()) -> [lqueue_elem()].
filter_history(Queue, Now, Nick,
#muc_history{since = Since,
@@ -2516,7 +2516,7 @@ lqueue_in(Item, #lqueue{queue = Q1, max = Max}) ->
true -> #lqueue{queue = Q2, max = Max}
end.
--spec lqueue_cut(p1_queue:queue(), non_neg_integer()) -> p1_queue:queue().
+-spec lqueue_cut(p1_queue:queue(lqueue_elem()), non_neg_integer()) -> p1_queue:queue(lqueue_elem()).
lqueue_cut(Q, 0) -> Q;
lqueue_cut(Q, N) ->
{_, Q1} = p1_queue:out(Q),
diff --git a/src/mod_stream_mgmt.erl b/src/mod_stream_mgmt.erl
index 09af0c7cf..c151807ff 100644
--- a/src/mod_stream_mgmt.erl
+++ b/src/mod_stream_mgmt.erl
@@ -50,6 +50,7 @@
is_record(Pkt, sm_r)).
-type state() :: ejabberd_c2s:state().
+-type queue() :: p1_queue:queue({non_neg_integer(), erlang:timestamp(), xmpp_element() | xmlel()}).
-type error_reason() :: session_not_found | session_timed_out |
session_is_dead | session_has_exited |
session_was_killed | session_copy_timed_out |
@@ -298,7 +299,7 @@ set_resume_timeout(State, Timeout) ->
State1 = restart_pending_timer(State, Timeout),
State1#{mgmt_timeout => Timeout}.
--spec queue_find(fun((stanza()) -> boolean()), p1_queue:queue())
+-spec queue_find(fun((stanza()) -> boolean()), queue())
-> stanza() | none.
queue_find(Pred, Queue) ->
case p1_queue:out(Queue) of