multiversx_sc::types

Struct CallbackClosureForDeser

Source
pub struct CallbackClosureForDeser<M: ManagedTypeApi + ErrorApi> { /* private fields */ }
Expand description

Similar object to CallbackClosure, but only used for deserializing from storage the callback data with the old async call mechanism.

Should not be visible to the developer.

It is a separate type from CallbackClosure, because we want a different representation of the endpoint name.

Implementations§

Source§

impl<M: ManagedTypeApi + ErrorApi> CallbackClosureForDeser<M>

Source

pub fn no_callback() -> Self

Used by callback_raw. TODO: avoid creating any new managed buffers.

Source

pub fn storage_load_and_clear<A: BlockchainApi + StorageReadApi + StorageWriteApi>() -> Option<Self>

Source

pub fn matcher<const CB_NAME_MAX_LENGTH: usize>( &self, ) -> CallbackClosureMatcher<CB_NAME_MAX_LENGTH>

Source

pub fn arg_iter(&self) -> ManagedVecRefIterator<'_, M, ManagedBuffer<M>>

Trait Implementations§

Source§

impl<M: ManagedTypeApi + ErrorApi> TopDecode for CallbackClosureForDeser<M>

Source§

fn top_decode_or_handle_err<I, H>( top_input: I, __h__: H, ) -> Result<Self, H::HandledErr>

Version of top_decode that can handle errors as soon as they occur. For instance it can exit immediately and make sure that if it returns, it is a success. By not deferring error handling, this can lead to somewhat smaller bytecode.
Source§

fn top_decode<I>(input: I) -> Result<Self, DecodeError>
where I: TopDecodeInput,

Attempt to deserialize the value from input.

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> TopDecodeMulti for T
where T: TopDecode,

Source§

const IS_SINGLE_VALUE: bool = true

Used to optimize single value loading of endpoint arguments.
Source§

fn multi_decode_or_handle_err<I, H>( input: &mut I, h: H, ) -> Result<T, <H as DecodeErrorHandler>::HandledErr>

Source§

fn multi_decode<I>(input: &mut I) -> Result<Self, DecodeError>

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.