[svn] commit: r3475 - in /branches/trac408/src/lib/nsas: nameserver_address_store.cc nameserver_address_store.h resolver_interface.h tests/nameserver_address_store_unittest.cc
BIND 10 source code commits
bind10-changes at lists.isc.org
Sat Nov 6 18:34:21 UTC 2010
Author: vorner
Date: Sat Nov 6 18:34:21 2010
New Revision: 3475
Log:
Interface of resolver
Well, temporary one, for now
Added:
branches/trac408/src/lib/nsas/resolver_interface.h
Modified:
branches/trac408/src/lib/nsas/nameserver_address_store.cc
branches/trac408/src/lib/nsas/nameserver_address_store.h
branches/trac408/src/lib/nsas/tests/nameserver_address_store_unittest.cc
Modified: branches/trac408/src/lib/nsas/nameserver_address_store.cc
==============================================================================
--- branches/trac408/src/lib/nsas/nameserver_address_store.cc (original)
+++ branches/trac408/src/lib/nsas/nameserver_address_store.cc Sat Nov 6 18:34:21 2010
@@ -36,13 +36,14 @@
// The LRU lists are set equal to three times the size of the respective
// hash table, on the assumption that three elements is the longest linear
// search we want to do when looking up names in the hash table.
-NameserverAddressStore::NameserverAddressStore(uint32_t zonehashsize,
- uint32_t nshashsize) :
+NameserverAddressStore::NameserverAddressStore(ResolverInterface& resolver,
+ uint32_t zonehashsize, uint32_t nshashsize) :
zone_hash_(new NsasEntryCompare<ZoneEntry>, zonehashsize),
nameserver_hash_(new NsasEntryCompare<NameserverEntry>, nshashsize),
zone_lru_((3 * zonehashsize), new HashDeleter<ZoneEntry>(zone_hash_)),
nameserver_lru_((3 * nshashsize), new HashDeleter<NameserverEntry>(
- nameserver_hash_))
+ nameserver_hash_)),
+ resolver_(resolver)
{
}
Modified: branches/trac408/src/lib/nsas/nameserver_address_store.h
==============================================================================
--- branches/trac408/src/lib/nsas/nameserver_address_store.h (original)
+++ branches/trac408/src/lib/nsas/nameserver_address_store.h Sat Nov 6 18:34:21 2010
@@ -27,6 +27,7 @@
#include "nameserver_entry.h"
#include "lru_list.h"
#include "zone_entry.h"
+#include "resolver_interface.h"
namespace isc {
namespace nsas {
@@ -46,15 +47,17 @@
/// The constructor sizes all the tables. As there are various
/// relationships between the table sizes, and as some values are best as
/// prime numbers, the table sizes are determined by compile-time values.
- ///
+ ///
+ /// \param resolver Which resolver object (or resolver-like, in case of
+ /// tests) should it use to ask questions.
/// \param zonehashsize Size of the zone hash table. The default value of
/// 1009 is the first prime number above 1000.
/// \param nshash size Size of the nameserver hash table. The default
/// value of 2003 is the first prime number over 2000, and by implication,
/// there is an assumption that there will be more nameservers than zones
/// in the store.
- NameserverAddressStore(uint32_t zonehashsize = 1009,
- uint32_t nshashsize = 3001);
+ NameserverAddressStore(ResolverInterface& resolver,
+ uint32_t zonehashsize = 1009, uint32_t nshashsize = 3001);
/// \brief Destructor
///
@@ -99,6 +102,8 @@
LruList<ZoneEntry> zone_lru_;
LruList<NameserverEntry> nameserver_lru_;
//}@
+private:
+ ResolverInterface& resolver_;
};
} // namespace nsas
Modified: branches/trac408/src/lib/nsas/tests/nameserver_address_store_unittest.cc
==============================================================================
--- branches/trac408/src/lib/nsas/tests/nameserver_address_store_unittest.cc (original)
+++ branches/trac408/src/lib/nsas/tests/nameserver_address_store_unittest.cc Sat Nov 6 18:34:21 2010
@@ -26,12 +26,15 @@
#include <string.h>
#include <vector>
+#include <cassert>
#include "nameserver_address_store.h"
#include "nsas_entry_compare.h"
#include "nameserver_entry.h"
#include "zone_entry.h"
#include "nsas_test.h"
+
+using namespace isc::dns;
namespace isc {
namespace nsas {
@@ -47,8 +50,9 @@
///
/// \param hashsize Size of the zone hash table
/// \param lrusize Size of the zone hash table
- DerivedNsas(uint32_t hashsize, uint32_t lrusize) :
- NameserverAddressStore(hashsize, lrusize)
+ DerivedNsas(ResolverInterface& resolver, uint32_t hashsize,
+ uint32_t lrusize) :
+ NameserverAddressStore(resolver, hashsize, lrusize)
{}
/// \brief Virtual Destructor
@@ -94,6 +98,13 @@
// Vector of pointers to nameserver and zone entries.
std::vector<boost::shared_ptr<NameserverEntry> > nameservers_;
std::vector<boost::shared_ptr<ZoneEntry> > zones_;
+
+ class TestResolver : public ResolverInterface {
+ public:
+ virtual void resolve(QuestionPtr, CallbackPtr) {
+ assert(0); // TODO Implement
+ }
+ } defaultTestResolver;
};
@@ -105,7 +116,7 @@
// Create a NSAS with a hash size of three and a LRU size of 9 (both zone and
// nameserver tables).
- DerivedNsas nsas(2, 2);
+ DerivedNsas nsas(defaultTestResolver, 2, 2);
// Add six entries to the tables. After addition the reference count of each element
// should be 3 - one for the entry in the zones_ vector, and one each for the entries
@@ -135,7 +146,7 @@
// Create a NSAS with a hash size of three and a LRU size of 9 (both zone and
// nameserver tables).
- DerivedNsas nsas(2, 2);
+ DerivedNsas nsas(defaultTestResolver, 2, 2);
// Add six entries to the tables. After addition the reference count of each element
// should be 3 - one for the entry in the nameservers_ vector, and one each for the entries
More information about the bind10-changes
mailing list