Struct solana_ledger::shred::Shredder[][src]

pub struct Shredder {
    pub slot: Slot,
    pub parent_slot: Slot,
    pub signing_coding_time: u128,
    // some fields omitted
}

Fields

slot: Slotparent_slot: Slotsigning_coding_time: u128

Implementations

impl Shredder[src]

pub fn new(
    slot: Slot,
    parent_slot: Slot,
    fec_rate: f32,
    keypair: Arc<Keypair>,
    reference_tick: u8,
    version: u16
) -> Result<Self>
[src]

pub fn entries_to_shreds(
    &self,
    entries: &[Entry],
    is_last_in_slot: bool,
    next_shred_index: u32
) -> (Vec<Shred>, Vec<Shred>, u32)
[src]

pub fn entries_to_data_shreds(
    &self,
    entries: &[Entry],
    is_last_in_slot: bool,
    next_shred_index: u32,
    process_stats: &mut ProcessShredsStats
) -> (Vec<Shred>, u32)
[src]

pub fn data_shreds_to_coding_shreds(
    &self,
    data_shreds: &[Shred],
    process_stats: &mut ProcessShredsStats
) -> Vec<Shred>
[src]

pub fn sign_shred(signer: &Keypair, shred: &mut Shred)[src]

pub fn new_coding_shred_header(
    slot: Slot,
    index: u32,
    fec_set_index: u32,
    num_data: usize,
    num_code: usize,
    position: usize,
    version: u16
) -> (ShredCommonHeader, CodingShredHeader)
[src]

pub fn generate_coding_shreds(
    slot: Slot,
    fec_rate: f32,
    data_shred_batch: &[Shred],
    version: u16,
    max_coding_shreds: usize
) -> Vec<Shred>
[src]

Generates coding shreds for the data shreds in the current FEC set

pub fn try_recovery(
    shreds: Vec<Shred>,
    num_data: usize,
    num_coding: usize,
    first_index: usize,
    first_code_index: usize,
    slot: Slot
) -> Result<Vec<Shred>, Error>
[src]

pub fn deshred(shreds: &[Shred]) -> Result<Vec<u8>, Error>[src]

Combines all shreds to recreate the original buffer

Trait Implementations

impl Debug for Shredder[src]

Auto Trait Implementations

impl RefUnwindSafe for Shredder

impl Send for Shredder

impl Sync for Shredder

impl Unpin for Shredder

impl UnwindSafe for Shredder

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoRequest<T> for T[src]

impl<T> MaybeDebug for T where
    T: Debug
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Typeable for T where
    T: Any

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]

impl<T> WithSubscriber for T[src]