axl_bool vortex_channel_send_msg_more ( VortexChannel channel,
const void *  message,
size_t  message_size,
int *  msg_no 
)

Allows to send a message, producing required fragments, but ensuring all frames have more flag enabled.

This function provides the same function like vortex_channel_send_msg, but only ensuring all frames sent have more flag enabled. Check its documentation to know more about it: vortex_channel_send_msg.

Keep in mind you'll have to do an additional send with vortex_channel_send_msg to close pending operation done with this function. Here is a simple example:

1 // send a message as fragments belonging to the same MSG number
2 vortex_channel_send_msg_more (channel, "This is a ", 10, NULL);
3 vortex_channel_send_msg_more (channel, "to check more API ", 18, NULL);
4 vortex_channel_send_msg (channel, "support...", 10, NULL);

Previous example will send 3 fragments (assuming usual BEEP window size), all of them belonging to the same message number, having the last frame with more flag set to false (usual behaviour).

Note that the first call to vortex_channel_send_msg_more left the channel with an opened MSG state, pending to be completed with more additional calls to vortex_channel_send_msg_more that are finally ended by a single call to vortex_channel_send_msg (which may use an empty message as content) that closes the opened MSG state. In that point, the process can be started again.

Parameters
channelThe channel used to send the message.
messageThe message to send. The function will create a local copy so you can provide static and dinamic references.
message_sizeThe message size.
msg_noOptional reference. If defined returns the message number used for this deliver (BEEP msgno).
Returns
axl_true if no error was reported after queueing the message to be sent. Otherwise axl_false is returned. Keep in mind the function do not send the message directly. This is because the channel could be stalled at the time the message was sent or because the message is too large that requires several frames to be sent. Having said that, it is recommended to not consider a "axl_true" value returned by this function as a successful send.