Merged WaitForGuildsAsync into ConnectAsync

This commit is contained in:
RogueException
2016-06-21 05:32:26 -03:00
parent 19f9abbed9
commit 2e8f67e8a4

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);
}
} }
} }