Stream.ReadAtLeastAsync Método

Definição

O Assíncrono lê pelo menos um número mínimo de bytes do fluxo atual, avança a posição dentro do fluxo pelo número de bytes lidos e monitoriza pedidos de cancelamento.

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)

Parâmetros

buffer
Memory<Byte>

A região de memória onde se escrevem os dados.

minimumBytes
Int32

O número mínimo de bytes para ler no buffer.

throwOnEndOfStream
Boolean

true lançar uma exceção se o fim do fluxo for alcançado antes da leitura minimumBytes dos bytes; false devolver menos do que minimumBytes quando o fim do fluxo é atingido. A predefinição é true.

cancellationToken
CancellationToken

O token para monitorizar pedidos de cancelamento.

Devoluções

Uma tarefa que representa a operação de leitura assíncrona. O valor da sua Result propriedade contém o número total de bytes lidos no buffer. Isto é garantido como maior ou igual a minimumBytes quando throwOnEndOfStream é true. Isto será menor do que minimumBytes quando se atinge o fim do fluxo e throwOnEndOfStream é false. Isto pode ser inferior ao número de bytes alocados no buffer se esse número de bytes não estiver disponível atualmente.

Exceções

minimumBytes é negativo, ou é maior que o comprimento de buffer.

throwOnEndOfStream é true e o fim do fluxo é alcançado antes de ler minimumBytes bytes de dados.

O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.

Observações

Quando minimumBytes é 0 (zero), esta operação de leitura será concluída sem esperar pelos dados disponíveis no fluxo.

Aplica-se a