Struct solana_ledger::shred::merkle::ShredCode
source · pub struct ShredCode {
common_header: ShredCommonHeader,
coding_header: CodingShredHeader,
payload: Vec<u8>,
}
Fields§
§common_header: ShredCommonHeader
§coding_header: CodingShredHeader
§payload: Vec<u8>
Implementations§
source§impl ShredCode
impl ShredCode
fn proof_size(&self) -> Result<u8, Error>
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( common_header: ShredCommonHeader, coding_header: CodingShredHeader, 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<ShredCode> for ShredCode
impl PartialEq<ShredCode> for ShredCode
source§impl<'a> Shred<'a> for ShredCode
impl<'a> Shred<'a> for ShredCode
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_228usize
const SIZE_OF_HEADERS: usize = 89usize
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>
source§impl ShredCode for ShredCode
impl ShredCode for ShredCode
fn coding_header(&self) -> &CodingShredHeader
fn first_coding_index(&self) -> Option<u32>
impl Eq for ShredCode
impl StructuralEq for ShredCode
impl StructuralPartialEq for ShredCode
Auto Trait Implementations§
impl RefUnwindSafe for ShredCode
impl Send for ShredCode
impl Sync for ShredCode
impl Unpin for ShredCode
impl UnwindSafe for ShredCode
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