pub trait AsyncLocal<T>where
T: AsContext,{
// Required methods
fn with_blocking<F, R>(&'static self, f: F) -> JoinHandle<R>
where F: for<'id> FnOnce(LocalRef<'id, T::Target>) -> R + Send + 'static,
R: Send + 'static;
fn with_async<F, R>(&'static self, f: F) -> impl Future<Output = R>
where F: for<'a> AsyncFnMut(LocalRef<'a, T::Target>) -> R;
fn local_ref<'id>(
&'static self,
guard: Guard<'id>,
) -> LocalRef<'id, T::Target>;
}
Expand description
LocalKey extension for creating thread-safe pointers to thread-local Context
Required Methods§
Sourcefn with_blocking<F, R>(&'static self, f: F) -> JoinHandle<R>
Available on crate feature rt
only.
fn with_blocking<F, R>(&'static self, f: F) -> JoinHandle<R>
rt
only.A wrapper around tokio::task::spawn_blocking
that safely constrains the lifetime of LocalRef
Sourcefn with_async<F, R>(&'static self, f: F) -> impl Future<Output = R>
fn with_async<F, R>(&'static self, f: F) -> impl Future<Output = R>
Acquire a reference to the value in this TLS key.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<T> AsyncLocal<T> for LocalKey<T>where
T: AsContext,
impl<T> AsyncLocal<T> for LocalKey<T>where
T: AsContext,
Source§fn with_blocking<F, R>(&'static self, f: F) -> JoinHandle<R>
fn with_blocking<F, R>(&'static self, f: F) -> JoinHandle<R>
Available on crate feature
rt
only.