fibers_global

fibers_global Documentation Build Status Code Coverage License: MIT

The global executor of [fibers].

Documentation

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].

Examples

```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)); ```