pub struct Runtime { /* private fields */ }
Expand description
Single-threaded runtime provides a way to start reactor and executor on the current thread.
See module level documentation for more details.
Implementations
sourceimpl Runtime
impl Runtime
sourcepub fn new() -> Result<Runtime>
pub fn new() -> Result<Runtime>
Returns a new runtime initialized with default configuration values.
sourcepub fn handle(&self) -> Handle
pub fn handle(&self) -> Handle
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.
sourcepub fn spawn<F>(&mut self, future: F) -> &mut Self where
F: Future<Item = (), Error = ()> + 'static,
pub fn spawn<F>(&mut self, future: F) -> &mut Self where
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.
sourcepub fn block_on<F>(&mut self, f: F) -> Result<F::Item, F::Error> where
F: Future,
pub fn block_on<F>(&mut self, f: F) -> Result<F::Item, F::Error> where
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
.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Runtime
impl !Send for Runtime
impl !Sync for Runtime
impl Unpin for Runtime
impl !UnwindSafe for Runtime
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more