Exemplo n.º 1
0
        public async Task Listener_DisposeCancelsAccept_Success()
        {
            await using ConnectionFactory factory = new MemoryConnectionFactory();
            await using ConnectionListener listener = await factory.ListenAsync();

            ValueTask<Connection?> acceptTask = listener.AcceptConnectionAsync();

            await listener.DisposeAsync();

            Connection? connection = await acceptTask;
            Assert.Null(connection);
        }
Exemplo n.º 2
0
        public async Task Listener_DisposeCancelsConnect_Success()
        {
            await using ConnectionFactory factory   = new MemoryConnectionFactory();
            await using ConnectionListener listener = await factory.ListenAsync();

            ValueTask <Connection> connectTask = factory.ConnectAsync(listener.EndPoint !);

            await listener.DisposeAsync();

            SocketException ex = await Assert.ThrowsAsync <SocketException>(async() =>
            {
                await using Connection connection = await connectTask;
            }).ConfigureAwait(false);

            Assert.Equal(SocketError.ConnectionRefused, ex.SocketErrorCode);
        }
Exemplo n.º 3
0
 public ValueTask DisposeAsync()
 {
     return(ConnectionListener.DisposeAsync());
 }
Exemplo n.º 4
0
 public override ValueTask DisposeAsync() =>
 _listener.DisposeAsync();