PollableOutputStreamIF.writeNonblocking

Attempts to write up to @count bytes from @buffer to @stream, as with g_output_stream_write(). If @stream is not currently writable, this will immediately return %G_IO_ERROR_WOULD_BLOCK, and you can use g_pollable_output_stream_create_source() to create a #GSource that will be triggered when @stream is writable.

Note that since this method never blocks, you cannot actually use @cancellable to cancel it. However, it will return an error if @cancellable has already been cancelled when you call, which may happen if you call this method after a source triggers due to having been cancelled.

Also note that if %G_IO_ERROR_WOULD_BLOCK is returned some underlying transports like D/TLS require that you re-send the same @buffer and @count in the next write call.

interface PollableOutputStreamIF
ptrdiff_t
writeNonblocking

Parameters

buffer ubyte[]

a buffer to write data from

cancellable Cancellable

a #GCancellable, or %NULL

Return Value

Type: ptrdiff_t

the number of bytes written, or -1 on error (including %G_IO_ERROR_WOULD_BLOCK).

Throws

GException on failure.

Meta