IOAddress getAddressParam(ConstElementPtr params, const std::string name,
short family = AF_INET) const;
-private:
/// @brief Update stats when adding lease.
///
/// @param lease4 Added lease.
- void updateStatsOnAdd(const Lease4Ptr& lease4);
+ static void updateStatsOnAdd(const Lease4Ptr& lease4);
/// @brief Update stats when adding lease.
///
/// @param lease6 Added lease.
- void updateStatsOnAdd(const Lease6Ptr& lease6);
+ static void updateStatsOnAdd(const Lease6Ptr& lease6);
/// @brief Update stats when updating lease.
///
/// @param lease4 Lease data before update.
/// @param lease Lease data after update.
- void updateStatsOnUpdate(const Lease4Ptr& lease4);
+ static void updateStatsOnUpdate(const Lease4Ptr& lease4,
+ const Lease4Ptr& lease);
/// @brief Update stats when updating lease.
///
/// @param lease6 Lease data before update.
/// @param lease Lease data after update.
- void updateStatsOnUpdate(const Lease6Ptr& lease6);
+ static void updateStatsOnUpdate(const Lease6Ptr& lease6,
+ const Lease6Ptr& lease);
/// @brief Update stats when deleting lease.
///
/// @param lease4 Deleted lease.
- void updateStatsOnDelete(const Lease4Ptr& lease4);
+ static void updateStatsOnDelete(const Lease4Ptr& lease4);
/// @brief Update stats when deleting lease.
///
/// @param lease6 Deleted lease.
- void updateStatsOnDelete(const Lease6Ptr& lease6);
+ static void updateStatsOnDelete(const Lease6Ptr& lease6);
};
void
if (!success) {
isc_throw(db::DuplicateEntry, "IPv4 lease already exists.");
}
- updateStatsOnAdd(lease4);
+ LeaseCmdsImpl::updateStatsOnAdd(lease4);
resp << "Lease for address " << lease4->addr_.toText()
<< ", subnet-id " << lease4->subnet_id_ << " added.";
}
if (!success) {
isc_throw(db::DuplicateEntry, "IPv6 lease already exists.");
}
- updateStatsOnAdd(lease6);
+ LeaseCmdsImpl::updateStatsOnAdd(lease6);
if (lease6->type_ == Lease::TYPE_NA) {
resp << "Lease for address " << lease6->addr_.toText()
<< ", subnet-id " << lease6->subnet_id_ << " added.";
if (LeaseMgrFactory::instance().deleteLease(lease4)) {
setSuccessResponse(handle, "IPv4 lease deleted.");
- updateStatsOnDelete(lease4);
+ LeaseCmdsImpl::updateStatsOnDelete(lease4);
} else {
setErrorResponse (handle, "IPv4 lease not found.", CONTROL_RESULT_EMPTY);
}
LeaseMgrFactory::instance().getLease6(lease->type_, lease->addr_);
// Try to update.
LeaseMgrFactory::instance().updateLease6(lease);
- updateStatsOnUpdate(lease6, lease);
+ LeaseCmdsImpl::updateStatsOnUpdate(lease6, lease);
} catch (const NoSuchLease& ex) {
// Lease to be updated not found, so add it.
if (!LeaseMgrFactory::instance().addLease(lease)) {
isc_throw(db::DuplicateEntry,
"lost race between calls to update and add");
}
- updateStatsOnAdd(lease);
+ LeaseCmdsImpl::updateStatsOnAdd(lease);
}
}
// leases.
if (LeaseMgrFactory::instance().deleteLease(lease)) {
++success_count;
- updateStatsOnDelete(lease);
+ LeaseCmdsImpl::updateStatsOnDelete(lease);
} else {
// Lazy creation of the list of leases which failed to delete.
if (LeaseMgrFactory::instance().deleteLease(lease6)) {
setSuccessResponse(handle, "IPv6 lease deleted.");
- updateStatsOnDelete(lease6);
+ LeaseCmdsImpl::updateStatsOnDelete(lease6);
} else {
setErrorResponse (handle, "IPv6 lease not found.", CONTROL_RESULT_EMPTY);
}
isc_throw(db::DuplicateEntry,
"lost race between calls to get and add");
}
- updateStatsOnAdd(lease);
+ LeaseCmdsImpl::updateStatsOnAdd(lease);
return (true);
}
LeaseMgrFactory::instance().updateLease4(lease);
- updateStatsOnUpdate(lease4, lease);
+ LeaseCmdsImpl::updateStatsOnUpdate(lease4, lease);
return (false);
}
isc_throw(db::DuplicateEntry,
"lost race between calls to get and add");
}
- updateStatsOnAdd(lease);
+ LeaseCmdsImpl::updateStatsOnAdd(lease);
return (true);
}
LeaseMgrFactory::instance().updateLease6(lease);
- updateStatsOnUpdate(lease6, lease);
+ LeaseCmdsImpl::updateStatsOnUpdate(lease6, lease);
return (false);
}
num = LeaseMgrFactory::instance().wipeLeases4(id);
ids << " " << id;
- int32_t previous_reclaimed = StatsMgr::instance().getObservation(
+ int64_t previous_reclaimed = StatsMgr::instance().getObservation(
StatsMgr::generateName("subnet", id, "reclaimed-leases"))->getInteger().first;
- int32_t previous_declined = StatsMgr::instance().getObservation(
+ int64_t previous_declined = StatsMgr::instance().getObservation(
StatsMgr::generateName("subnet", id, "declined-addresses"))->getInteger().first;
StatsMgr::instance().setValue(
num = LeaseMgrFactory::instance().wipeLeases6(id);
ids << " " << id;
- int32_t previous_reclaimed = StatsMgr::instance().getObservation(
+ int64_t previous_reclaimed = StatsMgr::instance().getObservation(
StatsMgr::generateName("subnet", id, "reclaimed-leases"))->getInteger().first;
- int32_t previous_declined = StatsMgr::instance().getObservation(
+ int64_t previous_declined = StatsMgr::instance().getObservation(
StatsMgr::generateName("subnet", id, "declined-addresses"))->getInteger().first;
StatsMgr::instance().setValue(