Method

GioSocketreceive_with_blocking

since: 2.26

Declaration

gssize
g_socket_receive_with_blocking (
  GSocket* socket,
  gchar* buffer,
  gsize size,
  gboolean blocking,
  GCancellable* cancellable,
  GError** error
)

Description

This behaves exactly the same as g_socket_receive(), except that the choice of blocking or non-blocking behavior is determined by the blocking argument rather than by sockets properties.

Available since: 2.26

Parameters

buffer

Type: An array of guint8

a buffer to read data into (which should be at least `size` bytes long).

The argument will be set by the function.
The length of the array is specified in the size argument.
The data is owned by the instance.
size

Type: gsize

The number of bytes you want to read from the socket.

The argument will be set by the function.
blocking

Type: gboolean

Whether to do blocking or non-blocking I/O.

cancellable

Type: GCancellable

A %GCancellable or NULL.

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

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will left initialized to NULL by the method if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: gssize

Number of bytes read, or 0 if the connection was closed by the peer, or -1 on error.