Minor DateTime changes
This commit is contained in:
@@ -14,7 +14,7 @@ namespace Discord.API
|
||||
public class Data
|
||||
{
|
||||
[JsonProperty("idle_since")]
|
||||
public ulong? IdleSince;
|
||||
public long? IdleSince;
|
||||
[JsonProperty("game_id")]
|
||||
public int? GameId;
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace Discord.API
|
||||
public SocketInfo SocketData = new SocketInfo();
|
||||
}
|
||||
}
|
||||
internal sealed class VoiceKeepAliveCommand : WebSocketMessage<ulong>
|
||||
internal sealed class VoiceKeepAliveCommand : WebSocketMessage<long>
|
||||
{
|
||||
public VoiceKeepAliveCommand() : base(3, EpochTime.GetMilliseconds()) { }
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace Discord.API
|
||||
}
|
||||
|
||||
//Commands
|
||||
internal sealed class KeepAliveCommand : WebSocketMessage<ulong>
|
||||
internal sealed class KeepAliveCommand : WebSocketMessage<long>
|
||||
{
|
||||
public KeepAliveCommand() : base(1, EpochTime.GetMilliseconds()) { }
|
||||
}
|
||||
|
||||
@@ -297,7 +297,7 @@ namespace Discord
|
||||
}
|
||||
private Task SendStatus()
|
||||
{
|
||||
_dataSocket.SendStatus(_status == UserStatus.Idle ? EpochTime.GetMilliseconds() - (10 * 60 * 1000) : (ulong?)null, _gameId);
|
||||
_dataSocket.SendStatus(_status == UserStatus.Idle ? EpochTime.GetMilliseconds() - (10 * 60 * 1000) : (long?)null, _gameId);
|
||||
return TaskHelper.CompletedTask;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,8 @@ namespace Discord
|
||||
{
|
||||
internal class EpochTime
|
||||
{
|
||||
private static readonly DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
||||
public static ulong GetMilliseconds() => (ulong)(DateTime.UtcNow - epoch).TotalMilliseconds;
|
||||
private const long epoch = 621355968000000000L; //1/1/1970 in Ticks
|
||||
|
||||
public static long GetMilliseconds() => (DateTime.UtcNow.Ticks - epoch) / TimeSpan.TicksPerMillisecond;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ namespace Discord.Net.WebSockets
|
||||
return new KeepAliveCommand();
|
||||
}
|
||||
|
||||
public void SendStatus(ulong? idleSince, int? gameId)
|
||||
public void SendStatus(long? idleSince, int? gameId)
|
||||
{
|
||||
var updateStatus = new UpdateStatusCommand();
|
||||
updateStatus.Payload.IdleSince = idleSince;
|
||||
|
||||
@@ -36,14 +36,14 @@ namespace Discord.Net.WebSockets
|
||||
private ushort _sequence;
|
||||
private long? _serverId, _channelId, _userId;
|
||||
private string _sessionId, _token, _encryptionMode;
|
||||
private ulong _ping;
|
||||
private int _ping;
|
||||
|
||||
private Thread _sendThread, _receiveThread;
|
||||
|
||||
public long? CurrentServerId => _serverId;
|
||||
public long? CurrentChannelId => _channelId;
|
||||
public VoiceBuffer OutputBuffer => _sendBuffer;
|
||||
public int Ping => (int)_ping;
|
||||
public int Ping => _ping;
|
||||
|
||||
public VoiceWebSocket(DiscordWSClient client)
|
||||
: base(client)
|
||||
@@ -471,9 +471,9 @@ namespace Discord.Net.WebSockets
|
||||
break;
|
||||
case 3: //PONG
|
||||
{
|
||||
ulong time = EpochTime.GetMilliseconds();
|
||||
var payload = (ulong)(long)msg.Payload;
|
||||
_ping = payload - time;
|
||||
long time = EpochTime.GetMilliseconds();
|
||||
var payload = (long)msg.Payload;
|
||||
_ping = (int)(payload - time);
|
||||
//TODO: Use this to estimate latency
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user