summaryrefslogtreecommitdiffstats
path: root/src/lib/dhcpsrv/pgsql_lease_mgr.h
diff options
context:
space:
mode:
authorRazvan Becheriu <razvan@isc.org>2023-05-24 14:04:49 +0200
committerRazvan Becheriu <razvan@isc.org>2023-05-26 17:40:52 +0200
commitac229425d1aff8215e6427ed7514e6c29b74d3b4 (patch)
tree3294e073d20c1930176e8d775cb732be61df22a0 /src/lib/dhcpsrv/pgsql_lease_mgr.h
parent[#145] create stats per pool (diff)
downloadkea-ac229425d1aff8215e6427ed7514e6c29b74d3b4.tar.xz
kea-ac229425d1aff8215e6427ed7514e6c29b74d3b4.zip
[#145] backend support for pool counters
Diffstat (limited to 'src/lib/dhcpsrv/pgsql_lease_mgr.h')
-rw-r--r--src/lib/dhcpsrv/pgsql_lease_mgr.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/lib/dhcpsrv/pgsql_lease_mgr.h b/src/lib/dhcpsrv/pgsql_lease_mgr.h
index 95fda12d2c..12435dd0a7 100644
--- a/src/lib/dhcpsrv/pgsql_lease_mgr.h
+++ b/src/lib/dhcpsrv/pgsql_lease_mgr.h
@@ -538,6 +538,19 @@ public:
/// @return The populated query as a pointer to an LeaseStatsQuery
virtual LeaseStatsQueryPtr startLeaseStatsQuery4() override;
+ /// @brief Creates and runs the IPv4 lease stats query for all subnets and
+ /// pools
+ ///
+ /// LeaseMgr derivations implement this method such that it creates and
+ /// returns an instance of an LeaseStatsQuery whose result set has been
+ /// populated with up to date IPv4 lease statistical data for all subnets
+ /// and pools.
+ /// Each row of the result set is an LeaseStatRow which ordered ascending
+ /// by subnet ID and pool ID.
+ ///
+ /// @return A populated LeaseStatsQuery
+ virtual LeaseStatsQueryPtr startPoolLeaseStatsQuery4() override;
+
/// @brief Creates and runs the IPv4 lease stats query for a single subnet
///
/// It creates an instance of a PgSqlLeaseStatsQuery4 for a single subnet
@@ -570,6 +583,19 @@ public:
/// @return The populated query as a pointer to an LeaseStatsQuery
virtual LeaseStatsQueryPtr startLeaseStatsQuery6() override;
+ /// @brief Creates and runs the IPv6 lease stats query for all subnets and
+ /// pools
+ ///
+ /// LeaseMgr derivations implement this method such that it creates and
+ /// returns an instance of an LeaseStatsQuery whose result set has been
+ /// populated with up to date IPv6 lease statistical data for all subnets
+ /// and pools.
+ /// Each row of the result set is an LeaseStatRow which ordered ascending
+ /// by subnet ID and pool ID.
+ ///
+ /// @return A populated LeaseStatsQuery
+ virtual LeaseStatsQueryPtr startPoolLeaseStatsQuery6() override;
+
/// @brief Creates and runs the IPv6 lease stats query for a single subnet
///
/// It creates an instance of a PgSqlLeaseStatsQuery6 for a single subnet
@@ -709,9 +735,11 @@ public:
ALL_LEASE4_STATS, // Fetches IPv4 lease statistics
SUBNET_LEASE4_STATS, // Fetched IPv4 lease stats for a single subnet.
SUBNET_RANGE_LEASE4_STATS, // Fetched IPv4 lease stats for a subnet range.
+ ALL_POOL_LEASE4_STATS, // Fetches IPv4 lease pool statistics
ALL_LEASE6_STATS, // Fetches IPv6 lease statistics
SUBNET_LEASE6_STATS, // Fetched IPv6 lease stats for a single subnet.
SUBNET_RANGE_LEASE6_STATS, // Fetched IPv6 lease stats for a subnet range.
+ ALL_POOL_LEASE6_STATS, // Fetches IPv6 lease pool statistics
CHECK_LEASE4_LIMITS, // Check if allocated IPv4 leases are inside the set limits.
CHECK_LEASE6_LIMITS, // Check if allocated IPv6 leases are inside the set limits.
IS_JSON_SUPPORTED, // Checks if JSON support is enabled in the database.