Kea 2.7.1
shared_network.h File Reference
#include <asiolink/io_address.h>
#include <cc/data.h>
#include <dhcpsrv/subnet.h>
#include <dhcpsrv/subnet_id.h>
#include <boost/enable_shared_from_this.hpp>
#include <boost/multi_index/mem_fun.hpp>
#include <boost/multi_index/hashed_index.hpp>
#include <boost/multi_index/indexed_by.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index/random_access_index.hpp>
#include <boost/multi_index_container.hpp>
#include <boost/shared_ptr.hpp>
#include <string>
+ Include dependency graph for shared_network.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  isc::dhcp::SharedNetwork4
 Shared network holding IPv4 subnets. More...
 
class  isc::dhcp::SharedNetwork6
 Shared network holding IPv6 subnets. More...
 
class  isc::dhcp::SharedNetworkFetcher< ReturnPtrType, CollectionType >
 A class containing static convenience methods to fetch the shared networks from the containers. More...
 
struct  isc::dhcp::SharedNetworkIdIndexTag
 A tag for accessing index by id. More...
 
struct  isc::dhcp::SharedNetworkModificationTimeIndexTag
 Tag for the index for searching by shared network modification time. More...
 
struct  isc::dhcp::SharedNetworkNameIndexTag
 A tag for accessing index by shared network name. More...
 
struct  isc::dhcp::SharedNetworkRandomAccessIndexTag
 A tag for accessing random access index. More...
 
struct  isc::dhcp::SharedNetworkServerIdIndexTag
 A tag for accessing index by server identifier. More...
 

Namespaces

namespace  isc
 Defines the logger used by the top-level component of kea-lfc.
 
namespace  isc::dhcp
 

Typedefs

typedef boost::multi_index_container< SharedNetwork4Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< SharedNetworkRandomAccessIndexTag > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< SharedNetworkIdIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, uint64_t, &data::BaseStampedElement::getId > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SharedNetworkNameIndexTag >, boost::multi_index::const_mem_fun< SharedNetwork4, std::string, &SharedNetwork4::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SharedNetworkServerIdIndexTag >, boost::multi_index::const_mem_fun< Network4, asiolink::IOAddress, &Network4::getServerId > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SharedNetworkModificationTimeIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > > > > isc::dhcp::SharedNetwork4Collection
 Multi index container holding shared networks.
 
typedef boost::shared_ptr< SharedNetwork4isc::dhcp::SharedNetwork4Ptr
 Pointer to SharedNetwork4 object.
 
typedef boost::multi_index_container< SharedNetwork6Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< SharedNetworkRandomAccessIndexTag > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< SharedNetworkIdIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, uint64_t, &data::BaseStampedElement::getId > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SharedNetworkNameIndexTag >, boost::multi_index::const_mem_fun< SharedNetwork6, std::string, &SharedNetwork6::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SharedNetworkModificationTimeIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > > > > isc::dhcp::SharedNetwork6Collection
 Multi index container holding shared networks.
 
typedef boost::shared_ptr< SharedNetwork6isc::dhcp::SharedNetwork6Ptr
 Pointer to SharedNetwork6 object.
 
using isc::dhcp::SharedNetworkFetcher4 = SharedNetworkFetcher<SharedNetwork4Ptr, SharedNetwork4Collection>
 Type of the SharedNetworkFetcher used for IPv4.
 
using isc::dhcp::SharedNetworkFetcher6 = SharedNetworkFetcher<SharedNetwork6Ptr, SharedNetwork6Collection>
 Type of the SharedNetworkFetcher used for IPv6.