mirror of
https://github.com/simtactics/mysimulation.git
synced 2025-03-22 09:22:24 +00:00
- NioTSO client isn't needed because we're using RayLib - Added FreeSO's API server to handle most backend operations
57 lines
2 KiB
C#
Executable file
57 lines
2 KiB
C#
Executable file
using FSO.Common.Serialization;
|
|
using Mina.Core.Buffer;
|
|
|
|
namespace FSO.Server.Protocol.Voltron.Packets
|
|
{
|
|
public class ClientOnlinePDU : AbstractVoltronPacket
|
|
{
|
|
public ushort MajorVersion { get; set; }
|
|
public ushort MinorVersion { get; set; }
|
|
public ushort PointVersion { get; set; }
|
|
public ushort ArtVersion { get; set; }
|
|
|
|
public ulong Timestamp { get; set; }
|
|
public byte NumberOfAttempts { get; set; }
|
|
|
|
public byte LastExitCode { get; set; }
|
|
public byte LastFailureType { get; set; }
|
|
public byte FailureCount { get; set; }
|
|
public byte IsRunning { get; set; }
|
|
public byte IsReLogging { get; set; }
|
|
|
|
public override VoltronPacketType GetPacketType()
|
|
{
|
|
return VoltronPacketType.ClientOnlinePDU;
|
|
}
|
|
|
|
public override void Serialize(IoBuffer output, ISerializationContext context)
|
|
{
|
|
output.PutUInt16(MajorVersion);
|
|
output.PutUInt16(MinorVersion);
|
|
output.PutUInt16(PointVersion);
|
|
output.PutUInt16(ArtVersion);
|
|
output.PutUInt64(this.Timestamp);
|
|
output.Put(NumberOfAttempts);
|
|
output.Put(LastExitCode);
|
|
output.Put(LastFailureType);
|
|
output.Put(FailureCount);
|
|
output.Put(IsRunning);
|
|
output.Put(IsReLogging);
|
|
}
|
|
|
|
public override void Deserialize(IoBuffer input, ISerializationContext context)
|
|
{
|
|
this.MajorVersion = input.GetUInt16();
|
|
this.MinorVersion = input.GetUInt16();
|
|
this.PointVersion = input.GetUInt16();
|
|
this.ArtVersion = input.GetUInt16();
|
|
this.Timestamp = input.GetUInt64();
|
|
this.NumberOfAttempts = input.Get();
|
|
this.LastExitCode = input.Get();
|
|
this.LastFailureType = input.Get();
|
|
this.FailureCount = input.Get();
|
|
this.IsRunning = input.Get();
|
|
this.IsReLogging = input.Get();
|
|
}
|
|
}
|
|
}
|