Provided by: libwslay-doc_1.1.1-3_all bug

NAME

       wslay_event_queue_msg_ex - Queue a message for future transmission

SYNOPSIS

       #include <wslay/wslay.h>

       int wslay_event_queue_msg(wslay_event_context_ptr ctx, const struct wslay_event_msg *arg)

       int  wslay_event_queue_msg_ex(wslay_event_context_ptr  ctx,  const  struct wslay_event_msg
       *arg, uint8_t rsv)

DESCRIPTION

       wslay_event_queue_msg() and wslay_event_queue_msg_ex() queue  message  specified  in  arg.
       The struct wslay_event_msg is defined as:

          struct wslay_event_msg {
              uint8_t        opcode;
              const uint8_t *msg;
              size_t         msg_length;
          };

       The  opcode member is opcode of the message.  The msg member is the pointer to the message
       data.  The msg_length member is the length of message data.

       This function supports both control and non-control messages and the given message is sent
       without fragmentation.  If fragmentation is needed, use wslay_event_queue_fragmented_msg()
       function instead.

       This function makes a copy of msg of length msg_length.

       This function just queues a message and does not  send  it.   wslay_event_send()  function
       call sends these queued messages.

       wslay_event_queue_msg_ex() additionally accepts rsv parameter, which is a reserved bits to
       send. To set reserved bits, use macro WSLAY_RSV1_BIT, WSLAY_RSV2_BIT, and  WSLAY_RSV3_BIT.
       See wslay_event_config_set_allowed_rsv_bits() to see the allowed reserved bits to set.

RETURN VALUE

       wslay_event_queue_msg() and wslay_event_queue_msg_ex() return 0 if it succeeds, or returns
       the following negative error codes:

       WSLAY_ERR_NO_MORE_MSG
              Could not queue given message. The one of possible reason  is  that  close  control
              frame has been queued/sent and no further queueing message is not allowed.

       WSLAY_ERR_INVALID_ARGUMENT
              The  given  message  is invalid; or RSV1 is set for control frame; or bit is set in
              rsv which is not allowed (see wslay_event_config_set_allowed_rsv_bits()).

       WSLAY_ERR_NOMEM
              Out of memory.

SEE ALSO

       wslay_event_queue_fragmented_msg(),                 wslay_event_queue_fragmented_msg_ex(),
       wslay_event_queue_close()

AUTHOR

       Tatsuhiro Tsujikawa

COPYRIGHT

       2021, 2015, Tatsuhiro Tsujikawa

@PACKAGE_VERSION@                          Nov 07, 2021               WSLAY_EVENT_QUEUE_MSG_EX(3)