]> git.llucax.com Git - z.facultad/75.74/practicos.git/commitdiff
Se conserva el TTL original en el cache.
authorLeandro Lucarella <llucax@gmail.com>
Tue, 4 Jul 2006 14:27:55 +0000 (14:27 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Tue, 4 Jul 2006 14:27:55 +0000 (14:27 +0000)
practicas/pipi/src/nameserver.cpp
practicas/pipi/src/nameserver.h

index 4d878b14546257404c95be0a44f1a71e2b108f28..886a2fc4cae3433e205b758b9333a728a8d004a7 100644 (file)
@@ -376,7 +376,7 @@ ResolvProtoResponse NameServer::query(const Name& n, const IPAddr& ip)
 #endif
     // Agrego a cache
     if (resp.ret == RP_RES_A)
-        cache[n] = CacheRecord(time(NULL) + resp.ttl, resp.ips);
+        cache[n] = CacheRecord(time(NULL) + resp.ttl, resp.ttl, resp.ips);
     return resp;
 }
 
index 2dab7a37e9ba4501075f2b11f30ac41a3ab71b16..fefa09253b5b83a301937ba0158b52a7b23187e1 100644 (file)
@@ -63,6 +63,8 @@ struct NameServer
     /// Cache de un registro
     struct CacheRecord
     {
+        /// Tiempo de expiración (segundos desde el epoch)
+        size_t expire;
         /// Time to live
         size_t ttl;
         /// Dirección IP del registro
@@ -70,8 +72,8 @@ struct NameServer
         ipvec_t ips;
         /// Constructor
         CacheRecord(): ttl(0) {}
-        CacheRecord(size_t ttl, const ipvec_t& ips):
-            ttl(ttl), ips(ips) {}
+        CacheRecord(size_t expire, size_t ttl, const ipvec_t& ips):
+            expire(expire), ttl(ttl), ips(ips) {}
     };
 
     /// Cache de records