Akka.Streams.Tests.IO.TcpSpec.Outgoing_TCP_stream_must_shut_down_both_streams_when_connection_is_aborted_remotely C# (CSharp) Method

Outgoing_TCP_stream_must_shut_down_both_streams_when_connection_is_aborted_remotely() private method

        public void Outgoing_TCP_stream_must_shut_down_both_streams_when_connection_is_aborted_remotely()
        {
            this.AssertAllStagesStopped(() =>
            {
                // Client gets a PeerClosed event and does not know that the write side is also closed
                var server = new Server(this);

                var tcpWriteProbe = new TcpWriteProbe(this);
                var tcpReadProbe = new TcpReadProbe(this);

                Source.FromPublisher(tcpWriteProbe.PublisherProbe)
                    .Via(Sys.TcpStream().OutgoingConnection(server.Address))
                    .To(Sink.FromSubscriber(tcpReadProbe.SubscriberProbe))
                    .Run(Materializer);
                var serverConnection = server.WaitAccept();

                serverConnection.Abort();
                tcpReadProbe.SubscriberProbe.ExpectSubscriptionAndError();
                tcpWriteProbe.TcpWriteSubscription.Value.ExpectCancellation();

                serverConnection.ExpectTerminated();
            }, Materializer);
        }