308 throw new QuicException(
"No available unidirectional stream");
328 throw new QuicException(
"No available bidirectional stream");
389 long num = (
_isClient ? state._serverErrorCode :
state._clientErrorCode);
403 state._closed =
true;
439 while (
state._clientInitiatedStreamChannel.Reader.TryRead(
out item))
441 item._outboundReadErrorCode = (item._outboundWriteErrorCode =
outboundErrorCode);
443 item._outboundStreamBuffer?.EndWrite();
445 state._serverInitiatedStreamChannel.Writer.TryComplete();
447 while (
state._serverInitiatedStreamChannel.Reader.TryRead(
out item2))
449 item2._inboundReadErrorCode = (item2._inboundWriteErrorCode =
inboundErrorCode);
450 item2._outboundStreamBuffer?.AbortRead();
451 item2._inboundStreamBuffer?.EndWrite();
static void SuppressFinalize(object obj)
static readonly IPAddress Loopback
readonly SslApplicationProtocol _applicationProtocol
PeerStreamLimit _clientStreamLimit
readonly ConcurrentDictionary< long, MockStream.StreamState > _streams
readonly Channel< MockStream.StreamState > _serverInitiatedStreamChannel
readonly Channel< MockStream.StreamState > _clientInitiatedStreamChannel
ConnectionState(SslApplicationProtocol applicationProtocol)
PeerStreamLimit _serverStreamLimit
PeerStreamLimit(int maxUnidirectional, int maxBidirectional)
readonly StreamLimit Unidirectional
readonly StreamLimit Bidirectional
TaskCompletionSource _availableTcs
ValueTask WaitForAvailableStreams(CancellationToken cancellationToken)
readonly object _syncRoot
StreamLimit(int maxCount)
override QuicStreamProvider OpenBidirectionalStream()
long _nextOutboundUnidirectionalStream
override EndPoint RemoteEndPoint
IPEndPoint _localEndPoint
override ValueTask WaitForAvailableBidirectionalStreamsAsync(CancellationToken cancellationToken=default(CancellationToken))
PeerStreamLimit RemoteStreamLimit
override ValueTask WaitForAvailableUnidirectionalStreamsAsync(CancellationToken cancellationToken=default(CancellationToken))
void DrainAcceptQueue(long outboundErrorCode, long inboundErrorCode)
override ValueTask ConnectAsync(CancellationToken cancellationToken=default(CancellationToken))
void Dispose(bool disposing)
readonly int _maxUnidirectionalStreams
static IPEndPoint GetIPEndPoint(EndPoint endPoint)
PeerStreamLimit LocalStreamLimit
override IPEndPoint LocalEndPoint
override ValueTask CloseAsync(long errorCode, CancellationToken cancellationToken=default(CancellationToken))
MockConnection(EndPoint remoteEndPoint, SslClientAuthenticationOptions sslClientAuthenticationOptions, IPEndPoint localEndPoint=null, int maxUnidirectionalStreams=100, int maxBidirectionalStreams=100)
long _nextOutboundBidirectionalStream
override int GetRemoteAvailableBidirectionalStreamCount()
override async ValueTask< QuicStreamProvider > AcceptStreamAsync(CancellationToken cancellationToken=default(CancellationToken))
override SslApplicationProtocol NegotiatedApplicationProtocol
override int GetRemoteAvailableUnidirectionalStreamCount()
override X509Certificate RemoteCertificate
MockConnection(IPEndPoint localEndPoint, ConnectionState state)
override QuicStreamProvider OpenUnidirectionalStream()
MockStream OpenStream(long streamId, bool bidirectional)
readonly int _maxBidirectionalStreams
IPEndPoint _remoteEndPoint
SslClientAuthenticationOptions _sslClientAuthenticationOptions
static MockListener TryGetListener(IPEndPoint endpoint)
StreamBuffer _inboundStreamBuffer
List< SslApplicationProtocol >? ApplicationProtocols
static Exception SetCurrentStackTrace(Exception source)
void SetException(Exception exception)
static ValueTask CompletedTask