Kea 2.5.9
cache_host_data_source.h
Go to the documentation of this file.
1// Copyright (C) 2018-2020 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#ifndef CACHE_HOST_DATA_SOURCE_H
8#define CACHE_HOST_DATA_SOURCE_H
9
11
12namespace isc {
13namespace dhcp {
14
19public:
20
23
33 virtual size_t insert(const ConstHostPtr& host, bool overwrite) = 0;
34
44 virtual bool remove(const HostPtr& host) = 0;
45
49 virtual void flush(size_t count) = 0;
50
54 virtual size_t size() const = 0;
55
59 virtual size_t capacity() const = 0;
60};
61
63typedef boost::shared_ptr<CacheHostDataSource> CacheHostDataSourcePtr;
64
65} // end of namespace isc::dhcp
66} // end of namespace isc
67
68#endif // CACHE_HOST_DATA_SOURCE_H
Base interface for the classes implementing simple data source for host reservations.
Abstract interface extending base simple data source for host reservations to host cache.
virtual size_t capacity() const =0
Return the maximum number of entries.
virtual size_t size() const =0
Return the number of entries.
virtual bool remove(const HostPtr &host)=0
Remove a host from the cache.
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 ~CacheHostDataSource()
Default destructor implementation.
boost::shared_ptr< Host > HostPtr
Pointer to the Host object.
Definition: host.h:807
boost::shared_ptr< CacheHostDataSource > CacheHostDataSourcePtr
CacheHostDataSource pointer.
boost::shared_ptr< const Host > ConstHostPtr
Const pointer to the Host object.
Definition: host.h:810
Defines the logger used by the top-level component of kea-lfc.