From 5abc03ff8fdd8bd68626637814ec65ee24d1adf7 Mon Sep 17 00:00:00 2001 From: Alexey Shchepin Date: Mon, 13 Sep 2021 08:15:11 +0300 Subject: Optimize MucSub processing --- include/mod_muc_room.hrl | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'include') 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()]}. -- cgit v1.2.3