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 UnsafeUnpin 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