close method

  1. @override
Future<void> close()
override

Close the port.

Implementation

@override
Future<void> close() async {
  if (_isClosed) return;
  _isClosed = true;
  _pollTimer?.cancel();
  _pollTimer = null;
  final port = _port;
  if (port != null) {
    _bindings.spClose(port);
    _bindings.spFreePort(port);
    _port = null;
  }
  final buf = _readBuf;
  if (buf != null) {
    malloc.free(buf);
    _readBuf = null;
  }
  if (!_rxCtrl.isClosed) {
    await _rxCtrl.close();
  }
}