pub trait SnapshotService: Sync + Send {
Show 13 methods fn manifest(&self) -> Option<ManifestData>;
fn manifest_block(&self) -> Option<(u64, H256)>;
fn supported_versions(&self) -> Option<(u64, u64)>;
fn completed_chunks(&self) -> Option<Vec<H256>>;
fn chunk(&self, hash: H256) -> Option<Bytes>;
fn restoration_status(&self) -> RestorationStatus;
fn creation_status(&self) -> CreationStatus;
fn begin_restore(&self, manifest: ManifestData);
fn abort_restore(&self);
fn restore_state_chunk(&self, hash: H256, chunk: Bytes);
fn restore_block_chunk(&self, hash: H256, chunk: Bytes);
fn abort_snapshot(&self);
fn shutdown(&self);
}
Expand description

The interface for a snapshot network service. This handles:

  • restoration of snapshots to temporary databases.
  • responding to queries for snapshot manifests and chunks

Required methods

Query the most recent manifest data.

Query the most recent snapshoted block number and hash.

Get the supported range of snapshot version numbers. None indicates warp sync isn’t supported by the consensus engine.

Returns a list of the completed chunks

Get raw chunk for a given hash.

Ask the snapshot service for the restoration status.

Ask the snapshot service for the creation status.

Begin snapshot restoration. If restoration in-progress, this will reset it. From this point on, any previous snapshot may become unavailable.

Abort an in-progress restoration if there is one.

Feed a raw state chunk to the service to be processed asynchronously. no-op if not currently restoring.

Feed a raw block chunk to the service to be processed asynchronously. no-op if currently restoring.

Abort in-progress snapshotting if there is one.

Shutdown the Snapshot Service by aborting any ongoing restore

Implementors