|
|
@@ -9,6 +9,7 @@ using Nito.AsyncEx; |
|
|
|
using System; |
|
|
|
using System.Collections.Concurrent; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Diagnostics; |
|
|
|
using System.IO; |
|
|
|
using System.Linq; |
|
|
|
using System.Net; |
|
|
@@ -164,6 +165,10 @@ namespace Discord |
|
|
|
await Disconnect().ConfigureAwait(false); |
|
|
|
await _taskManager.Stop().ConfigureAwait(false); |
|
|
|
_taskManager.ClearException(); |
|
|
|
|
|
|
|
Stopwatch stopwatch = null; |
|
|
|
if (Config.LogLevel >= LogSeverity.Verbose) |
|
|
|
stopwatch = Stopwatch.StartNew(); |
|
|
|
State = ConnectionState.Connecting; |
|
|
|
_disconnectedEvent.Reset(); |
|
|
|
|
|
|
@@ -181,6 +186,13 @@ namespace Discord |
|
|
|
|
|
|
|
await _taskManager.Start(tasks, _cancelTokenSource).ConfigureAwait(false); |
|
|
|
GatewaySocket.WaitForConnection(CancelToken); |
|
|
|
|
|
|
|
if (Config.LogLevel >= LogSeverity.Verbose) |
|
|
|
{ |
|
|
|
stopwatch.Stop(); |
|
|
|
double seconds = Math.Round(stopwatch.ElapsedTicks / (double)TimeSpan.TicksPerSecond, 2); |
|
|
|
Logger.Verbose($"Connection took {seconds} sec"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
@@ -471,6 +483,9 @@ namespace Discord |
|
|
|
//Global |
|
|
|
case "READY": |
|
|
|
{ |
|
|
|
Stopwatch stopwatch = null; |
|
|
|
if (Config.LogLevel >= LogSeverity.Verbose) |
|
|
|
stopwatch = Stopwatch.StartNew(); |
|
|
|
var data = e.Payload.ToObject<ReadyEvent>(_serializer); |
|
|
|
GatewaySocket.StartHeartbeat(data.HeartbeatInterval); |
|
|
|
GatewaySocket.SessionId = data.SessionId; |
|
|
@@ -492,6 +507,12 @@ namespace Discord |
|
|
|
var channel = AddPrivateChannel(model.Id, model.Recipient.Id); |
|
|
|
channel.Update(model); |
|
|
|
} |
|
|
|
if (Config.LogLevel >= LogSeverity.Verbose) |
|
|
|
{ |
|
|
|
stopwatch.Stop(); |
|
|
|
double seconds = Math.Round(stopwatch.ElapsedTicks / (double)TimeSpan.TicksPerSecond, 2); |
|
|
|
Logger.Verbose($"READY took {seconds} sec"); |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
case "RESUMED": |
|
|
|