accept method

  1. @override
Future<TransportConn?> accept()
override

Accepts an incoming connection Returns null if the listener is closed

Implementation

@override
Future<libp2p.TransportConn?> accept() async {
  if (_closed) return null;
  if (_pending.isNotEmpty) {
    final conn = _pending.removeAt(0);
    return QuicConnection(
      conn,
      localAddr: _localAddr,
      remoteAddr: _addr,
      isServer: true,
    );
  }
  try {
    final conn = await _stream.first;
    return QuicConnection(
      conn,
      localAddr: _localAddr,
      remoteAddr: _addr,
      isServer: true,
    );
  } on StateError {
    return null;
  }
}