The resolving module handlers' base class is designed to serve as a foundational class.
To use the module, users need to ensure that they have installed it, and then import it to their application. An example usage is provided in the SYNOPSIS section of the module. The example code shows how to use the module to create two resolvers - one that uses a cache, and one that resolves queries for a specific domain.
The module package allows users to create custom resolvers by defining the "resolve" subroutine. This subroutine is implemented in a class that inherits from Net::DNSServer::Base. In the example provided in the module, a custom class named MyTestResolver is defined.
The main invoker program must call the new() method for each resolver to create an instance of each. Each resolver is an ISA Net::DNSServer::Base, which must explicitly define the resolve() method.
Finally, a reference to a list of these objects is passed to run() as the "priority" argument, as demonstrated in the SYNOPSIS above. The run() method is responsible for running the DNS server, and it never returns.
In conclusion, Net::DNSServer::Base is an excellent module for developers who are looking to create custom DNS resolvers. It provides the base class and the necessary methods to implement custom resolvers. The module is well-documented and easy to use, making it an excellent choice for developers looking to develop DNS servers.
Version 0.11: N/A