pub struct TaskQueue { /* private fields */ }Expand description
Task queue for managing pending tasks
Implementations§
Source§impl TaskQueue
impl TaskQueue
Sourcepub fn with_capacity(max_size: usize) -> Self
pub fn with_capacity(max_size: usize) -> Self
Create a new task queue with maximum size
Sourcepub fn enqueue(&mut self, task: ExecutionTask) -> SklResult<()>
pub fn enqueue(&mut self, task: ExecutionTask) -> SklResult<()>
Add a task to the queue
Sourcepub fn dequeue(&mut self) -> Option<ExecutionTask>
pub fn dequeue(&mut self) -> Option<ExecutionTask>
Remove and return the next task from the queue
Sourcepub fn peek(&self) -> Option<&ExecutionTask>
pub fn peek(&self) -> Option<&ExecutionTask>
Peek at the next task without removing it
Sourcepub fn tasks(&self) -> &[ExecutionTask]
pub fn tasks(&self) -> &[ExecutionTask]
Get all tasks in the queue
Sourcepub fn sort_by_priority(&mut self)
pub fn sort_by_priority(&mut self)
Sort tasks by priority
Sourcepub fn filter<F>(&self, predicate: F) -> Vec<&ExecutionTask>
pub fn filter<F>(&self, predicate: F) -> Vec<&ExecutionTask>
Filter tasks by predicate
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TaskQueue
impl !RefUnwindSafe for TaskQueue
impl Send for TaskQueue
impl Sync for TaskQueue
impl Unpin for TaskQueue
impl !UnwindSafe for TaskQueue
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more