Check for empty expedition via database not cache

Checking the cache on member removal here isn't reliable due to race
with cross zone message

If a zone removes a member at the same time as another zone, neither zone
can know if the expedition will be empty via cache unless it processes the
world message from the other zone's member removal first.
This commit is contained in:
hg
2020-05-17 00:07:52 -04:00
parent c93b46af8e
commit 20bfdac7e0
3 changed files with 36 additions and 2 deletions
+1
View File
@@ -57,6 +57,7 @@ namespace ExpeditionDatabase
uint32_t GetExpeditionIDFromCharacterID(uint32_t character_id);
uint32_t GetExpeditionIDFromInstanceID(uint32_t instance_id);
ExpeditionMember GetExpeditionLeader(uint32_t expedition_id);
uint32_t GetExpeditionMemberCount(uint32_t expedition_id);
void InsertCharacterLockouts(
uint32_t character_id, const std::vector<ExpeditionLockoutTimer>& lockouts,
bool update_expire_times, bool is_pending = false);