use super::NamClapProcessor;
use crate::common::spsc::GcItem;
impl<'a> NamClapProcessor<'a> {
#[inline]
pub(super) fn drain_parking_lot(&mut self) {
for slot in self.parking_lot.iter_mut() {
let Some(item) = slot.take() else { continue };
if let Err(rtrb::PushError::Full(returned)) = self.gc_tx.push(item) {
*slot = Some(returned);
break;
}
}
}
pub(super) fn push_to_gc(&mut self, item: GcItem) {
crate::common::spsc::gc_cascade(
Some(item),
&mut self.gc_tx,
&mut self.parking_lot,
&self.gc_overflow,
&self.rt_status,
);
}
}