pub struct TaskPool<F: Future + 'static, const N: usize> { /* private fields */ }
Expand description
Raw storage that can hold up to N tasks of the same type.
This is essentially a [TaskStorage<F>; N]
.
Implementations§
Source§impl<F: Future + 'static, const N: usize> TaskPool<F, N>
impl<F: Future + 'static, const N: usize> TaskPool<F, N>
Sourcepub fn spawn(
&'static self,
future: impl FnOnce() -> F,
) -> SpawnToken<impl Sized>
pub fn spawn( &'static self, future: impl FnOnce() -> F, ) -> SpawnToken<impl Sized>
Try to spawn a task in the pool.
See TaskStorage::spawn()
for details.
This will loop over the pool and spawn the task in the first storage that
is currently free. If none is free, a “poisoned” SpawnToken is returned,
which will cause Spawner::spawn()
to return the error.
Auto Trait Implementations§
impl<F, const N: usize> !Freeze for TaskPool<F, N>
impl<F, const N: usize> !RefUnwindSafe for TaskPool<F, N>
impl<F, const N: usize> Send for TaskPool<F, N>where
F: Send,
impl<F, const N: usize> Sync for TaskPool<F, N>
impl<F, const N: usize> Unpin for TaskPool<F, N>where
F: Unpin,
impl<F, const N: usize> !UnwindSafe for TaskPool<F, N>
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
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.