g_output_stream_write_bytes_async (
  GOutputStream* stream,
  GBytes* bytes,
  int io_priority,
  GCancellable* cancellable,
  GAsyncReadyCallback callback,
  gpointer user_data


This function is similar to g_output_stream_write_async(), but takes a GBytes as input. Due to the refcounted nature of GBytes, this allows the stream to avoid taking a copy of the data.

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

For the synchronous, blocking version of this function, see g_output_stream_write_bytes().


bytes GBytes

The bytes to write.

 The data is owned by the caller of the function.
io_priority int

The io priority of the request.

cancellable GCancellable

Optional GCancellable object, NULL to ignore.

 The argument can be NULL.
 The data is owned by the caller of the function.
callback GAsyncReadyCallback

Callback to call when the request is satisfied.

user_data gpointer

The data to pass to callback function.