pub struct PartitionAndDeviceProxy { /* private fields */ }
Implementations§
source§impl PartitionAndDeviceProxy
impl PartitionAndDeviceProxy
sourcepub fn take_event_stream(&self) -> PartitionAndDeviceEventStream
pub fn take_event_stream(&self) -> PartitionAndDeviceEventStream
Get a Stream of events from the remote end of the PartitionAndDevice protocol
Panics
Panics if the event stream was already taken.
sourcepub fn get_info(&self) -> QueryResponseFut<BlockGetInfoResult>
pub fn get_info(&self) -> QueryResponseFut<BlockGetInfoResult>
Get information about the underlying block device.
sourcepub fn get_stats(&self, clear: bool) -> QueryResponseFut<BlockGetStatsResult>
pub fn get_stats(&self, clear: bool) -> QueryResponseFut<BlockGetStatsResult>
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
) -> QueryResponseFut<BlockReadBlocksResult>
pub fn read_blocks( &self, vmo: Vmo, length: u64, dev_offset: u64, vmo_offset: u64 ) -> QueryResponseFut<BlockReadBlocksResult>
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
) -> QueryResponseFut<BlockWriteBlocksResult>
pub fn write_blocks( &self, vmo: Vmo, length: u64, dev_offset: u64, vmo_offset: u64 ) -> QueryResponseFut<BlockWriteBlocksResult>
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) -> QueryResponseFut<(i32, Option<Box<Guid>>)>
pub fn get_type_guid(&self) -> QueryResponseFut<(i32, Option<Box<Guid>>)>
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) -> QueryResponseFut<(i32, Option<Box<Guid>>)>
pub fn get_instance_guid(&self) -> QueryResponseFut<(i32, Option<Box<Guid>>)>
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) -> QueryResponseFut<(i32, Option<String>)>
pub fn get_name(&self) -> QueryResponseFut<(i32, Option<String>)>
Gets the name of the partition (if one exists). If the partition has no name, ZX_ERR_NOT_SUPPORTED is returned.
sourcepub fn connect_to_device_fidl(&self, server: Channel) -> Result<(), Error>
pub fn connect_to_device_fidl(&self, server: Channel) -> Result<(), Error>
Connect to the underlying device’s FIDL protocol. This connection will not be multiplexed with fuchsia.device.Controller or fuchsia.io.Node.
sourcepub fn bind(&self, driver: &str) -> QueryResponseFut<ControllerBindResult>
pub fn bind(&self, driver: &str) -> QueryResponseFut<ControllerBindResult>
Attempt to bind a driver to this device.
- request
driver
This represents the suffix of a driver URL (e.g: “fvm.cm”). If this is non-empty, then the only drivers that will try to bind are ones that match this url suffix.
sourcepub fn rebind(&self, driver: &str) -> QueryResponseFut<ControllerRebindResult>
pub fn rebind(&self, driver: &str) -> QueryResponseFut<ControllerRebindResult>
Unbind all the children of this device, and then attempt to bind a driver to the device. This will not return until the bind completes.
- request
driver
This represents the suffix of a driver URL (e.g: “fvm.cm”). If this is non-empty, then the only drivers that will try to bind are ones that match this url suffix.
sourcepub fn unbind_children(
&self
) -> QueryResponseFut<ControllerUnbindChildrenResult>
pub fn unbind_children( &self ) -> QueryResponseFut<ControllerUnbindChildrenResult>
This api will unbind all the children of this device synchronously. This will avoid watching for device removal by the clients.
sourcepub fn schedule_unbind(
&self
) -> QueryResponseFut<ControllerScheduleUnbindResult>
pub fn schedule_unbind( &self ) -> QueryResponseFut<ControllerScheduleUnbindResult>
Disconnect this device and allow its parent to be bound again. This may not complete before it returns.
sourcepub fn get_topological_path(
&self
) -> QueryResponseFut<ControllerGetTopologicalPathResult>
pub fn get_topological_path( &self ) -> QueryResponseFut<ControllerGetTopologicalPathResult>
Return the topological path for this device
sourcepub fn get_min_driver_log_severity(
&self
) -> QueryResponseFut<(i32, LogLevelFilter)>
pub fn get_min_driver_log_severity( &self ) -> QueryResponseFut<(i32, LogLevelFilter)>
Return the current logging flags for this device’s driver
sourcepub fn set_min_driver_log_severity(
&self,
severity: LogLevelFilter
) -> QueryResponseFut<i32>
pub fn set_min_driver_log_severity( &self, severity: LogLevelFilter ) -> QueryResponseFut<i32>
Set the logging flags for this device’s driver.
sourcepub fn get_current_performance_state(&self) -> QueryResponseFut<u32>
pub fn get_current_performance_state(&self) -> QueryResponseFut<u32>
Gets the current performance state of the device.
sourcepub fn set_performance_state(
&self,
requested_state: u32
) -> QueryResponseFut<(i32, u32)>
pub fn set_performance_state( &self, requested_state: u32 ) -> QueryResponseFut<(i32, u32)>
Set the performance state of this device to the requested performance state. This is only called for the current device and none of the descendants are aware of the state transition. Returns ZX_OK, if the device is in a working state and the performance state is changed to requested_state successfully. out_state will be same as requested_state. Returns error status, if switching to the requested_state was unsuccessful. out_state is the state that the device is currently in.
Trait Implementations§
source§impl Clone for PartitionAndDeviceProxy
impl Clone for PartitionAndDeviceProxy
source§fn clone(&self) -> PartitionAndDeviceProxy
fn clone(&self) -> PartitionAndDeviceProxy
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for PartitionAndDeviceProxy
impl Debug for PartitionAndDeviceProxy
source§impl PartitionAndDeviceProxyInterface for PartitionAndDeviceProxy
impl PartitionAndDeviceProxyInterface for PartitionAndDeviceProxy
type GetInfoResponseFut = QueryResponseFut<Result<BlockInfo, i32>>
fn get_info(&self) -> Self::GetInfoResponseFut
type GetStatsResponseFut = QueryResponseFut<Result<BlockStats, i32>>
fn get_stats(&self, clear: bool) -> Self::GetStatsResponseFut
fn open_session(&self, session: ServerEnd<SessionMarker>) -> Result<(), Error>
type ReadBlocksResponseFut = QueryResponseFut<Result<(), i32>>
fn read_blocks( &self, vmo: Vmo, length: u64, dev_offset: u64, vmo_offset: u64 ) -> Self::ReadBlocksResponseFut
type WriteBlocksResponseFut = QueryResponseFut<Result<(), i32>>
fn write_blocks( &self, vmo: Vmo, length: u64, dev_offset: u64, vmo_offset: u64 ) -> Self::WriteBlocksResponseFut
type GetTypeGuidResponseFut = QueryResponseFut<(i32, Option<Box<Guid, Global>>)>
fn get_type_guid(&self) -> Self::GetTypeGuidResponseFut
type GetInstanceGuidResponseFut = QueryResponseFut<(i32, Option<Box<Guid, Global>>)>
fn get_instance_guid(&self) -> Self::GetInstanceGuidResponseFut
type GetNameResponseFut = QueryResponseFut<(i32, Option<String>)>
fn get_name(&self) -> Self::GetNameResponseFut
fn connect_to_device_fidl(&self, server: Channel) -> Result<(), Error>
type BindResponseFut = QueryResponseFut<Result<(), i32>>
fn bind(&self, driver: &str) -> Self::BindResponseFut
type RebindResponseFut = QueryResponseFut<Result<(), i32>>
fn rebind(&self, driver: &str) -> Self::RebindResponseFut
type UnbindChildrenResponseFut = QueryResponseFut<Result<(), i32>>
fn unbind_children(&self) -> Self::UnbindChildrenResponseFut
type ScheduleUnbindResponseFut = QueryResponseFut<Result<(), i32>>
fn schedule_unbind(&self) -> Self::ScheduleUnbindResponseFut
type GetTopologicalPathResponseFut = QueryResponseFut<Result<String, i32>>
fn get_topological_path(&self) -> Self::GetTopologicalPathResponseFut
type GetMinDriverLogSeverityResponseFut = QueryResponseFut<(i32, LogLevelFilter)>
fn get_min_driver_log_severity( &self ) -> Self::GetMinDriverLogSeverityResponseFut
type SetMinDriverLogSeverityResponseFut = QueryResponseFut<i32>
fn set_min_driver_log_severity( &self, severity: LogLevelFilter ) -> Self::SetMinDriverLogSeverityResponseFut
type GetCurrentPerformanceStateResponseFut = QueryResponseFut<u32>
fn get_current_performance_state( &self ) -> Self::GetCurrentPerformanceStateResponseFut
type SetPerformanceStateResponseFut = QueryResponseFut<(i32, u32)>
fn set_performance_state( &self, requested_state: u32 ) -> Self::SetPerformanceStateResponseFut
source§impl Proxy for PartitionAndDeviceProxy
impl Proxy for PartitionAndDeviceProxy
§type Protocol = PartitionAndDeviceMarker
type Protocol = PartitionAndDeviceMarker
Proxy
controls.