close method

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

Close stops the holepunch service.

Implementation

@override
Future<void> close() async {
  _ctxCancel.complete();

  await _holePuncherMutex.synchronized(() {
    if (_holePuncher != null) {
      return _holePuncher!.close();
    }
  });

  _tracer?.close();
  _host.removeStreamHandler(protocolId);

  await _refCount.future;
  _ctx.complete();
  return _ctx.future;
}