Method

GioOutputStreamwrite_bytes_async

Declaration

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

Description

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().

Parameters

bytes

Type: GBytes

The bytes to write.

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

Type: int

The io priority of the request.

cancellable

Type: GCancellable

Optional GCancellable object, NULL to ignore.

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

Type: GAsyncReadyCallback

A GAsyncReadyCallback to call when the request is satisfied.

The argument can be NULL.
user_data

Type: gpointer

The data to pass to callback function.

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