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

Function deserialize_graph_edge

atomic-core/src/apply/graph_batch.rs:349–357  ·  view source on GitHub ↗
(bytes: &[u8; 24])

Source from the content-addressed store, hash-verified

347
348#[inline]
349fn deserialize_graph_edge(bytes: &[u8; 24]) -> SerializedGraphEdge {
350 let flag_and_pos = u64::from_le_bytes(bytes[0..8].try_into().unwrap());
351 let change_id = u64::from_le_bytes(bytes[8..16].try_into().unwrap());
352 let introduced_by = u64::from_le_bytes(bytes[16..24].try_into().unwrap());
353 let flag = EdgeFlags::from_bits_truncate((flag_and_pos >> 56) as u8);
354 let pos = flag_and_pos & ((1 << 56) - 1);
355 let dest = Position::new(NodeId::new(change_id), ChangePosition::new(pos));
356 SerializedGraphEdge::new(flag, dest, NodeId::new(introduced_by))
357}
358
359#[inline]
360fn serialize_graph_edge(edge: &SerializedGraphEdge) -> [u8; 24] {

Callers 1

iter_adjacentMethod · 0.85

Calls 1

unwrapMethod · 0.45

Tested by

no test coverage detected