void FifoReadCallback::forwardMessage(const PacketHeader& header, std::unique_ptr<folly::IOBuf>&& buf) { auto data = buf->coalesce(); CHECK(data.size() == header.packetSize()) << "Invalid header buffer size!"; messageReady_(header.msgId(), header.packetId(), std::move(from_), std::move(to_), data); }
void FifoReadCallback::feedParser(const PacketHeader& header, std::unique_ptr<folly::IOBuf>&& buf) { auto bodyBuf = buf->coalesce(); CHECK(bodyBuf.size() == header.packetSize()) << "Invalid header buffer size!"; auto& parser = parserMap_.fetch(header.msgId()).parser(); if (header.packetId() == 0) { parser.reset(); } parser.parse(bodyBuf); }