### Method

# Gio Socket get_available_bytes

since: 2.32

#### Declaration

    gssize
    g_socket_get_available_bytes (
      GSocket* socket
    )

#### Description

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.