AmbientSlot

Struct AmbientSlot 

Source
pub struct AmbientSlot(/* private fields */);
Expand description

A type-erased slot for a globally shared Runtime.

The slot is suitable to store directly in a static; it coordinates its own initialization using a OnceLock.

Implementations§

Source§

impl AmbientSlot

Source

pub const fn new() -> Self

Create a new, empty slot.

Source

pub fn is_enabled(&self) -> bool

Whether the slot has been initialized with a runtime.

Source

pub fn init<TEmitter, TFilter, TCtxt, TClock, TRng>( &self, pipeline: Runtime<TEmitter, TFilter, TCtxt, TClock, TRng>, ) -> Option<Runtime<&TEmitter, &TFilter, &TCtxt, &TClock, &TRng>>
where TEmitter: Emitter + Send + Sync + 'static, TFilter: Filter + Send + Sync + 'static, TCtxt: Ctxt + Send + Sync + 'static, TCtxt::Frame: Send + 'static, TClock: Clock + Send + Sync + 'static, TRng: Rng + Send + Sync + 'static,

Try initialize the slot with the given components.

If the slot has not already been initialized then the components will be installed and a reference to the resulting Runtime will be returned. If the slot has already been initialized by another caller then this method will discard the components and return None.

Source

pub fn get(&self) -> &AmbientRuntime<'_>

Get the underlying Runtime, or a Runtime::default if it hasn’t been initialized yet.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.