pub struct Engine<T> { /* private fields */ }Expand description
Do heavy work in the background.
An engine takes items of work from a work queue, and does the work
in the background, using tokio blocking tasks. The background
work can be CPU intensive or block on I/O. The number of active
concurrent tasks is limited to the size of the queue.
The actual work is done in a function or closure passed in as a parameter to the engine. The worker function is called with a work item as an argument, in a thread dedicated for that worker function.
The need to move work items between threads puts some restrictions on the types used as work items.
Implementations§
Auto Trait Implementations§
impl<T> Freeze for Engine<T>
impl<T> RefUnwindSafe for Engine<T>
impl<T> Send for Engine<T>where
T: Send,
impl<T> Sync for Engine<T>where
T: Send,
impl<T> Unpin for Engine<T>
impl<T> UnwindSafe for Engine<T>
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