pub trait NeededBlobsProxyInterface: Send + Sync {
type OpenMetaBlobResponseFut: Future<Output = Result<NeededBlobsOpenMetaBlobResult, Error>> + Send;
type OpenBlobResponseFut: Future<Output = Result<NeededBlobsOpenBlobResult, Error>> + Send;
type BlobWrittenResponseFut: Future<Output = Result<NeededBlobsBlobWrittenResult, Error>> + Send;
type AbortResponseFut: Future<Output = Result<(), Error>> + Send;
// Required methods
fn open_meta_blob(&self) -> Self::OpenMetaBlobResponseFut;
fn get_missing_blobs(
&self,
iterator: ServerEnd<BlobInfoIteratorMarker>,
) -> Result<(), Error>;
fn open_blob(&self, blob_id: &BlobId) -> Self::OpenBlobResponseFut;
fn blob_written(&self, blob_id: &BlobId) -> Self::BlobWrittenResponseFut;
fn abort(&self) -> Self::AbortResponseFut;
}