Look up a value by handle, or `None` if invalid / freed.
(&self, h: u32)
| 107 | |
| 108 | // Look up a value by handle, or `None` if invalid / freed. |
| 109 | pub fn get(&self, h: u32) -> Option<u64> { |
| 110 | if h == 0 { return None; } |
| 111 | self.slots.get((h - 1) as usize) |
| 112 | .filter(|s| s.rc > 0) |
| 113 | .map(|s| s.val) |
| 114 | } |
| 115 | |
| 116 | // Decrements rc; frees slot at 0. Safe against double-release. |
| 117 | pub fn release(&mut self, h: u32) { |
no outgoing calls