OneWayBinderInterface

interface OneWayBinderInterface : IInterface

Interface for binder interfaces that can use one way transaction.

Binder transactions are handled on the the binder thread pool. As such, one way transactions sent by a sender can be handled out of sequence. It just depends on the scheduling. Both the Stub and Proxy classes have utility functions for sending and receiving one way transactions. These one way transactions are extended with a sequence ID. This ID allows the SequencerReceiverHelper to run actions in the sequence as sent by the sender based on a sequence ID.

The size of any ongoing async binder transaction is limited by the binder kernel driver to 512 KB. To prevent hitting this limit, for 'large' transactions, a pipe is used to transmit the message.

This interface follows the standard binder interface structure.

See also

for one way transaction details.

Types

Link copied to clipboard
abstract class Proxy(remote: IBinder, binderContext: BinderContext) : OneWayBinderInterface

Used for sending one way transactions.

Link copied to clipboard
abstract class Stub(binderContext: BinderContext) : Binder, OneWayBinderInterface

Helper base class for receiving one way transactions.

Inherited functions

Link copied to clipboard
abstract fun asBinder(): IBinder

Inheritors

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard