24 lines
833 B
C#
24 lines
833 B
C#
using System.Net.Quic;
|
|
|
|
namespace Meum.Core;
|
|
|
|
public static class QuicExtensions
|
|
{
|
|
public static async Task<QuicStreamWrapper> 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<QuicStreamWrapper> OpenStreamAsync(this QuicConnection conn,
|
|
QuicStreamType streamType, CancellationToken ct = default)
|
|
{
|
|
var s = await conn.OpenOutboundStreamAsync(streamType, ct);
|
|
var w = new QuicStreamWrapper(s);
|
|
return w;
|
|
}
|
|
} |