InputStream.readBytesAsync

void readBytesAsync(size_t count, int ioPriority, gio.cancellable.Cancellable cancellable = null, gio.types.AsyncReadyCallback callback = null)

Request an asynchronous read of count bytes from the stream into a new #GBytes. When the operation is finished callback will be called. You can then call [gio.input_stream.InputStream.readBytesFinish] to get the result of the operation.

During an async request no other sync and async calls are allowed on stream, and will result in [gio.types.IOErrorEnum.Pending] errors.

A value of count larger than G_MAXSSIZE will cause a [gio.types.IOErrorEnum.InvalidArgument] error.

On success, the new #GBytes will be passed to the callback. It is not an error if this is smaller than the requested size, as it can happen e.g. near the end of a file, but generally we try to read as many bytes as requested. Zero is returned on end of file (or if count is zero), but never otherwise.

Any outstanding I/O request with higher priority (lower numerical value) will be executed before an outstanding request with lower priority. Default priority is [glib.types.PRIORITY_DEFAULT].

Parameters

countthe number of bytes that will be read from the stream
ioPrioritythe [I/O priority][io-priority] of the request
cancellableoptional #GCancellable object, null to ignore.
callbacka #GAsyncReadyCallback to call when the request is satisfied