48 lines
1.0 KiB
C++
48 lines
1.0 KiB
C++
#pragma once
|
|
|
|
/**
|
|
* \file PacketDeclare.h
|
|
* \brief Holds the definitions of the packets (but not their content)
|
|
*/
|
|
|
|
namespace td {
|
|
namespace protocol {
|
|
|
|
/**
|
|
* \enum PacketSender
|
|
* \brief Indicate who should send a packet
|
|
*/
|
|
enum class PacketSenderType {
|
|
/** Sent by clients and server */
|
|
Both = 1,
|
|
/** Sent by clients to the server */
|
|
Client,
|
|
/** Sent by server to the clients */
|
|
Server,
|
|
};
|
|
|
|
enum class PacketSendType {
|
|
Reliable = 1,
|
|
Unreliable,
|
|
UnreliableOrdered,
|
|
};
|
|
|
|
|
|
/**
|
|
* \def DeclareAllPacket
|
|
* \brief Avoids repetitive operations on packets
|
|
*/
|
|
#define DeclareAllPacket() \
|
|
DeclarePacket(ChatMessage, Reliable, Both) \
|
|
DeclarePacket(BeginGame, Reliable, Server) \
|
|
DeclarePacket(Disconnect, Reliable, Both) \
|
|
DeclarePacket(KeepAlive, Reliable, Both) \
|
|
DeclarePacket(LockSteps, Unreliable, Both) \
|
|
DeclarePacket(LoggingSuccess, Reliable, Server) \
|
|
DeclarePacket(PlayerJoin, Reliable, Server) \
|
|
DeclarePacket(PlayerLeave, Reliable, Server) \
|
|
DeclarePacket(PlayerLogin, Reliable, Client) \
|
|
|
|
|
|
} // namespace protocol
|
|
} // namespace td
|