Struct embassy_executor::SpawnToken
source · pub struct SpawnToken<S> { /* private fields */ }
Expand description
Token to spawn a newly-created task in an executor.
When calling a task function (like #[embassy_executor::task] async fn my_task() { ... }
), the returned
value is a SpawnToken
that represents an instance of the task, ready to spawn. You must
then spawn it into an executor, typically with Spawner::spawn()
.
The generic parameter S
determines whether the task can be spawned in executors
in other threads or not. If S: Send
, it can, which allows spawning it into a SendSpawner
.
If not, it can’t, so it can only be spawned into the current thread’s executor, with Spawner
.
Panics
Dropping a SpawnToken instance panics. You may not “abort” spawning a task in this way. Once you’ve invoked a task function and obtained a SpawnToken, you must spawn it.
Trait Implementations§
Auto Trait Implementations§
impl<S> !RefUnwindSafe for SpawnToken<S>
impl<S> !Send for SpawnToken<S>
impl<S> !Sync for SpawnToken<S>
impl<S> Unpin for SpawnToken<S>
impl<S> !UnwindSafe for SpawnToken<S>
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