17 #include <boost/shared_ptr.hpp> 18 #include <boost/weak_ptr.hpp> 101 return (pickAddressInternal(client_classes, duid, hint));
131 uint8_t hint_prefix_length) {
133 return (pickPrefixInternal(client_classes, pool, duid,
134 prefix_length_match, hint,
135 hint_prefix_length));
149 PoolPtr pool, uint8_t hint_prefix_length);
192 uint8_t hint_prefix_length) = 0;
214 #endif // ALLOCATOR_H boost::shared_ptr< DUID > DuidPtr
Base class for all address/prefix allocation algorithms.
AllocFailed(const char *file, size_t line, const char *what)
Constructor.
boost::shared_ptr< Pool6 > Pool6Ptr
a pointer an IPv6 Pool
Defines elements for storing the names of client classes.
boost::shared_ptr< Pool > PoolPtr
a pointer to either IPv4 or IPv6 Pool
Allocator(Lease::Type type, const WeakSubnetPtr &subnet)
Constructor.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
An exception that is thrown when allocation module fails (e.g.
PrefixLenMatchType
Type of preferred PD-pool prefix length selection criteria.
boost::weak_ptr< Subnet > WeakSubnetPtr
Weak pointer to the Subnet.
virtual isc::asiolink::IOAddress pickPrefix(const ClientClasses &client_classes, Pool6Ptr &pool, const DuidPtr &duid, PrefixLenMatchType prefix_length_match, const asiolink::IOAddress &hint, uint8_t hint_prefix_length)
Picks a delegated prefix.
virtual isc::asiolink::IOAddress pickAddress(const ClientClasses &client_classes, const DuidPtr &duid, const asiolink::IOAddress &hint)
Picks an address.
This is a base class for exceptions thrown from the DNS library module.
Defines the logger used by the top-level component of kea-lfc.
Lease::Type pool_type_
Defines pool type allocation.
Type
Type of lease or pool.
WeakSubnetPtr subnet_
Weak pointer to the subnet owning the allocator.
The IOAddress class represents an IP addresses (version agnostic)
boost::shared_ptr< Allocator > AllocatorPtr
Defines a pointer to an allocator.
Container for storing client class names.
RAII lock object to protect the code in the same scope with a mutex.