Struct multiversx_sc::types::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>
impl<M: ManagedTypeApi + ErrorApi> CallbackClosureForDeser<M>
sourcepub fn no_callback() -> Self
pub fn no_callback() -> Self
Used by callback_raw. TODO: avoid creating any new managed buffers.
pub fn storage_load_and_clear<A: BlockchainApi + StorageReadApi + StorageWriteApi>( ) -> Option<Self>
pub fn matcher<const CB_NAME_MAX_LENGTH: usize>( &self ) -> CallbackClosureMatcher<CB_NAME_MAX_LENGTH>
pub fn into_arg_loader(self) -> ManagedResultArgLoader<M>
Trait Implementations§
source§impl<M: ManagedTypeApi + ErrorApi> TopDecode for CallbackClosureForDeser<M>
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>where
I: TopDecodeInput,
H: DecodeErrorHandler,
fn top_decode_or_handle_err<I, H>( top_input: I, h: H ) -> Result<Self, H::HandledErr>where I: TopDecodeInput, H: DecodeErrorHandler,
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,
fn top_decode<I>(input: I) -> Result<Self, DecodeError>where I: TopDecodeInput,
Attempt to deserialize the value from input.
Auto Trait Implementations§
impl<M> CodecFromSelf for CallbackClosureForDeser<M>
impl<M> RefUnwindSafe for CallbackClosureForDeser<M>where <M as HandleTypeInfo>::ManagedBufferHandle: RefUnwindSafe,
impl<M> Send for CallbackClosureForDeser<M>where <M as HandleTypeInfo>::ManagedBufferHandle: Send,
impl<M> Sync for CallbackClosureForDeser<M>where <M as HandleTypeInfo>::ManagedBufferHandle: Sync,
impl<M> Unpin for CallbackClosureForDeser<M>where <M as HandleTypeInfo>::ManagedBufferHandle: Unpin,
impl<M> UnwindSafe for CallbackClosureForDeser<M>where <M as HandleTypeInfo>::ManagedBufferHandle: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> TopDecodeMulti for Twhere
T: TopDecode,
impl<T> TopDecodeMulti for Twhere T: TopDecode,
source§const IS_SINGLE_VALUE: bool = true
const IS_SINGLE_VALUE: bool = true
Used to optimize single value loading of endpoint arguments.