public void Write(PacketLogEntry entry) { if (entry == null) { throw new ArgumentNullException(nameof(entry)); } if (!Servers.ContainsKey(entry.ServerId)) { throw new ArgumentException("Invalid server ID.", nameof(entry)); } if (!Messages.Game.OpCodeToName.ContainsKey(entry.OpCode)) { throw new ArgumentException("Invalid opcode.", nameof(entry)); } if (_disposed) { throw new ObjectDisposedException(GetType().FullName); } _writer.WriteInt64(new DateTimeOffset(entry.Timestamp).ToUnixTimeMilliseconds()); _writer.WriteInt32(entry.ServerId); _writer.WriteByte((byte)entry.Direction); _writer.WriteUInt16(entry.OpCode); _writer.WriteUInt16((ushort)entry.Payload.Count); _writer.WriteBytes(entry.Payload.ToArray()); }
public void Write(PacketLogEntry entry) { _writer.Write(entry.Timestamp.ToUniversalTime().ToBinary()); _writer.Write(entry.ServerName); _writer.Write((byte)entry.Direction); _writer.Write(entry.OpCode); _writer.Write((ushort)entry.Payload.Count); _writer.Write(entry.Payload.ToArray()); _writer.Flush(); }