pub struct TokioExecutor<R, WE>{ /* private fields */ }Expand description
A built-in Executor implementation based on tokio tasks.
Each worker is a tokio::spawn-ed task that pulls chunks from the puller,
sends them to the write queue, and steals new work via TaskQueue.
The executor outlives the workers — DownloadResult::set_threads uses it
to grow the pool mid-session — so it must not own anything that keeps a
finished session alive. It therefore reaches the session’s channels through
a WeakTx: once every worker is gone the upgrade fails
and no further worker can be spawned.
Trait Implementations§
Source§impl<R, WE> Executor for TokioExecutor<R, WE>
impl<R, WE> Executor for TokioExecutor<R, WE>
Auto Trait Implementations§
impl<R, WE> !Freeze for TokioExecutor<R, WE>
impl<R, WE> !RefUnwindSafe for TokioExecutor<R, WE>
impl<R, WE> !UnwindSafe for TokioExecutor<R, WE>
impl<R, WE> Send for TokioExecutor<R, WE>
impl<R, WE> Sync for TokioExecutor<R, WE>
impl<R, WE> Unpin for TokioExecutor<R, WE>
impl<R, WE> UnsafeUnpin for TokioExecutor<R, WE>where
WeakTx<FlavorWrap<List<Event<<R as Puller>::Error, WE>>, RegistryDummy, RegistryMulti>>: UnsafeUnpin,
R: UnsafeUnpin,
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