pub struct BinderSynchronousProxy { /* private fields */ }Implementations§
Source§impl BinderSynchronousProxy
impl BinderSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<BinderEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<BinderEvent, 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 set_vmo(&self, vmo: Vmo, mapped_address: u64) -> Result<(), Error>
pub fn set_vmo(&self, vmo: Vmo, mapped_address: u64) -> Result<(), Error>
Set the VMO to used as a share resource between the driver and the
client. mapped_address is the address where the vmo is mapped in the
client address space.
The driver handles the other requests of the client concurrently, so it
can handle an ioctl before the VMO is mapped. Clients should use
MapVmo instead.
Sourcepub fn map_vmo(
&self,
vmo: Vmo,
mapped_address: u64,
___deadline: MonotonicInstant,
) -> Result<BinderMapVmoResult, Error>
pub fn map_vmo( &self, vmo: Vmo, mapped_address: u64, ___deadline: MonotonicInstant, ) -> Result<BinderMapVmoResult, Error>
Maps the VMO used as a shared resource between the driver and the
client. mapped_address is the address where the VMO is mapped in the
client address space.
Responds once the VMO is mapped. The driver handles the other requests of the client concurrently, so the client must wait for the response before sending any ioctl that needs the VMO.
Sourcepub fn ioctl(
&self,
tid: u64,
request: u32,
arg: u64,
vmo: Vmo,
ioctl_reads: &[IoctlReadWrite],
files: Vec<FileHandle>,
___deadline: MonotonicInstant,
) -> Result<BinderIoctlResult, Error>
pub fn ioctl( &self, tid: u64, request: u32, arg: u64, vmo: Vmo, ioctl_reads: &[IoctlReadWrite], files: Vec<FileHandle>, ___deadline: MonotonicInstant, ) -> Result<BinderIoctlResult, Error>
Processes a Binder ioctl. This message returns writes for the calling thread that must be processed to correctly handle the ioctl.
Sourcepub fn register_thread_channel(
&self,
server_end: ServerEnd<BinderThreadMarker>,
___deadline: MonotonicInstant,
) -> Result<BinderRegisterThreadChannelResult, Error>
pub fn register_thread_channel( &self, server_end: ServerEnd<BinderThreadMarker>, ___deadline: MonotonicInstant, ) -> Result<BinderRegisterThreadChannelResult, Error>
Registers a dedicated 1:1 channel for synchronous Binder transactions.
Trait Implementations§
Source§impl Debug for BinderSynchronousProxy
impl Debug for BinderSynchronousProxy
Source§impl From<BinderSynchronousProxy> for NullableHandle
Available on Fuchsia only.
impl From<BinderSynchronousProxy> for NullableHandle
Source§fn from(value: BinderSynchronousProxy) -> Self
fn from(value: BinderSynchronousProxy) -> Self
Source§impl From<Channel> for BinderSynchronousProxy
Available on Fuchsia only.
impl From<Channel> for BinderSynchronousProxy
Source§impl FromClient for BinderSynchronousProxy
Available on Fuchsia only.
impl FromClient for BinderSynchronousProxy
Source§type Protocol = BinderMarker
type Protocol = BinderMarker
Source§fn from_client(value: ClientEnd<BinderMarker>) -> Self
fn from_client(value: ClientEnd<BinderMarker>) -> Self
Source§impl SynchronousProxy for BinderSynchronousProxy
Available on Fuchsia only.
impl SynchronousProxy for BinderSynchronousProxy
Source§type Proxy = BinderProxy
type Proxy = BinderProxy
Source§type Protocol = BinderMarker
type Protocol = BinderMarker
Proxy controls.