@@ -374,8 +374,6 @@ namespace Discord | |||
_webSocket.Connected += (s, e) => RaiseConnected(); | |||
_webSocket.Disconnected += async (s, e) => | |||
{ | |||
if (_config.EnableDebug) | |||
RaiseOnDebugMessage(DebugMessageType.Connection, $"DataSocket disconnected."); | |||
RaiseDisconnected(); | |||
//Reconnect if we didn't cause the disconnect | |||
@@ -385,14 +383,8 @@ namespace Discord | |||
{ | |||
await Task.Delay(_config.ReconnectDelay); | |||
await _webSocket.ReconnectAsync(); | |||
if (_config.EnableDebug) | |||
RaiseOnDebugMessage(DebugMessageType.Connection, $"DataSocket connected."); | |||
if (_http.Token != null) | |||
{ | |||
await _webSocket.Login(_http.Token); | |||
if (_config.EnableDebug) | |||
RaiseOnDebugMessage(DebugMessageType.Connection, $"DataSocket logged in."); | |||
} | |||
break; | |||
} | |||
catch (Exception ex) | |||
@@ -404,7 +396,7 @@ namespace Discord | |||
} | |||
}; | |||
if (_config.EnableDebug) | |||
_webSocket.OnDebugMessage += (s, e) => RaiseOnDebugMessage(e.Type, e.Message); | |||
_voiceWebSocket.OnDebugMessage += (s, e) => RaiseOnDebugMessage(e.Type, $"DataSocket: {e.Message}"); | |||
#if !DNXCORE50 | |||
if (_config.EnableVoice) | |||
@@ -413,8 +405,6 @@ namespace Discord | |||
_voiceWebSocket.Connected += (s, e) => RaiseVoiceConnected(); | |||
_voiceWebSocket.Disconnected += async (s, e) => | |||
{ | |||
if (_config.EnableDebug) | |||
RaiseOnDebugMessage(DebugMessageType.Connection, $"VoiceSocket disconnected."); | |||
RaiseVoiceDisconnected(); | |||
//Reconnect if we didn't cause the disconnect | |||
@@ -423,8 +413,6 @@ namespace Discord | |||
try | |||
{ | |||
await Task.Delay(_config.ReconnectDelay); | |||
if (_config.EnableDebug) | |||
RaiseOnDebugMessage(DebugMessageType.Connection, $"VoiceSocket connected."); | |||
await _voiceWebSocket.ReconnectAsync(); | |||
break; | |||
} | |||
@@ -438,7 +426,7 @@ namespace Discord | |||
} | |||
}; | |||
if (_config.EnableDebug) | |||
_voiceWebSocket.OnDebugMessage += (s, e) => RaiseOnDebugMessage(e.Type, e.Message); | |||
_voiceWebSocket.OnDebugMessage += (s, e) => RaiseOnDebugMessage(e.Type, $"VoiceSocket: {e.Message}"); | |||
} | |||
#endif | |||
@@ -46,6 +46,9 @@ namespace Discord | |||
} | |||
try { _connectWaitOnLogin2.Wait(cancelToken); } //Waiting on READY handler | |||
catch (OperationCanceledException) { return; } | |||
if (_isDebug) | |||
RaiseOnDebugMessage(DebugMessageType.Connection, $"Logged in."); | |||
SetConnected(); | |||
} | |||
@@ -72,7 +75,7 @@ namespace Discord | |||
break; | |||
default: | |||
if (_isDebug) | |||
RaiseOnDebugMessage(DebugMessageType.WebSocketUnknownOpCode, "Unknown DataSocket op: " + msg.Operation); | |||
RaiseOnDebugMessage(DebugMessageType.WebSocketUnknownOpCode, "Unknown Opcode: " + msg.Operation); | |||
break; | |||
} | |||
#if DNXCORE | |||
@@ -288,7 +288,7 @@ namespace Discord | |||
#endif | |||
default: | |||
if (_isDebug) | |||
RaiseOnDebugMessage(DebugMessageType.WebSocketUnknownOpCode, "Unknown VoiceSocket op: " + msg.Operation); | |||
RaiseOnDebugMessage(DebugMessageType.WebSocketUnknownOpCode, "Unknown Opcode: " + msg.Operation); | |||
break; | |||
} | |||
#if DNXCORE50 | |||
@@ -306,7 +306,11 @@ namespace Discord | |||
{ | |||
_isReady = true; | |||
if (length != 70) | |||
throw new Exception($"Unexpected message length. Expected 70, got {length}."); | |||
{ | |||
if (_isDebug) | |||
RaiseOnDebugMessage(DebugMessageType.VoiceInput, $"Unexpected message length. Expected >= 70, got {length}."); | |||
return; | |||
} | |||
int port = buffer[68] | buffer[69] << 8; | |||
@@ -48,11 +48,17 @@ namespace Discord | |||
await _webSocket.ConnectAsync(new Uri(url), cancelToken); | |||
_host = url; | |||
if (_isDebug) | |||
RaiseOnDebugMessage(DebugMessageType.Connection, $"Connected."); | |||
OnConnect(); | |||
_lastHeartbeat = DateTime.UtcNow; | |||
_tasks = Task.Factory.ContinueWhenAll(CreateTasks(), x => | |||
{ | |||
if (_isDebug) | |||
RaiseOnDebugMessage(DebugMessageType.Connection, $"Disconnected."); | |||
//Do not clean up until all tasks have ended | |||
OnDisconnect(); | |||
@@ -125,7 +131,8 @@ namespace Discord | |||
if (result.MessageType == WebSocketMessageType.Close) | |||
{ | |||
await _webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, string.Empty, CancellationToken.None); | |||
return; | |||
RaiseOnDebugMessage(DebugMessageType.Connection, $"Got Close Message ({result.CloseStatus?.ToString() ?? "Unexpected"}, {result.CloseStatusDescription ?? "No Reason"})"); | |||
return; | |||
} | |||
else | |||
builder.Append(Encoding.UTF8.GetString(buffer, 0, result.Count)); | |||