ParserContext::ParserContext( const Callback& cb) noexcept : callback_(cb), parser_([this](uint64_t id, McMsgRef msg) { msgReady(id, std::move(msg)); }) { }
void Communication::processData() { QDataStream &stream = *_recv_stream; if(_msg_len == 0) { if(_ser.bytesAvailable() < sizeof(quint32)) return; stream >> _msg_len; } if(_ser.bytesAvailable() < _msg_len) return; emit msgReady(stream); }