Function pyo3_asyncio::generic::future_into_py_with_loop [−][src]
pub fn future_into_py_with_loop<R, F>(
event_loop: &PyAny,
fut: F
) -> PyResult<&PyAny> where
R: Runtime + ContextExt,
F: Future<Output = PyResult<PyObject>> + Send + 'static, 👎 Deprecated since 0.15.0:
Use pyo3_asyncio::generic::future_into_py_with_locals instead
Expand description
Convert a Rust Future into a Python awaitable with a generic runtime
This function will be removed in v0.16
Arguments
event_loop- The Python event loop that the awaitable should be attached tofut- The Rust future to be converted
Examples
use std::time::Duration;
use pyo3::prelude::*;
/// Awaitable sleep function
#[pyfunction]
fn sleep_for<'p>(py: Python<'p>, secs: &'p PyAny) -> PyResult<&'p PyAny> {
let secs = secs.extract()?;
pyo3_asyncio::generic::future_into_py_with_loop::<MyCustomRuntime, _>(
pyo3_asyncio::generic::get_current_loop::<MyCustomRuntime>(py)?,
async move {
MyCustomRuntime::sleep(Duration::from_secs(secs)).await;
Python::with_gil(|py| Ok(py.None()))
}
)
}