MCPcopy Create free account
hub / github.com/cosdata/cosdata / get_prop

Method get_prop

src/models/cache_loader.rs:117–139  ·  view source on GitHub ↗
(
        &self,
        offset: FileOffset,
        length: BytesToRead,
    )

Source from the content-addressed store, hash-verified

115 }
116
117 pub fn get_prop(
118 &self,
119 offset: FileOffset,
120 length: BytesToRead,
121 ) -> Result<Arc<NodePropValue>, BufIoError> {
122 let key = Self::get_prop_key(offset, length);
123 if let Some(prop) = self
124 .props_registry
125 .get(&key)
126 .and_then(|prop| prop.upgrade())
127 {
128 return Ok(prop);
129 }
130 let mut prop_file_guard = self.prop_file.write().unwrap();
131 let prop = Arc::new(read_prop_value_from_file(
132 (offset, length),
133 &mut prop_file_guard,
134 )?);
135 drop(prop_file_guard);
136 let weak = Arc::downgrade(&prop);
137 self.props_registry.insert(key, weak);
138 Ok(prop)
139 }
140
141 /// Reads prop_metadata from the prop file
142 ///

Callers 2

deserializeMethod · 0.80
deserialize_rawMethod · 0.80

Calls 3

getMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected