Skip to main content

run_blocking

Function run_blocking 

Source
pub async fn run_blocking<F, T>(operation: F) -> Result<T, ServerError>
where F: FnOnce() -> Result<T, ServerError> + Send + 'static, T: Send + 'static,
Available on crate feature async only.
Expand description

Runs a blocking function on Tokio’s blocking pool and maps panics/joins to TaskFailed.

§Examples

use http_handle::async_runtime::run_blocking;
use http_handle::ServerError;
let value = run_blocking(|| Ok::<_, ServerError>(42)).await?;
assert_eq!(value, 42);

§Errors

Returns the operation error or TaskFailed when the blocking task panics or join fails.

§Panics

This function does not panic.