pub struct PaverProxy { /* private fields */ }Implementations§
Source§impl PaverProxy
impl PaverProxy
Sourcepub fn take_event_stream(&self) -> PaverEventStream
pub fn take_event_stream(&self) -> PaverEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn find_data_sink(
&self,
data_sink: ServerEnd<DataSinkMarker>,
) -> Result<(), Error>
pub fn find_data_sink( &self, data_sink: ServerEnd<DataSinkMarker>, ) -> Result<(), Error>
Attempts to auto-discover the data sink where assets and volumes will get paved to. On devices with GPT, the partition must have a valid FVM partition in order for auto-discovery to find it. If multiple devices are found suitable, error is returned.
data_sink will be closed on error, with an epitaph provided on failure reason.
Sourcepub fn open_partition_io(
&self,
block_dir: ClientEnd<DirectoryMarker>,
partition_io: ServerEnd<PartitionIoMarker>,
) -> Result<(), Error>
pub fn open_partition_io( &self, block_dir: ClientEnd<DirectoryMarker>, partition_io: ServerEnd<PartitionIoMarker>, ) -> Result<(), Error>
Opens a PartitionIo session backed by block devices in the caller-provided block_dir.
Under the capability-delegated permission model, the paver component does not hold ambient
access to all system block partitions. Instead, the caller (such as system-updater or
fastboot) is responsible for routing the required block device capabilities into its own
namespace (for example, via a scoped /block or /block/ota directory exposed by fshost)
and passing block_dir to the paver for the duration of the PartitionIo session.
block_dir is expected to follow the fshost /block directory layout (see
https://fuchsia.dev/fuchsia-src/development/storage/storage-partition-routing): each entry
<entry>/ is a subdirectory containing a fuchsia.storage.block.Block protocol node at
<entry>/fuchsia.storage.block.Block.
partition_io will be closed on error, with an epitaph provided on failure reason.
Sourcepub fn find_partition_table_manager(
&self,
data_sink: ServerEnd<DynamicDataSinkMarker>,
) -> Result<(), Error>
pub fn find_partition_table_manager( &self, data_sink: ServerEnd<DynamicDataSinkMarker>, ) -> Result<(), Error>
Like FindDataSink, but the returned block device will be dynamic, supporting partition
table manipulation.
data_sink will be closed on error, with an epitaph provided on failure reason.
Sourcepub fn find_boot_manager(
&self,
boot_manager: ServerEnd<BootManagerMarker>,
) -> Result<(), Error>
pub fn find_boot_manager( &self, boot_manager: ServerEnd<BootManagerMarker>, ) -> Result<(), Error>
Attempts to auto-discover the boot manager.
boot_manager will be closed on error, with an epitaph provided on failure reason.
ZX_ERR_NOT_SUPPORTED indicates lack of support and configuration A is always booted from.
Sourcepub fn find_sysconfig(
&self,
sysconfig: ServerEnd<SysconfigMarker>,
) -> Result<(), Error>
pub fn find_sysconfig( &self, sysconfig: ServerEnd<SysconfigMarker>, ) -> Result<(), Error>
Find Sysconfig service.
Trait Implementations§
Source§impl Clone for PaverProxy
impl Clone for PaverProxy
Source§impl Debug for PaverProxy
impl Debug for PaverProxy
Source§impl PaverProxyInterface for PaverProxy
impl PaverProxyInterface for PaverProxy
fn find_data_sink( &self, data_sink: ServerEnd<DataSinkMarker>, ) -> Result<(), Error>
fn open_partition_io( &self, block_dir: ClientEnd<DirectoryMarker>, partition_io: ServerEnd<PartitionIoMarker>, ) -> Result<(), Error>
fn find_partition_table_manager( &self, data_sink: ServerEnd<DynamicDataSinkMarker>, ) -> Result<(), Error>
fn find_boot_manager( &self, boot_manager: ServerEnd<BootManagerMarker>, ) -> Result<(), Error>
fn find_sysconfig( &self, sysconfig: ServerEnd<SysconfigMarker>, ) -> Result<(), Error>
Source§impl Proxy for PaverProxy
impl Proxy for PaverProxy
Source§type Protocol = PaverMarker
type Protocol = PaverMarker
Proxy controls.