The global executor of [fibers
].
This crate provides the global [ThreadPoolExecutor
] that enables to spawn/execute fibers anywhere in a program.
This is useful for briefly writing test or example code that use [fibers
].
```rust use fibers::sync::oneshot; use futures::{lazy, Future};
// Spawns two auxiliary fibers. let (tx0, rx0) = oneshot::channel(); let (tx1, rx1) = oneshot::channel(); fibersglobal::spawn(lazy(move || { let _ = tx0.send(1); Ok(()) })); fibersglobal::spawn(lazy(move || { let _ = tx1.send(2); Ok(()) }));
// Executes a calculation that depends on the above fibers. let result = fibersglobal::execute(rx0.join(rx1).map(|(v0, v1)| v0 + v1)); asserteq!(result.ok(), Some(3)); ```