the number of bytes read, or -1 on error (including %G_IO_ERROR_WOULD_BLOCK).
GException on failure.
See Implementation