pub trait VolumeProxyInterface: Send + Sync {
type MountResponseFut: Future<Output = Result<VolumeMountResult, Error>> + Send;
type CheckResponseFut: Future<Output = Result<VolumeCheckResult, Error>> + Send;
type SetLimitResponseFut: Future<Output = Result<VolumeSetLimitResult, Error>> + Send;
type GetLimitResponseFut: Future<Output = Result<VolumeGetLimitResult, Error>> + Send;
// Required methods
fn mount(
&self,
outgoing_directory: ServerEnd<DirectoryMarker>,
options: MountOptions,
) -> Self::MountResponseFut;
fn check(&self, options: CheckOptions) -> Self::CheckResponseFut;
fn set_limit(&self, bytes: u64) -> Self::SetLimitResponseFut;
fn get_limit(&self) -> Self::GetLimitResponseFut;
}