Minor WS disconnect logic changes

This commit is contained in:
RogueException
2015-12-31 15:51:28 -04:00
parent 8391d57f83
commit ebd1d77ccf

View File

@@ -35,6 +35,8 @@ namespace Discord.Net.WebSockets
}
public Task Connect(string host, CancellationToken cancelToken)
{
try
{
_webSocket = new WebSocketClient(host);
_webSocket.EnableAutoSendPing = false;
@@ -48,9 +50,16 @@ namespace Discord.Net.WebSockets
_webSocket.Opened += OnWebSocketOpened;
_waitUntilConnect.Reset();
_waitUntilDisconnect.Reset();
_webSocket.Open();
_waitUntilConnect.Wait(cancelToken);
_taskManager.ThrowException(); //In case our connection failed
}
catch
{
_waitUntilDisconnect.Set();
throw;
}
return TaskHelper.CompletedTask;
}
@@ -96,8 +105,8 @@ namespace Discord.Net.WebSockets
}
private void OnWebSocketOpened(object sender, EventArgs e)
{
_waitUntilDisconnect.Reset();
_waitUntilConnect.Set();
_waitUntilDisconnect.Reset();
}
private void OnWebSocketText(object sender, MessageReceivedEventArgs e)
=> OnTextMessage(e.Message);