Kea 3.1.1
isc::host_cache::HCConfigParser Class Reference

Configuration parser for Host Cache. More...

#include <host_cache_parsers.h>

+ Inheritance diagram for isc::host_cache::HCConfigParser:

Public Member Functions

void parse (HostCache &hcref, const data::ConstElementPtr &config)
 Parses Host Cache configuration.
 
- Public Member Functions inherited from isc::data::SimpleParser
uint16_t getUint16 (isc::data::ConstElementPtr scope, const std::string &name)
 Returns a value converted to uint16_t.
 
uint32_t getUint32 (isc::data::ConstElementPtr scope, const std::string &name)
 Returns a value converted to uint32_t.
 
uint8_t getUint8 (ConstElementPtr scope, const std::string &name)
 Get an uint8_t value.
 
const isc::util::Triplet< uint32_t > parseIntTriplet (const data::ConstElementPtr &scope, const std::string &name)
 Parses an integer triplet.
 

Static Public Attributes

static const data::SimpleDefaults HOST_CACHE_DEFAULTS
 Defaults for Host Cache configuration.
 
static const int64_t MAXIMUM = 1000000000ULL
 Absolute maximum number of elements.
 

Additional Inherited Members

- Static Public Member Functions inherited from isc::data::SimpleParser
static void checkKeywords (const SimpleKeywords &keywords, isc::data::ConstElementPtr scope)
 Checks acceptable keywords with their expected type.
 
static void checkRequired (const SimpleRequiredKeywords &required, isc::data::ConstElementPtr scope)
 Checks that all required keywords are present.
 
static size_t deriveParams (isc::data::ConstElementPtr parent, isc::data::ElementPtr child, const ParamsList &params)
 Derives (inherits) parameters from parent scope to a child.
 
static isc::asiolink::IOAddress getAddress (const ConstElementPtr &scope, const std::string &name)
 Returns a IOAddress parameter from a scope.
 
static bool getBoolean (isc::data::ConstElementPtr scope, const std::string &name)
 Returns a boolean parameter from a scope.
 
static double getDouble (const ConstElementPtr &scope, const std::string &name)
 Returns a floating point parameter from a scope.
 
static int64_t getInteger (isc::data::ConstElementPtr scope, const std::string &name)
 Returns an integer parameter from a scope.
 
static int64_t getInteger (isc::data::ConstElementPtr scope, const std::string &name, int64_t min, int64_t max)
 Returns an integer parameter from a scope and checks its range.
 
static const data::Element::PositiongetPosition (const std::string &name, const data::ConstElementPtr parent)
 Utility method that returns position of an element.
 
static std::string getString (isc::data::ConstElementPtr scope, const std::string &name)
 Returns a string parameter from a scope.
 
static size_t setDefaults (isc::data::ElementPtr scope, const SimpleDefaults &default_values)
 Sets the default values.
 
static size_t setListDefaults (isc::data::ConstElementPtr list, const SimpleDefaults &default_values)
 Sets the default values for all entries in a list.
 
- Protected Member Functions inherited from isc::data::SimpleParser
template<typename target_type, target_type convert>
target_type getAndConvert (isc::data::ConstElementPtr scope, const std::string &name, const std::string &type_name)
 Returns a converted value from a scope.
 
template<typename int_type>
int_type getIntType (isc::data::ConstElementPtr scope, const std::string &name)
 Returns an integer value with range checking from a scope.
 

Detailed Description

Configuration parser for Host Cache.

Definition at line 20 of file host_cache_parsers.h.

Member Function Documentation

◆ parse()

void isc::host_cache::HCConfigParser::parse ( HostCache & hcref,
const data::ConstElementPtr & config )

Parses Host Cache configuration.

Parameters
hcrefReference to the Host Cache instance.
configSpecified configuration.
Exceptions
ConfigErrorwhen parsing fails or configuration is invalid.
Todo
: Remove this duplicated code (see trac #5578)

Definition at line 30 of file host_cache_parsers.cc.

References Element::createMap(), isc::data::SimpleParser::getInteger(), HOST_CACHE_DEFAULTS, isc_throw, Element::map, MAXIMUM, isc::data::SimpleParser::setDefaults(), and isc::host_cache::HostCache::setMaximum().

Referenced by isc::host_cache::HostCache::configure().

+ Here is the call graph for this function:

Member Data Documentation

◆ HOST_CACHE_DEFAULTS

const SimpleDefaults isc::host_cache::HCConfigParser::HOST_CACHE_DEFAULTS
static
Initial value:
= {
{ "maximum", Element::integer, "0" }
}
@ integer
Definition data.h:140

Defaults for Host Cache configuration.

Definition at line 31 of file host_cache_parsers.h.

Referenced by parse().

◆ MAXIMUM

const int64_t isc::host_cache::HCConfigParser::MAXIMUM = 1000000000ULL
static

Absolute maximum number of elements.

Definition at line 34 of file host_cache_parsers.h.

Referenced by isc::host_cache::HostCache::cacheFlushHandler(), and parse().


The documentation for this class was generated from the following files: