mysimulation/server/FSO.Server.Protocol/Voltron/AbstractVoltronPacket.cs

34 lines
1.1 KiB
C#
Raw Permalink Normal View History

using FSO.Common.Serialization;
using FSO.Server.Protocol.Voltron.Model;
using Mina.Core.Buffer;
namespace FSO.Server.Protocol.Voltron
{
public abstract class AbstractVoltronPacket : IVoltronPacket
{
public static Sender GetSender(IoBuffer buffer)
{
var ariesID = buffer.GetPascalString();
var masterID = buffer.GetPascalString();
return new Sender { AriesID = ariesID, MasterAccountID = masterID };
}
public static void PutSender(IoBuffer buffer, Sender sender)
{
buffer.PutPascalString(sender.AriesID);
buffer.PutPascalString(sender.MasterAccountID);
}
public static IoBuffer Allocate(int size)
{
IoBuffer buffer = IoBuffer.Allocate(size);
buffer.Order = ByteOrder.BigEndian;
return buffer;
}
public abstract VoltronPacketType GetPacketType();
public abstract void Serialize(IoBuffer output, ISerializationContext context);
public abstract void Deserialize(IoBuffer input, ISerializationContext context);
}
}