Struct relay_event_schema::protocol::Contexts

source ·
pub struct Contexts(pub Object<ContextInner>);
Expand description

The Contexts interface provides additional context data. Typically, this is data related to the current user and the environment. For example, the device or application version. Its canonical name is contexts.

The contexts type can be used to define arbitrary contextual data on the event. It accepts an object of key/value pairs. The key is the “alias” of the context and can be freely chosen. However, as per policy, it should match the type of the context unless there are two values for a type. You can omit type if the key name is the type.

Unknown data for the contexts is rendered as a key/value list.

For more details about sending additional data with your event, see the full documentation on Additional Data.

Tuple Fields§

§0: Object<ContextInner>

Implementations§

source§

impl Contexts

source

pub fn new() -> Contexts

Creates an empty contexts map.

source

pub fn add<C>(&mut self, context: C)
where C: DefaultContext,

Inserts a context under the default key for the context.

source

pub fn insert(&mut self, key: String, context: Context)

Inserts a context under a custom given key.

By convention, every typed context has a default key. Use add to insert such contexts, instead.

source

pub fn contains<C>(&self) -> bool
where C: DefaultContext,

Returns true if a matching context resides in the map at its default key.

source

pub fn contains_key<S>(&self, key: S) -> bool
where S: AsRef<str>,

Returns true if a context with the provided key is present in the map.

By convention, every typed context has a default key. Use contains to check such contexts, instead.

source

pub fn get_or_default<C>(&mut self) -> &mut C
where C: DefaultContext,

Returns the context at its default key or constructs it if not present.

source

pub fn get_or_insert_with<F, S>( &mut self, key: S, context_builder: F, ) -> &mut Context
where F: FnOnce() -> Context, S: Into<String>,

Returns the context at the specified key or constructs it if not present.

By convention, every typed context has a default key. Use get_or_default to insert such contexts, instead.

source

pub fn get<C>(&self) -> Option<&C>
where C: DefaultContext,

Returns a reference to the default context by type.

source

pub fn get_mut<C>(&mut self) -> Option<&mut C>
where C: DefaultContext,

Returns a mutable reference to the default context by type.

source

pub fn get_key<S>(&self, key: S) -> Option<&Context>
where S: AsRef<str>,

Returns a reference to the context specified by key.

By convention, every typed context has a default key. Use get to retrieve such contexts, instead.

source

pub fn get_key_mut<S>(&mut self, key: S) -> Option<&mut Context>
where S: AsRef<str>,

Returns a mutable reference to the context specified by key.

By convention, every typed context has a default key. Use get_mut to retrieve such contexts, instead.

source

pub fn remove<C>(&mut self) -> Option<C>
where C: DefaultContext,

Removes a context from the map, returning the context it was previously in the map.

Returns Some if a matching context was removed from the default key. If the context at the default key does not have a matching type, it is removed but None is returned.

source

pub fn remove_key<S>(&mut self, key: S) -> Option<Context>
where S: AsRef<str>,

Removes a context from the map, returning the context it was previously in the map.

By convention, every typed context has a default key. Use remove to retrieve such contexts, instead.

Trait Implementations§

source§

impl Clone for Contexts

source§

fn clone(&self) -> Contexts

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 Debug for Contexts

source§

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

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

impl Default for Contexts

source§

fn default() -> Contexts

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

impl Empty for Contexts

source§

fn is_empty(&self) -> bool

Returns whether this value is empty.
source§

fn is_deep_empty(&self) -> bool

Returns whether this value is empty or all of its descendants are empty. Read more
source§

impl FromValue for Contexts

source§

fn from_value(annotated: Annotated<Value>) -> Annotated<Self>

Creates a meta structure from an annotated boxed value.
source§

impl IntoValue for Contexts

source§

fn into_value(self) -> Value

Boxes the meta structure back into a value.
source§

fn serialize_payload<S>( &self, __serializer: S, __behavior: SkipSerialization, ) -> Result<S::Ok, S::Error>
where Self: Sized, S: Serializer,

Efficiently serializes the payload directly.
source§

fn extract_child_meta(&self) -> MetaMap
where Self: Sized,

Extracts children meta map out of a value.
§

fn extract_meta_tree(value: &Annotated<Self>) -> MetaTree
where Self: Sized,

Extracts the meta tree out of annotated value. Read more
source§

impl PartialEq for Contexts

source§

fn eq(&self, other: &Contexts) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl ProcessValue for Contexts

source§

fn value_type(&self) -> EnumSet<ValueType>

Returns the type of the value.
source§

fn process_value<P>( &mut self, __meta: &mut Meta, __processor: &mut P, __state: &ProcessingState<'_>, ) -> ProcessingResult
where P: Processor,

Executes a processor on this value.
source§

fn process_child_values<P>( &mut self, __processor: &mut P, __state: &ProcessingState<'_>, ) -> ProcessingResult
where P: Processor,

Recurses into children of this value.
source§

impl StructuralPartialEq for Contexts

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 T)

🔬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.
§

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

§

fn vzip(self) -> V