28 [[nodiscard]]
constexpr explicit Packet(
29 PacketPriority priority = PacketPriority::MediumPriority,
30 NetworkPeer::Reliability reliability = NetworkPeer::Reliability::ReliableOrdered,
31 SubClientId clientSubId = SubClientId::PrimaryClient,
34 : mPriority(priority),
35 mReliability(reliability),
36 mClientSubId(clientSubId),
37 mCompressible(compress ? Compressibility::Compressible : Compressibility::Incompressible) {}
82 ::PacketPriority mPriority;
83 ::NetworkPeer::Reliability mReliability;
84 ::SubClientId mClientSubId;
86 ::std::chrono::steady_clock::time_point mReceiveTimepoint;
88 ::Compressibility mCompressible;
98 virtual ::MinecraftPacketIds getId()
const = 0;
101 virtual ::std::string getName()
const = 0;
104 virtual ::Bedrock::Result<void> checkSize(uint64 packetSize,
bool receiverIsServer)
const;
113 virtual bool disallowBatching()
const;
116 virtual bool isValid()
const;
125 MCAPI ::Bedrock::Result<void> readNoHeader(
::ReadOnlyBinaryStream& bitstream, ::SubClientId
const& subid);
137 MCAPI ::Bedrock::Result<void> $checkSize(uint64 packetSize,
bool receiverIsServer)
const;
141 MCFOLD
bool $disallowBatching()
const;
143 MCFOLD
bool $isValid()
const;
149 MCAPI
static void** $vftable();