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
count | the number of bytes that will be read from the stream |
ioPriority | the [I/O priority][io-priority] of the request |
cancellable | optional #GCancellable object, null to ignore. |
callback | a #GAsyncReadyCallback to call when the request is satisfied |