pub struct SegmentDigestBuilder {
pub alg: DigestAlg,
pub state: DigestState,
pub segment_index: u32,
pub frame_count: u32,
pub finalized: bool,
}Expand description
Incremental segment digest builder.
This builder hashes canonical digest input bytes, not plaintext and not wire bytes.
Digest input format (canonical):
segment_index (u32 LE)
frame_count (u32 LE)
for each DATA frame, ordered by frame_index:
frame_index (u32 LE)
ciphertext_len(u32 LE)
ciphertext (N bytes)Fields§
§alg: DigestAlg§state: DigestState§segment_index: u32§frame_count: u32§finalized: boolImplementations§
Source§impl SegmentDigestBuilder
impl SegmentDigestBuilder
Sourcepub fn new(alg: DigestAlg, segment_index: u32, frame_count: u32) -> Self
pub fn new(alg: DigestAlg, segment_index: u32, frame_count: u32) -> Self
Create a new digest builder.
Sourcepub fn with_state(
state: DigestState,
segment_index: u32,
frame_count: u32,
) -> Self
pub fn with_state( state: DigestState, segment_index: u32, frame_count: u32, ) -> Self
Create a verifier by resuming from an existing hydrated state. Used for frame-level resume within a single segment.
Sourcepub fn state(&self) -> DigestState
pub fn state(&self) -> DigestState
Returns a clone of the current internal state for checkpointing.
Sourcepub fn update_frame(&mut self, frame_index: u32, ciphertext: &[u8])
pub fn update_frame(&mut self, frame_index: u32, ciphertext: &[u8])
Feed one DATA frame (strictly ascending frame_index).
Auto Trait Implementations§
impl Freeze for SegmentDigestBuilder
impl RefUnwindSafe for SegmentDigestBuilder
impl Send for SegmentDigestBuilder
impl Sync for SegmentDigestBuilder
impl Unpin for SegmentDigestBuilder
impl UnsafeUnpin for SegmentDigestBuilder
impl UnwindSafe for SegmentDigestBuilder
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