async ValueTask <string> WritePing(PipeWriter writer, int i)
        {
            var s = PINGPONGPREFIX + "PING:" + i;

            PipeTextWriter.Write(writer, s, Encoding.UTF8);
            PipeTextWriter.Write(writer, "\n", Encoding.UTF8);
            await writer.FlushAsync();

            return(s);
        }
        public async Task Basic_Pipelines_Text_PingPong()
        {
            Log.DebugLog();
            var tuple = CreateConnectedSocketPair();

            using (var client = tuple.Item1)
                using (var server = tuple.Item2)
                {
                    var clientPipe = SocketConnection.Create(client, InlineReceive, InlineSend, name: "socket client");
                    var serverPipe = SocketConnection.Create(server, InlineReceive, InlineSend, name: "socket server");

                    var enc = Encoding.UTF8;
                    await PingPong(
                        PipeTextReader.Create(clientPipe.Input, enc),
                        PipeTextWriter.Create(clientPipe.Output, enc),
                        PipeTextReader.Create(serverPipe.Input, enc),
                        PipeTextWriter.Create(serverPipe.Output, enc),
                        LoopCount);
                }
            Log.DebugLog("All good!");
        }