Stream.ReadAtLeastAsync Metoda

Definice

Asynchronně čte alespoň minimální počet bajtů z aktuálního datového proudu, posune pozici v rámci datového proudu o počet přečtených bajtů a monitoruje žádosti o zrušení.

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)

Parametry

buffer
Memory<Byte>

Oblast paměti pro zápis dat do.

minimumBytes
Int32

Minimální počet bajtů, které se mají číst do vyrovnávací paměti.

throwOnEndOfStream
Boolean

true vyvolání výjimky v případě, že se před čtením minimumBytes bajtů dosáhne konce datového proudu, false vrátí méně než minimumBytes při dosažení konce datového proudu. Výchozí hodnota je true.

cancellationToken
CancellationToken

Token pro monitorování žádostí o zrušení.

Návraty

Úloha, která představuje asynchronní operaci čtení. Hodnota jeho Result vlastnosti obsahuje celkový počet bajtů přečtených do vyrovnávací paměti. To je zaručeno, že je větší než nebo rovno minimumBytes , pokud throwOnEndOfStream je true. To bude menší než minimumBytes při dosažení konce datového proudu a throwOnEndOfStream bude false. To může být menší než počet bajtů přidělených v vyrovnávací paměti, pokud tento počet bajtů není aktuálně k dispozici.

Výjimky

minimumBytes je záporná nebo je větší než délka buffer.

throwOnEndOfStream je true a konec datového proudu je dosažen před čtením minimumBytes bajtů dat.

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Poznámky

Pokud minimumBytes je hodnota 0 (nula), bude tato operace čtení dokončena bez čekání na dostupná data ve streamu.

Platí pro