Kea
1.9.9-git
|
Base class for fulfilling a statistical lease data query. More...
#include <lease_mgr.h>
Public Types | |
enum | SelectMode { ALL_SUBNETS, SINGLE_SUBNET, SUBNET_RANGE } |
Defines the types of selection criteria supported. More... | |
Public Member Functions | |
LeaseStatsQuery () | |
Default constructor The query created will return statistics for all subnets. More... | |
LeaseStatsQuery (const SubnetID &subnet_id) | |
Constructor to query for a single subnet's stats. More... | |
LeaseStatsQuery (const SubnetID &first_subnet_id, const SubnetID &last_subnet_id) | |
Constructor to query for the stats for a range of subnets. More... | |
virtual | ~LeaseStatsQuery () |
virtual destructor More... | |
SubnetID | getFirstSubnetID () const |
Returns the value of first subnet ID specified (or zero) More... | |
SubnetID | getLastSubnetID () const |
Returns the value of last subnet ID specified (or zero) More... | |
virtual bool | getNextRow (LeaseStatsRow &row) |
Fetches the next row of data. More... | |
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. More... | |
virtual void | start () |
Executes the query. More... | |
Protected Attributes | |
SubnetID | first_subnet_id_ |
First (or only) subnet_id in the selection criteria. More... | |
SubnetID | last_subnet_id_ |
Last subnet_id in the selection criteria when a range is given. More... | |
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 128 of file lease_mgr.h.
Defines the types of selection criteria supported.
Enumerator | |
---|---|
ALL_SUBNETS | |
SINGLE_SUBNET | |
SUBNET_RANGE |
Definition at line 131 of file lease_mgr.h.
isc::dhcp::LeaseStatsQuery::LeaseStatsQuery | ( | ) |
Default constructor The query created will return statistics for all subnets.
Definition at line 161 of file lease_mgr.cc.
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 165 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 174 of file lease_mgr.cc.
References first_subnet_id_, isc_throw, and last_subnet_id_.
|
inlinevirtual |
virtual destructor
Definition at line 160 of file lease_mgr.h.
|
inline |
Returns the value of first subnet ID specified (or zero)
Definition at line 178 of file lease_mgr.h.
References first_subnet_id_.
Referenced by isc::dhcp::MemfileLeaseStatsQuery4::start(), and isc::dhcp::MemfileLeaseStatsQuery6::start().
|
inline |
Returns the value of last subnet ID specified (or zero)
Definition at line 183 of file lease_mgr.h.
References last_subnet_id_.
Referenced by isc::dhcp::MemfileLeaseStatsQuery4::start(), and isc::dhcp::MemfileLeaseStatsQuery6::start().
|
virtual |
Fetches the next row of data.
[out] | row | Storage into which the row is fetched |
Reimplemented in isc::dhcp::CqlLeaseStatsQuery, isc::dhcp::MySqlLeaseStatsQuery, isc::dhcp::PgSqlLeaseStatsQuery, and isc::dhcp::MemfileLeaseStatsQuery.
Definition at line 210 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 190 of file lease_mgr.h.
Referenced by isc::dhcp::MemfileLeaseStatsQuery4::start(), isc::dhcp::MemfileLeaseStatsQuery6::start(), and isc::dhcp::CqlLeaseStatsQuery::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::CqlLeaseStatsQuery, isc::dhcp::MySqlLeaseStatsQuery, isc::dhcp::PgSqlLeaseStatsQuery, isc::dhcp::MemfileLeaseStatsQuery6, and isc::dhcp::MemfileLeaseStatsQuery4.
Definition at line 167 of file lease_mgr.h.
|
protected |
First (or only) subnet_id in the selection criteria.
Definition at line 192 of file lease_mgr.h.
Referenced by getFirstSubnetID(), LeaseStatsQuery(), and isc::dhcp::CqlLeaseStatsQuery::start().
|
protected |
Last subnet_id in the selection criteria when a range is given.
Definition at line 199 of file lease_mgr.h.
Referenced by getLastSubnetID(), LeaseStatsQuery(), and isc::dhcp::CqlLeaseStatsQuery::start().