r-type  0.0.0
R-Type main
Loading...
Searching...
No Matches
HandlerPacket.hpp File Reference

Network packet handler for RNP protocol. More...

#include "Protocol.hpp"
#include "Serializer.hpp"
#include <chrono>
#include <functional>
#include <memory>
#include <stdexcept>
#include <unordered_map>
+ Include dependency graph for HandlerPacket.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  rnp::PacketContext
 Context information for packet processing. More...
 
struct  rnp::HandlerStats
 Statistics for packet handling. More...
 
class  rnp::HandlerPacket
 Main packet handler class. More...
 

Namespaces

namespace  rnp
 

Typedefs

using rnp::ConnectHandler = std::function<HandlerResult(const PacketConnect &, const PacketContext &)>
 
using rnp::ConnectAcceptHandler = std::function<HandlerResult(const PacketConnectAccept &, const PacketContext &)>
 
using rnp::DisconnectHandler = std::function<HandlerResult(const PacketDisconnect &, const PacketContext &)>
 
using rnp::WorldStateHandler = std::function<HandlerResult(const PacketWorldState &, const PacketContext &)>
 
using rnp::PingHandler = std::function<HandlerResult(const PacketPingPong &, const PacketContext &)>
 
using rnp::PongHandler = std::function<HandlerResult(const PacketPingPong &, const PacketContext &)>
 
using rnp::ErrorHandler = std::function<HandlerResult(const PacketError &, const PacketContext &)>
 
using rnp::EntityEventHandler = std::function<HandlerResult(const std::vector<EventRecord> &, const PacketContext &)>
 
using rnp::AckHandler = std::function<HandlerResult(std::uint32_t sequenceId, const PacketContext &)>
 
using rnp::LobbyListRequestHandler = std::function<HandlerResult(const PacketContext &)>
 
using rnp::LobbyListResponseHandler
 
using rnp::LobbyCreateHandler = std::function<HandlerResult(const PacketLobbyCreate &, const PacketContext &)>
 
using rnp::LobbyCreateResponseHandler
 
using rnp::LobbyJoinHandler = std::function<HandlerResult(const PacketLobbyJoin &, const PacketContext &)>
 
using rnp::LobbyJoinResponseHandler
 
using rnp::LobbyLeaveHandler = std::function<HandlerResult(const PacketContext &)>
 
using rnp::LobbyUpdateHandler = std::function<HandlerResult(const PacketLobbyUpdate &, const PacketContext &)>
 
using rnp::GameStartHandler = std::function<HandlerResult(const PacketGameStart &, const PacketContext &)>
 
using rnp::StartGameRequestHandler = std::function<HandlerResult(const PacketStartGameRequest &, const PacketContext &)>
 

Enumerations

enum class  rnp::HandlerResult {
  rnp::SUCCESS , rnp::INVALID_PACKET , rnp::UNSUPPORTED_TYPE , rnp::PROCESSING_ERROR ,
  rnp::SESSION_INVALID , rnp::RATE_LIMITED
}
 Packet processing result. More...
 

Detailed Description

Network packet handler for RNP protocol.

Definition in file HandlerPacket.hpp.