class UsbAdbImpl

Defined at line 2148 of file fidling/gen/sdk/fidl/fuchsia.hardware.adb/fuchsia.hardware.adb/hlcpp/fuchsia/hardware/adb/cpp/fidl.h

USB ADB implementation protocol. The USB ADB driver would start serving this interface on the

server endpoint passed to a driver during Device::Start.

Public Methods

void ~UsbAdbImpl ()
void QueueTx (::std::vector<uint8_t> data, QueueTxCallback callback)

Request transmission of the packet in |data|.

Return status indicates transmission result:

ZX_OK: Packet has been transmitted over USB to the host.

ZX_ERR_INVALID_ARGS: |data| is empty.

ZX_ERR_BAD_STATE: USB ADB device is not in an online or waiting state (e.g. stopping).

ZX_ERR_IO: Low-level transport error submitting request to the USB endpoint.

ZX_ERR_CANCELED: Transmission was canceled prior to completion (e.g. driver reset or teardown).

void Receive (ReceiveCallback callback)

Request to receive data. This method ensures flow control by allowing the client to queue

|Receive| requests proactively. The driver will complete the requests only when data is

available.

Return data or error.

ZX_OK: Success. data is valid.

ZX_ERR_BAD_STATE: Subsequent requests will not succeed as well.

Other error codes are from underlying subsystem and the caller should retry |Receive| in

that case.