Skip to content

[core] Create admin cache to reduce privilege check latency #34

@ammarfaizi2

Description

@ammarfaizi2

Calling getChatAdministrators() every time privilege check is done is too expensive w.r.t. latency.

Workaround

  • Check for privilege every message count reaches a number which is divisible by N.

Pseudo Code

if (message_count % N == 0) {
  updateAdminCache();
}


/*
 * Privilege check function
 */
bool checkPrivileged(uint64_t user_id, int64_t group_id) {
   if (checkPrivilegeFromCache(user_id, group_id)) 
      return true;
   updateAdminCache();
   return checkPrivilegeFromCache(user_id, group_id);
}

Metadata

Metadata

Assignees

Labels

coreCore functionallity

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions