Struct solana_ledger::shred::merkle::ShredData
source · pub struct ShredData {
common_header: ShredCommonHeader,
data_header: DataShredHeader,
payload: Vec<u8>,
}
Fields§
§common_header: ShredCommonHeader
§data_header: DataShredHeader
§payload: Vec<u8>
Implementations§
source§impl ShredData
impl ShredData
fn proof_size(&self) -> Result<u8, Error>
pub(super) fn capacity(proof_size: u8) -> Result<usize, Error>
fn proof_offset(proof_size: u8) -> Result<usize, Error>
fn merkle_root(&self) -> Result<Hash, Error>
fn merkle_proof(&self) -> Result<impl Iterator<Item = &[u8; 20]>, Error>
fn merkle_node(&self) -> Result<Hash, Error>
fn from_recovered_shard( signature: &Signature, shard: Vec<u8> ) -> Result<Self, Error>
fn set_merkle_proof(&mut self, proof: &[&[u8; 20]]) -> Result<(), Error>
pub(super) fn get_merkle_root(shred: &[u8], proof_size: u8) -> Option<Hash>
Trait Implementations§
source§impl PartialEq<ShredData> for ShredData
impl PartialEq<ShredData> for ShredData
source§impl<'a> Shred<'a> for ShredData
impl<'a> Shred<'a> for ShredData
type SignedData = Hash
fn common_header(&self) -> &ShredCommonHeader
fn payload(&self) -> &Vec<u8> ⓘ
fn into_payload(self) -> Vec<u8> ⓘ
fn set_signature(&mut self, signature: Signature)
fn set_index(&mut self, index: u32)
fn set_slot(&mut self, slot: Slot)
const SIZE_OF_PAYLOAD: usize = 1_203usize
const SIZE_OF_HEADERS: usize = 88usize
fn from_payload(payload: Vec<u8>) -> Result<Self, Error>
fn erasure_shard_index(&self) -> Result<usize, Error>
fn erasure_shard(self) -> Result<Vec<u8>, Error>
fn erasure_shard_as_slice(&self) -> Result<&[u8], Error>
fn sanitize(&self) -> Result<(), Error>
fn signed_data(&'a self) -> Result<Self::SignedData, Error>
impl Eq for ShredData
impl StructuralEq for ShredData
impl StructuralPartialEq for ShredData
Auto Trait Implementations§
impl RefUnwindSafe for ShredData
impl Send for ShredData
impl Sync for ShredData
impl Unpin for ShredData
impl UnwindSafe for ShredData
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request