7#ifndef ITERATIVE_ALLOCATOR_H
8#define ITERATIVE_ALLOCATOR_H
76 uint8_t hint_prefix_length);
109 const uint8_t prefix_len);
123 const uint8_t prefix_len);
The IOAddress class represents an IP addresses (version agnostic)
Base class for all address/prefix allocation algorithms.
PrefixLenMatchType
Type of preferred PD-pool prefix length selection criteria.
Container for storing client class names.
Address/prefix allocator that iterates over all addresses.
static asiolink::IOAddress increasePrefix(const asiolink::IOAddress &prefix, const uint8_t prefix_len)
Returns the next prefix.
static asiolink::IOAddress increaseAddress(const asiolink::IOAddress &address, bool prefix, const uint8_t prefix_len)
Returns the next address or prefix.
virtual std::string getType() const
Returns the allocator type string.
IterativeAllocator(Lease::Type type, const WeakSubnetPtr &subnet)
Constructor.
boost::weak_ptr< Subnet > WeakSubnetPtr
Weak pointer to the Subnet.
boost::shared_ptr< IdentifierBaseType > IdentifierBaseTypePtr
Shared pointer to a IdentifierType.
boost::shared_ptr< Pool > PoolPtr
a pointer to either IPv4 or IPv6 Pool
boost::shared_ptr< PoolIterativeAllocationState > PoolIterativeAllocationStatePtr
Type of the pointer to the PoolIterativeAllocationState.
boost::shared_ptr< SubnetIterativeAllocationState > SubnetIterativeAllocationStatePtr
Type of the pointer to the SubnetIterativeAllocationState.
boost::shared_ptr< Pool6 > Pool6Ptr
a pointer an IPv6 Pool
Defines the logger used by the top-level component of kea-lfc.
Type
Type of lease or pool.