continue implementation; first tests with recursion returned IPs but then added cance...
[pingcheck] / src / dns / resolverbase.h
index 2dd435e..a063c6c 100644 (file)
@@ -48,6 +48,8 @@ public:
      *                       const int cname_count)
      */
     void async_resolve(const callback_type &callback);
+    virtual void cancel_resolve() = 0;
+    virtual bool is_resolving() = 0;
 
     virtual HostAddress get_next_ip() = 0;
     virtual bool have_up_to_date_ip() = 0;
@@ -71,9 +73,13 @@ protected:
 
     void update_cache( const HostAddressVec &new_results ) const;
     void update_cache( const std::string &cname ) const;
+    void update_cache( const std::string &hostname,
+                       const HostAddressVec &new_results ) const;
+    void update_cache( const std::string &hostname,
+                       const std::string &cname ) const;
     void update_cache_ttl( const uint32_t ttl ) const;
 
-    HostAddressVec& get_cached_results(const std::string host="") const;
+    HostAddressVec& get_cached_ips_recursively(const std::string host="") const;
 
     void schedule_callbacks(const bool was_success,
                             const int cname_count);