newStream method
- Context context
override
NewStream constructs a new Stream over this conn.
Implementation
@override
Future<libp2p.P2PStream> newStream(libp2p.Context context) async {
final quicConn = _delegate.quicConnection;
if (quicConn is! quic_lib.QuicConnection) {
throw StateError('Underlying QUIC connection is not a QuicConnection');
}
// Wait for the handshake to complete before opening a stream.
while (!quicConn.isEstablished) {
await Future.delayed(const Duration(milliseconds: 10));
}
final streamId = quicConn.openBidirectionalStream();
return QuicP2PStream(
this,
streamId,
libp2p.Direction.outbound,
'',
);
}