#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.
◆ Bitmap
◆ DhcpLeaseDb()
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::~DhcpLeaseDb |
( |
| ) |
|
|
virtual |
◆ AddressToIndex()
size_t DhcpLeaseDb::AddressToIndex |
( |
const Ip4Address & |
address | ) |
const |
|
private |
◆ Allocate()
◆ ClearLeases()
void DhcpLeaseDb::ClearLeases |
( |
| ) |
|
◆ CreateLeaseFile()
void DhcpLeaseDb::CreateLeaseFile |
( |
| ) |
|
|
private |
◆ DISALLOW_COPY_AND_ASSIGN()
◆ IndexToAddress()
void DhcpLeaseDb::IndexToAddress |
( |
size_t |
index, |
|
|
Ip4Address * |
address |
|
) |
| const |
|
private |
◆ IsReservedAddress()
bool DhcpLeaseDb::IsReservedAddress |
( |
const Ip4Address & |
address | ) |
const |
|
private |
◆ leases()
const std::set<DhcpLease>& DhcpLeaseDb::leases |
( |
| ) |
const |
|
inline |
◆ LeaseTimerExpiry()
bool DhcpLeaseDb::LeaseTimerExpiry |
( |
| ) |
|
|
private |
◆ LoadLeaseFile()
void DhcpLeaseDb::LoadLeaseFile |
( |
| ) |
|
|
private |
◆ ParseLease()
void DhcpLeaseDb::ParseLease |
( |
const pugi::xml_node & |
lease | ) |
|
|
private |
◆ ParseLeaseFile()
void DhcpLeaseDb::ParseLeaseFile |
( |
const std::string & |
leases | ) |
|
|
private |
◆ PersistLeaseRecord()
void DhcpLeaseDb::PersistLeaseRecord |
( |
const MacAddress & |
mac, |
|
|
const Ip4Address & |
ip, |
|
|
const uint64_t & |
expiry, |
|
|
bool |
released |
|
) |
| |
|
private |
◆ PersistLeaseRecords()
void DhcpLeaseDb::PersistLeaseRecords |
( |
const std::vector< DhcpLease > & |
leases | ) |
|
|
private |
◆ plen()
uint8_t DhcpLeaseDb::plen |
( |
| ) |
const |
|
inline |
◆ ReadLeaseFile()
void DhcpLeaseDb::ReadLeaseFile |
( |
std::string & |
leases | ) |
|
|
private |
◆ Release()
bool DhcpLeaseDb::Release |
( |
const MacAddress & |
mac | ) |
|
◆ ReserveAddresses()
void DhcpLeaseDb::ReserveAddresses |
( |
const std::vector< Ip4Address > & |
addresses, |
|
|
bool |
subnet_change |
|
) |
| |
|
private |
◆ set_lease_timeout()
void DhcpLeaseDb::set_lease_timeout |
( |
uint32_t |
timeout | ) |
|
◆ subnet()
◆ Update()
void DhcpLeaseDb::Update |
( |
const Ip4Address & |
subnet, |
|
|
uint8_t |
plen, |
|
|
const std::vector< Ip4Address > & |
reserve_addresses |
|
) |
| |
◆ UpdateLease()
void DhcpLeaseDb::UpdateLease |
( |
const MacAddress & |
mac, |
|
|
const Ip4Address & |
ip, |
|
|
uint64_t |
expiry, |
|
|
bool |
released |
|
) |
| |
|
private |
◆ UpdateLeaseFileName()
void DhcpLeaseDb::UpdateLeaseFileName |
( |
const std::string & |
name | ) |
|
|
private |
◆ WriteLeaseRecord()
void DhcpLeaseDb::WriteLeaseRecord |
( |
std::ofstream & |
lease_ofstream, |
|
|
const MacAddress & |
mac, |
|
|
const Ip4Address & |
ip, |
|
|
const uint64_t & |
expiry, |
|
|
bool |
released |
|
) |
| |
|
private |
◆ DhcpTest
◆ kDhcpLeaseTimer
const uint32_t DhcpLeaseDb::kDhcpLeaseTimer = 300000 |
|
static |
◆ lease_bitmap_
Bitmap DhcpLeaseDb::lease_bitmap_ |
|
private |
◆ lease_filename_
std::string DhcpLeaseDb::lease_filename_ |
|
private |
◆ lease_timeout_
uint32_t DhcpLeaseDb::lease_timeout_ |
|
private |
◆ lease_update_count_
uint32_t DhcpLeaseDb::lease_update_count_ |
|
private |
◆ leases_
◆ max_lease_update_count_
uint32_t DhcpLeaseDb::max_lease_update_count_ |
|
private |
◆ plen_
uint8_t DhcpLeaseDb::plen_ |
|
private |
◆ released_lease_bitmap_
Bitmap DhcpLeaseDb::released_lease_bitmap_ |
|
private |
◆ reserve_addresses_
std::vector<Ip4Address> DhcpLeaseDb::reserve_addresses_ |
|
private |
◆ subnet_
◆ timer_
Timer* DhcpLeaseDb::timer_ |
|
private |
The documentation for this class was generated from the following files: