pub struct BlockingQueue<T, C, DualStore>{ /* private fields */ }
Expand description
Thread-safe queue that blocks de_q on empty
Implementations§
Source§impl<T: IBranchFilter, C: Compare<Branch<T, DualStore>> + Clone, DualStore: UserDualStore> BlockingQueue<T, C, DualStore>
impl<T: IBranchFilter, C: Compare<Branch<T, DualStore>> + Clone, DualStore: UserDualStore> BlockingQueue<T, C, DualStore>
pub fn now_has_bound(&self)
Sourcepub fn add_job(&self, t: Branch<T, DualStore>)
pub fn add_job(&self, t: Branch<T, DualStore>)
push input on back of queue
- unrecoverable if lock fails so just unwrap
Sourcepub fn get_job(&self) -> Option<Branch<T, DualStore>>
pub fn get_job(&self) -> Option<Branch<T, DualStore>>
pop element from front of queue
- unrecoverable if lock fails so just unwrap
- same for condition variable
pub fn job_done(&self)
pub fn flush_and_terminate(&self)
pub fn copy_of_queue(&self) -> Vec<Branch<T, DualStore>>
pub fn lowest_bound(&self) -> Option<f64>
Auto Trait Implementations§
impl<T, C, DualStore> !Freeze for BlockingQueue<T, C, DualStore>
impl<T, C, DualStore> RefUnwindSafe for BlockingQueue<T, C, DualStore>where
C: RefUnwindSafe,
impl<T, C, DualStore> Send for BlockingQueue<T, C, DualStore>
impl<T, C, DualStore> Sync for BlockingQueue<T, C, DualStore>
impl<T, C, DualStore> Unpin for BlockingQueue<T, C, DualStore>
impl<T, C, DualStore> UnwindSafe for BlockingQueue<T, C, DualStore>where
C: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more