ConfigurableClientList::ConfigurableClientList(const RRClass& rrclass) :
rrclass_(rrclass),
- mem_sgmt_(new util::MemorySegmentLocal),
configuration_(new isc::data::ListElement),
allow_cache_(false)
{}
-ConfigurableClientList::~ConfigurableClientList() {
- // Explicitly clear the contained data source clients, and check memory
- // leak. assert() (with abort on failure) may be too harsh, but
- // it's probably better to find more leaks initially. Once it's stabilized
- // we should probably revisit it.
-
- data_sources_.clear();
- assert(mem_sgmt_->allMemoryDeallocated());
-}
-
void
ConfigurableClientList::configure(const ConstElementPtr& config,
bool allow_cache)
/// \param rrclass For which class the list should work.
ConfigurableClientList(const isc::dns::RRClass& rrclass);
- /// \brief Destructor
- virtual ~ConfigurableClientList();
-
/// \brief Exception thrown when there's an error in configuration.
class ConfigurationError : public Exception {
public:
bool want_exact_match, bool want_finder) const;
const isc::dns::RRClass rrclass_;
- /// \brief Memory segment for in-memory cache.
- ///
- /// Note that this must be placed before data_sources_ so it won't be
- /// destroyed before the built objects in the destructor.
- boost::scoped_ptr<util::MemorySegment> mem_sgmt_;
-
/// \brief Currently active configuration.
isc::data::ConstElementPtr configuration_;