Skip to main content

Compress

Trait Compress 

pub trait Compress:
    Sized
    + Send
    + Sync
    + Debug {
    type Compressed: BufMut + AsRef<[u8]> + AsMut<[u8]> + Into<Vec<u8>> + Default + Send + Sync + Debug;

    // Required method
    fn compress_to_buf<B>(&self, buf: &mut B)
       where B: BufMut + AsMut<[u8]>;

    // Provided methods
    fn uncompressable_ref(&self) -> Option<&[u8]> { ... }
    fn compress(self) -> Self::Compressed { ... }
}
Expand description

Trait that will transform the data to be saved in the DB in a (ideally) compressed format.

Required Associated Types§

type Compressed: BufMut + AsRef<[u8]> + AsMut<[u8]> + Into<Vec<u8>> + Default + Send + Sync + Debug

Compressed type.

Required Methods§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

Compresses data to a given buffer.

Provided Methods§

fn uncompressable_ref(&self) -> Option<&[u8]>

If the type cannot be compressed, return its inner reference as Some(self.as_ref())

fn compress(self) -> Self::Compressed

Compresses 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 Compress for Account

§

type Compressed = Vec<u8>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for Address

§

type Compressed = Vec<u8>

§

fn uncompressable_ref(&self) -> Option<&[u8]>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for BranchNodeCompact

§

type Compressed = Vec<u8>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for Bytecode

§

type Compressed = Vec<u8>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for Bytes

§

type Compressed = Vec<u8>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for EthereumTxEnvelope<TxEip4844>

§

type Compressed = Vec<u8>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for FixedBytes<32>

§

type Compressed = Vec<u8>

§

fn uncompressable_ref(&self) -> Option<&[u8]>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for GenesisAccount

§

type Compressed = Vec<u8>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for Header

§

type Compressed = Vec<u8>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for Log

§

type Compressed = Vec<u8>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

Source§

impl Compress for PackedStorageTrieEntry

Source§

type Compressed = Vec<u8>

Source§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

Source§

impl Compress for PackedStoredNibbles

Source§

type Compressed = Vec<u8>

Source§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

Source§

impl Compress for PackedStoredNibblesSubKey

Source§

type Compressed = Vec<u8>

Source§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

Source§

impl Compress for PruneCheckpoint

Source§

type Compressed = Vec<u8>

Source§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

Source§

impl Compress for StageCheckpoint

Source§

type Compressed = Vec<u8>

Source§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for StorageEntry

§

type Compressed = Vec<u8>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

Source§

impl Compress for StorageTrieEntry

Source§

type Compressed = Vec<u8>

Source§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

Source§

impl Compress for StoredNibbles

Source§

type Compressed = Vec<u8>

Source§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

Source§

impl Compress for StoredNibblesSubKey

Source§

type Compressed = Vec<u8>

Source§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for TxType

§

type Compressed = Vec<u8>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for Vec<u8>

§

type Compressed = Vec<u8>

§

fn compress(self) -> <Vec<u8> as Compress>::Compressed

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for u8

§

type Compressed = Vec<u8>

§

fn compress(self) -> <u8 as Compress>::Compressed

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for u16

§

type Compressed = Vec<u8>

§

fn compress(self) -> <u16 as Compress>::Compressed

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for u32

§

type Compressed = Vec<u8>

§

fn compress(self) -> <u32 as Compress>::Compressed

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl Compress for u64

§

type Compressed = Vec<u8>

§

fn compress(self) -> <u64 as Compress>::Compressed

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

§

impl<T> Compress for EthereumReceipt<T>
where T: Debug + Send + Sync + Compact,

§

type Compressed = Vec<u8>

§

fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>,

Implementors§