26 mutable std::shared_mutex
mutex;
38 throw std::runtime_error(
"No registered handler for message of type " +
std::to_string(header.
msgType));
42 if (iter->second.unique) {
44 return (iter->second.handler)(obj,
buffer);
47 return (iter->second.handler)(obj,
buffer);
MessageDispatcher()=default
bool on_new_data(msgpack::object &obj, msgpack::sbuffer &buffer) const
void register_target(uint32_t msgType, const message_handler &handler, bool unique=false)
std::unordered_map< uint32_t, MessageHandler > message_handlers
uint8_t buffer[RANDOM_BUFFER_SIZE]
std::function< bool(msgpack::object &, msgpack::sbuffer &)> message_handler
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
std::string to_string(bb::avm2::ValueTag tag)