X-Git-Url: https://git.llucax.com/z.facultad/75.74/practicos.git/blobdiff_plain/c048ca1252065d6705763043eb2ff750d95e52e9..63516fdd4cb64b01971750be1d29d7244b1f9e5e:/practicas/pipi/src/nameserver.h?ds=sidebyside diff --git a/practicas/pipi/src/nameserver.h b/practicas/pipi/src/nameserver.h index 24b8e86..dbaecf7 100644 --- a/practicas/pipi/src/nameserver.h +++ b/practicas/pipi/src/nameserver.h @@ -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)