Trait sp_runtime_interface::RIType
source · pub trait RIType {
type FFIType: IntoValue + TryFromValue + WasmTy;
}Expand description
Something that can be used by the runtime interface as type to communicate between wasm and the host.
Every type that should be used in a runtime interface function signature needs to implement this trait.
Required Associated Types§
sourcetype FFIType: IntoValue + TryFromValue + WasmTy
type FFIType: IntoValue + TryFromValue + WasmTy
The ffi type that is used to represent Self.
Implementations on Foreign Types§
source§impl RIType for str
impl RIType for str
The type is passed as u64.
The u64 value is build by length 32bit << 32 | pointer 32bit
The length and the pointer are taken directly from Self.
source§impl<T> RIType for [T]
impl<T> RIType for [T]
The type is passed as u64.
The u64 value is build by length 32bit << 32 | pointer 32bit
If T == u8 the length and the pointer are taken directly from Self.
Otherwise Self is encoded and the length and the pointer are taken from the encoded vector.
source§impl<T> RIType for Vec<T>
impl<T> RIType for Vec<T>
The type is passed as u64.
The u64 value is build by length 32bit << 32 | pointer 32bit
If T == u8 the length and the pointer are taken directly from Self.
Otherwise Self is encoded and the length and the pointer are taken from the encoded vector.
source§impl<const N: usize> RIType for [u8; N]
impl<const N: usize> RIType for [u8; N]
The type is passed as u32.
The u32 is the pointer to the array.
Implementors§
source§impl<T: Codec> RIType for Codec<T>
impl<T: Codec> RIType for Codec<T>
The type is passed as u64.
The u64 value is build by length 32bit << 32 | pointer 32bit
Self is encoded and the length and the pointer are taken from the encoded vector.