pub struct SessionSynchronousProxy { /* private fields */ }Implementations§
Source§impl SessionSynchronousProxy
impl SessionSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<SessionEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<SessionEvent, 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 read32(
&self,
resource: u32,
offset: u64,
___deadline: MonotonicInstant,
) -> Result<SessionRead32Result, Error>
pub fn read32( &self, resource: u32, offset: u64, ___deadline: MonotonicInstant, ) -> Result<SessionRead32Result, Error>
One policy-checked, audited 32-bit read.
Sourcepub fn snapshot(
&self,
items: &[SnapshotItem],
___deadline: MonotonicInstant,
) -> Result<SessionSnapshotResult, Error>
pub fn snapshot( &self, items: &[SnapshotItem], ___deadline: MonotonicInstant, ) -> Result<SessionSnapshotResult, Error>
Bounded snapshot: every item is validated before the first read.
Sourcepub fn read_audit(
&self,
cursor: u64,
limit: u32,
___deadline: MonotonicInstant,
) -> Result<(Vec<AuditEntry>, bool, u64, u64), Error>
pub fn read_audit( &self, cursor: u64, limit: u32, ___deadline: MonotonicInstant, ) -> Result<(Vec<AuditEntry>, bool, u64, u64), Error>
Reads a bounded audit page so the host can drain incrementally and detect gaps.
Sourcepub fn write32(
&self,
resource: u32,
offset: u64,
value: u32,
write_mask: u32,
precondition: Option<&WritePrecondition>,
readback: bool,
___deadline: MonotonicInstant,
) -> Result<SessionWrite32Result, Error>
pub fn write32( &self, resource: u32, offset: u64, value: u32, write_mask: u32, precondition: Option<&WritePrecondition>, readback: bool, ___deadline: MonotonicInstant, ) -> Result<SessionWrite32Result, Error>
One policy-checked, audited 32-bit write with optional precondition, read-modify-write, barrier, and readback.
Sourcepub fn poll32(
&self,
resource: u32,
offset: u64,
expected: u32,
mask: u32,
interval_ns: i64,
timeout_ns: i64,
___deadline: MonotonicInstant,
) -> Result<SessionPoll32Result, Error>
pub fn poll32( &self, resource: u32, offset: u64, expected: u32, mask: u32, interval_ns: i64, timeout_ns: i64, ___deadline: MonotonicInstant, ) -> Result<SessionPoll32Result, Error>
Repeated bounded read until (value & mask) == (expected & mask) or timeout. Uses asynchronous timers on the driver dispatcher.
Sourcepub fn execute_sequence(
&self,
items: &[SequenceItem],
___deadline: MonotonicInstant,
) -> Result<SessionExecuteSequenceResult, Error>
pub fn execute_sequence( &self, items: &[SequenceItem], ___deadline: MonotonicInstant, ) -> Result<SessionExecuteSequenceResult, Error>
Bounded ordered sequence of operations. Whole-sequence validation occurs before any hardware operation begins.
Sourcepub fn gpio_read(
&self,
resource: u32,
___deadline: MonotonicInstant,
) -> Result<SessionGpioReadResult, Error>
pub fn gpio_read( &self, resource: u32, ___deadline: MonotonicInstant, ) -> Result<SessionGpioReadResult, Error>
One policy-checked, audited GPIO read.
Sourcepub fn gpio_write(
&self,
resource: u32,
value: bool,
___deadline: MonotonicInstant,
) -> Result<SessionGpioWriteResult, Error>
pub fn gpio_write( &self, resource: u32, value: bool, ___deadline: MonotonicInstant, ) -> Result<SessionGpioWriteResult, Error>
One policy-checked, audited GPIO write. Requires mutation lease.
Sourcepub fn i2c_transfer(
&self,
resource: u32,
write_data: &[u8],
read_length: u32,
___deadline: MonotonicInstant,
) -> Result<SessionI2cTransferResult, Error>
pub fn i2c_transfer( &self, resource: u32, write_data: &[u8], read_length: u32, ___deadline: MonotonicInstant, ) -> Result<SessionI2cTransferResult, Error>
One policy-checked, audited I2C transfer. Non-empty write requires mutation lease.
Sourcepub fn spi_transmit(
&self,
resource: u32,
tx_data: &[u8],
___deadline: MonotonicInstant,
) -> Result<SessionSpiTransmitResult, Error>
pub fn spi_transmit( &self, resource: u32, tx_data: &[u8], ___deadline: MonotonicInstant, ) -> Result<SessionSpiTransmitResult, Error>
One policy-checked, audited SPI transmit. Requires mutation lease.
Sourcepub fn open_gpio(
&self,
resource: u32,
endpoint: ServerEnd<GpioEndpointMarker>,
___deadline: MonotonicInstant,
) -> Result<SessionOpenGpioResult, Error>
pub fn open_gpio( &self, resource: u32, endpoint: ServerEnd<GpioEndpointMarker>, ___deadline: MonotonicInstant, ) -> Result<SessionOpenGpioResult, Error>
Opens a typed GPIO endpoint bound to this session.
Sourcepub fn open_i2c(
&self,
resource: u32,
endpoint: ServerEnd<I2cEndpointMarker>,
___deadline: MonotonicInstant,
) -> Result<SessionOpenI2cResult, Error>
pub fn open_i2c( &self, resource: u32, endpoint: ServerEnd<I2cEndpointMarker>, ___deadline: MonotonicInstant, ) -> Result<SessionOpenI2cResult, Error>
Opens a typed I2C endpoint bound to this session.
Sourcepub fn open_spi(
&self,
resource: u32,
endpoint: ServerEnd<SpiEndpointMarker>,
___deadline: MonotonicInstant,
) -> Result<SessionOpenSpiResult, Error>
pub fn open_spi( &self, resource: u32, endpoint: ServerEnd<SpiEndpointMarker>, ___deadline: MonotonicInstant, ) -> Result<SessionOpenSpiResult, Error>
Opens a typed SPI endpoint bound to this session.
Sourcepub fn wait_for_interrupt(
&self,
resource: u32,
after_sequence: u64,
timeout_ns: i64,
___deadline: MonotonicInstant,
) -> Result<SessionWaitForInterruptResult, Error>
pub fn wait_for_interrupt( &self, resource: u32, after_sequence: u64, timeout_ns: i64, ___deadline: MonotonicInstant, ) -> Result<SessionWaitForInterruptResult, Error>
Observes an interrupt event. Bounded hanging request that yields when
the interrupt sequence exceeds after_sequence or upon timeout.
Sourcepub fn clock_enable(
&self,
resource: u32,
___deadline: MonotonicInstant,
) -> Result<SessionClockEnableResult, Error>
pub fn clock_enable( &self, resource: u32, ___deadline: MonotonicInstant, ) -> Result<SessionClockEnableResult, Error>
One policy-checked, audited Clock enable. Requires mutation lease.
Sourcepub fn clock_disable(
&self,
resource: u32,
___deadline: MonotonicInstant,
) -> Result<SessionClockDisableResult, Error>
pub fn clock_disable( &self, resource: u32, ___deadline: MonotonicInstant, ) -> Result<SessionClockDisableResult, Error>
One policy-checked, audited Clock disable. Requires mutation lease.
Sourcepub fn clock_is_enabled(
&self,
resource: u32,
___deadline: MonotonicInstant,
) -> Result<SessionClockIsEnabledResult, Error>
pub fn clock_is_enabled( &self, resource: u32, ___deadline: MonotonicInstant, ) -> Result<SessionClockIsEnabledResult, Error>
One policy-checked, audited Clock is_enabled query.
Sourcepub fn clock_set_rate(
&self,
resource: u32,
hz: u64,
___deadline: MonotonicInstant,
) -> Result<SessionClockSetRateResult, Error>
pub fn clock_set_rate( &self, resource: u32, hz: u64, ___deadline: MonotonicInstant, ) -> Result<SessionClockSetRateResult, Error>
One policy-checked, audited Clock set_rate. Requires mutation lease.
Sourcepub fn clock_query_rate(
&self,
resource: u32,
hz_in: u64,
___deadline: MonotonicInstant,
) -> Result<SessionClockQueryRateResult, Error>
pub fn clock_query_rate( &self, resource: u32, hz_in: u64, ___deadline: MonotonicInstant, ) -> Result<SessionClockQueryRateResult, Error>
One policy-checked, audited Clock query_supported_rate query.
Sourcepub fn clock_get_rate(
&self,
resource: u32,
___deadline: MonotonicInstant,
) -> Result<SessionClockGetRateResult, Error>
pub fn clock_get_rate( &self, resource: u32, ___deadline: MonotonicInstant, ) -> Result<SessionClockGetRateResult, Error>
One policy-checked, audited Clock get_rate query.
Sourcepub fn reset_assert(
&self,
resource: u32,
___deadline: MonotonicInstant,
) -> Result<SessionResetAssertResult, Error>
pub fn reset_assert( &self, resource: u32, ___deadline: MonotonicInstant, ) -> Result<SessionResetAssertResult, Error>
One policy-checked, audited Reset assert. Requires mutation lease.
Sourcepub fn reset_deassert(
&self,
resource: u32,
___deadline: MonotonicInstant,
) -> Result<SessionResetDeassertResult, Error>
pub fn reset_deassert( &self, resource: u32, ___deadline: MonotonicInstant, ) -> Result<SessionResetDeassertResult, Error>
One policy-checked, audited Reset deassert. Requires mutation lease.
Sourcepub fn reset_toggle(
&self,
resource: u32,
___deadline: MonotonicInstant,
) -> Result<SessionResetToggleResult, Error>
pub fn reset_toggle( &self, resource: u32, ___deadline: MonotonicInstant, ) -> Result<SessionResetToggleResult, Error>
One policy-checked, audited Reset toggle. Requires mutation lease.
Sourcepub fn reset_status(
&self,
resource: u32,
___deadline: MonotonicInstant,
) -> Result<SessionResetStatusResult, Error>
pub fn reset_status( &self, resource: u32, ___deadline: MonotonicInstant, ) -> Result<SessionResetStatusResult, Error>
One policy-checked, audited Reset status query.
Sourcepub fn serial_read(
&self,
resource: u32,
___deadline: MonotonicInstant,
) -> Result<SessionSerialReadResult, Error>
pub fn serial_read( &self, resource: u32, ___deadline: MonotonicInstant, ) -> Result<SessionSerialReadResult, Error>
One policy-checked, audited Serial read.
Sourcepub fn serial_write(
&self,
resource: u32,
data: &[u8],
___deadline: MonotonicInstant,
) -> Result<SessionSerialWriteResult, Error>
pub fn serial_write( &self, resource: u32, data: &[u8], ___deadline: MonotonicInstant, ) -> Result<SessionSerialWriteResult, Error>
One policy-checked, audited Serial write. Requires mutation lease.
Trait Implementations§
Source§impl Debug for SessionSynchronousProxy
impl Debug for SessionSynchronousProxy
Source§impl From<Channel> for SessionSynchronousProxy
Available on Fuchsia only.
impl From<Channel> for SessionSynchronousProxy
Source§impl From<SessionSynchronousProxy> for NullableHandle
Available on Fuchsia only.
impl From<SessionSynchronousProxy> for NullableHandle
Source§fn from(value: SessionSynchronousProxy) -> Self
fn from(value: SessionSynchronousProxy) -> Self
Source§impl FromClient for SessionSynchronousProxy
Available on Fuchsia only.
impl FromClient for SessionSynchronousProxy
Source§type Protocol = SessionMarker
type Protocol = SessionMarker
Source§fn from_client(value: ClientEnd<SessionMarker>) -> Self
fn from_client(value: ClientEnd<SessionMarker>) -> Self
Source§impl SynchronousProxy for SessionSynchronousProxy
Available on Fuchsia only.
impl SynchronousProxy for SessionSynchronousProxy
Source§type Proxy = SessionProxy
type Proxy = SessionProxy
Source§type Protocol = SessionMarker
type Protocol = SessionMarker
Proxy controls.