using System.IO; namespace ACE.Server.Network { public class ClientMessage { public MemoryStream Data { get; } public BinaryReader Payload { get; } public uint Opcode { get; } /// stream must be at least 4 bytes in length remaining to read public ClientMessage(MemoryStream stream) { Data = stream; Payload = new BinaryReader(Data); Opcode = Payload.ReadUInt32(); } /// data must be at least 4 bytes in length public ClientMessage(byte[] data) { Data = new MemoryStream(data); Payload = new BinaryReader(Data); Opcode = Payload.ReadUInt32(); } } }