InputStream.readBytesAsync

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 g_input_stream_read_bytes_finish() 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 %G_IO_ERROR_PENDING errors.

A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT 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 %G_PRIORITY_DEFAULT.

class InputStream
void
readBytesAsync
(
size_t count
,,,
GAsyncReadyCallback callback
,
void* userData
)

Parameters

count size_t

the number of bytes that will be read from the stream

ioPriority int

the [I/O priority][io-priority] of the request

cancellable Cancellable

optional #GCancellable object, %NULL to ignore.

callback GAsyncReadyCallback

callback to call when the request is satisfied

userData void*

the data to pass to callback function

Meta

Since

2.34