pub trait DynamicDataSinkProxyInterface: Send + Sync {
type ReadAssetResponseFut: Future<Output = Result<DataSinkReadAssetResult, Error>> + Send;
type WriteAssetResponseFut: Future<Output = Result<i32, Error>> + Send;
type WriteFirmwareResponseFut: Future<Output = Result<WriteFirmwareResult, Error>> + Send;
type ReadFirmwareResponseFut: Future<Output = Result<DataSinkReadFirmwareResult, Error>> + Send;
type WriteVolumesResponseFut: Future<Output = Result<i32, Error>> + Send;
type WriteOpaqueVolumeResponseFut: Future<Output = Result<DataSinkWriteOpaqueVolumeResult, Error>> + Send;
type WipeVolumeResponseFut: Future<Output = Result<DataSinkWipeVolumeResult, Error>> + Send;
type FlushResponseFut: Future<Output = Result<i32, Error>> + Send;
type InitializePartitionTablesResponseFut: Future<Output = Result<i32, Error>> + Send;
type WipePartitionTablesResponseFut: Future<Output = Result<i32, Error>> + Send;
// Required methods
fn read_asset(
&self,
configuration: Configuration,
asset: Asset
) -> Self::ReadAssetResponseFut;
fn write_asset(
&self,
configuration: Configuration,
asset: Asset,
payload: &mut Buffer
) -> Self::WriteAssetResponseFut;
fn write_firmware(
&self,
configuration: Configuration,
type_: &str,
payload: &mut Buffer
) -> Self::WriteFirmwareResponseFut;
fn read_firmware(
&self,
configuration: Configuration,
type_: &str
) -> Self::ReadFirmwareResponseFut;
fn write_volumes(
&self,
payload: ClientEnd<PayloadStreamMarker>
) -> Self::WriteVolumesResponseFut;
fn write_opaque_volume(
&self,
payload: &mut Buffer
) -> Self::WriteOpaqueVolumeResponseFut;
fn wipe_volume(&self) -> Self::WipeVolumeResponseFut;
fn flush(&self) -> Self::FlushResponseFut;
fn initialize_partition_tables(
&self
) -> Self::InitializePartitionTablesResponseFut;
fn wipe_partition_tables(&self) -> Self::WipePartitionTablesResponseFut;
}