Mineserver
A rewrite of Minecraft 1.8.9 in C++ !
|
ZLib Stream. More...
#include <stream.h>
Public Member Functions | |
ZLibStream (IMCStream *baseStream, int level, int threshold) | |
Construct a new ZLibStream object. | |
~ZLibStream () | |
Destroy the ZLibStream object. | |
void | read (std::byte *buffer, std::size_t offset, std::size_t len) override |
Reads from a compressed stream. | |
void | write (const std::byte *buffer, std::size_t offset, std::size_t len) override |
Writes to a compressed stream. | |
size_t | available () override |
Gets the number of available bytes. | |
void | finishPacketWrite (const std::byte *packetData, size_t len) override |
Finishes to write the packet in a Minecrafty way. | |
void | flush () override |
Flushes the stream. | |
Public Member Functions inherited from IMCStream | |
bool | readBoolean () |
Reads a Boolean. | |
void | writeBoolean (bool b) |
Writes a Boolean. | |
std::int8_t | readByte () |
Reads a Byte. | |
void | writeByte (std::int8_t b) |
Writes a Byte. | |
std::uint8_t | readUnsignedByte () |
Reads an Unsigned Byte. | |
void | writeUnsignedByte (std::uint8_t b) |
Writes an Unsigned Byte. | |
std::int16_t | readShort () |
Reads a Short. | |
void | writeShort (std::int16_t s) |
Writes a Short. | |
std::uint16_t | readUnsignedShort () |
Reads an Unsigned Short. | |
void | writeUnsignedShort (std::uint16_t s) |
Writes an Unsigned short. | |
std::int32_t | readInt () |
Reads an Integer. | |
void | writeInt (std::int32_t i) |
Writes a Integer. | |
std::int64_t | readLong () |
Reads a Long. | |
void | writeLong (std::int64_t l) |
Writes a Long. | |
float | readFloat () |
Reads a Float. | |
void | writeFloat (float f) |
Writes a Float. | |
double | readDouble () |
Reads a Double. | |
void | writeDouble (double d) |
Writes a Double. | |
std::string | readString () |
Reads a String. | |
void | writeString (const std::string &s) |
Writes a String. | |
ChatMessage | readChat () |
Reads a Chat Message. | |
void | writeChat (const ChatMessage &c) |
Writes a Chat Message. | |
std::int32_t | readVarInt () |
Reads a Variable Integer. | |
void | writeVarInt (std::int32_t i) |
Writes a Variable Integer. | |
std::int64_t | readVarLong () |
Reads a Variable Long. | |
void | writeVarLong (std::int64_t l) |
Writes a Variable Long. | |
MinecraftUUID | readUUID () |
Reads an MinecraftUUID. | |
void | writeUUID (const MinecraftUUID &uuid) |
Writes an MinecraftUUID. | |
ZLib Stream.
Stream that compresses data according to minecraft standard, writing packet length and data length.
Construct a new ZLibStream object.
baseStream | the base stream to IO on, the class takes ownership |
level | the level of compression |
threshold | the threshold before compression |
|
overridevirtual |
Gets the number of available bytes.
Implements IMCStream.
Finishes to write the packet in a Minecrafty way.
packetData | the packet data |
len | the length of the packet data |
Implements IMCStream.
|
overridevirtual |
Flushes the stream.
Writes to the base stream any data, following minecraft standard way then flushes the base stream and buffers in any incoming data. It then should be called at the end of every packet loop and is the main reason why we are forced to write one packet per loop.
Implements IMCStream.
|
overridevirtual |
Reads from a compressed stream.
buffer | the buffer to write to |
offset | the offset to start writing to |
len | the length to read from baseStream and write to buffer |
Implements IMCStream.
|
overridevirtual |
Writes to a compressed stream.
buffer | the buffer to read from |
offset | the offset to start reading from |
len | the length to read from buffer |
Implements IMCStream.