Skip to main content

ChannelUpdate

Struct ChannelUpdate 

Source
pub struct ChannelUpdate<'a> { /* private fields */ }
Expand description

One safely borrowed channel callback.

Numeric and geometry values may be copied out and retained. String values borrow storage owned by the game and therefore remain tied to this update’s callback lifetime.

Implementations§

Source§

impl<'a> ChannelUpdate<'a>

Source

pub const fn channel(self) -> AnyChannel

Type-erased canonical descriptor originally supplied by the plugin.

Source

pub fn registered_name(self) -> Cow<'a, str>

Exact name registered with SCS, including a multi-trailer prefix.

Official channel names are ASCII. The lossy return type also keeps this method total if a future SDK accepts a non-UTF-8 custom channel name.

Source

pub const fn index(self) -> Option<SdkIndex>

Zero-based SDK array index, or None for a scalar channel.

Source

pub const fn trailer_index(self) -> Option<TrailerIndex>

Zero-based trailer number embedded in the registered name.

Source

pub const fn flags(self) -> ChannelFlags

Delivery flags used for this subscription.

Source

pub const fn value_ref(self) -> Option<ValueRef<'a>>

Raw safe view of the tagged value, absent for NO_VALUE subscriptions.

Source

pub fn is<T: ChannelValue>(self, channel: Channel<T>) -> bool

Tests whether this update belongs to a particular typed descriptor.

Source

pub fn value<T: ChannelValue>( self, channel: Channel<T>, ) -> Option<T::Decoded<'a>>

Decodes the update using the supplied typed descriptor.

None means either the descriptor does not match this registration, the subscription requested NO_VALUE, or SCS supplied a different union tag.

Trait Implementations§

Source§

impl<'a> Clone for ChannelUpdate<'a>

Source§

fn clone(&self) -> ChannelUpdate<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<'a> Copy for ChannelUpdate<'a>

Auto Trait Implementations§

§

impl<'a> !Send for ChannelUpdate<'a>

§

impl<'a> !Sync for ChannelUpdate<'a>

§

impl<'a> Freeze for ChannelUpdate<'a>

§

impl<'a> RefUnwindSafe for ChannelUpdate<'a>

§

impl<'a> Unpin for ChannelUpdate<'a>

§

impl<'a> UnsafeUnpin for ChannelUpdate<'a>

§

impl<'a> UnwindSafe for ChannelUpdate<'a>

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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.