Provided by: libwslay-doc_1.1.1-5_all 

NAME
wslay_event_queue_msg - 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() <#c
.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() <#c.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() <#c.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() <#c
.wslay_event_config_set_allowed_rsv_bits>).
WSLAY_ERR_NOMEM
Out of memory.
SEE ALSO
wslay_event_queue_fragmented_msg() <#c.wslay_event_queue_fragmented_msg>,
wslay_event_queue_fragmented_msg_ex() <#c.wslay_event_queue_fragmented_msg_ex>, wslay_event_queue_close()
<#c.wslay_event_queue_close>
Author
Tatsuhiro Tsujikawa
Copyright
2012, 2015, Tatsuhiro Tsujikawa
@PACKAGE_VERSION@ Oct 11, 2025 WSLAY_EVENT_QUEUE_MSG(3)