Classes | |
| class | EndianUtils |
| Utility class for endianness conversion. More... | |
| struct | EntityState |
| Entity state for WORLD_STATE packet. More... | |
| struct | EventRecord |
| Event record for ENTITY_EVENT packets (TLV format) More... | |
| class | HandlerPacket |
| Main packet handler class. More... | |
| struct | HandlerStats |
| Statistics for packet handling. More... | |
| struct | LobbyInfo |
| Lobby information structure. More... | |
| struct | PacketConnect |
| CONNECT packet payload. More... | |
| struct | PacketConnectAccept |
| CONNECT_ACCEPT packet payload. More... | |
| struct | PacketContext |
| Context information for packet processing. More... | |
| struct | PacketDisconnect |
| DISCONNECT packet payload. More... | |
| struct | PacketError |
| ERROR packet payload. More... | |
| struct | PacketGameStart |
| GAME_START packet payload. More... | |
| struct | PacketHeader |
| Packet header according to RNP specification (Big Endian) Total size: 7 bytes (1 + 2 + 4) More... | |
| struct | PacketLobbyCreate |
| LOBBY_CREATE packet payload. More... | |
| struct | PacketLobbyCreateResponse |
| LOBBY_CREATE_RESPONSE packet payload. More... | |
| struct | PacketLobbyJoin |
| LOBBY_JOIN packet payload. More... | |
| struct | PacketLobbyJoinResponse |
| LOBBY_JOIN_RESPONSE packet payload. More... | |
| struct | PacketLobbyListResponse |
| LOBBY_LIST_RESPONSE packet payload. More... | |
| struct | PacketLobbyUpdate |
| LOBBY_UPDATE packet payload. More... | |
| struct | PacketPingPong |
| PING/PONG packet payload. More... | |
| struct | PacketStartGameRequest |
| START_GAME_REQUEST packet payload (client requests to start game) More... | |
| struct | PacketWorldState |
| WORLD_STATE packet payload. More... | |
| class | Serializer |
| Binary serializer for RNP protocol packets. More... | |
Enumerations | |
| enum class | HandlerResult { SUCCESS , INVALID_PACKET , UNSUPPORTED_TYPE , PROCESSING_ERROR , SESSION_INVALID , RATE_LIMITED } |
| Packet processing result. More... | |
| enum class | PacketType : std::uint8_t { CONNECT = 0x01 , DISCONNECT = 0x02 , WORLD_STATE = 0x03 , PING = 0x04 , PONG = 0x05 , PACKET_ERROR = 0x06 , ENTITY_EVENT = 0x07 , CONNECT_ACCEPT = 0x08 , LOBBY_LIST_REQUEST = 0x09 , LOBBY_LIST_RESPONSE = 0x0A , LOBBY_CREATE = 0x0B , LOBBY_CREATE_RESPONSE = 0x0C , LOBBY_JOIN = 0x0D , LOBBY_JOIN_RESPONSE = 0x0E , LOBBY_LEAVE = 0x0F , LOBBY_UPDATE = 0x10 , GAME_START = 0x11 , START_GAME_REQUEST = 0x12 , GAME_OVER = 0x13 } |
| Packet types according to RNP specification. More... | |
| enum class | PacketFlags : std::uint16_t { NONE = 0x0000 , RELIABLE = 0x0001 , COMPRESSED = 0x0002 } |
| Packet flags for reliability and fragmentation. More... | |
| enum class | DisconnectReason : std::uint16_t { UNSPECIFIED = 0 , CLIENT_REQUEST = 1 , TIMEOUT = 2 , PROTOCOL_ERROR = 3 , SERVER_SHUTDOWN = 4 , SERVER_FULL = 5 , BANNED = 6 } |
| Disconnect reason codes. More... | |
| enum class | ErrorCode : std::uint16_t { NONE = 0 , INVALID_PAYLOAD = 1 , UNAUTHORIZED_SESSION = 2 , RATE_LIMITED = 3 , INTERNAL_ERROR = 4 , LOBBY_NOT_FOUND = 5 , LOBBY_FULL = 6 , ALREADY_IN_LOBBY = 7 , NOT_IN_LOBBY = 8 , NOT_LOBBY_HOST = 9 } |
| Error codes. More... | |
| enum class | EventType : std::uint8_t { SPAWN = 0x01 , DESPAWN = 0x02 , DAMAGE = 0x03 , SCORE = 0x04 , POWERUP = 0x05 , INPUT = 0x06 , CUSTOM = 0xFF } |
| Event types for ENTITY_EVENT packets. More... | |
| enum class | EntityType : std::uint16_t { PLAYER = 0x01 , ENEMY = 0x02 , PROJECTILE = 0x03 , BOSS = 0x04 } |
| Entity types for world state. More... | |
| enum class | EntitySubtype : std::uint8_t { NONE = 0 , ENEMY_BASIC = 1 , ENEMY_ADVANCED = 2 , ENEMY_BOSS = 3 , PROJECTILE_PLAYER = 10 , PROJECTILE_PLAYER_SUPERCHARGED = 11 , PROJECTILE_ENEMY = 12 } |
| Entity subtype enumeration. More... | |
| enum class | LobbyStatus : std::uint8_t { WAITING = 0 , IN_GAME = 1 , FINISHED = 2 } |
| Lobby status enumeration. More... | |
Variables | |
| constexpr std::size_t | MAX_PAYLOAD = 512 |
| using rnp::AckHandler = std::function<HandlerResult(std::uint32_t sequenceId, const PacketContext &)> |
Definition at line 59 of file HandlerPacket.hpp.
| using rnp::ConnectAcceptHandler = std::function<HandlerResult(const PacketConnectAccept &, const PacketContext &)> |
Definition at line 52 of file HandlerPacket.hpp.
| using rnp::ConnectHandler = std::function<HandlerResult(const PacketConnect &, const PacketContext &)> |
Definition at line 51 of file HandlerPacket.hpp.
| using rnp::DisconnectHandler = std::function<HandlerResult(const PacketDisconnect &, const PacketContext &)> |
Definition at line 53 of file HandlerPacket.hpp.
| using rnp::EntityEventHandler = std::function<HandlerResult(const std::vector<EventRecord> &, const PacketContext &)> |
Definition at line 58 of file HandlerPacket.hpp.
| using rnp::ErrorHandler = std::function<HandlerResult(const PacketError &, const PacketContext &)> |
Definition at line 57 of file HandlerPacket.hpp.
| using rnp::GameStartHandler = std::function<HandlerResult(const PacketGameStart &, const PacketContext &)> |
Definition at line 73 of file HandlerPacket.hpp.
| using rnp::LobbyCreateHandler = std::function<HandlerResult(const PacketLobbyCreate &, const PacketContext &)> |
Definition at line 65 of file HandlerPacket.hpp.
Definition at line 66 of file HandlerPacket.hpp.
| using rnp::LobbyJoinHandler = std::function<HandlerResult(const PacketLobbyJoin &, const PacketContext &)> |
Definition at line 68 of file HandlerPacket.hpp.
Definition at line 69 of file HandlerPacket.hpp.
| using rnp::LobbyLeaveHandler = std::function<HandlerResult(const PacketContext &)> |
Definition at line 71 of file HandlerPacket.hpp.
| using rnp::LobbyListRequestHandler = std::function<HandlerResult(const PacketContext &)> |
Definition at line 62 of file HandlerPacket.hpp.
Definition at line 63 of file HandlerPacket.hpp.
| using rnp::LobbyUpdateHandler = std::function<HandlerResult(const PacketLobbyUpdate &, const PacketContext &)> |
Definition at line 72 of file HandlerPacket.hpp.
| using rnp::PingHandler = std::function<HandlerResult(const PacketPingPong &, const PacketContext &)> |
Definition at line 55 of file HandlerPacket.hpp.
| using rnp::PongHandler = std::function<HandlerResult(const PacketPingPong &, const PacketContext &)> |
Definition at line 56 of file HandlerPacket.hpp.
| using rnp::StartGameRequestHandler = std::function<HandlerResult(const PacketStartGameRequest &, const PacketContext &)> |
Definition at line 74 of file HandlerPacket.hpp.
| using rnp::WorldStateHandler = std::function<HandlerResult(const PacketWorldState &, const PacketContext &)> |
Definition at line 54 of file HandlerPacket.hpp.
|
strong |
Disconnect reason codes.
| Enumerator | |
|---|---|
| UNSPECIFIED | |
| CLIENT_REQUEST | |
| TIMEOUT | |
| PROTOCOL_ERROR | |
| SERVER_SHUTDOWN | |
| SERVER_FULL | |
| BANNED | |
Definition at line 60 of file Protocol.hpp.
|
strong |
Entity subtype enumeration.
| Enumerator | |
|---|---|
| NONE | |
| ENEMY_BASIC | |
| ENEMY_ADVANCED | |
| ENEMY_BOSS | |
| PROJECTILE_PLAYER | |
| PROJECTILE_PLAYER_SUPERCHARGED | |
| PROJECTILE_ENEMY | |
Definition at line 166 of file Protocol.hpp.
|
strong |
Entity types for world state.
| Enumerator | |
|---|---|
| PLAYER | |
| ENEMY | |
| PROJECTILE | |
| BOSS | |
Definition at line 105 of file Protocol.hpp.
|
strong |
Error codes.
| Enumerator | |
|---|---|
| NONE | |
| INVALID_PAYLOAD | |
| UNAUTHORIZED_SESSION | |
| RATE_LIMITED | |
| INTERNAL_ERROR | |
| LOBBY_NOT_FOUND | |
| LOBBY_FULL | |
| ALREADY_IN_LOBBY | |
| NOT_IN_LOBBY | |
| NOT_LOBBY_HOST | |
Definition at line 74 of file Protocol.hpp.
|
strong |
Event types for ENTITY_EVENT packets.
| Enumerator | |
|---|---|
| SPAWN | |
| DESPAWN | |
| DAMAGE | |
| SCORE | |
| POWERUP | |
| INPUT | |
| CUSTOM | |
Definition at line 91 of file Protocol.hpp.
|
strong |
Packet processing result.
| Enumerator | |
|---|---|
| SUCCESS | |
| INVALID_PACKET | |
| UNSUPPORTED_TYPE | |
| PROCESSING_ERROR | |
| SESSION_INVALID | |
| RATE_LIMITED | |
Definition at line 23 of file HandlerPacket.hpp.
|
strong |
Lobby status enumeration.
| Enumerator | |
|---|---|
| WAITING | |
| IN_GAME | |
| FINISHED | |
Definition at line 226 of file Protocol.hpp.
|
strong |
Packet flags for reliability and fragmentation.
| Enumerator | |
|---|---|
| NONE | |
| RELIABLE | |
| COMPRESSED | |
Definition at line 50 of file Protocol.hpp.
|
strong |
Packet types according to RNP specification.
Definition at line 23 of file Protocol.hpp.
|
inlineconstexpr |
Definition at line 18 of file Protocol.hpp.
Referenced by rnp::HandlerPacket::processPacket(), srv::AsioServer::sendConnectAccept(), rnp::Serializer::Serializer(), and rnp::Serializer::writeBytes().