Function

Giopollable_stream_read

Declaration [src]

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

Description [src]

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

Parameters

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.