![]() |
Kea 3.1.1
|
Welcome to Kea Host Cache Hooks Library. This documentation is addressed at developers who are interested in internal operation of the library. This file provides information needed to understand and perhaps extend this library.
This documentation is stand-alone: you should have read and understood Kea Developer's Guide and in particular its section about hooks: Hooks Developer's Guide.
This library implements a cache for host reservations, i.e. when a host reservation is looked for a second time the cache answers directly without involving a potentially slow backend.
The host cache is a host data source: it implements the interface of the isc::dhcp::BaseHostDataSource
abstract class extended to isc::dhcp::CacheHostDataSource
with a few methods:
isc::dhcp::Host
in the cache.The host cache can be controlled using callouts:
The host cache is copied from isc::dhcp::CfgHosts
class. The container is a similar Boost multi index with two new indexes:
isc::dhcp::Host
instance.The cache is implemented by two classes: isc::host_cache::HostCache
and its implementation isc::host_cache::HostCacheImpl
where access methods are not declared constant.
Control variables are:
The extended host data source interface is supported with some specific points:
The Host Cache Hooks Library reports it is compatible with multi-threading. The cache-flush, cache-clear, cache-get, cache-write and cache-load commands are executed in a critical section so with multi-threading temporarily disabled.