]> git.llucax.com Git - z.facultad/75.74/practicos.git/blobdiff - practicas/pipi/src/resolvproto.cpp
Se vuelven para atrás los cambios de buffer y filtrado y, por el contrario, ya
[z.facultad/75.74/practicos.git] / practicas / pipi / src / resolvproto.cpp
index e71100488934ce83f856057c98cd8565371d255b..4c45f69ba04e0288934466c4cf5e72f31395105b 100644 (file)
@@ -54,6 +54,11 @@ std::ostream& operator<< (std::ostream& os, const ResolvProtoRequest& rpr)
         << ", name=" << rpr.name << ")";
 }
 
+/// Constructor
+ResolvProtoResponse::ResolvProtoResponse(): ret(R_NOTFOUND), ttl(0)
+{
+}
+
 /// Constructor
 ResolvProtoResponse::ResolvProtoResponse(int fd)
 {
@@ -61,8 +66,9 @@ ResolvProtoResponse::ResolvProtoResponse(int fd)
 }
 
 /// Constructor
-ResolvProtoResponse::ResolvProtoResponse(ret_t ret, uint32_t ttl):
-    ret(ret), ttl(ttl)
+ResolvProtoResponse::ResolvProtoResponse(ret_t ret, uint32_t ttl,
+        const ipvec_t& ips):
+    ret(ret), ttl(ttl), ips(ips)
 {}
 
 /// Envía por socket
@@ -109,10 +115,11 @@ void ResolvProtoResponse::recv(int sockfd)
 /// Impresión de response
 std::ostream& operator<< (std::ostream& os, const ResolvProtoResponse& rpr)
 {
-    if (rpr.ips.empty())
-        return os;
     os << "ResolvProtoResponse(ret=" << unsigned(rpr.ret)
-        << ", ttl=" << rpr.ttl << ", ";
+        << ", ttl=" << rpr.ttl;
+    if (rpr.ips.empty())
+        return os << ")";
+    os << ", ";
     std::copy(rpr.ips.begin(), rpr.ips.end() - 1,
             std::ostream_iterator< IPAddr >(os, ", "));
     return os << rpr.ips.back() << ")";