diff options
author | Alexey Shchepin <alexey@process-one.net> | 2021-09-13 08:15:11 +0300 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2021-09-13 08:20:47 +0300 |
commit | 5abc03ff8fdd8bd68626637814ec65ee24d1adf7 (patch) | |
tree | 12899d6ee3fbe9ba71816e086c56d0161ab9a2c7 /include | |
parent | ejabberd_admin: Fix ejabberd_piefxis commands (diff) |
Optimize MucSub processing
Diffstat (limited to 'include')
-rw-r--r-- | include/mod_muc_room.hrl | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/include/mod_muc_room.hrl b/include/mod_muc_room.hrl index f981f9e7c..bbe656575 100644 --- a/include/mod_muc_room.hrl +++ b/include/mod_muc_room.hrl @@ -87,6 +87,16 @@ nick = <<>> :: binary(), nodes = [] :: [binary()]}). +-record(muc_subscribers, + {subscribers = #{} :: subscribers(), + subscriber_nicks = #{} :: subscriber_nicks(), + subscriber_nodes = #{} :: subscriber_nodes() + }). + +-type subscribers() :: #{ljid() => #subscriber{}}. +-type subscriber_nicks() :: #{binary() => [ljid()]}. +-type subscriber_nodes() :: #{binary() => subscribers()}. + -record(activity, { message_time = 0 :: integer(), @@ -106,8 +116,7 @@ jid = #jid{} :: jid(), config = #config{} :: config(), users = #{} :: users(), - subscribers = #{} :: subscribers(), - subscriber_nicks = #{} :: subscriber_nicks(), + muc_subscribers = #muc_subscribers{} :: #muc_subscribers{}, last_voice_request_time = treap:empty() :: treap:treap(), robots = #{} :: robots(), nicks = #{} :: nicks(), @@ -126,5 +135,3 @@ -type robots() :: #{jid() => {binary(), stanza()}}. -type nicks() :: #{binary() => [ljid()]}. -type affiliations() :: #{ljid() => affiliation() | {affiliation(), binary()}}. --type subscribers() :: #{ljid() => #subscriber{}}. --type subscriber_nicks() :: #{binary() => [ljid()]}. |