g_pollable_stream_read (
  GInputStream* stream,
  void* buffer,
  gsize count,
  gboolean blocking,
  GCancellable* cancellable,
  GError** error


Tries to read from stream, as with g_input_stream_read() (if blocking is TRUE) or g_pollable_input_stream_read_nonblocking() (if blocking is FALSE). This can be used to more easily share code between blocking and non-blocking implementations of a method.

If blocking is FALSE, then stream must be a GPollableInputStream for which g_pollable_input_stream_can_poll() returns TRUE, or else the behavior is undefined. If blocking is TRUE, then stream does not need to be a GPollableInputStream.

Available since:2.34


stream GInputStream

A GInputStream.

 The data is owned by the caller of the function.
buffer An array of guint8

A buffer to read data into.

 The length of the array is specified in the count argument.
 The data is owned by the caller of the function.
count gsize

The number of bytes to read.

blocking gboolean

Whether to do blocking I/O.

cancellable GCancellable

Optional GCancellable object, NULL to ignore.

 The argument can be NULL.
 The data is owned by the caller of the function.
error GError **
  The return location for a GError*, or NULL.

Return value

Returns: gssize

The number of bytes read, or -1 on error.