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

Method find_start

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

Source from the content-addressed store, hash-verified

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

Callers 1

Calls 3

getMethod · 0.65
find_block_in_inodeMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected