createBidirectionalStream method

  1. @override
Future<WebTransportBidirectionalStream> createBidirectionalStream([
  1. WebTransportSendStreamOptions? options
])
override

Opens a reliable, ordered bidirectional stream.

Implementation

@override
Future<WebTransportBidirectionalStream> createBidirectionalStream([
  WebTransportSendStreamOptions? options,
]) async {
  _ensureAlive();
  final event = await nativeRuntime.oneShot(
    'wt_connection_open_bi',
    (opId) => b.wt_connection_open_bi(_connection, opId),
  );
  if (!event.isOk) throw event.exception('createBidirectionalStream');
  final send = NativeSendStream(event.handle.cast());
  send.sendOrder = options?.sendOrder;
  return _NativeBidirectionalStream(
    NativeReceiveStream(event.handle2.cast()),
    send,
  );
}