dispose method

  1. @override
Future dispose()
override

Call dispose before exiting your application to cleanup native resources. Returns a future that completes when cleanup has finished.

Implementation

@override
Future dispose() async {
  const timeout = Duration(seconds: 30);
  _sendPort.send(comm.disposeCmd());
  _rspHandler.disposeCompleter = Completer();
  await _rspHandler.disposeCompleter!.future.timeout(timeout, onTimeout: () {
    throw GpioException('dispose timeout');
  });
  await _cleanup();
}