pub struct SessionProxy { /* private fields */ }Implementations§
Source§impl SessionProxy
impl SessionProxy
Sourcepub fn take_event_stream(&self) -> SessionEventStream
pub fn take_event_stream(&self) -> SessionEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn read32(
&self,
resource: u32,
offset: u64,
) -> QueryResponseFut<SessionRead32Result, DefaultFuchsiaResourceDialect> ⓘ
pub fn read32( &self, resource: u32, offset: u64, ) -> QueryResponseFut<SessionRead32Result, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited 32-bit read.
Sourcepub fn snapshot(
&self,
items: &[SnapshotItem],
) -> QueryResponseFut<SessionSnapshotResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn snapshot( &self, items: &[SnapshotItem], ) -> QueryResponseFut<SessionSnapshotResult, DefaultFuchsiaResourceDialect> ⓘ
Bounded snapshot: every item is validated before the first read.
Sourcepub fn read_audit(
&self,
cursor: u64,
limit: u32,
) -> QueryResponseFut<(Vec<AuditEntry>, bool, u64, u64), DefaultFuchsiaResourceDialect> ⓘ
pub fn read_audit( &self, cursor: u64, limit: u32, ) -> QueryResponseFut<(Vec<AuditEntry>, bool, u64, u64), DefaultFuchsiaResourceDialect> ⓘ
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,
) -> QueryResponseFut<SessionWrite32Result, DefaultFuchsiaResourceDialect> ⓘ
pub fn write32( &self, resource: u32, offset: u64, value: u32, write_mask: u32, precondition: Option<&WritePrecondition>, readback: bool, ) -> QueryResponseFut<SessionWrite32Result, DefaultFuchsiaResourceDialect> ⓘ
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,
) -> QueryResponseFut<SessionPoll32Result, DefaultFuchsiaResourceDialect> ⓘ
pub fn poll32( &self, resource: u32, offset: u64, expected: u32, mask: u32, interval_ns: i64, timeout_ns: i64, ) -> QueryResponseFut<SessionPoll32Result, DefaultFuchsiaResourceDialect> ⓘ
Repeated bounded read until (value & mask) == (expected & mask) or timeout. Uses asynchronous timers on the driver dispatcher.
Sourcepub fn execute_sequence(
&self,
items: &[SequenceItem],
) -> QueryResponseFut<SessionExecuteSequenceResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn execute_sequence( &self, items: &[SequenceItem], ) -> QueryResponseFut<SessionExecuteSequenceResult, DefaultFuchsiaResourceDialect> ⓘ
Bounded ordered sequence of operations. Whole-sequence validation occurs before any hardware operation begins.
Sourcepub fn gpio_read(
&self,
resource: u32,
) -> QueryResponseFut<SessionGpioReadResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn gpio_read( &self, resource: u32, ) -> QueryResponseFut<SessionGpioReadResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited GPIO read.
Sourcepub fn gpio_write(
&self,
resource: u32,
value: bool,
) -> QueryResponseFut<SessionGpioWriteResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn gpio_write( &self, resource: u32, value: bool, ) -> QueryResponseFut<SessionGpioWriteResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited GPIO write. Requires mutation lease.
Sourcepub fn i2c_transfer(
&self,
resource: u32,
write_data: &[u8],
read_length: u32,
) -> QueryResponseFut<SessionI2cTransferResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn i2c_transfer( &self, resource: u32, write_data: &[u8], read_length: u32, ) -> QueryResponseFut<SessionI2cTransferResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited I2C transfer. Non-empty write requires mutation lease.
Sourcepub fn spi_transmit(
&self,
resource: u32,
tx_data: &[u8],
) -> QueryResponseFut<SessionSpiTransmitResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn spi_transmit( &self, resource: u32, tx_data: &[u8], ) -> QueryResponseFut<SessionSpiTransmitResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited SPI transmit. Requires mutation lease.
Sourcepub fn open_gpio(
&self,
resource: u32,
endpoint: ServerEnd<GpioEndpointMarker>,
) -> QueryResponseFut<SessionOpenGpioResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn open_gpio( &self, resource: u32, endpoint: ServerEnd<GpioEndpointMarker>, ) -> QueryResponseFut<SessionOpenGpioResult, DefaultFuchsiaResourceDialect> ⓘ
Opens a typed GPIO endpoint bound to this session.
Sourcepub fn open_i2c(
&self,
resource: u32,
endpoint: ServerEnd<I2cEndpointMarker>,
) -> QueryResponseFut<SessionOpenI2cResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn open_i2c( &self, resource: u32, endpoint: ServerEnd<I2cEndpointMarker>, ) -> QueryResponseFut<SessionOpenI2cResult, DefaultFuchsiaResourceDialect> ⓘ
Opens a typed I2C endpoint bound to this session.
Sourcepub fn open_spi(
&self,
resource: u32,
endpoint: ServerEnd<SpiEndpointMarker>,
) -> QueryResponseFut<SessionOpenSpiResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn open_spi( &self, resource: u32, endpoint: ServerEnd<SpiEndpointMarker>, ) -> QueryResponseFut<SessionOpenSpiResult, DefaultFuchsiaResourceDialect> ⓘ
Opens a typed SPI endpoint bound to this session.
Sourcepub fn wait_for_interrupt(
&self,
resource: u32,
after_sequence: u64,
timeout_ns: i64,
) -> QueryResponseFut<SessionWaitForInterruptResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn wait_for_interrupt( &self, resource: u32, after_sequence: u64, timeout_ns: i64, ) -> QueryResponseFut<SessionWaitForInterruptResult, DefaultFuchsiaResourceDialect> ⓘ
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,
) -> QueryResponseFut<SessionClockEnableResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn clock_enable( &self, resource: u32, ) -> QueryResponseFut<SessionClockEnableResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited Clock enable. Requires mutation lease.
Sourcepub fn clock_disable(
&self,
resource: u32,
) -> QueryResponseFut<SessionClockDisableResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn clock_disable( &self, resource: u32, ) -> QueryResponseFut<SessionClockDisableResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited Clock disable. Requires mutation lease.
Sourcepub fn clock_is_enabled(
&self,
resource: u32,
) -> QueryResponseFut<SessionClockIsEnabledResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn clock_is_enabled( &self, resource: u32, ) -> QueryResponseFut<SessionClockIsEnabledResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited Clock is_enabled query.
Sourcepub fn clock_set_rate(
&self,
resource: u32,
hz: u64,
) -> QueryResponseFut<SessionClockSetRateResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn clock_set_rate( &self, resource: u32, hz: u64, ) -> QueryResponseFut<SessionClockSetRateResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited Clock set_rate. Requires mutation lease.
Sourcepub fn clock_query_rate(
&self,
resource: u32,
hz_in: u64,
) -> QueryResponseFut<SessionClockQueryRateResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn clock_query_rate( &self, resource: u32, hz_in: u64, ) -> QueryResponseFut<SessionClockQueryRateResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited Clock query_supported_rate query.
Sourcepub fn clock_get_rate(
&self,
resource: u32,
) -> QueryResponseFut<SessionClockGetRateResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn clock_get_rate( &self, resource: u32, ) -> QueryResponseFut<SessionClockGetRateResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited Clock get_rate query.
Sourcepub fn reset_assert(
&self,
resource: u32,
) -> QueryResponseFut<SessionResetAssertResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn reset_assert( &self, resource: u32, ) -> QueryResponseFut<SessionResetAssertResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited Reset assert. Requires mutation lease.
Sourcepub fn reset_deassert(
&self,
resource: u32,
) -> QueryResponseFut<SessionResetDeassertResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn reset_deassert( &self, resource: u32, ) -> QueryResponseFut<SessionResetDeassertResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited Reset deassert. Requires mutation lease.
Sourcepub fn reset_toggle(
&self,
resource: u32,
) -> QueryResponseFut<SessionResetToggleResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn reset_toggle( &self, resource: u32, ) -> QueryResponseFut<SessionResetToggleResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited Reset toggle. Requires mutation lease.
Sourcepub fn reset_status(
&self,
resource: u32,
) -> QueryResponseFut<SessionResetStatusResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn reset_status( &self, resource: u32, ) -> QueryResponseFut<SessionResetStatusResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited Reset status query.
Sourcepub fn serial_read(
&self,
resource: u32,
) -> QueryResponseFut<SessionSerialReadResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn serial_read( &self, resource: u32, ) -> QueryResponseFut<SessionSerialReadResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited Serial read.
Sourcepub fn serial_write(
&self,
resource: u32,
data: &[u8],
) -> QueryResponseFut<SessionSerialWriteResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn serial_write( &self, resource: u32, data: &[u8], ) -> QueryResponseFut<SessionSerialWriteResult, DefaultFuchsiaResourceDialect> ⓘ
One policy-checked, audited Serial write. Requires mutation lease.
Trait Implementations§
Source§impl Clone for SessionProxy
impl Clone for SessionProxy
Source§impl Debug for SessionProxy
impl Debug for SessionProxy
Source§impl Proxy for SessionProxy
impl Proxy for SessionProxy
Source§type Protocol = SessionMarker
type Protocol = SessionMarker
Proxy controls.