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

Function deserialize_edge

atomic-core/src/pristine/inode_graph/impls.rs:22–32  ·  view source on GitHub ↗
(bytes: &[u8; 24])

Source from the content-addressed store, hash-verified

20/// Deserialize bytes to a SerializedGraphEdge
21#[inline]
22fn deserialize_edge(bytes: &[u8; 24]) -> SerializedGraphEdge {
23 let flag_and_pos = u64::from_le_bytes(bytes[0..8].try_into().unwrap());
24 let change_id = u64::from_le_bytes(bytes[8..16].try_into().unwrap());
25 let introduced_by = u64::from_le_bytes(bytes[16..24].try_into().unwrap());
26
27 let flag = EdgeFlags::from_bits_truncate((flag_and_pos >> 56) as u8);
28 let pos = flag_and_pos & ((1 << 56) - 1);
29
30 let dest = Position::new(NodeId::new(change_id), ChangePosition::new(pos));
31 SerializedGraphEdge::new(flag, dest, NodeId::new(introduced_by))
32}
33
34// ═══════════════════════════════════════════════════════════════════════
35// InodeGraphOps Implementation for ReadTxn

Callers 1

next_inode_adjMethod · 0.70

Calls 1

unwrapMethod · 0.45

Tested by

no test coverage detected