Status: Shared
Canonical input and ownership model shared across sketches/frameworks.
File: src/common/input.rs
DataInput<'a>HeapItemHHItemHydraQuery<'a>HydraCounterL2HH
HydraQuery and HydraCounter are defined in asap_sketchlib::common::input.
fn heap_item_to_sketch_input(item: &HeapItem) -> DataInput<'_>
fn input_to_owned(input: &DataInput<'_>) -> HeapItem
// HHItem
fn new(k: DataInput, count: i64) -> Self
fn create_item(k: HeapItem, count: i64) -> Self
fn init_item(k: DataInput, count: i64) -> Self// L2HH
fn update_and_est(&mut self, key: &DataInput, value: i64) -> f64
fn update_and_est_without_l2(&mut self, key: &DataInput, value: i64) -> f64
fn clear(&mut self)
// HydraCounter
fn insert(&mut self, value: &DataInput, count: Option<i32>)
fn insert_with_hash(
&mut self,
value: &DataInput,
hashed_val: &MatrixHashType,
count: Option<i32>,
)// L2HH
fn get_l2(&self) -> f64
// HydraCounter
fn query(&self, query: &HydraQuery) -> Result<f64, String>// L2HH
fn merge(&mut self, other: &L2HH)
// HydraCounter
fn merge(&mut self, other: &HydraCounter) -> Result<(), String>DataInput,HeapItem,HHItem,HydraCounter, andL2HHderive serde traits.HydraQueryis query-only and does not derive serde in current code.
enum DataInput<'a> {
I8(i8), I16(i16), I32(i32), I64(i64), I128(i128), ISIZE(isize),
U8(u8), U16(u16), U32(u32), U64(u64), U128(u128), USIZE(usize),
F32(f32), F64(f64),
Str(&'a str), String(String), Bytes(&'a [u8]),
}
enum HeapItem {
I8(i8), I16(i16), I32(i32), I64(i64), I128(i128), ISIZE(isize),
U8(u8), U16(u16), U32(u32), U64(u64), U128(u128), USIZE(usize),
F32(f32), F64(f64),
String(String),
}use asap_sketchlib::{DataInput, input_to_owned};
use asap_sketchlib::common::input::HydraQuery;
let q = HydraQuery::Frequency(DataInput::Str("key"));
let _ = q;
let key = DataInput::String("flow".to_string());
let _owned = input_to_owned(&key);