QuicListener constructor

QuicListener({
  1. required Stream<Libp2pQuicConnection> stream,
  2. required MultiAddr addr,
  3. required MultiAddr localAddr,
})

Creates a listener around stream.

Implementation

QuicListener({
  required Stream<quic_lib.Libp2pQuicConnection> stream,
  required libp2p.MultiAddr addr,
  required libp2p.MultiAddr localAddr,
})  : _stream = stream,
      _addr = addr,
      _localAddr = localAddr {
  _subscription = _stream.listen(
    (conn) {
      final adapter = QuicConnection(
        conn,
        localAddr: _localAddr,
        remoteAddr: _addr,
        isServer: true,
      );
      _pending.add(conn);
      _pendingController.add(adapter);
    },
    onError: (Object error) {
      _pendingController.addError(error);
    },
    onDone: () {
      if (!_pendingController.isClosed) {
        _pendingController.close();
      }
    },
  );
}