Struct embassy_executor::raw::TaskPool
source · 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