60 virtual void initAfterConfigureInternal();
72 template<
typename LeaseCollectionType>
73 void populateFreeAddressLeases(
const LeaseCollectionType& leases,
const PoolCollection& pools);
119 uint8_t hint_prefix_length);
145 void addLeaseCallback(
LeasePtr lease);
152 void addLeaseCallbackInternal(
LeasePtr lease);
161 void updateLeaseCallback(
LeasePtr lease);
170 void updateLeaseCallbackInternal(
LeasePtr lease);
177 void deleteLeaseCallback(
LeasePtr lease);
184 void deleteLeaseCallbackInternal(
LeasePtr lease);
193 uint64_t getRandomNumber(uint64_t limit);
196 std::mt19937 generator_;
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.
An allocator maintaining a queue of free leases.
virtual std::string getType() const
Returns the allocator type string.
FreeLeaseQueueAllocator(Lease::Type type, const WeakSubnetPtr &subnet)
Constructor.
boost::shared_ptr< PoolFreeLeaseQueueAllocationState > PoolFreeLeaseQueueAllocationStatePtr
Type of the pointer to the PoolFreeLeaseQueueAllocationState.
boost::weak_ptr< Subnet > WeakSubnetPtr
Weak pointer to the Subnet.
std::vector< Lease6Ptr > Lease6Collection
A collection of IPv6 leases.
std::vector< PoolPtr > PoolCollection
a container for either IPv4 or IPv6 Pools
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< Lease > LeasePtr
Pointer to the lease object.
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.