using System.Net.Quic; namespace Meum.Core; public static class QuicExtensions { public static async Task AcceptStreamAsync(this QuicConnection conn, QuicStreamType streamType, CancellationToken ct = default) { var s = await conn.AcceptInboundStreamAsync(ct); if (s.Type != streamType) throw new Exception($"Accepted stream type is invalid: {s.Type} instead of {streamType}"); var w = new QuicStreamWrapper(s); return w; } public static async Task OpenStreamAsync(this QuicConnection conn, QuicStreamType streamType, CancellationToken ct = default) { var s = await conn.OpenOutboundStreamAsync(streamType, ct); var w = new QuicStreamWrapper(s); return w; } }