Skip to main content

nodedb_query/msgpack_scan/
mod.rs

1//! Zero-deserialization binary scanner for MessagePack documents.
2//!
3//! Operates directly on `&[u8]` MessagePack bytes without decoding into
4//! `serde_json::Value` or `nodedb_types::Value`. Field extraction, numeric
5//! reads, comparisons, and hashing all work on raw byte offsets.
6
7pub mod aggregate;
8pub mod aggregate_helpers;
9pub mod compare;
10pub mod field;
11pub mod filter;
12pub mod group_key;
13pub mod index;
14pub mod reader;
15pub mod sidecar;
16pub mod writer;
17
18pub use aggregate::compute_aggregate_binary;
19pub use compare::{compare_field_bytes, hash_field_bytes};
20pub use field::{extract_field, extract_path};
21pub use group_key::build_group_key;
22pub use index::FieldIndex;
23pub use reader::{
24    array_header, map_header, read_bool, read_f64, read_i64, read_null, read_str, read_value,
25    skip_value,
26};
27pub use sidecar::{
28    SidecarEntry, SidecarFieldIndex, build_sidecar, field_index_from_sidecar, has_sidecar,
29    msgpack_bytes, sidecar_lookup,
30};
31pub use writer::{
32    build_str_map, inject_str_field, merge_fields, write_array_header, write_bin, write_bool,
33    write_f64, write_i64, write_kv_bool, write_kv_f64, write_kv_i64, write_kv_null, write_kv_raw,
34    write_kv_str, write_map_header, write_null, write_str,
35};