![]() |
Kea 3.0.0
|
Abstract interface extending base simple data source for host reservations to host cache. More...
#include <cache_host_data_source.h>
Public Member Functions | |
| virtual | ~CacheHostDataSource () |
| Default destructor implementation. | |
| virtual size_t | capacity () const =0 |
| Return the maximum number of entries. | |
| virtual void | flush (size_t count)=0 |
| Flush entries. | |
| virtual size_t | insert (const ConstHostPtr &host, bool overwrite)=0 |
| Insert a host into the cache. | |
| virtual bool | remove (const HostPtr &host)=0 |
| Remove a host from the cache. | |
| virtual size_t | size () const =0 |
| Return the number of entries. | |
| Public Member Functions inherited from isc::dhcp::BaseHostDataSource | |
| virtual | ~BaseHostDataSource () |
| Default destructor implementation. | |
| virtual void | add (const HostPtr &host)=0 |
| Adds a new host to the collection. | |
| virtual void | commit () |
| Commit Transactions. | |
| virtual bool | del (const SubnetID &subnet_id, const asiolink::IOAddress &addr)=0 |
| Attempts to delete hosts by (subnet-id, address) | |
| virtual bool | del4 (const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len)=0 |
| Attempts to delete a host by (subnet-id4, identifier, identifier-type) | |
| virtual bool | del6 (const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len)=0 |
| Attempts to delete a host by (subnet-id6, identifier, identifier-type) | |
| virtual ConstHostPtr | get4 (const SubnetID &subnet_id, const asiolink::IOAddress &address) const =0 |
| Returns a host connected to the IPv4 subnet and having a reservation for a specified IPv4 address. | |
| virtual ConstHostPtr | get4 (const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len) const =0 |
| Returns a host connected to the IPv4 subnet. | |
| virtual ConstHostPtr | get6 (const asiolink::IOAddress &prefix, const uint8_t prefix_len) const =0 |
| Returns a host using the specified IPv6 prefix. | |
| virtual ConstHostPtr | get6 (const SubnetID &subnet_id, const asiolink::IOAddress &address) const =0 |
| Returns a host connected to the IPv6 subnet and having a reservation for a specified IPv6 address or prefix. | |
| virtual ConstHostPtr | get6 (const SubnetID &subnet_id, const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len) const =0 |
| Returns a host connected to the IPv6 subnet. | |
| virtual ConstHostCollection | getAll (const Host::IdentifierType &identifier_type, const uint8_t *identifier_begin, const size_t identifier_len) const =0 |
| Return all hosts connected to any subnet for which reservations have been made using a specified identifier. | |
| virtual ConstHostCollection | getAll4 (const asiolink::IOAddress &address) const =0 |
| Returns a collection of hosts using the specified IPv4 address. | |
| virtual ConstHostCollection | getAll4 (const SubnetID &subnet_id) const =0 |
| Return all hosts in a DHCPv4 subnet. | |
| virtual ConstHostCollection | getAll4 (const SubnetID &subnet_id, const asiolink::IOAddress &address) const =0 |
| Returns all hosts connected to the IPv4 subnet and having a reservation for a specified address. | |
| virtual ConstHostCollection | getAll6 (const asiolink::IOAddress &address) const =0 |
| Returns all hosts having a reservation for a specified address or delegated prefix (lease) in all subnets. | |
| virtual ConstHostCollection | getAll6 (const SubnetID &subnet_id) const =0 |
| Return all hosts in a DHCPv6 subnet. | |
| virtual ConstHostCollection | getAll6 (const SubnetID &subnet_id, const asiolink::IOAddress &address) const =0 |
| Returns all hosts connected to the IPv6 subnet and having a reservation for a specified address or delegated prefix (lease). | |
| virtual ConstHostCollection | getAllbyHostname (const std::string &hostname) const =0 |
| Return all hosts with a hostname. | |
| virtual ConstHostCollection | getAllbyHostname4 (const std::string &hostname, const SubnetID &subnet_id) const =0 |
| Return all hosts with a hostname in a DHCPv4 subnet. | |
| virtual ConstHostCollection | getAllbyHostname6 (const std::string &hostname, const SubnetID &subnet_id) const =0 |
| Return all hosts with a hostname in a DHCPv6 subnet. | |
| virtual ConstHostCollection | getPage4 (const SubnetID &subnet_id, size_t &source_index, uint64_t lower_host_id, const HostPageSize &page_size) const =0 |
| Returns range of hosts in a DHCPv4 subnet. | |
| virtual ConstHostCollection | getPage4 (size_t &source_index, uint64_t lower_host_id, const HostPageSize &page_size) const =0 |
| Returns range of hosts. | |
| virtual ConstHostCollection | getPage6 (const SubnetID &subnet_id, size_t &source_index, uint64_t lower_host_id, const HostPageSize &page_size) const =0 |
| Returns range of hosts in a DHCPv6 subnet. | |
| virtual ConstHostCollection | getPage6 (size_t &source_index, uint64_t lower_host_id, const HostPageSize &page_size) const =0 |
| Returns range of hosts. | |
| virtual isc::db::DatabaseConnection::ParameterMap | getParameters () const |
| Return backend parameters. | |
| virtual std::string | getType () const =0 |
| Return backend type. | |
| virtual bool | isUnusable () |
| Flag which indicates if the host manager has at least one unusable connection. | |
| virtual void | rollback () |
| Rollback Transactions. | |
| virtual bool | setIPReservationsUnique (const bool unique)=0 |
| Controls whether IP reservations are unique or non-unique. | |
| virtual void | update (HostPtr const &host) |
| Attempts to update an existing host entry. | |
Additional Inherited Members | |
| Public Types inherited from isc::dhcp::BaseHostDataSource | |
| enum | IdType { ID_HWADDR = 0 , ID_DUID = 1 } |
| Specifies the type of an identifier. More... | |
Abstract interface extending base simple data source for host reservations to host cache.
Only the insert() method is required to use the cache.
Definition at line 18 of file cache_host_data_source.h.
|
inlinevirtual |
Default destructor implementation.
Definition at line 22 of file cache_host_data_source.h.
|
pure virtual |
Return the maximum number of entries.
Implemented in isc::host_cache::HostCache.
|
pure virtual |
Flush entries.
| count | number of entries to remove, 0 means all. |
Implemented in isc::host_cache::HostCache.
|
pure virtual |
Insert a host into the cache.
Similar to add() but with a different purpose.
| host | Pointer to the new Host object being inserted. |
| overwrite | false if doing nothing in case of conflicts (and returning 1), true if removing conflicting entries (and returning their number). |
Implemented in isc::host_cache::HostCache.
|
pure virtual |
Remove a host from the cache.
Does the same as del, del4 or del6 but with a more uniform interface and a different purpose.
| host | Pointer to the existing Host object being removed. |
Implemented in isc::host_cache::HostCache.
|
pure virtual |
Return the number of entries.
Implemented in isc::host_cache::HostCache.