diff options
Diffstat (limited to 'include/mod_muc_room.hrl')
-rw-r--r-- | include/mod_muc_room.hrl | 37 |
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()]}. |