-// Copyright (C) 2012, 2014 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2012-2015 Internet Systems Consortium, Inc. ("ISC")
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
/**
@page libdhcpsrv libdhcpsrv - Server DHCP library
-This library contains code useful for DHCPv4 and DHCPv6 server operations, like
-Lease Manager that stores leases information, configuration manager that stores
-configuration etc. The code here is server specific. For generic (useful in
-server, client, relay and other tools like perfdhcp) code, please see
+This library contains code used for DHCPv4 and DHCPv6 servers' operations,
+including "Lease Manager" that manages information about leases,
+"Configuration Manager" that stores servers' configuration etc.
+The code here is server specific. For generic (useful by server,
+client, relay and other tools like perfdhcp) code, please see
\ref libdhcp.
-This library contains several crucial elements of the DHCP server operation:
+This library contains several crucial elements for the DHCP server operation:
-- isc::dhcp::LeaseMgr - Lease Manager is a name for database backend that stores
+- isc::dhcp::LeaseMgr - lease manager is a name for database backend that stores
leases.
-- isc::dhcp::CfgMgr - Configuration Manager that holds DHCP specific
+- isc::dhcp::CfgMgr - configuration manager that holds DHCP specific
configuration information (subnets, pools, options, timer values etc.) in
easy to use format.
-- AllocEngine - allocation engine that handles new requestes and allocates new
+- isc::dhcp::AllocEngine - allocation engine that handles new requestes and allocates new
leases.
+- isc::dhcp::HostMgr - manager for static reservations, a.k.a. as host
+ reservations.
+- isc::dhcp::D2ClientMgr - D2 client manager which is responsible for
+ the communication between the DHCP server and the D2 component.
@section leasemgr Lease Manager
LeaseMgr provides a common, unified abstract API for all database backends. All
-backends are derived from the base class isc::dhcp::LeaseMgr. Currently the
-only available backend is MySQL (see \ref isc::dhcp::MySqlLeaseMgr).
+backends are derived from the base class isc::dhcp::LeaseMgr. Currently Kea
+supports three backends implemented in the following classes:
+
+- isc::dhcp::Memfile_LeaseMgr - stores leases in the CSV file,
+- isc::dhcp::MySqlLeaseMgr - stores leases in the MySQL database
+- isc::dhcp::PgSqlLeaseMgr - stores leases in the PostgreSQL database
@section cfgmgr Configuration Manager
predecessor of the current configuration, the value of 2 identifies the
one that occurred before it etc.
-@todo Currently, only a subset of configuration information is stored in
-the \ref isc::dhcp::SrvConfig object. Kea developers are actively working
-on migrating the other configuration parameters to it.
-
@section hostmgr Host Manager
Host Manager implemented by the \ref isc::dhcp::HostMgr is a singleton object