This function is similar to OutputStream.writeAsync, but takes a glib.Bytes as input. Due to the refcounted nature of glib.Bytes, this allows the stream to avoid taking a copy of the data.

However, note that this function may still perform partial writes, just like OutputStream.writeAsync. If that occurs, to continue writing, you will need to create a new glib.Bytes containing just the remaining bytes, using Bytes.newFromBytes. Passing the same glib.Bytes instance multiple times potentially can result in duplicated data in the output stream.

For the synchronous, blocking version of this function, see OutputStream.writeBytes.

class OutputStream


bytes Bytes

The bytes to write

ioPriority int

the io priority of the request.

cancellable Cancellable

optional gio.Cancellable object, NULL to ignore.

callback GAsyncReadyCallback

callback to call when the request is satisfied

userData void*

the data to pass to callback function