#include <dhcp_lease_db.h>
|
typedef boost::dynamic_bitset | Bitmap |
|
|
bool | LeaseTimerExpiry () |
|
void | UpdateLease (const MacAddress &mac, const Ip4Address &ip, uint64_t expiry, bool released) |
|
void | ReserveAddresses (const std::vector< Ip4Address > &addresses, bool subnet_change) |
|
void | IndexToAddress (size_t index, Ip4Address *address) const |
|
size_t | AddressToIndex (const Ip4Address &address) const |
|
bool | IsReservedAddress (const Ip4Address &address) const |
|
void | UpdateLeaseFileName (const std::string &name) |
|
void | CreateLeaseFile () |
|
void | PersistLeaseRecord (const MacAddress &mac, const Ip4Address &ip, const uint64_t &expiry, bool released) |
|
void | PersistLeaseRecords (const std::vector< DhcpLease > &leases) |
|
void | WriteLeaseRecord (std::ofstream &lease_ofstream, const MacAddress &mac, const Ip4Address &ip, const uint64_t &expiry, bool released) |
|
void | LoadLeaseFile () |
|
void | ReadLeaseFile (std::string &leases) |
|
void | ParseLeaseFile (const std::string &leases) |
|
void | ParseLease (const pugi::xml_node &lease) |
|
| DISALLOW_COPY_AND_ASSIGN (DhcpLeaseDb) |
|
Definition at line 33 of file dhcp_lease_db.h.
DhcpLeaseDb::DhcpLeaseDb |
( |
const Ip4Address & |
subnet, |
|
|
uint8_t |
plen, |
|
|
const std::vector< Ip4Address > & |
reserve_addresses, |
|
|
const std::string & |
lease_filename, |
|
|
boost::asio::io_context & |
io |
|
) |
| |
DhcpLeaseDb::~DhcpLeaseDb |
( |
| ) |
|
|
virtual |
size_t DhcpLeaseDb::AddressToIndex |
( |
const Ip4Address & |
address | ) |
const |
|
private |
void DhcpLeaseDb::ClearLeases |
( |
| ) |
|
void DhcpLeaseDb::CreateLeaseFile |
( |
| ) |
|
|
private |
void DhcpLeaseDb::IndexToAddress |
( |
size_t |
index, |
|
|
Ip4Address * |
address |
|
) |
| const |
|
private |
bool DhcpLeaseDb::IsReservedAddress |
( |
const Ip4Address & |
address | ) |
const |
|
private |
const std::set<DhcpLease>& DhcpLeaseDb::leases |
( |
| ) |
const |
|
inline |
bool DhcpLeaseDb::LeaseTimerExpiry |
( |
| ) |
|
|
private |
void DhcpLeaseDb::LoadLeaseFile |
( |
| ) |
|
|
private |
void DhcpLeaseDb::ParseLease |
( |
const pugi::xml_node & |
lease | ) |
|
|
private |
void DhcpLeaseDb::ParseLeaseFile |
( |
const std::string & |
leases | ) |
|
|
private |
void DhcpLeaseDb::PersistLeaseRecord |
( |
const MacAddress & |
mac, |
|
|
const Ip4Address & |
ip, |
|
|
const uint64_t & |
expiry, |
|
|
bool |
released |
|
) |
| |
|
private |
void DhcpLeaseDb::PersistLeaseRecords |
( |
const std::vector< DhcpLease > & |
leases | ) |
|
|
private |
uint8_t DhcpLeaseDb::plen |
( |
| ) |
const |
|
inline |
void DhcpLeaseDb::ReadLeaseFile |
( |
std::string & |
leases | ) |
|
|
private |
bool DhcpLeaseDb::Release |
( |
const MacAddress & |
mac | ) |
|
void DhcpLeaseDb::ReserveAddresses |
( |
const std::vector< Ip4Address > & |
addresses, |
|
|
bool |
subnet_change |
|
) |
| |
|
private |
void DhcpLeaseDb::set_lease_timeout |
( |
uint32_t |
timeout | ) |
|
void DhcpLeaseDb::Update |
( |
const Ip4Address & |
subnet, |
|
|
uint8_t |
plen, |
|
|
const std::vector< Ip4Address > & |
reserve_addresses |
|
) |
| |
void DhcpLeaseDb::UpdateLease |
( |
const MacAddress & |
mac, |
|
|
const Ip4Address & |
ip, |
|
|
uint64_t |
expiry, |
|
|
bool |
released |
|
) |
| |
|
private |
void DhcpLeaseDb::UpdateLeaseFileName |
( |
const std::string & |
name | ) |
|
|
private |
void DhcpLeaseDb::WriteLeaseRecord |
( |
std::ofstream & |
lease_ofstream, |
|
|
const MacAddress & |
mac, |
|
|
const Ip4Address & |
ip, |
|
|
const uint64_t & |
expiry, |
|
|
bool |
released |
|
) |
| |
|
private |
const uint32_t DhcpLeaseDb::kDhcpLeaseTimer = 300000 |
|
static |
Bitmap DhcpLeaseDb::lease_bitmap_ |
|
private |
std::string DhcpLeaseDb::lease_filename_ |
|
private |
uint32_t DhcpLeaseDb::lease_timeout_ |
|
private |
uint32_t DhcpLeaseDb::lease_update_count_ |
|
private |
uint32_t DhcpLeaseDb::max_lease_update_count_ |
|
private |
uint8_t DhcpLeaseDb::plen_ |
|
private |
Bitmap DhcpLeaseDb::released_lease_bitmap_ |
|
private |
std::vector<Ip4Address> DhcpLeaseDb::reserve_addresses_ |
|
private |
Timer* DhcpLeaseDb::timer_ |
|
private |
The documentation for this class was generated from the following files: