emit::platform::thread_local_ctxt

Struct ThreadLocalCtxt

Source
pub struct ThreadLocalCtxt { /* private fields */ }
Expand description

A Ctxt that stores ambient state in thread local storage.

Frames fully encapsulate all properties that were active when they were created so can be sent across threads to move that state with them.

Implementations§

Source§

impl ThreadLocalCtxt

Source

pub fn new() -> Self

Create a new thread local store with fully isolated storage.

Source

pub const fn shared() -> Self

Create a new thread local store sharing the same storage as any other ThreadLocalCtxt::shared.

Trait Implementations§

Source§

impl Clone for ThreadLocalCtxt

Source§

fn clone(&self) -> ThreadLocalCtxt

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Ctxt for ThreadLocalCtxt

Source§

type Current = ThreadLocalCtxtFrame

The type of Props used in Ctxt::with_current.
Source§

type Frame = ThreadLocalCtxtFrame

The type of frame returned by Ctxt::open_root and Ctxt::open_push.
Source§

fn with_current<R, F: FnOnce(&Self::Current) -> R>(&self, with: F) -> R

Access the current context. Read more
Source§

fn open_root<P: Props>(&self, props: P) -> Self::Frame

Create a frame that will set the context to just the properties in P. Read more
Source§

fn open_push<P: Props>(&self, props: P) -> Self::Frame

Create a frame that will set the context to its current set, plus the properties in P. Read more
Source§

fn enter(&self, frame: &mut Self::Frame)

Make the properties in a frame active. Read more
Source§

fn exit(&self, frame: &mut Self::Frame)

Make the properties in a frame inactive. Read more
Source§

fn close(&self, _: Self::Frame)

Close a frame, performing any shared cleanup. Read more
Source§

fn open_disabled<P>(&self, props: P) -> Self::Frame
where P: Props,

Create a disabled frame. Read more
Source§

impl Debug for ThreadLocalCtxt

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ThreadLocalCtxt

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Copy for ThreadLocalCtxt

Source§

impl InternalCtxt for ThreadLocalCtxt

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<C> ErasedCtxt for C
where C: Ctxt, <C as Ctxt>::Frame: Send + 'static,