mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-31 14:05:33 +00:00
[5371] Fixed doxygen errors
This commit is contained in:
@@ -28,12 +28,15 @@ Unfortunately this gave rise to other problems such as data duplication.) The ou
|
||||
parsers was a tree of @ref isc::data::Element objects using shared pointers. This part of the
|
||||
processing we can refer to as phase 1.
|
||||
|
||||
The Element tree was then processed by set of dedicated parsers. Each parser was able to handle its
|
||||
own context, e.g. global, subnet list, subnet, pool etc. This step took the tree generated in phase
|
||||
1, parsed it and generated an output configuration (e.g. @ref isc::dhcp::SrvConfig) or dynamic
|
||||
structures (e.g. isc::data::Host). During this stage, a large number of parser objects derived from
|
||||
@ref isc::dhcp::DhcpConfigParser could be instantiated for each scope and instance of data (e.g. to
|
||||
parse 1000 host reservation entries a thousand dedicated parsers were created). For convenience,
|
||||
The Element tree was then processed by set of dedicated parsers. Each
|
||||
parser was able to handle its own context, e.g. global, subnet list,
|
||||
subnet, pool etc. This step took the tree generated in phase 1, parsed
|
||||
it and generated an output configuration (e.g. @ref
|
||||
isc::dhcp::SrvConfig) or dynamic structures
|
||||
(e.g. isc::data::Host). During this stage, a large number of parser
|
||||
objects derived from DhcpConfigParser could be instantiated for each
|
||||
scope and instance of data (e.g. to parse 1000 host reservation
|
||||
entries a thousand dedicated parsers were created). For convenience,
|
||||
this step is called phase 2.
|
||||
|
||||
Other issues with the old parsers are discussed here: @ref dhcpv6ConfigParserBison (this section is
|
||||
|
@@ -19,12 +19,12 @@ partially rewrite the parser code. The design for this effort is documented
|
||||
here: http://kea.isc.org/wiki/SimpleParser It discusses the original issues
|
||||
and the proposed architecture.
|
||||
|
||||
There are several aspects of this new approach. The base class for all parsers
|
||||
is @ref isc::data::SimpleParser. It simplifies the parsers based on
|
||||
@ref isc::dhcp::DhcpConfigParser by rejecting the
|
||||
concept of build/commit phases. Instead, there should be a single method
|
||||
called parse that takes ConstElementPtr as a single parameter (that's the
|
||||
JSON structures to be parsed) and returns the config structure to be used
|
||||
There are several aspects of this new approach. The base class for all
|
||||
parsers is @ref isc::data::SimpleParser. It simplifies the parsers
|
||||
based on DhcpConfigParser by rejecting the concept of build/commit
|
||||
phases. Instead, there should be a single method called parse that
|
||||
takes ConstElementPtr as a single parameter (that's the JSON
|
||||
structures to be parsed) and returns the config structure to be used
|
||||
in CfgMgr. An example of such a method can be the following:
|
||||
|
||||
@code
|
||||
|
@@ -35,8 +35,7 @@ class ParseError : public isc::Exception {
|
||||
/// << " (" << getPosition(what) << ")");
|
||||
/// }
|
||||
|
||||
/// @todo: move this header into simple_parser.h as soon as
|
||||
/// there is no dependency through DhcpConfigParser
|
||||
/// @todo: move this header into simple_parser.h
|
||||
/// @todo: create an isc_throw like macro to add the
|
||||
/// position more easily.
|
||||
/// @todo: replace all references to DhcpConfigError with ConfigError,
|
||||
|
@@ -37,10 +37,10 @@ typedef std::vector<std::string> ParamsList;
|
||||
|
||||
/// @brief A simple parser
|
||||
///
|
||||
/// This class is intended to be a simpler replacement for @ref
|
||||
/// isc::dhcp::DhcpConfigParser. This class has been initially created to
|
||||
/// facilitate DHCPv4 and DHCPv6 servers' configuration parsing. Thus examples
|
||||
/// provided herein are related to DHCP configuration. Nevertheless, this is a
|
||||
/// This class is intended to be a simpler replacement for DhcpConfigParser.
|
||||
/// This class has been initially created to facilitate DHCPv4 and
|
||||
/// DHCPv6 servers' configuration parsing. Thus examples provided
|
||||
/// herein are related to DHCP configuration. Nevertheless, this is a
|
||||
/// generic class to be used in other modules too.
|
||||
///
|
||||
/// The simplification comes from several factors:
|
||||
|
@@ -176,7 +176,7 @@ public:
|
||||
|
||||
/// @brief Sets new mandatory flag.
|
||||
///
|
||||
/// @param status_code New numeric status code.
|
||||
/// @param mandatory_flag New numeric status code.
|
||||
void setMandatoryFlag(const bool mandatory_flag) {
|
||||
mandatory_flag_ = mandatory_flag;
|
||||
}
|
||||
|
@@ -493,7 +493,7 @@ public:
|
||||
/// it into LeaseMgr (if this allocation is not fake, i.e. this is not a
|
||||
/// response to SOLICIT).
|
||||
///
|
||||
/// This method uses host reservation if ctx.host_ is set. The easy way to
|
||||
/// This method uses host reservation if ctx.hosts_ is set. The easy way to
|
||||
/// set it is to call @ref findReservationDecl.
|
||||
/// The host reservation is convenient, but incurs performance penalty,
|
||||
/// so it can be tweaked on a per subnet basis. There are three possible modes:
|
||||
@@ -562,8 +562,8 @@ public:
|
||||
/// collection as old leases.<br/>
|
||||
/// @ref ClientContext6::hwaddr_ Hardware address (optional, may be null if
|
||||
/// not available)<br/>
|
||||
/// @ref ClientContext6::host_ Host reservation. allocateLeases6 will set
|
||||
/// this field, if appropriate reservation is found.
|
||||
/// @ref ClientContext6::hosts_ Host reservations. allocateLeases6 will set
|
||||
/// this field, if appropriate reservations are found.
|
||||
///
|
||||
/// @return Allocated IPv6 leases (may be empty if allocation failed)
|
||||
Lease6Collection
|
||||
@@ -1252,8 +1252,6 @@ public:
|
||||
/// - @ref ClientContext4::fake_allocation_ Is this real i.e. REQUEST (false)
|
||||
/// or just picking an address for DISCOVER that is not really
|
||||
/// allocated (true)
|
||||
/// - @ref ClientContext4::host_ Pointer to the object representing the
|
||||
// static reservations (host reservations) for the client.
|
||||
/// - @ref ClientContext4::callout_handle_ A callout handle (used in hooks).
|
||||
/// A lease callouts will be executed if this parameter is passed.
|
||||
/// - @ref ClientContext4::old_lease_ [out] Holds the pointer to a previous
|
||||
|
@@ -235,7 +235,11 @@ public:
|
||||
/// This method supports v4 hosts only.
|
||||
///
|
||||
/// @param subnet_id subnet identifier.
|
||||
/// @param addr specified address.
|
||||
/// @param identifier_type Identifier type.
|
||||
/// @param identifier_begin Pointer to a beginning of a buffer containing
|
||||
/// an identifier.
|
||||
/// @param identifier_len Identifier length.
|
||||
///
|
||||
/// @return true if deletion was successful, false if the host was not there.
|
||||
/// @throw various exceptions in case of errors
|
||||
virtual bool del4(const SubnetID& subnet_id,
|
||||
@@ -247,7 +251,11 @@ public:
|
||||
/// This method supports v6 hosts only.
|
||||
///
|
||||
/// @param subnet_id subnet identifier.
|
||||
/// @param addr specified address.
|
||||
/// @param identifier_type Identifier type.
|
||||
/// @param identifier_begin Pointer to a beginning of a buffer containing
|
||||
/// an identifier.
|
||||
/// @param identifier_len Identifier length.
|
||||
///
|
||||
/// @return true if deletion was successful, false if the host was not there.
|
||||
/// @throw various exceptions in case of errors
|
||||
virtual bool del6(const SubnetID& subnet_id,
|
||||
|
@@ -28,11 +28,12 @@ namespace dhcp {
|
||||
///
|
||||
/// The most common type of network, in Kea's terminology, is a subnet. The
|
||||
/// @ref Subnet implements this interface. Another types of objects implementing
|
||||
/// this interface are @ref SharedNetwork objects. They group multiple subnets
|
||||
/// together to provide means for extending available address pools (a single
|
||||
/// client may obtain IP address from any of the pools belonging to subnets in
|
||||
/// the shared network), or for selecting a subnet on a given link, depending
|
||||
/// on the class of the client (e.g. cable network case: different subnet is
|
||||
/// this interface are @ref SharedNetwork4 and @ref SharedNetwork6 objects.
|
||||
/// They group multiple subnets together to provide means for
|
||||
/// extending available address pools (a single client may obtain IP
|
||||
/// address from any of the pools belonging to subnets in the shared
|
||||
/// network), or for selecting a subnet on a given link, depending on the
|
||||
/// class of the client (e.g. cable network case: different subnet is
|
||||
/// selected for cable modems, different one for routers).
|
||||
///
|
||||
/// The subnets and shared networks share many data structures, e.g. DHCP
|
||||
|
@@ -266,7 +266,11 @@ public:
|
||||
/// This method supports v4 hosts only.
|
||||
///
|
||||
/// @param subnet_id subnet identifier.
|
||||
/// @param addr specified address.
|
||||
/// @param identifier_type Identifier type.
|
||||
/// @param identifier_begin Pointer to a beginning of a buffer containing
|
||||
/// an identifier.
|
||||
/// @param identifier_len Identifier length.
|
||||
///
|
||||
/// @return true if deletion was successful, false if the host was not there.
|
||||
/// @throw various exceptions in case of errors
|
||||
virtual bool del4(const SubnetID& subnet_id,
|
||||
@@ -278,7 +282,11 @@ public:
|
||||
/// This method supports v6 hosts only.
|
||||
///
|
||||
/// @param subnet_id subnet identifier.
|
||||
/// @param addr specified address.
|
||||
/// @param identifier_type Identifier type.
|
||||
/// @param identifier_begin Pointer to a beginning of a buffer containing
|
||||
/// an identifier.
|
||||
/// @param identifier_len Identifier length.
|
||||
///
|
||||
/// @return true if deletion was successful, false if the host was not there.
|
||||
/// @throw various exceptions in case of errors
|
||||
virtual bool del6(const SubnetID& subnet_id,
|
||||
|
@@ -98,7 +98,7 @@ public:
|
||||
|
||||
/// @brief Retrieves next available IPv4 subnet within shared network.
|
||||
///
|
||||
/// See documentation for @ref SharedNetwork::getNextSubnet.
|
||||
/// See documentation for @ref SharedNetwork4::getNextSubnet.
|
||||
///
|
||||
/// @param first_subnet Pointer to a subnet from which the caller is
|
||||
/// iterating over subnets within shared network. This is typically a
|
||||
@@ -221,7 +221,7 @@ public:
|
||||
|
||||
/// @brief Retrieves next available IPv6 subnet within shared network.
|
||||
///
|
||||
/// See documentation for @ref SharedNetwork::getNextSubnet.
|
||||
/// See documentation for @ref SharedNetwork6::getNextSubnet.
|
||||
///
|
||||
/// @param first_subnet Pointer to a subnet from which the caller is
|
||||
/// iterating over subnets within shared network. This is typically a
|
||||
|
Reference in New Issue
Block a user