Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
WorldPacket.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef SKYFIRESERVER_WORLDPACKET_H
7#define SKYFIRESERVER_WORLDPACKET_H
8
9#include "ByteBuffer.h"
10#include "Common.h"
11#include "Opcodes.h"
12
13struct z_stream_s;
14
15class WorldPacket : public ByteBuffer
16{
17public:
18 // just container for later use
22
23 WorldPacket(Opcodes opcode, size_t res = 200) : ByteBuffer(res), m_opcode(opcode), m_rcvdOpcodeNumber(0), _compressionStream(NULL)
24 {
25 }
26 // copy constructor
28 {
29 }
30
31 void Initialize(Opcodes opcode, size_t newres = 200)
32 {
33 clear();
34 _storage.reserve(newres);
35 m_opcode = opcode;
36 }
37
38 Opcodes GetOpcode() const { return m_opcode; }
39 void SetOpcode(Opcodes opcode) { m_opcode = opcode; }
40 void Compress(z_stream_s* compressionStream);
41 void Compress(z_stream_s* compressionStream, WorldPacket const* source);
42 void SetReceivedOpcode(uint16 opcode) { m_rcvdOpcodeNumber = opcode; }
44
45protected:
48 void Compress(void* dst, uint32* dst_size, const void* src, int src_size);
49 z_stream_s* _compressionStream;
50};
51#endif
std::uint32_t uint32
Definition Define.h:77
std::uint16_t uint16
Definition Define.h:78
std::vector< uint8 > _storage
Definition ByteBuffer.h:727
void clear()
Definition ByteBuffer.h:141
Opcodes m_opcode
Definition WorldPacket.h:46
void Compress(z_stream_s *compressionStream)
uint16 GetReceivedOpcode()
Definition WorldPacket.h:43
void Compress(z_stream_s *compressionStream, WorldPacket const *source)
uint16 m_rcvdOpcodeNumber
Definition WorldPacket.h:47
void Initialize(Opcodes opcode, size_t newres=200)
Definition WorldPacket.h:31
WorldPacket(Opcodes opcode, size_t res=200)
Definition WorldPacket.h:23
Opcodes GetOpcode() const
Definition WorldPacket.h:38
void SetOpcode(Opcodes opcode)
Definition WorldPacket.h:39
void SetReceivedOpcode(uint16 opcode)
Definition WorldPacket.h:42
z_stream_s * _compressionStream
Definition WorldPacket.h:49
WorldPacket(WorldPacket const &packet)
Definition WorldPacket.h:27
Opcodes
List of Opcodes.
Definition Opcodes.h:21
@ UNKNOWN_OPCODE
Definition Opcodes.h:1073