void CaretReplyConverter::onTypedMessage( TypedThriftReply<cpp2::McMetagetReply>&& tres, McReply& reply) { if (!fillResult(tres, reply)) { return; } if (tres->__isset.age) { reply.setNumber(tres->age); } if (tres->__isset.exptime) { reply.setExptime(tres->exptime); } struct in6_addr addr; if (tres->__isset.ipAddress) { if (!tres->__isset.ipv) { reply.setResult(mc_res_bad_value); return; } int af = (tres->ipv == 6) ? AF_INET6 : AF_INET; auto ret = inet_pton( af, reinterpret_cast<const char*>(tres->ipAddress.data()), &addr); if (ret == 1) { reply.setIpAddress(addr, tres->ipv); } } }
void CaretReplyConverter::onTypedMessage( TypedThriftReply<cpp2::McVersionReply>&& tres, McReply& reply) { if (!fillResult(tres, reply)) { return; } if (tres->__isset.value != true) { reply.setResult(mc_res_bad_value); return; } reply.setValue(std::move(tres->value)); }