Socket.send

Tries to send size bytes from buffer on the socket. This is mainly used by connection-oriented sockets; it is identical to gio.socket.Socket.sendTo with address set to null.

If the socket is in blocking mode the call will block until there is space for the data in the socket queue. If there is no space available and the socket is in non-blocking mode a gio.types.IOErrorEnum.WouldBlock error will be returned. To be notified when space is available, wait for the glib.types.IOCondition.Out condition. Note though that you may still receive gio.types.IOErrorEnum.WouldBlock from gio.socket.Socket.send even if you were previously notified of a glib.types.IOCondition.Out condition. (On Windows in particular, this is very common due to the way the underlying APIs work.)

On error -1 is returned and error is set accordingly.

class Socket
ptrdiff_t
send

Parameters

buffer ubyte[]

the buffer containing the data to send.

cancellable gio.cancellable.Cancellable

Return Value

Type: ptrdiff_t

Number of bytes written (which may be less than size), or -1 on error