close method

  1. @override
Future<void> close([
  1. WebTransportCloseInfo? closeInfo
])
override

Closes the session.

Implementation

@override
Future<void> close([WebTransportCloseInfo? closeInfo]) async {
  final session = _session;
  if (session == null) {
    if (!_closed.isCompleted) {
      _closed.completeError(
        WebTransportException(
          b.wt_status_t.WT_ERR_NOT_CONNECTED.value,
          'the session was never established',
          operation: 'close',
        ),
      );
    }
    return;
  }
  await session.close(closeInfo);
  if (!_closed.isCompleted) _closed.complete();
}