fn push_incremental_snapshot_hash(
        &mut self,
        incremental_snapshot_hash: IncrementalSnapshotHash,
    ) {
        // If the base snapshot hash is different from the one in IncrementalSnapshotHashes, then
        // that means the old incremental snapshot hashes are no longer valid, so clear them all
        // out.
        if incremental_snapshot_hash.base != self.incremental_snapshot_hashes.base {
            self.incremental_snapshot_hashes.hashes.clear();
            self.incremental_snapshot_hashes.base = incremental_snapshot_hash.base;
        }

        self.incremental_snapshot_hashes
            .hashes
            .push(incremental_snapshot_hash.hash);
        while self.incremental_snapshot_hashes.hashes.len() > self.max_incremental_snapshot_hashes {
            self.incremental_snapshot_hashes.hashes.remove(0);
        }
        // Pushing incremental snapshot hashes to the cluster should never fail.  The only error
        // case is when the length of the hashes is too big, but we account for that with
        // `max_incremental_snapshot_hashes`.  If this call ever does error, it's a programmer bug!
        // Check to see what changed in `push_incremental_snapshot_hashes()` and handle the new
        // error condition here.
        self.cluster_info
            .push_incremental_snapshot_hashes(
                self.incremental_snapshot_hashes.base,
                self.incremental_snapshot_hashes.hashes.clone(),
            )
            .expect(
                "Bug! The programmer contract has changed for push_incremental_snapshot_hashes() \
                 and a new error case has been added, which has not been handled here.",
            );
    }
/// Add `incremental_snapshot_hash` to the vector of incremental snapshot hashes, then push
/// that vector to the cluster via CRDS.
Add `incremental_snapshot_hash` to the vector of incremental snapshot hashes, then push
that vector to the cluster via CRDS.
Add ` incremental_snapshot_hash ` to the vector of incremental snapshot hashes then push that vector to the cluster via CRDS .
fn push_incremental_snapshot_hash(
        &mut self,
        incremental_snapshot_hash: IncrementalSnapshotHash,
    ) {
        // If the base snapshot hash is different from the one in IncrementalSnapshotHashes, then
        // that means the old incremental snapshot hashes are no longer valid, so clear them all
        // out.
        if incremental_snapshot_hash.base != self.incremental_snapshot_hashes.base {
            self.incremental_snapshot_hashes.hashes.clear();
            self.incremental_snapshot_hashes.base = incremental_snapshot_hash.base;
        }
        self.incremental_snapshot_hashes
            .hashes
            .push(incremental_snapshot_hash.hash);
        while self.incremental_snapshot_hashes.hashes.len() > self.max_incremental_snapshot_hashes {
            self.incremental_snapshot_hashes.hashes.remove(0);
        }
        // Pushing incremental snapshot hashes to the cluster should never fail.  The only error
        // case is when the length of the hashes is too big, but we account for that with
        // `max_incremental_snapshot_hashes`.  If this call ever does error, it's a programmer bug!
        // Check to see what changed in `push_incremental_snapshot_hashes()` and handle the new
        // error condition here.
        self.cluster_info
            .push_incremental_snapshot_hashes(
                self.incremental_snapshot_hashes.base,
                self.incremental_snapshot_hashes.hashes.clone(),
            )
            .expect(
                "Bug! The programmer contract has changed for push_incremental_snapshot_hashes() \
                 and a new error case has been added, which has not been handled here.",
            );
    }
fn push_incremental_snapshot_hash ( & mut self , incremental_snapshot_hash : IncrementalSnapshotHash , ) { // If the base snapshot hash is different from the one in IncrementalSnapshotHashes, then // that means the old incremental snapshot hashes are no longer valid, so clear them all // out. if incremental_snapshot_hash . base != self . incremental_snapshot_hashes . base { self . incremental_snapshot_hashes . hashes . clear ( ) ; self . incremental_snapshot_hashes . base = incremental_snapshot_hash . base ; } self . incremental_snapshot_hashes . hashes . push ( incremental_snapshot_hash . hash ) ; while self . incremental_snapshot_hashes . hashes . len ( ) > self . max_incremental_snapshot_hashes { self . incremental_snapshot_hashes . hashes . remove ( 0 ) ; } // Pushing incremental snapshot hashes to the cluster should never fail.  The only error // case is when the length of the hashes is too big, but we account for that with // `max_incremental_snapshot_hashes`.  If this call ever does error, it's a programmer bug! // Check to see what changed in `push_incremental_snapshot_hashes()` and handle the new // error condition here. self . cluster_info . push_incremental_snapshot_hashes ( self . incremental_snapshot_hashes . base , self . incremental_snapshot_hashes . hashes . clone ( ) , ) . expect ( " \
 " , ) ; }
Add `incremental_snapshot_hash` to the vector of incremental snapshot hashes, then push
that vector to the cluster via CRDS.
Add ` incremental_snapshot_hash ` to the vector of incremental snapshot hashes then push that vector to the cluster via CRDS .
&mut self
incremental_snapshot_hash
IncrementalSnapshotHash