]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#2436] Remove class lease recount definitions from LeaseMgr
authorThomas Markwalder <tmark@isc.org>
Wed, 22 Jun 2022 12:57:26 +0000 (08:57 -0400)
committerThomas Markwalder <tmark@isc.org>
Wed, 29 Jun 2022 11:07:47 +0000 (07:07 -0400)
src/lib/dhcpsrv/lease_mgr.h
src/lib/dhcpsrv/memfile_lease_mgr.cc
src/lib/dhcpsrv/memfile_lease_mgr.h

index 37c34c7692cf4ac99f3de5a671f9658119a3d2c8..65dc8007a596e2e885ee9b5ce892e1ea33e32c0a 100644 (file)
@@ -792,24 +792,6 @@ public:
         return (io_service_);
     }
 
-    /// @brief Recount the leases per class for V4 leases.
-    ///
-    /// Clears the current class-lease counts and then iterates
-    /// over existing leases, retabulating counts based on class
-    /// lists in each lease user-context.
-    ///
-    /// For RDBMs back ends this is a NOP.
-    virtual void recountClassLeases4() {}
-
-    /// @brief Recount the leases per class for V6 leases.
-    ///
-    /// Clears the current class-lease counts and then iterates
-    /// over existing leases, retabulating counts based on class
-    /// lists in each lease user-context.
-    ///
-    /// For RDBMs back ends this is a NOP.
-    virtual void recountClassLeases6() {}
-
     /// @brief Returns the class lease count for a given class and lease type.
     ///
     /// @param client_class client class for which the count is desired
index c8bb7556b9bdba5a2f14bdac68fcb8a31e3989c6..2080986da5a72ced78c7184b821b6911556d0daf 100644 (file)
@@ -2084,6 +2084,7 @@ Memfile_LeaseMgr::wipeLeases6(const SubnetID& subnet_id) {
 
 void
 Memfile_LeaseMgr::recountClassLeases4() {
+    class_lease_counter_.clear();
     auto & idx = storage4_.get<AddressIndexTag>();
 
     auto lower = idx.begin();
@@ -2099,6 +2100,7 @@ Memfile_LeaseMgr::recountClassLeases4() {
 
 void
 Memfile_LeaseMgr::recountClassLeases6() {
+    class_lease_counter_.clear();
     auto & idx = storage6_.get<AddressIndexTag>();
 
     auto lower = idx.begin();
index e6da001913c35b176cde215e4ed2a744ca41adf2..b11eb59de3c704e05149dd2b07f1dfc5df68d80f 100644 (file)
@@ -1219,6 +1219,13 @@ private:
     ClassLeaseCounter class_lease_counter_;
 
 public:
+    /// @brief Returns the class lease count for a given class and lease type.
+    ///
+    /// @param client_class client class for which the count is desired
+    /// @param ltype type of lease for which the count is desired. Defaults to
+    /// Lease::TYPE_V4.
+    virtual size_t getClassLeaseCount(const ClientClass& client_class,
+                                      const Lease::Type& ltype = Lease::TYPE_V4);
 
     /// @brief Recount the leases per class for V4 leases.
     ///
@@ -1232,15 +1239,7 @@ public:
     /// Clears the current class-lease count map and then iterates
     /// over all, retabulating counts based on class lists in each lease
     /// user-context.
-    virtual void recountClassLeases6();
-
-    /// @brief Returns the class lease count for a given class and lease type.
-    ///
-    /// @param client_class client class for which the count is desired
-    /// @param ltype type of lease for which the count is desired. Defaults to
-    /// Lease::TYPE_V4.
-    virtual size_t getClassLeaseCount(const ClientClass& client_class,
-                                      const Lease::Type& ltype = Lease::TYPE_V4);
+    void recountClassLeases6();
 
     /// @brief Clears the class-lease count map.
     void clearClassLeaseCounts();