Skip to main content

reifydb_store_multi/gc/operator/
mod.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2026 ReifyDB
3
4pub mod actor;
5pub mod scanner;
6
7use std::{collections::HashMap, sync::Arc};
8
9use reifydb_core::{
10	interface::catalog::{config::GetConfig, flow::FlowNodeId},
11	row::OperatorSettings,
12};
13
14pub trait ListOperatorSettings: Clone + Send + Sync + 'static {
15	fn list_operator_settings(&self) -> Vec<(FlowNodeId, OperatorSettings)>;
16	fn config(&self) -> Arc<dyn GetConfig>;
17}
18
19#[derive(Debug, Default)]
20pub struct OperatorScanStats {
21	pub operators_scanned: u64,
22
23	pub operators_skipped: u64,
24
25	pub rows_expired: u64,
26
27	pub versions_dropped: u64,
28
29	pub bytes_discovered: HashMap<FlowNodeId, u64>,
30
31	pub bytes_reclaimed: HashMap<FlowNodeId, u64>,
32}