Browse Source

Now getting all of the large server data properly

pull/46/head
Master Kwoth 9 years ago
parent
commit
765e986018
1 changed files with 9 additions and 9 deletions
  1. +9
    -9
      src/Discord.Net/DiscordClient.cs

+ 9
- 9
src/Discord.Net/DiscordClient.cs View File

@@ -529,23 +529,23 @@ namespace Discord
try
{
ulong serverId;
ulong[] serverIds = new ulong[50];
int i = 0;

const short batchSize = 50;
int largeServersCount = 0;
await Task.Delay(2500, cancelToken);
while (true)
do
{
while (_largeServers.TryDequeue(out serverId) && i < 50)
serverIds[i++] = serverId;
if (i > 0)
largeServersCount = 0;
ulong[] serverIds = new ulong[batchSize];
while (largeServersCount < batchSize && _largeServers.TryDequeue(out serverIds[largeServersCount++])) { }
if (largeServersCount > 0)
{
Logger.Warning($"Downloading data for {largeServersCount} large servers.");
cancelToken.ThrowIfCancellationRequested();
GatewaySocket.SendRequestMembers(serverIds, "", 0);
await Task.Delay(1500, cancelToken);
}
if (i < 50)
break;
}
} while (largeServersCount == batchSize);
await Task.Delay(2500, cancelToken);
EndConnect();
}


Loading…
Cancel
Save