pub struct VolumeSynchronousProxy { /* private fields */ }
Implementations§
source§impl VolumeSynchronousProxy
impl VolumeSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
sourcepub fn wait_for_event(&self, deadline: Time) -> Result<VolumeEvent, Error>
pub fn wait_for_event(&self, deadline: Time) -> Result<VolumeEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
sourcepub fn get_info(&self, ___deadline: Time) -> Result<BlockGetInfoResult, Error>
pub fn get_info(&self, ___deadline: Time) -> Result<BlockGetInfoResult, Error>
Get information about the underlying block device.
sourcepub fn get_stats(
&self,
clear: bool,
___deadline: Time
) -> Result<BlockGetStatsResult, Error>
pub fn get_stats( &self, clear: bool, ___deadline: Time ) -> Result<BlockGetStatsResult, Error>
Returns stats about the block device on the provided buffer and optionally clears the counters.
storage_metrics.CallStat.bytes_transferred is number of bytes requested to be transferred.
sourcepub fn open_session(
&self,
session: ServerEnd<SessionMarker>
) -> Result<(), Error>
pub fn open_session( &self, session: ServerEnd<SessionMarker> ) -> Result<(), Error>
Opens a new FIFO-based session on the block device.
sourcepub fn read_blocks(
&self,
vmo: Vmo,
length: u64,
dev_offset: u64,
vmo_offset: u64,
___deadline: Time
) -> Result<BlockReadBlocksResult, Error>
pub fn read_blocks( &self, vmo: Vmo, length: u64, dev_offset: u64, vmo_offset: u64, ___deadline: Time ) -> Result<BlockReadBlocksResult, Error>
Reads from a block device.
This read does not require exclusive access. length, dev_offset and vmo_offset are specified in bytes, but they must be block-aligned. This method is provided for backward compatibility, and is not intended for new code. New code should use the FIFO interface along with the client libraries to read and write from block devices.
sourcepub fn write_blocks(
&self,
vmo: Vmo,
length: u64,
dev_offset: u64,
vmo_offset: u64,
___deadline: Time
) -> Result<BlockWriteBlocksResult, Error>
pub fn write_blocks( &self, vmo: Vmo, length: u64, dev_offset: u64, vmo_offset: u64, ___deadline: Time ) -> Result<BlockWriteBlocksResult, Error>
Writes to a block device.
This write does not require exclusive access. length, dev_offset and vmo_offset are specified in bytes, but they must be block-aligned. This method is provided for backward compatibility, and is not intended for new code. New code should use the FIFO interface along with the client libraries to read and write from block devices.
sourcepub fn get_type_guid(
&self,
___deadline: Time
) -> Result<(i32, Option<Box<Guid>>), Error>
pub fn get_type_guid( &self, ___deadline: Time ) -> Result<(i32, Option<Box<Guid>>), Error>
Gets the type GUID of the partition (if one exists). If the partition has no type GUID, ZX_ERR_NOT_SUPPORTED is returned.
sourcepub fn get_instance_guid(
&self,
___deadline: Time
) -> Result<(i32, Option<Box<Guid>>), Error>
pub fn get_instance_guid( &self, ___deadline: Time ) -> Result<(i32, Option<Box<Guid>>), Error>
Gets the instance GUID of the partition (if one exists). If the partition has no instance GUID, ZX_ERR_NOT_SUPPORTED is returned.
sourcepub fn get_name(
&self,
___deadline: Time
) -> Result<(i32, Option<String>), Error>
pub fn get_name( &self, ___deadline: Time ) -> Result<(i32, Option<String>), Error>
Gets the name of the partition (if one exists). If the partition has no name, ZX_ERR_NOT_SUPPORTED is returned.
sourcepub fn query_slices(
&self,
start_slices: &[u64],
___deadline: Time
) -> Result<(i32, [VsliceRange; 16], u64), Error>
pub fn query_slices( &self, start_slices: &[u64], ___deadline: Time ) -> Result<(i32, [VsliceRange; 16], u64), Error>
Returns the number of contiguous allocated (or unallocated) vslices starting from each vslice.
sourcepub fn get_volume_info(
&self,
___deadline: Time
) -> Result<(i32, Option<Box<VolumeManagerInfo>>, Option<Box<VolumeInfo>>), Error>
pub fn get_volume_info( &self, ___deadline: Time ) -> Result<(i32, Option<Box<VolumeManagerInfo>>, Option<Box<VolumeInfo>>), Error>
Returns the information about this volume and the volume manager it is embedded in.
sourcepub fn extend(
&self,
start_slice: u64,
slice_count: u64,
___deadline: Time
) -> Result<i32, Error>
pub fn extend( &self, start_slice: u64, slice_count: u64, ___deadline: Time ) -> Result<i32, Error>
Extends the mapping of this partition.
The ability to extend the partition is dependent on having sufficient free space on the underlying device, having sufficient free slots for tracking the bytes in the volume manager header, and the partition limit (see VolumeManager.SetPartitionLimit).