Stream.ReadAtLeastAsync Método

Definición

Lee de forma asincrónica al menos un número mínimo de bytes de la secuencia actual, avanza la posición dentro de la secuencia por el número de bytes leídos y supervisa las solicitudes de cancelación.

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>

Región de memoria en la que se van a escribir los datos.

minimumBytes
Int32

Número mínimo de bytes que se van a leer en el búfer.

throwOnEndOfStream
Boolean

true para producir una excepción si se alcanza el final de la secuencia antes de leer minimumBytes bytes; false para devolver menos que minimumBytes cuando se alcanza el final de la secuencia. El valor predeterminado es true.

cancellationToken
CancellationToken

Token que se va a supervisar para las solicitudes de cancelación.

Devoluciones

Tarea que representa la operación de lectura asincrónica. El valor de su Result propiedad contiene el número total de bytes leídos en el búfer. Esto se garantiza que es mayor o igual que minimumBytes cuando throwOnEndOfStream es true. Esto será menor que minimumBytes cuando se alcance el final de la secuencia y throwOnEndOfStream sea false. Puede ser menor que el número de bytes asignados en el búfer si no hay muchos bytes disponibles actualmente.

Excepciones

minimumBytes es negativo o es mayor que la longitud de buffer.

throwOnEndOfStream es true y se alcanza el final de la secuencia antes de leer minimumBytes bytes de datos.

Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.

Comentarios

Cuando minimumBytes es 0 (cero), esta operación de lectura se completará sin esperar a los datos disponibles en la secuencia.

Se aplica a