···
use fjall::{Config, Keyspace, Partition, PartitionCreateOptions, Slice};
13
-
use itertools::Itertools;
13
+
use itertools::{Either, Itertools};
use ordered_varint::Variable;
use rkyv::{Archive, Deserialize, Serialize, rancor::Error};
···
151
-
type BoxedIter<T> = Box<dyn Iterator<Item = T>>;
// counts is nsid -> NsidCounts
// hits is tree per nsid: varint start time + varint end time -> block of hits
···
.filter(|k| k.deref() != "_counts")
353
-
pub fn get_hits_debug(&self, nsid: &str) -> BoxedIter<AppResult<(Slice, Slice)>> {
354
-
self.maybe_run_in_nsid_tree(nsid, |handle| -> BoxedIter<AppResult<(Slice, Slice)>> {
351
+
pub fn get_hits_debug(&self, nsid: &str) -> impl Iterator<Item = AppResult<(Slice, Slice)>> {
352
+
self.maybe_run_in_nsid_tree(nsid, |handle| {
···
.map(|res| res.map_err(AppError::from)),
363
-
.unwrap_or_else(|| Box::new(std::iter::empty()))
361
+
.unwrap_or_else(|| Either::Right(std::iter::empty()))
range: impl RangeBounds<u64> + std::fmt::Debug,
370
-
) -> BoxedIter<AppResult<Item>> {
368
+
) -> impl Iterator<Item = AppResult<Item>> {
···
Bound::Unbounded => u64::MAX,
385
-
self.maybe_run_in_nsid_tree(nsid, move |handle| -> BoxedIter<AppResult<Item>> {
383
+
self.maybe_run_in_nsid_tree(nsid, move |handle| {
let map_block = move |(key, val)| {
let mut key_reader = Cursor::new(key);
let start_timestamp = key_reader.read_varint::<u64>()?;
···
.range(TimestampRange { start, end })
···
405
-
.unwrap_or_else(|| Box::new(std::iter::empty()))
403
+
.unwrap_or_else(|| Either::Right(std::iter::empty()))
pub fn tracking_since(&self) -> AppResult<u64> {