Skip to content

Commit

Permalink
Improve chunking without intents enabled
Browse files Browse the repository at this point in the history
You can no longer request multiple guilds in one request
  • Loading branch information
MinnDevelopment committed Oct 27, 2020
1 parent 4f81b76 commit 76cf693
Showing 1 changed file with 5 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

package net.dv8tion.jda.internal.handle;

import gnu.trove.iterator.TLongIterator;
import gnu.trove.iterator.TLongLongIterator;
import gnu.trove.iterator.TLongObjectIterator;
import gnu.trove.map.TLongLongMap;
Expand Down Expand Up @@ -382,39 +381,11 @@ void sendChunkRequest(Object obj)

private void tryChunking()
{
if (api.useIntents())
{
// can only send a single guild id for this
chunkingGuilds.forEach((id) -> {
sendChunkRequest(id);
return true;
});
chunkingGuilds.clear();
return;
}

if (chunkingGuilds.size() >= 50)
{
// request chunks
final DataArray subset = DataArray.empty();
for (final TLongIterator it = chunkingGuilds.iterator(); subset.length() < 50; )
{
subset.add(it.next());
it.remove();
}
sendChunkRequest(subset);
}
if (incompleteCount > 0 && chunkingGuilds.size() >= incompleteCount)
{
// request last chunks
final DataArray array = DataArray.empty();
chunkingGuilds.forEach((guild) -> {
array.add(guild);
return true;
});
chunkingGuilds.clear();
sendChunkRequest(array);
}
chunkingGuilds.forEach((id) -> {
sendChunkRequest(id);
return true;
});
chunkingGuilds.clear();
}

private void startTimeout()
Expand Down

0 comments on commit 76cf693

Please sign in to comment.