Skip to main content

Encode

Trait Encode 

pub trait Encode:
    Sized
    + Send
    + Sync
    + Debug {
    type Encoded: AsRef<[u8]> + IntoVec + Send + Sync + Ord + Debug;

    // Required method
    fn encode(self) -> Self::Encoded;
}
Expand description

Trait that will transform the data to be saved in the DB.

Required Associated Types§

type Encoded: AsRef<[u8]> + IntoVec + Send + Sync + Ord + Debug

Encoded type.

Required Methods§

fn encode(self) -> Self::Encoded

Encodes data going into the database.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

§

impl Encode for Address

§

type Encoded = [u8; 20]

§

fn encode(self) -> <Address as Encode>::Encoded

§

impl Encode for FixedBytes<32>

§

type Encoded = [u8; 32]

§

fn encode(self) -> <FixedBytes<32> as Encode>::Encoded

§

impl Encode for PackedStoredNibbles

§

type Encoded = [u8; 33]

§

fn encode(self) -> <PackedStoredNibbles as Encode>::Encoded

§

impl Encode for PackedStoredNibblesSubKey

§

type Encoded = [u8; 33]

§

fn encode(self) -> <PackedStoredNibblesSubKey as Encode>::Encoded

§

impl Encode for PruneSegment

§

type Encoded = [u8; 1]

§

fn encode(self) -> <PruneSegment as Encode>::Encoded

§

impl Encode for StoredNibbles

§

type Encoded = ArrayVec<u8, 64>

§

fn encode(self) -> <StoredNibbles as Encode>::Encoded

§

impl Encode for StoredNibblesSubKey

§

type Encoded = [u8; 65]

§

fn encode(self) -> <StoredNibblesSubKey as Encode>::Encoded

§

impl Encode for String

§

type Encoded = Vec<u8>

§

fn encode(self) -> <String as Encode>::Encoded

§

impl Encode for Vec<u8>

§

type Encoded = Vec<u8>

§

fn encode(self) -> <Vec<u8> as Encode>::Encoded

§

impl Encode for u8

§

type Encoded = [u8; 1]

§

fn encode(self) -> <u8 as Encode>::Encoded

§

impl Encode for u16

§

type Encoded = [u8; 2]

§

fn encode(self) -> <u16 as Encode>::Encoded

§

impl Encode for u32

§

type Encoded = [u8; 4]

§

fn encode(self) -> <u32 as Encode>::Encoded

§

impl Encode for u64

§

type Encoded = [u8; 8]

§

fn encode(self) -> <u64 as Encode>::Encoded

Implementors§

§

impl Encode for AddressStorageKey

§

type Encoded = [u8; 52]

§

impl Encode for BlockNumberAddress

§

type Encoded = [u8; 28]

§

impl Encode for ChainStateKey

§

type Encoded = [u8; 1]

§

impl Encode for ClientVersion

§

type Encoded = Vec<u8>

§

impl Encode for ShardedKey<Address>

§

type Encoded = [u8; 28]

§

impl Encode for StorageShardedKey

§

type Encoded = [u8; 60]

§

impl<K> Encode for RawKey<K>
where K: Key,

§

type Encoded = Vec<u8>