Push a slab ID for return (called by Control Plane). Returns `true` if pushed successfully, `false` if queue is full.
(&self, id: SlabId)
| 168 | /// |
| 169 | /// Returns `true` if pushed successfully, `false` if queue is full. |
| 170 | pub fn push(&self, id: SlabId) -> bool { |
| 171 | let packed = ((id.core_id as u32) << 16) | (id.page_index as u32); |
| 172 | let pos = self.write_pos.fetch_add(1, Ordering::Relaxed); |
| 173 | let idx = (pos % self.capacity) as usize; |
| 174 | self.buffer[idx].store(packed, Ordering::Release); |
| 175 | true |
| 176 | } |
| 177 | |
| 178 | /// Drain all returned slab IDs (called by Data Plane on each tick). |
| 179 | /// |