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 para supervisar solicitudes de cancelación.

Devoluciones

Tarea que representa la operación de lectura asincrónica. El valor de su propiedad Result contiene el número total de bytes leídos en el búfer. Se garantiza que es mayor o igual que minimumBytes cuando throwOnEndOfStream es true. 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 muchos bytes no están 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 que haya datos disponibles en la secuencia.

Se aplica a