summaryrefslogtreecommitdiffstats
path: root/src/lib/dhcpsrv/writable_host_data_source.h
diff options
context:
space:
mode:
authorFrancis Dupont <fdupont@isc.org>2020-09-01 13:41:04 +0200
committerFrancis Dupont <fdupont@isc.org>2020-09-22 10:13:23 +0200
commitf3e8356a417eb82b8af57c5b7d146c47d5e97742 (patch)
treee5c433465c28d096d57ed47d9602d44252e50cee /src/lib/dhcpsrv/writable_host_data_source.h
parent[#1025] Changed mention by far better specify (diff)
downloadkea-f3e8356a417eb82b8af57c5b7d146c47d5e97742.tar.xz
kea-f3e8356a417eb82b8af57c5b7d146c47d5e97742.zip
[#1163] Checkpoint: updated API
Diffstat (limited to 'src/lib/dhcpsrv/writable_host_data_source.h')
-rw-r--r--src/lib/dhcpsrv/writable_host_data_source.h44
1 files changed, 43 insertions, 1 deletions
diff --git a/src/lib/dhcpsrv/writable_host_data_source.h b/src/lib/dhcpsrv/writable_host_data_source.h
index 1f68b79a47..6115d228e9 100644
--- a/src/lib/dhcpsrv/writable_host_data_source.h
+++ b/src/lib/dhcpsrv/writable_host_data_source.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2019 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2014-2020 Internet Systems Consortium, Inc. ("ISC")
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -138,6 +138,48 @@ public:
uint64_t lower_host_id,
const HostPageSize& page_size) = 0;
+ /// @brief Returns range of hosts.
+ ///
+ /// This method implements paged browsing of host databases. The
+ /// parameters specify a page size, an index in sources and the
+ /// starting host id of the range. If not zero this host id is
+ /// excluded from the returned range. When a source is exhausted
+ /// the index is updated. There is no guarantee about the order
+ /// of returned host reservations, only the sources and
+ /// reservations from the same source are ordered.
+ ///
+ /// @param source_index Index of the source.
+ /// @param lower_host_id Host identifier used as lower bound for the
+ /// returned range.
+ /// @param page_size maximum size of the page returned.
+ ///
+ /// @return Collection of non-const @c Host objects.
+ virtual HostCollection
+ getPage4(size_t& source_index,
+ uint64_t lower_host_id,
+ const HostPageSize& page_size) = 0;
+
+ /// @brief Returns range of hosts.
+ ///
+ /// This method implements paged browsing of host databases. The
+ /// parameters specify a page size, an index in sources and the
+ /// starting host id of the range. If not zero this host id is
+ /// excluded from the returned range. When a source is exhausted
+ /// the index is updated. There is no guarantee about the order
+ /// of returned host reservations, only the sources and
+ /// reservations from the same source are ordered.
+ ///
+ /// @param source_index Index of the source.
+ /// @param lower_host_id Host identifier used as lower bound for the
+ /// returned range.
+ /// @param page_size maximum size of the page returned.
+ ///
+ /// @return Collection of non-const @c Host objects.
+ virtual HostCollection
+ getPage6(size_t& source_index,
+ uint64_t lower_host_id,
+ const HostPageSize& page_size) = 0;
+
/// @brief Returns a collection of hosts using the specified IPv4 address.
///
/// This method may return multiple @c Host objects if they are connected