Browse Source

Added member request batching

pull/44/head
RogueException 9 years ago
parent
commit
4e3f726073
2 changed files with 7 additions and 3 deletions
  1. +6
    -2
      src/Discord.Net/DiscordClient.cs
  2. +1
    -1
      src/Discord.Net/DiscordConfig.cs

+ 6
- 2
src/Discord.Net/DiscordClient.cs View File

@@ -276,7 +276,7 @@ namespace Discord

/// <summary> Disconnects from the Discord server, canceling any pending requests. </summary>
public Task Disconnect() => _taskManager.Stop(true);
private async Task Cleanup()
private async Task Cleanup()
{
var oldState = State;
State = ConnectionState.Disconnecting;
@@ -525,7 +525,11 @@ namespace Discord
channel.Update(model);
}
if (largeServers.Count > 0)
GatewaySocket.SendRequestMembers(largeServers, "", 0);
{
int batches = (largeServers.Count + (DiscordConfig.ServerBatchCount - 1)) / DiscordConfig.ServerBatchCount;
for (int i = 0; i < batches; i++)
GatewaySocket.SendRequestMembers(largeServers.Skip(i * DiscordConfig.ServerBatchCount), "", 0);
}
else
EndConnect();
}


+ 1
- 1
src/Discord.Net/DiscordConfig.cs View File

@@ -61,6 +61,7 @@ namespace Discord
internal const int RestTimeout = 10000;
internal const int MessageQueueInterval = 100;
internal const int WebSocketQueueInterval = 100;
internal const int ServerBatchCount = 50;

public const string LibName = "Discord.Net";
public static string LibVersion => typeof(DiscordConfigBuilder).GetTypeInfo().Assembly.GetName().Version.ToString(3);
@@ -88,7 +89,6 @@ namespace Discord
public bool UsePermissionsCache { get; }
public bool EnablePreUpdateEvents { get; }


internal DiscordConfig(DiscordConfigBuilder builder)
{
LogLevel = builder.LogLevel;


Loading…
Cancel
Save