 |
Kea
1.5.0
|
Go to the documentation of this file.
13 #include <boost/shared_ptr.hpp>
18 #include <boost/shared_ptr.hpp>
70 virtual std::string
toText()
const;
188 static uint32_t
id = 0;
313 uint8_t prefix_len, uint8_t delegated_len = 128);
328 const uint8_t delegated_len,
330 const uint8_t excluded_prefix_len);
345 return (prefix_len_);
353 return (pd_exclude_option_);
364 virtual std::string
toText()
const;
388 const uint8_t prefix_len,
389 const uint8_t delegated_len,
391 const uint8_t excluded_prefix_len);
virtual ~Pool()
virtual destructor
boost::shared_ptr< const CfgOption > ConstCfgOptionPtr
Const pointer.
const ClientClass & getClientClass() const
returns the client class
uint64_t getCapacity() const
Returns the number of all leases in this pool.
The IOAddress class represents an IP addresses (version agnostic)
Lease::Type getType() const
returns pool type
boost::shared_ptr< Pool4 > Pool4Ptr
a pointer an IPv4 Pool
CfgOptionPtr cfg_option_
Pointer to the option data configuration for this pool.
Defines elements for storing the names of client classes.
virtual data::ElementPtr toElement() const
Unparse a Pool6 object.
Base class for user context.
isc::asiolink::IOAddress last_
The last address in a pool.
const isc::asiolink::IOAddress & getLastAddress() const
Returns the last address in a pool.
Type
Type of lease or pool.
const ClientClasses & getRequiredClasses() const
Returns classes which are required to be evaluated.
void allowClientClass(const ClientClass &class_name)
Sets the supported class to class class_name.
void requireClientClass(const ClientClass &class_name)
Adds class class_name to classes required to be evaluated.
Pool information for IPv4 addresses.
Lease::Type type_
defines a lease type that will be served from this pool
Defines the logger used by the top-level component of kea-dhcp-ddns.
boost::shared_ptr< Pool6 > Pool6Ptr
a pointer an IPv6 Pool
uint8_t getLength() const
returns delegated prefix length
isc::asiolink::IOAddress getLastAllocated() const
returns the last address that was tried from this pool
static uint32_t getNextID()
returns the next unique Pool-ID
ClientClass client_class_
Optional definition of a client class.
bool contains(const ClientClass &x) const
returns if class x belongs to the defined classes
boost::shared_ptr< Pool > PoolPtr
a pointer to either IPv4 or IPv6 Pool
bool isLastAllocatedValid() const
checks if the last address is valid
ConstCfgOptionPtr getCfgOption() const
Returns const pointer to the option data configuration for this pool.
bool clientSupported(const ClientClasses &client_classes) const
Checks whether this pool supports client that belongs to specified classes.
Pool(Lease::Type type, const isc::asiolink::IOAddress &first, const isc::asiolink::IOAddress &last)
protected constructor
Pool6(Lease::Type type, const isc::asiolink::IOAddress &first, const isc::asiolink::IOAddress &last)
the constructor for Pool6 "min-max" style definition
const isc::asiolink::IOAddress & getFirstAddress() const
Returns the first address in a pool.
CfgOptionPtr getCfgOption()
Returns pointer to the option data configuration for this pool.
uint32_t getId() const
returns Pool-id
std::string ClientClass
Defines a single class name.
bool last_allocated_valid_
Status of last allocated address.
boost::shared_ptr< Option6PDExclude > Option6PDExcludePtr
Pointer to the Option6PDExclude object.
isc::asiolink::IOAddress last_allocated_
Last allocated address See isc::dhcp::Subnet::last_allocated_ia_ Initialized and reset to first.
base class for Pool4 and Pool6
Option6PDExcludePtr getPrefixExcludeOption() const
Returns instance of the pool specific Prefix Exclude option.
virtual std::string toText() const
returns textual representation of the pool
isc::asiolink::IOAddress first_
The first address in a pool.
Pool information for IPv6 addresses and prefixes.
uint64_t capacity_
Stores number of possible leases.
void insert(const ClientClass &class_name)
Insert an element.
data::ConstElementPtr user_context_
Pointer to the user context (may be NULL)
std::vector< PoolPtr > PoolCollection
a container for either IPv4 or IPv6 Pools
void setLastAllocated(const isc::asiolink::IOAddress &addr)
sets the last address that was tried from this pool
boost::shared_ptr< CfgOption > CfgOptionPtr
Non-const pointer.
boost::shared_ptr< Element > ElementPtr
ClientClasses required_classes_
Required classes.
boost::shared_ptr< const Element > ConstElementPtr
bool inRange(const isc::asiolink::IOAddress &addr) const
Checks if a given address is in the range.
virtual data::ElementPtr toElement() const
Unparse a pool object.
void resetLastAllocated()
resets the last address to invalid
virtual std::string toText() const
returns textual representation of the pool
Pool4(const isc::asiolink::IOAddress &first, const isc::asiolink::IOAddress &last)
the constructor for Pool4 "min-max" style definition
virtual data::ElementPtr toElement() const
Unparse a Pool4 object.
Container for storing client class names.
Lease::Type getType() const
Returns pool type (v4, v6 non-temporary, v6 temp, v6 prefix)