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

Function serialize_graph_edge

atomic-core/src/apply/graph_batch.rs:360–371  ·  view source on GitHub ↗
(edge: &SerializedGraphEdge)

Source from the content-addressed store, hash-verified

358
359#[inline]
360fn serialize_graph_edge(edge: &SerializedGraphEdge) -> [u8; 24] {
361 let mut bytes = [0u8; 24];
362 let dest: Position<NodeId> = edge.dest();
363 let flag = edge.flag();
364 let introduced_by = edge.introduced_by();
365
366 let flag_and_pos = ((flag.bits() as u64) << 56) | (dest.pos.get() & ((1 << 56) - 1));
367 bytes[0..8].copy_from_slice(&flag_and_pos.to_le_bytes());
368 bytes[8..16].copy_from_slice(&dest.change.get().to_le_bytes());
369 bytes[16..24].copy_from_slice(&introduced_by.get().to_le_bytes());
370 bytes
371}

Callers 2

put_graphMethod · 0.85
put_inode_graphMethod · 0.85

Calls 5

flagMethod · 0.80
to_le_bytesMethod · 0.80
getMethod · 0.65
destMethod · 0.45
introduced_byMethod · 0.45

Tested by

no test coverage detected