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