reth_db_api::table

Trait Compress

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

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

    // 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§

source

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

Compressed type.

Required Methods§

source

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

Compresses data to a given buffer.

Provided Methods§

source

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

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

source

fn compress(self) -> Self::Compressed

Compresses data going into the database.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Compress for Account

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for Address

source§

type Compressed = Vec<u8>

source§

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

source§

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

source§

impl Compress for B256

source§

type Compressed = Vec<u8>

source§

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

source§

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

source§

impl Compress for BranchNodeCompact

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for Bytecode

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for Bytes

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for GenesisAccount

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for Header

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for IntegerList

source§

type Compressed = Vec<u8>

source§

fn compress(self) -> Self::Compressed

source§

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

source§

impl Compress for Log

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for PruneCheckpoint

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for Receipt

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for Requests

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for StageCheckpoint

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for StorageEntry

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for StorageTrieEntry

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for StoredNibbles

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for StoredNibblesSubKey

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for TransactionSignedNoHash

source§

type Compressed = Vec<u8>

source§

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

source§

impl Compress for TxType

source§

type Compressed = Vec<u8>

source§

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

Implementors§