openEvents method

  1. @override
Future<GpioEventReader> openEvents(
  1. int fd
)
override

Opens a stream of raw edge events for a line-request descriptor.

Behind the seam like every other syscall, so a test can supply events without a kernel, a chip, or a spawned isolate.

Implementation

@override
Future<GpioEventReader> openEvents(int fd) async {
  final request = _requestFds[fd];
  if (request == null) {
    throw StateError('no such request descriptor: $fd');
  }
  final reader = _FakeEvents(request);
  _eventReaders[fd] = reader;
  request.chip.onEdge = _emit;
  return reader.asReader();
}