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

Method find_start

atomic-repository/src/repository/insert.rs:142–162  ·  view source on GitHub ↗
(
        &mut self,
        txn: &T,
        inode: Inode,
        pos: Position<NodeId>,
    )

Source from the content-addressed store, hash-verified

140 }
141
142 fn find_start<T>(
143 &mut self,
144 txn: &T,
145 inode: Inode,
146 pos: Position<NodeId>,
147 ) -> Result<Option<GraphNode<NodeId>>, RepositoryError>
148 where
149 T: GraphTxnT + InodeGraphOps,
150 {
151 if let Some(node) = self.by_start_pos.get(&(inode, pos)) {
152 return Ok(Some(*node));
153 }
154 let Some(node) = txn
155 .find_block_in_inode(inode, pos)
156 .map_err(|e| RepositoryError::Database(e.to_string()))?
157 else {
158 return Ok(None);
159 };
160 self.by_start_pos.insert((inode, pos), node);
161 Ok(Some(node))
162 }
163
164 fn load<T>(
165 &mut self,

Callers 1

Calls 3

getMethod · 0.65
find_block_in_inodeMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected