[번역] .Net의 새로운 IO API Pipelines

8개의 좋아요

본문 내용 중 ReadSomeDataAsync() 메서드에서 일부분 오류로 인해 작동하지 않습니다.

다음과 같이 수정하면 올바르게 작동합니다.

private static async ValueTask ReadSomeDataAsync(PipeReader reader)
{
  while (true)
  {
    ReadResult read = await reader.ReadAsync();
    ReadOnlySequence<byte> buffer = read.Buffer;

    if (buffer.IsEmpty && read.IsCompleted)
      break;

    foreach (ReadOnlyMemory<byte> segment in buffer)
    {
      var s = Encoding.ASCII.GetString(segment.Span);
      Console.WriteLine(s);
    }
    reader.AdvanceTo(buffer.End);
  }
}
5개의 좋아요