1use crate::Result; 2 3pub trait BlockingQueue { 4 type Item; 5 6 fn push(&self, item: Self::Item) -> Result<()>; 7 8 fn pop(&self) -> Result<Self::Item>; 9}