Kea 2.7.5
|
Base class for fulfilling a statistical lease data query. More...
#include <lease_mgr.h>
Public Types | |
enum | SelectMode { ALL_SUBNETS , SINGLE_SUBNET , SUBNET_RANGE , ALL_SUBNET_POOLS } |
Defines the types of selection criteria supported. More... | |
Public Member Functions | |
LeaseStatsQuery (const SelectMode &select_mode=ALL_SUBNETS) | |
Constructor to query statistics for all subnets. | |
LeaseStatsQuery (const SubnetID &first_subnet_id, const SubnetID &last_subnet_id) | |
Constructor to query for the stats for a range of subnets. | |
LeaseStatsQuery (const SubnetID &subnet_id) | |
Constructor to query for a single subnet's stats. | |
virtual | ~LeaseStatsQuery () |
virtual destructor | |
SubnetID | getFirstSubnetID () const |
Returns the value of first subnet ID specified (or zero) | |
SubnetID | getLastSubnetID () const |
Returns the value of last subnet ID specified (or zero) | |
virtual bool | getNextRow (LeaseStatsRow &row) |
Fetches the next row of data. | |
SelectMode | getSelectMode () const |
Returns the selection criteria mode The value returned is based upon the constructor variant used and it indicates which query variant will be executed. | |
virtual void | start () |
Executes the query. | |
Protected Attributes | |
SubnetID | first_subnet_id_ |
First (or only) subnet_id in the selection criteria. | |
SubnetID | last_subnet_id_ |
Last subnet_id in the selection criteria when a range is given. | |
Base class for fulfilling a statistical lease data query.
LeaseMgr derivations implement this class such that it provides up to date statistical lease data organized as rows of LeaseStatsRow instances. The rows must be accessible in ascending order by subnet id.
Definition at line 149 of file lease_mgr.h.
Defines the types of selection criteria supported.
Enumerator | |
---|---|
ALL_SUBNETS | |
SINGLE_SUBNET | |
SUBNET_RANGE | |
ALL_SUBNET_POOLS |
Definition at line 152 of file lease_mgr.h.
isc::dhcp::LeaseStatsQuery::LeaseStatsQuery | ( | const SelectMode & | select_mode = ALL_SUBNETS | ) |
Constructor to query statistics for all subnets.
The query created will return statistics for all subnets
select_mode | The selection criteria which is either ALL_SUBNETS or ALL_SUBNET_POOLS |
Definition at line 220 of file lease_mgr.cc.
References ALL_SUBNET_POOLS, ALL_SUBNETS, and isc_throw.
isc::dhcp::LeaseStatsQuery::LeaseStatsQuery | ( | const SubnetID & | subnet_id | ) |
Constructor to query for a single subnet's stats.
The query created will return statistics for a single subnet
subnet_id | id of the subnet for which stats are desired |
BadValue | if subnet_id given is 0. |
Definition at line 227 of file lease_mgr.cc.
References first_subnet_id_, and isc_throw.
isc::dhcp::LeaseStatsQuery::LeaseStatsQuery | ( | const SubnetID & | first_subnet_id, |
const SubnetID & | last_subnet_id ) |
Constructor to query for the stats for a range of subnets.
The query created will return statistics for the inclusive range of subnets described by first and last subnet IDs.
first_subnet_id | first subnet in the range of subnets |
last_subnet_id | last subnet in the range of subnets |
BadValue | if either value given is 0 or if last <= first. |
Definition at line 236 of file lease_mgr.cc.
References first_subnet_id_, isc_throw, and last_subnet_id_.
|
inlinevirtual |
virtual destructor
Definition at line 186 of file lease_mgr.h.
|
inline |
Returns the value of first subnet ID specified (or zero)
Definition at line 204 of file lease_mgr.h.
References first_subnet_id_.
|
inline |
Returns the value of last subnet ID specified (or zero)
Definition at line 209 of file lease_mgr.h.
References last_subnet_id_.
|
virtual |
Fetches the next row of data.
[out] | row | Storage into which the row is fetched |
Reimplemented in isc::dhcp::MemfileLeaseStatsQuery.
Definition at line 277 of file lease_mgr.cc.
|
inline |
Returns the selection criteria mode The value returned is based upon the constructor variant used and it indicates which query variant will be executed.
Definition at line 216 of file lease_mgr.h.
Referenced by isc::dhcp::MemfileLeaseStatsQuery4::start(), and isc::dhcp::MemfileLeaseStatsQuery6::start().
|
inlinevirtual |
Executes the query.
This method should conduct whatever steps are required to calculate the lease statistical data by examining the lease data and making that results available row by row.
Reimplemented in isc::dhcp::MemfileLeaseStatsQuery4, and isc::dhcp::MemfileLeaseStatsQuery6.
Definition at line 193 of file lease_mgr.h.
|
protected |
First (or only) subnet_id in the selection criteria.
Definition at line 222 of file lease_mgr.h.
Referenced by LeaseStatsQuery(), LeaseStatsQuery(), and getFirstSubnetID().
|
protected |
Last subnet_id in the selection criteria when a range is given.
Definition at line 225 of file lease_mgr.h.
Referenced by LeaseStatsQuery(), and getLastSubnetID().