]> git.llucax.com Git - z.facultad/75.74/practicos.git/blobdiff - practicas/pipi/src/nameserver.h
Se generaliza el devque para seguir (ab)usándolo como cola y poder pedir de
[z.facultad/75.74/practicos.git] / practicas / pipi / src / nameserver.h
index 24b8e86bf1deb291570de42d1b21344400a02add..dbaecf74217658585c3be27d8a8ac41f19ef4a49 100644 (file)
@@ -80,8 +80,20 @@ struct NameServer
     /// Constructor
     NameServer(std::istream& is) throw (std::runtime_error);
 
-    /// Resuelve un nombre de forma no recursiva
-    ResolvProtoResponse resolv_next(const Name& n);
+    /// Resuelve un nombre de forma directa (no recursiva)
+    ResolvProtoResponse resolv_direct(const Name& n);
+
+    /// Resuelve un nombre de forma recursiva
+    ResolvProtoResponse resolv_recursive(const Name& n);
+
+    /// Consulta a otro name server sobre un nombre
+    ResolvProtoResponse query(const Name&n, const IPAddr& ip);
+
+    private:
+    /// Resuelve un nombre de forma recursiva entrando a otros ns
+    ResolvProtoResponse resolv_recursive_r(const Name& n,
+            ResolvProtoResponse rpr);
+
 };
 
 /// Impresión (para debug)