From f1ca6c6d71f3e31b333e0be45294bcb30fd89b4d Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 7 Jan 2007 21:35:25 +0000 Subject: DNS caching stuff (almost done) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6252 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/dns.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/dns.cpp') diff --git a/src/dns.cpp b/src/dns.cpp index 385f8639e..a8aaa3fde 100644 --- a/src/dns.cpp +++ b/src/dns.cpp @@ -911,9 +911,10 @@ void DNS::DelCache(const std::string &source) cache->erase(source.c_str()); } -void Resolver::OnLookupComplete(const std::string &result, unsigned int ttl) +void Resolver::TriggerCachedResult() { - throw CoreException("Someone didnt define an OnLookupComplete method for their Resolver class!"); + if (CQ) + OnLookupComplete(CQ->data, time_left); } /** High level abstraction of dns used by application at large */ @@ -923,10 +924,10 @@ Resolver::Resolver(InspIRCd* Instance, const std::string &source, QueryType qt, cached = false; - CachedQuery* CQ = ServerInstance->Res->GetCache(source); + CQ = ServerInstance->Res->GetCache(source); if (CQ) { - int time_left = CQ->CalcTTLRemaining(); + time_left = CQ->CalcTTLRemaining(); if (!time_left) { ServerInstance->Log(DEBUG,"Cached but EXPIRED result: %s", CQ->data.c_str()); @@ -936,7 +937,6 @@ Resolver::Resolver(InspIRCd* Instance, const std::string &source, QueryType qt, { cached = true; ServerInstance->Log(DEBUG,"Cached result: %s", CQ->data.c_str()); - OnLookupComplete(CQ->data, time_left); return; } } -- cgit v1.3.1-10-gc9f91