Keystone Query

Keystone Query

16.7k Downloads

Noisy network

mrozekma opened this issue ยท 3 comments

commented

Way too many update messages are being sent across the network; need to put some thought into reducing it. Known issues:

  • Some addons request guild info on a regular basis, which causes GUILD_ROSTER_UPDATE events even though nothing has changed. No need to resend info to the guild in that case
  • Events that trigger a keystone request trigger for everyone in that channel, e.g. someone in the guild signing on causes all N people in the guild with Keystone Query to send out an update request, which causes N^2 total responses when N would do. Need to coalesce the incoming update requests that are for a given channel and only send one
commented

The GUILD_ROSTER_UPDATE problem is fixed in 9362800. The other issue is trickier because I forgot that replies to update requests are whispered directly to the sender, so all N^2 replies actually have unique (sender, receiver) pairs. I might end up leaving that alone, but leaving this bug open for now to think about it more (only request updates from new players on GUILD_ROSTER_UPDATE and GROUP_ROSTER_UPDATE?)

commented

Turns out there's the same problem with FRIENDLIST_UPDATE

commented

Started bucketing replies in 03ef1e7 so one person who sends a bunch of rapid requests (e.g. because they're a friend and party member and guildmate) will only get one response