Browse Source

Merged WaitForGuildsAsync into ConnectAsync

tags/1.0-rc
RogueException 9 years ago
parent
commit
2e8f67e8a4
1 changed files with 8 additions and 7 deletions
  1. +8
    -7
      src/Discord.Net/DiscordSocketClient.cs

+ 8
- 7
src/Discord.Net/DiscordSocketClient.cs View File

@@ -141,7 +141,7 @@ namespace Discord
} }


/// <inheritdoc /> /// <inheritdoc />
public async Task ConnectAsync()
public async Task ConnectAsync(bool waitForGuilds = true)
{ {
await _connectionLock.WaitAsync().ConfigureAwait(false); await _connectionLock.WaitAsync().ConfigureAwait(false);
try try
@@ -150,6 +150,13 @@ namespace Discord
await ConnectInternalAsync().ConfigureAwait(false); await ConnectInternalAsync().ConfigureAwait(false);
} }
finally { _connectionLock.Release(); } finally { _connectionLock.Release(); }

if (waitForGuilds)
{
var downloadTask = _guildDownloadTask;
if (downloadTask != null)
await _guildDownloadTask.ConfigureAwait(false);
}
} }
private async Task ConnectInternalAsync() private async Task ConnectInternalAsync()
{ {
@@ -1157,11 +1164,5 @@ namespace Discord
while ((_unavailableGuilds != 0) && (Environment.TickCount - _lastGuildAvailableTime < 2000)) while ((_unavailableGuilds != 0) && (Environment.TickCount - _lastGuildAvailableTime < 2000))
await Task.Delay(500, cancelToken).ConfigureAwait(false); await Task.Delay(500, cancelToken).ConfigureAwait(false);
} }
public async Task WaitForGuildsAsync()
{
var downloadTask = _guildDownloadTask;
if (downloadTask != null)
await _guildDownloadTask.ConfigureAwait(false);
}
} }
} }

Loading…
Cancel
Save