class FakeEndpoint

Defined at line 28 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

FakeEndpoint generally should not be used unless accessed from FakeUsbFidlProvider, but may be

overridden for specific use-cases.

Protected Members

optional binding_ref_
mutex lock_
queue expected_get_info_
vector requests_
queue completions_
unordered_map vmos_
optional next_cancel_status_
size_t next_cancel_transfer_size_
bool enabled_

Public Methods

void ~FakeEndpoint ()

Defined at line 30 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

void Connect (async_dispatcher_t * dispatcher, fidl::ServerEnd<fuchsia_hardware_usb_endpoint::Endpoint> server)

Defined at line 36 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

void RequestComplete (zx_status_t status, size_t actual)

RequestComplete: responds to the next request. If there are any requests in the request queue,

respond to that. If not, save this response and respond with the next incoming request.

Defined at line 44 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

void RequestComplete (zx_status_t status, std::vector<uint8_t> data)

Defined at line 48 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

void GetInfo (GetInfoCompleter::Sync & completer)

GetInfo: responds according to previous calls of ExpectGetInfo() and returns

* error status: if previous call of ExpectedGetInfo() indicated that the status to return is

not ZX_OK

* info: if previous call of ExpectedGetInfo() indicated that the status to return is ZX_OK,

returns the info from ExpectedGetInfo()

Defined at line 57 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

void QueueRequests (QueueRequestsRequest & request, QueueRequestsCompleter::Sync & completer)

QueueRequests: adds requests to a queue, which will be replied to when RequestComplete() is

called or if there is already a completion saved from before.

Defined at line 71 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

void CancelAll (CancelAllCompleter::Sync & completer)

Defined at line 110 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

void SetNextCancelStatus (zx_status_t status, size_t transfer_size)

Defined at line 125 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

void SetEnabled (bool enabled)

Defined at line 131 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

void DisableAndCancelAll ()

Defined at line 136 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

void RegisterVmos (RegisterVmosRequest & request, RegisterVmosCompleter::Sync & completer)

RegisterVmos: creates VMOs on demand.

Defined at line 151 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

void UnregisterVmos (UnregisterVmosRequest & request, UnregisterVmosCompleter::Sync & completer)

UnregisterVmos: succeeds without checking anything.

Defined at line 175 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

void ExpectGetInfo (zx_status_t status, fuchsia_hardware_usb_endpoint::EndpointInfo info)

ExpectGetInfo

* status: status to return on GetInfo()

* info: if status is ZX_OK, return this info.

Defined at line 194 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

size_t pending_request_count ()

Defined at line 199 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

zx::result<zx::vmo> GetVmo (fuchsia_hardware_usb_request::VmoId vmo_id)

Duplicates and returns a previously registered VMO with vmo_id.

Defined at line 205 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

zx::result<std::vector<uint8_t>> ReadPendingRequestData ()

Reads the value of the pending request at the front of the queue.

Defined at line 220 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

Protected Methods

void RequestCompleteAny (zx_status_t status, QueuedRequestComplete actual_or_data)

Defined at line 266 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

std::optional<fuchsia_hardware_usb_endpoint::Completion> RequestCompleteLocked (zx_status_t status, QueuedRequestComplete actual_or_data)

Defined at line 287 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h

std::vector<fuchsia_hardware_usb_endpoint::Completion> CancelAllLocked (bool is_disable)

Defined at line 357 of file ../../src/devices/usb/lib/usb-endpoint/testing/fake-usb-endpoint-server.h