45 [[nodiscard]]
constexpr explicit Packet(
46 PacketPriority priority = PacketPriority::MediumPriority,
47 NetworkPeer::Reliability reliability = NetworkPeer::Reliability::ReliableOrdered,
48 SubClientId clientSubId = SubClientId::PrimaryClient,
51 : mPriority(priority),
52 mReliability(reliability),
53 mSenderSubId(clientSubId),
54 mCompressible(compress ? Compressibility::Compressible : Compressibility::Incompressible) {}
99 ::PacketPriority mPriority;
100 ::NetworkPeer::Reliability mReliability;
101 ::SubClientId mSenderSubId;
103 ::std::chrono::steady_clock::time_point mReceiveTimepoint;
105 ::Compressibility mCompressible;
115 virtual ::MinecraftPacketIds getId()
const = 0;
118 virtual ::std::string getName()
const = 0;
121 virtual ::Bedrock::Result<void> checkSize(uint64 packetSize,
bool receiverIsServer)
const;
124 virtual void writeWithSerializationMode(
127 ::std::optional<::SerializationMode>
137 virtual ::Bedrock::Result<void>
144 virtual bool disallowBatching()
const;
147 virtual bool isValid()
const;
150 virtual ::SerializationMode getSerializationMode()
const;
153 virtual void setSerializationMode(::SerializationMode);
156 virtual ::std::string toString()
const;
159 virtual ::Bedrock::Result<void>
169 MCAPI ::Bedrock::Result<void> readNoHeader(
172 ::SubClientId
const& subid
185 MCAPI ::Bedrock::Result<void> $checkSize(uint64 packetSize,
bool receiverIsServer)
const;
187 MCAPI
void $writeWithSerializationMode(
190 ::std::optional<::SerializationMode>
195 MCFOLD ::Bedrock::Result<void>
200 MCFOLD
bool $disallowBatching()
const;
202 MCFOLD
bool $isValid()
const;
204 MCFOLD ::SerializationMode $getSerializationMode()
const;
206 MCFOLD
void $setSerializationMode(::SerializationMode);
208 MCFOLD ::std::string $toString()
const;
210 MCFOLD ::Bedrock::Result<void>