Kea  1.9.9-git
memfile_lease_storage.h File Reference
#include <asiolink/io_address.h>
#include <dhcpsrv/lease.h>
#include <dhcpsrv/subnet_id.h>
#include <boost/multi_index/indexed_by.hpp>
#include <boost/multi_index/member.hpp>
#include <boost/multi_index/mem_fun.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/composite_key.hpp>
#include <vector>
+ Include dependency graph for memfile_lease_storage.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  isc::dhcp::AddressIndexTag
 Tag for indexes by address. More...
 
struct  isc::dhcp::ClientIdSubnetIdIndexTag
 Tag for indexes by client and subnet identifiers. More...
 
struct  isc::dhcp::DuidIaidTypeIndexTag
 Tag for indexes by DUID, IAID, lease type tuple. More...
 
struct  isc::dhcp::DuidIndexTag
 Tag for index using DUID. More...
 
struct  isc::dhcp::ExpirationIndexTag
 Tag for indexes by expiration time. More...
 
struct  isc::dhcp::HostnameIndexTag
 Tag for index using hostname. More...
 
struct  isc::dhcp::HWAddressSubnetIdIndexTag
 Tag for indexes by HW address, subnet identifier tuple. More...
 
struct  isc::dhcp::SubnetIdIndexTag
 Tag for indexes by subnet-id. More...
 

Namespaces

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

Typedefs

Multi index containers holding DHCPv4 and DHCPv6 leases.
typedef boost::multi_index_container< Lease6Ptr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< AddressIndexTag >, boost::multi_index::member< Lease, isc::asiolink::IOAddress,&Lease::addr_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< DuidIaidTypeIndexTag >, boost::multi_index::composite_key< Lease6, boost::multi_index::const_mem_fun< Lease6, const std::vector< uint8_t > &,&Lease6::getDuidVector >, boost::multi_index::member< Lease6, uint32_t,&Lease6::iaid_ >, boost::multi_index::member< Lease6, Lease::Type,&Lease6::type_ > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< ExpirationIndexTag >, boost::multi_index::composite_key< Lease6, boost::multi_index::const_mem_fun< Lease, bool,&Lease::stateExpiredReclaimed >, boost::multi_index::const_mem_fun< Lease, int64_t,&Lease::getExpirationTime > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetIdIndexTag >, boost::multi_index::member< Lease, isc::dhcp::SubnetID,&Lease::subnet_id_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< DuidIndexTag >, boost::multi_index::const_mem_fun< Lease6, const std::vector< uint8_t > &,&Lease6::getDuidVector > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< HostnameIndexTag >, boost::multi_index::member< Lease, std::string,&Lease::hostname_ > > >> isc::dhcp::Lease6Storage
 A multi index container holding DHCPv6 leases. More...
 
typedef boost::multi_index_container< Lease4Ptr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< AddressIndexTag >, boost::multi_index::member< Lease, isc::asiolink::IOAddress,&Lease::addr_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< HWAddressSubnetIdIndexTag >, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun< Lease, const std::vector< uint8_t > &,&Lease::getHWAddrVector >, boost::multi_index::member< Lease, SubnetID,&Lease::subnet_id_ > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< ClientIdSubnetIdIndexTag >, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun< Lease4, const std::vector< uint8_t > &,&Lease4::getClientIdVector >, boost::multi_index::member< Lease, uint32_t,&Lease::subnet_id_ > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< ExpirationIndexTag >, boost::multi_index::composite_key< Lease4, boost::multi_index::const_mem_fun< Lease, bool,&Lease::stateExpiredReclaimed >, boost::multi_index::const_mem_fun< Lease, int64_t,&Lease::getExpirationTime > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetIdIndexTag >, boost::multi_index::member< Lease, isc::dhcp::SubnetID,&Lease::subnet_id_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< HostnameIndexTag >, boost::multi_index::member< Lease, std::string,&Lease::hostname_ > > >> isc::dhcp::Lease4Storage
 A multi index container holding DHCPv4 leases. More...
 
Indexes used by the multi index containers
typedef Lease6Storage::index< AddressIndexTag >::type isc::dhcp::Lease6StorageAddressIndex
 DHCPv6 lease storage index by address. More...
 
typedef Lease6Storage::index< DuidIaidTypeIndexTag >::type isc::dhcp::Lease6StorageDuidIaidTypeIndex
 DHCPv6 lease storage index by DUID, IAID, lease type. More...
 
typedef Lease6Storage::index< ExpirationIndexTag >::type isc::dhcp::Lease6StorageExpirationIndex
 DHCPv6 lease storage index by expiration time. More...
 
typedef Lease6Storage::index< SubnetIdIndexTag >::type isc::dhcp::Lease6StorageSubnetIdIndex
 DHCPv6 lease storage index by Subnet-id. More...
 
typedef Lease6Storage::index< DuidIndexTag >::type isc::dhcp::Lease6StorageDuidIndex
 DHCPv6 lease storage index by DUID. More...
 
typedef Lease6Storage::index< HostnameIndexTag >::type isc::dhcp::Lease6StorageHostnameIndex
 DHCPv6 lease storage index by hostname. More...
 
typedef Lease4Storage::index< AddressIndexTag >::type isc::dhcp::Lease4StorageAddressIndex
 DHCPv4 lease storage index by address. More...
 
typedef Lease4Storage::index< ExpirationIndexTag >::type isc::dhcp::Lease4StorageExpirationIndex
 DHCPv4 lease storage index by expiration time. More...
 
typedef Lease4Storage::index< HWAddressSubnetIdIndexTag >::type isc::dhcp::Lease4StorageHWAddressSubnetIdIndex
 DHCPv4 lease storage index by HW address and subnet identifier. More...
 
typedef Lease4Storage::index< ClientIdSubnetIdIndexTag >::type isc::dhcp::Lease4StorageClientIdSubnetIdIndex
 DHCPv4 lease storage index by client and subnet identifier. More...
 
typedef Lease4Storage::index< SubnetIdIndexTag >::type isc::dhcp::Lease4StorageSubnetIdIndex
 DHCPv4 lease storage index subnet identifier. More...
 
typedef Lease4Storage::index< HostnameIndexTag >::type isc::dhcp::Lease4StorageHostnameIndex
 DHCPv4 lease storage index by hostname. More...