oasis_core_runtime/storage/mkvs/sync/
noop.rs

1use std::any::Any;
2
3use anyhow::Result;
4
5use crate::storage::mkvs::sync::{
6    GetPrefixesRequest, GetRequest, IterateRequest, ProofResponse, ReadSync, SyncerError,
7};
8
9/// A no-op read syncer which doesn't support any of the required operations.
10pub struct NoopReadSyncer;
11
12impl ReadSync for NoopReadSyncer {
13    fn as_any(&self) -> &dyn Any {
14        self
15    }
16
17    fn sync_get(&mut self, _request: GetRequest) -> Result<ProofResponse> {
18        Err(SyncerError::Unsupported.into())
19    }
20
21    fn sync_get_prefixes(&mut self, _request: GetPrefixesRequest) -> Result<ProofResponse> {
22        Err(SyncerError::Unsupported.into())
23    }
24
25    fn sync_iterate(&mut self, _request: IterateRequest) -> Result<ProofResponse> {
26        Err(SyncerError::Unsupported.into())
27    }
28}