namespace AcDream.Core.Net.Packets;
///
/// A fully-parsed AC UDP packet: 20-byte ,
/// variable-length section, zero or more
/// , and the raw body bytes following the header
/// (for callers that want to re-read parts of the login/connect payload
/// without re-invoking the parser).
///
///
/// Produced by on the receive path;
/// passed to on the transmit path after
/// callers fill in the fields they want.
///
///
public sealed class Packet
{
public PacketHeader Header;
public PacketHeaderOptional Optional { get; } = new();
public List Fragments { get; } = new();
///
/// Copy of the body bytes (everything after the 20-byte header). Useful
/// for LoginRequest packets where the login payload is the body tail and
/// the caller wants to extract username/password bytes directly.
///
public byte[] BodyBytes { get; set; } = Array.Empty();
}