since: 2.32


g_socket_get_available_bytes (
  GSocket* socket


Get the amount of data pending in the OS input buffer, without blocking.

If socket is a UDP or SCTP socket, this will return the size of just the next packet, even if additional packets are buffered after that one.

Note that on Windows, this function is rather inefficient in the UDP case, and so if you know any plausible upper bound on the size of the incoming packet, it is better to just do a g_socket_receive() with a buffer of that size, rather than calling g_socket_get_available_bytes() first and then doing a receive of exactly the right size.

Available since: 2.32

Return value

Type: gssize

The number of bytes that can be read from the socket without blocking or truncating, or -1 on error.