pub struct ControllerSynchronousProxy { /* private fields */ }
Implementations§
Source§impl ControllerSynchronousProxy
impl ControllerSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<ControllerEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<ControllerEvent, 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 setup(
&self,
device_label: &str,
device_path: Option<&str>,
seed: u64,
___deadline: MonotonicInstant,
) -> Result<ControllerSetupResult, Error>
pub fn setup( &self, device_label: &str, device_path: Option<&str>, seed: u64, ___deadline: MonotonicInstant, ) -> Result<ControllerSetupResult, Error>
Run the setup step for this test. Often, this involves formatting the filesystem of choice onto the block device, and perhaps setting up a base of files to work with.
Sourcepub fn test(
&self,
device_label: &str,
device_path: Option<&str>,
seed: u64,
duration: u64,
___deadline: MonotonicInstant,
) -> Result<ControllerTestResult, Error>
pub fn test( &self, device_label: &str, device_path: Option<&str>, seed: u64, duration: u64, ___deadline: MonotonicInstant, ) -> Result<ControllerTestResult, Error>
Run the test step for this test. This kicks off the load generation algorithm for this test, which will run indefinitely. It’s expected that this load will be interrupted by a power cycle. If the provided duration is non-zero, this protocol will return after approximately that amount of time, but the load will continue to run. If the duration provided is zero, then the test will return when it’s done, which for a lot of normal blackout tests might be never.
Sourcepub fn verify(
&self,
device_label: &str,
device_path: Option<&str>,
seed: u64,
___deadline: MonotonicInstant,
) -> Result<ControllerVerifyResult, Error>
pub fn verify( &self, device_label: &str, device_path: Option<&str>, seed: u64, ___deadline: MonotonicInstant, ) -> Result<ControllerVerifyResult, Error>
Run the verify step for this test. Most of the time it involves running fsck on the block device and returning the result.
Trait Implementations§
Source§impl Debug for ControllerSynchronousProxy
impl Debug for ControllerSynchronousProxy
Source§impl SynchronousProxy for ControllerSynchronousProxy
impl SynchronousProxy for ControllerSynchronousProxy
Source§type Proxy = ControllerProxy
type Proxy = ControllerProxy
Source§type Protocol = ControllerMarker
type Protocol = ControllerMarker
Proxy
controls.