// Copyright (c) 2023 Timothy Schenk. Subject to 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 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; } }