Struct tokio::runtime::current_thread::Runtime
[−]
[src]
pub struct Runtime { /* fields omitted */ }
Single-threaded runtime provides a way to start reactor and executor on the current thread.
See module level documentation for more details.
Methods
impl Runtime
[src]
pub fn new() -> Result<Runtime>
[src]
Returns a new runtime initialized with default configuration values.
pub fn handle(&self) -> Handle
[src]
Get a new handle to spawn futures on the single-threaded Tokio runtime
Different to the runtime itself, the handle can be sent to different threads.
ⓘImportant traits for &'a mut Rpub fn spawn<F>(&mut self, future: F) -> &mut Self where
F: Future<Item = (), Error = ()> + 'static,
[src]
F: Future<Item = (), Error = ()> + 'static,
Spawn a future onto the single-threaded Tokio runtime.
See module level documentation for more details.
Examples
use tokio::runtime::current_thread::Runtime; // Create the runtime let mut rt = Runtime::new().unwrap(); // Spawn a future onto the runtime rt.spawn(future::lazy(|| { println!("running on the runtime"); Ok(()) }));
Panics
This function panics if the spawn fails. Failure occurs if the executor is currently at capacity and is unable to spawn a new future.
pub fn block_on<F>(&mut self, f: F) -> Result<F::Item, F::Error> where
F: Future,
[src]
F: Future,
Runs the provided future, blocking the current thread until the future completes.
This function can be used to synchronously block the current thread
until the provided future
has resolved either successfully or with an
error. The result of the future is then returned from this function
call.
Note that this function will also execute any spawned futures on the
current thread, but will not block until these other spawned futures
have completed. Once the function returns, any uncompleted futures
remain pending in the Runtime
instance. These futures will not run
until block_on
or run
is called again.
The caller is responsible for ensuring that other spawned futures
complete execution by calling block_on
or run
.
pub fn run(&mut self) -> Result<(), RunError>
[src]
Run the executor to completion, blocking the thread until all spawned futures have completed.