pub trait TaskQueue {
type E;
// Required methods
fn push(&mut self, task: Self::E) -> bool;
fn pop_local(&self, threshold: usize) -> Option<Self::E>;
fn pop_global(&self) -> PopResult<Self::E>;
fn size(&self) -> usize;
fn invalidate_last_queue_id(&mut self);
fn last_stolen_queue_id(&self) -> usize;
fn set_last_stolen_queue_id(&mut self, id: usize);
fn next_random_queue_id(&mut self) -> i32;
fn is_empty(&self) -> bool;
}Required Associated Types§
Required Methods§
fn push(&mut self, task: Self::E) -> bool
fn pop_local(&self, threshold: usize) -> Option<Self::E>
fn pop_global(&self) -> PopResult<Self::E>
fn size(&self) -> usize
fn invalidate_last_queue_id(&mut self)
fn last_stolen_queue_id(&self) -> usize
fn set_last_stolen_queue_id(&mut self, id: usize)
fn next_random_queue_id(&mut self) -> i32
fn is_empty(&self) -> bool
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".