prf::net::dhcps::DhcpServerManager class final

Public types

using LeaseVisitor = bool(*)(const LeaseView&lease, void*user_ctx)

Public static variables

static size_t kMaxServers constexpr
static size_t kSessionSlotsPerServer constexpr

Public functions

auto handle_test_packet(std::string_view server_id, std::span<const uint8_t> bytes, uint64_t now_ms) -> bool
auto init(std::span<cfg::DhcpServerConfigSection*const> sections, pool::Ipv4PoolManager& pool_manager, IDhcpInterfaceBindingProvider& interface_provider) -> bool
auto list_leases(std::string_view server_id, LeaseView* out, size_t max_count, uint64_t now_ms) const -> size_t
void service(uint64_t now_ms)
auto snapshot_server(std::string_view server_id, ServerStatusSnapshot* out) const -> bool
auto take_last_test_tx(std::string_view server_id, TestTxPacket* out) -> bool
auto visit_leases(std::string_view server_id, uint64_t now_ms, LeaseVisitor visitor, void* user_ctx) const -> size_t