20 #include <boost/shared_ptr.hpp> 72 virtual std::string
toText()
const;
187 static uint32_t
id = 0;
242 typedef boost::shared_ptr<Pool4>
Pool4Ptr;
301 typedef boost::shared_ptr<Pool6>
Pool6Ptr;
348 uint8_t prefix_len, uint8_t delegated_len = 128);
363 const uint8_t delegated_len,
365 const uint8_t excluded_prefix_len);
399 uint8_t delegated_len = 128);
416 const uint8_t prefix_len,
417 const uint8_t delegated_len,
419 const uint8_t excluded_prefix_len);
434 return (prefix_len_);
442 return (pd_exclude_option_);
453 virtual std::string
toText()
const;
477 const uint8_t prefix_len,
478 const uint8_t delegated_len,
480 const uint8_t excluded_prefix_len);
Lease::Type getType() const
Returns pool type (v4, v6 non-temporary, v6 temp, v6 prefix)
Pool(Lease::Type type, const isc::asiolink::IOAddress &first, const isc::asiolink::IOAddress &last)
protected constructor
boost::shared_ptr< Pool4 > Pool4Ptr
a pointer an IPv4 Pool
const isc::asiolink::IOAddress & getFirstAddress() const
Returns the first address in a pool.
const ClientClasses & getRequiredClasses() const
Returns classes which are required to be evaluated.
uint32_t getId() const
returns Pool-id
IPRangePermutationPtr getPermutation() const
Returns pointer to the permutation associated with the pool.
void allowClientClass(const ClientClass &class_name)
Sets the supported class to class class_name.
boost::shared_ptr< CfgOption > CfgOptionPtr
Non-const pointer.
boost::shared_ptr< Pool6 > Pool6Ptr
a pointer an IPv6 Pool
ClientClasses required_classes_
Required classes.
bool contains(const ClientClass &x) const
returns if class x belongs to the defined classes
Base class for user context.
boost::shared_ptr< const CfgOption > ConstCfgOptionPtr
Const pointer.
void requireClientClass(const ClientClass &class_name)
Adds class class_name to classes required to be evaluated.
Defines elements for storing the names of client classes.
CfgOptionPtr cfg_option_
Pointer to the option data configuration for this pool.
boost::shared_ptr< Element > ElementPtr
std::vector< PoolPtr > PoolCollection
a container for either IPv4 or IPv6 Pools
boost::shared_ptr< Pool > PoolPtr
a pointer to either IPv4 or IPv6 Pool
virtual ~Pool()
virtual destructor
Pool information for IPv6 addresses and prefixes.
Lease::Type getType() const
returns pool type
Option6PDExcludePtr getPrefixExcludeOption() const
Returns instance of the pool specific Prefix Exclude option.
Abstract class for configuration Cfg_* classes.
Lease::Type type_
defines a lease type that will be served from this pool
boost::shared_ptr< const Element > ConstElementPtr
bool clientSupported(const ClientClasses &client_classes) const
Checks whether this pool supports client that belongs to specified classes.
ClientClass client_class_
Optional definition of a client class.
uint8_t getLength() const
returns delegated prefix length
static uint32_t getNextID()
returns the next unique Pool-ID
boost::shared_ptr< AllocationState > AllocationStatePtr
Type of the pointer to the AllocationState.
virtual std::string toText() const
returns textual representation of the pool
isc::asiolink::IOAddress first_
The first address in a pool.
boost::shared_ptr< Option6PDExclude > Option6PDExcludePtr
Pointer to the Option6PDExclude object.
Defines the logger used by the top-level component of kea-lfc.
ConstCfgOptionPtr getCfgOption() const
Returns const pointer to the option data configuration for this pool.
AllocationStatePtr getAllocationState() const
Returns pool-specific allocation state.
uint64_t getCapacity() const
Returns the number of all leases in this pool.
AllocationStatePtr allocation_state_
Holds pool-specific allocation state.
isc::asiolink::IOAddress last_
The last address in a pool.
const isc::asiolink::IOAddress & getLastAddress() const
Returns the last address in a pool.
void setAllocationState(const AllocationStatePtr &allocation_state)
Sets pool-specific allocation state.
boost::shared_ptr< IPRangePermutation > IPRangePermutationPtr
Pointer to the IPRangePermutation.
Type
Type of lease or pool.
const ClientClass & getClientClass() const
returns the client class
CfgOptionPtr getCfgOption()
Returns pointer to the option data configuration for this pool.
data::ConstElementPtr user_context_
Pointer to the user context (may be NULL)
base class for Pool4 and Pool6
void insert(const ClientClass &class_name)
Insert an element.
std::string ClientClass
Defines a single class name.
virtual data::ElementPtr toElement() const
Unparse a pool object.
The IOAddress class represents an IP addresses (version agnostic)
Container for storing client class names.
IPRangePermutationPtr permutation_
Pointer to the permutation object.
uint64_t capacity_
Stores number of possible leases.
Pool information for IPv4 addresses.
bool inRange(const isc::asiolink::IOAddress &addr) const
Checks if a given address is in the range.