#include <iterator>
/// Constructor
-ResolvProtoRequest::ResolvProtoRequest(std::string name, uint8_t query_type):
+ResolvProtoRequest::ResolvProtoRequest(std::string name, rp_pkt_type_t query_type):
query_type(query_type), name(name)
{}
/// Constructor a partir de un buffer
ResolvProtoRequest::ResolvProtoRequest(std::string buf)
{
- memcpy(&query_type, buf.c_str(), sizeof(uint8_t));
+ memcpy(&query_type, buf.data(), sizeof(uint8_t));
uint16_t size;
- memcpy(&size, buf.c_str() + sizeof(uint8_t), sizeof(uint16_t));
- name.assign(buf.c_str() + sizeof(uint8_t) + sizeof(uint16_t), size);
+ memcpy(&size, buf.data() + sizeof(uint8_t), sizeof(uint16_t));
+ name.assign(buf.data() + sizeof(uint8_t) + sizeof(uint16_t), size);
}
/// Convierte a un buffer
}
/// Constructor
-ResolvProtoResponse::ResolvProtoResponse(): ret(R_NOTFOUND), ttl(0)
+ResolvProtoResponse::ResolvProtoResponse(): ret(RP_RES_NOTFOUND), ttl(0)
{
}
/// Constructor
ResolvProtoResponse::ResolvProtoResponse(std::string buf)
{
- memcpy(&ret, buf.c_str(), sizeof(uint8_t));
- memcpy(&ttl, buf.c_str() + sizeof(uint8_t), sizeof(uint32_t));
+ memcpy(&ret, buf.data(), sizeof(uint8_t));
+ memcpy(&ttl, buf.data() + sizeof(uint8_t), sizeof(uint32_t));
uint8_t count;
- memcpy(&count, buf.c_str() + sizeof(uint8_t) + sizeof(uint32_t),
+ memcpy(&count, buf.data() + sizeof(uint8_t) + sizeof(uint32_t),
sizeof(uint8_t));
ips.reserve(count);
for (uint8_t i = 0; i < count; ++i)
{
uint32_t ip;
- memcpy(&ip, buf.c_str() + 2 * sizeof(uint8_t)
+ memcpy(&ip, buf.data() + 2 * sizeof(uint8_t)
+ sizeof(uint32_t) * (i + 1), sizeof(uint32_t));
ips.push_back(ip);
}
}
/// Constructor
-ResolvProtoResponse::ResolvProtoResponse(ret_t ret, uint32_t ttl,
+ResolvProtoResponse::ResolvProtoResponse(rp_pkt_type_t ret, uint32_t ttl,
const ipvec_t& ips):
ret(ret), ttl(ttl), ips(ips)
{}