MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / encode_session_phase_key

Function encode_session_phase_key

atomic-core/src/change/session.rs:492–499  ·  view source on GitHub ↗
(provenance_id: u64, phase_name: &str)

Source from the content-addressed store, hash-verified

490/// the B-tree) matches numeric order, enabling correct prefix range scans.
491#[inline]
492pub fn encode_session_phase_key(provenance_id: u64, phase_name: &str) -> [u8; 16] {
493 let hash = blake3::hash(phase_name.as_bytes());
494 let hash_bytes = hash.as_bytes();
495 let mut key = [0u8; 16];
496 key[0..8].copy_from_slice(&provenance_id.to_be_bytes());
497 key[8..16].copy_from_slice(&hash_bytes[0..8]);
498 key
499}
500
501/// Decode the `provenance_id` from a `SESSION_PHASES` key.
502///

Calls 2

hashFunction · 0.50
as_bytesMethod · 0.45