Stream.ReadAtLeastAsync メソッド

定義

現在のストリームから少なくとも最小バイト数を非同期に読み取り、読み取ったバイト数だけストリーム内の位置を進め、キャンセル要求を監視します。

public System.Threading.Tasks.ValueTask<int> ReadAtLeastAsync(Memory<byte> buffer, int minimumBytes, bool throwOnEndOfStream = true, System.Threading.CancellationToken cancellationToken = default);
member this.ReadAtLeastAsync : Memory<byte> * int * bool * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReadAtLeastAsync (buffer As Memory(Of Byte), minimumBytes As Integer, Optional throwOnEndOfStream As Boolean = true, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

パラメーター

buffer
Memory<Byte>

データを書き込むメモリの領域。

minimumBytes
Int32

バッファーに読み込む最小バイト数。

throwOnEndOfStream
Boolean

trueストリームの末尾がバイト数のminimumBytesを読み取る前に到達した場合に例外をスローする場合は a0/>。ストリームの末尾に達したときにminimumBytes未満を返すfalse。 既定値は true です。

cancellationToken
CancellationToken

キャンセル要求を監視するトークン。

返品

非同期読み取り操作を表すタスク。 Result プロパティの値には、バッファーに読み込まれる合計バイト数が含まれます。 これは、throwOnEndOfStreamtrueされるときに、minimumBytes以上であることが保証されます。 ストリームの末尾に達し、throwOnEndOfStreamfalse場合、これはminimumBytes未満になります。 この値は、バッファーに割り当てられているバイト数より小さい場合があります (そのバイト数が現在使用できない場合)。

例外

minimumBytes が負の値であるか、 bufferの長さを超えています。

throwOnEndOfStreamtrue され、ストリームの末尾に到達してから、 minimumBytes バイトのデータを読み取ります。

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

注釈

minimumBytesが 0 (ゼロ) の場合、ストリーム内の使用可能なデータを待たずに、この読み取り操作が完了します。

適用対象