pub struct Memory { /* private fields */ }Expand description
In-memory structure holding store and caches for compression.
This struct maintains the state needed during compression. It uses internal caching to deduplicate values and object schemas.
§Fields (Internal)
| Field | Type | Description |
|---|---|---|
store | Vec<String> | Encoded string values |
value_cache | HashMap | Maps values to keys |
schema_cache | HashMap | Maps schemas to keys |
key_count | usize | Key counter |
§Usage
Create with make_memory, add values with add_value, and extract
the final values array with mem_to_values.
§Example
use compress_json_rs::{Memory, make_memory, add_value, mem_to_values};
use serde_json::json;
// Create memory store
let mut mem: Memory = make_memory();
// Add values (duplicates are deduplicated)
let k1 = add_value(&mut mem, &json!("hello"));
let k2 = add_value(&mut mem, &json!("hello"));
assert_eq!(k1, k2);
// Extract values
let values = mem_to_values(&mem);
assert_eq!(values.len(), 1);Auto Trait Implementations§
impl Freeze for Memory
impl RefUnwindSafe for Memory
impl Send for Memory
impl Sync for Memory
impl Unpin for Memory
impl UnwindSafe for Memory
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more