continuity/Continuity.AuthServer/Packets/RawPacket.cs

37 lines
1.1 KiB
C#

// Licensed to Timothy Schenk under the GNU AGPL Version 3 License.
using MassTransit;
using Wonderking.Packets;
namespace Continuity.AuthServer.Packets;
[MessageUrn("packets")]
public class RawPacket
{
public RawPacket(OperationCode operationCode, Span<byte> messageBody, uint aliveTime, byte unknownValue2,
byte unknownValue, Guid sessionId, AuthSession session)
{
MessageBody = messageBody.ToArray();
UnknownValue2 = unknownValue2;
UnknownValue = unknownValue;
SessionId = sessionId;
Session = session;
OperationCode = operationCode;
/*
* 20s = 5
* 15s = 4
* 10s = 3
* client alive time * 5s => uptime
*/
ClientAliveTime = TimeSpan.FromSeconds(5 * aliveTime);
}
public OperationCode OperationCode { get; }
public byte[] MessageBody { get; }
public TimeSpan ClientAliveTime { get; }
public byte UnknownValue { get; }
public byte UnknownValue2 { get; }
public Guid SessionId { get; }
public AuthSession Session { get; }
}