wslay_event_send ================ SYNOPSIS -------- #include .. c:function:: int wslay_event_send(wslay_event_context_ptr ctx) DESCRIPTION ----------- :c:func:`wslay_event_send` sends queued messages to peer. When sending a message, it uses :c:type:`wslay_event_send_callback` function. Single call of :c:func:`wslay_event_send` sends multiple messages until :c:type:`wslay_event_send_callback` sets error code ``WSLAY_ERR_WOULDBLOCK``. If *ctx* is initialized for WebSocket client use, :c:func:`wslay_event_send` uses :c:type:`wslay_event_genmask_callback` to get new mask key. When a message queued using :c:func:`wslay_event_queue_fragmented_msg` is sent, :c:func:`wslay_event_send` invokes :c:type:`wslay_event_fragmented_msg_callback` for that message. After close control frame is sent, this function calls :c:func:`wslay_event_set_write_enabled` with second argument 0 to disable further transmission to peer. If there are any pending messages, :c:func:`wslay_event_want_write` returns 1, otherwise returns 0. In case of a fatal error which leads to negative return code, this function calls :c:func:`wslay_event_set_write_enabled` with second argument 0 to disable further transmission to peer. RETURN VALUE ------------ :c:func:`wslay_event_send` returns 0 if it succeeds, or one of the following negative error codes: .. describe:: WSLAY_ERR_CALLBACK_FAILURE User defined callback function is failed. .. describe:: WSLAY_ERR_NOMEM Out of memory. When negative error code is returned, application must not make any further call of :c:func:`wslay_event_send` and must close WebSocket connection. SEE ALSO -------- :c:func:`wslay_event_queue_fragmented_msg`, :c:func:`wslay_event_set_write_enabled`, :c:func:`wslay_event_want_write`