aboutsummaryrefslogtreecommitdiff
path: root/include/mod_muc_room.hrl
diff options
context:
space:
mode:
Diffstat (limited to 'include/mod_muc_room.hrl')
-rw-r--r--include/mod_muc_room.hrl37
1 files changed, 23 insertions, 14 deletions
diff --git a/include/mod_muc_room.hrl b/include/mod_muc_room.hrl
index efb702337..2f09e5a5c 100644
--- a/include/mod_muc_room.hrl
+++ b/include/mod_muc_room.hrl
@@ -24,11 +24,13 @@
-record(lqueue,
{
- queue :: p1_queue:queue(),
- max = 0 :: integer()
+ queue = p1_queue:new() :: p1_queue:queue(lqueue_elem()),
+ max = 0 :: integer()
}).
-type lqueue() :: #lqueue{}.
+-type lqueue_elem() :: {binary(), message(), boolean(),
+ erlang:timestamp(), non_neg_integer()}.
-record(config,
{
@@ -63,7 +65,7 @@
captcha_whitelist = (?SETS):empty() :: gb_sets:set(),
mam = false :: boolean(),
pubsub = <<"">> :: binary(),
- lang = ejabberd_config:get_mylang() :: binary()
+ lang = ejabberd_option:language() :: binary()
}).
-type config() :: #config{}.
@@ -89,8 +91,8 @@
{
message_time = 0 :: integer(),
presence_time = 0 :: integer(),
- message_shaper = none :: shaper:shaper(),
- presence_shaper = none :: shaper:shaper(),
+ message_shaper = none :: ejabberd_shaper:shaper(),
+ presence_shaper = none :: ejabberd_shaper:shaper(),
message :: message() | undefined,
presence :: {binary(), presence()} | undefined
}).
@@ -103,18 +105,25 @@
access = {none,none,none,none,none} :: {atom(), atom(), atom(), atom(), atom()},
jid = #jid{} :: jid(),
config = #config{} :: config(),
- users = #{} :: map(),
- subscribers = #{} :: map(),
- subscriber_nicks = #{} :: map(),
+ users = #{} :: users(),
+ subscribers = #{} :: subscribers(),
+ subscriber_nicks = #{} :: subscriber_nicks(),
last_voice_request_time = treap:empty() :: treap:treap(),
- robots = #{} :: map(),
- nicks = #{} :: map(),
- affiliations = #{} :: map(),
- history :: lqueue(),
+ robots = #{} :: robots(),
+ nicks = #{} :: nicks(),
+ affiliations = #{} :: affiliations(),
+ history = #lqueue{} :: lqueue(),
subject = [] :: [text()],
subject_author = <<"">> :: binary(),
just_created = erlang:system_time(microsecond) :: true | integer(),
activity = treap:empty() :: treap:treap(),
- room_shaper = none :: shaper:shaper(),
- room_queue :: p1_queue:queue() | undefined
+ room_shaper = none :: ejabberd_shaper:shaper(),
+ room_queue :: p1_queue:queue({message | presence, jid()}) | undefined
}).
+
+-type users() :: #{ljid() => #user{}}.
+-type robots() :: #{jid() => {binary(), stanza()}}.
+-type nicks() :: #{binary() => [ljid()]}.
+-type affiliations() :: #{ljid() => affiliation() | {affiliation(), binary()}}.
+-type subscribers() :: #{ljid() => #subscriber{}}.
+-type subscriber_nicks() :: #{binary() => [ljid()]}.