crateApiUsbUsbHandleReadInterrupt method

  1. @override
Stream<String> crateApiUsbUsbHandleReadInterrupt({
  1. required UsbHandle that,
  2. required int endpoint,
  3. required BigInt timeout,
})
override

Implementation

@override
Stream<String> crateApiUsbUsbHandleReadInterrupt(
    {required UsbHandle that,
    required int endpoint,
    required BigInt timeout}) {
  final listen = RustStreamSink<String>();
  handler.executeSync(SyncTask(
    callFfi: () {
      final serializer = SseSerializer(generalizedFrbRustBinding);
      sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUsbHandle(
          that, serializer);
      sse_encode_u_8(endpoint, serializer);
      sse_encode_u_64(timeout, serializer);
      sse_encode_StreamSink_String_Sse(listen, serializer);
      return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 2)!;
    },
    codec: SseCodec(
      decodeSuccessData: sse_decode_unit,
      decodeErrorData: null,
    ),
    constMeta: kCrateApiUsbUsbHandleReadInterruptConstMeta,
    argValues: [that, endpoint, timeout, listen],
    apiImpl: this,
  ));
  return listen.stream;
}