4#include <unordered_map>
32 template <
typename PacketHandlerType,
typename... Args>
37 std::unordered_map<SubprotocolPacketType, std::shared_ptr<BasePacketHandler>>
packets_handlers_;
40template <
typename PacketHandlerType,
typename... Args>
44 std::make_shared<PacketHandlerType>(std::forward<Args>(args)...));
Generic PacketsHandler that contains all specific packet handlers.
Definition packets_handler.hpp:13
std::unordered_map< SubprotocolPacketType, std::shared_ptr< BasePacketHandler > > packets_handlers_
Definition packets_handler.hpp:37
const std::shared_ptr< BasePacketHandler > & getSpecificHandler(SubprotocolPacketType packet_type) const
Factory method for getting specific packet handler based on packet type.
Definition packets_handler.cpp:5
void registerHandler(Args &&... args)
Registers packet handler.
Definition packets_handler.hpp:41
Definition vote_manager.hpp:24
SubprotocolPacketType
SubprotocolPacketType is used in networking layer to differentiate packet types.
Definition packet_types.hpp:12