diff options
Diffstat (limited to 'man/man3/zmq_msg_init_size.3')
-rw-r--r-- | man/man3/zmq_msg_init_size.3 | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/man/man3/zmq_msg_init_size.3 b/man/man3/zmq_msg_init_size.3 index b1baa75..ce1ec94 100644 --- a/man/man3/zmq_msg_init_size.3 +++ b/man/man3/zmq_msg_init_size.3 @@ -4,9 +4,41 @@ zmq_msg_init \- initialises 0MQ message of a specified size .SH SYNOPSIS .B int zmq_msg_init_size (zmq_msg_t *msg, size_t size); .SH DESCRIPTION +Initialises 0MQ message +.IR size +bytes long. The implementation chooses whether it is more efficient to store +message content on the stack (small messages) or on the heap (large messages). +Therefore, never access message data directly via +.IR zmq_msg_t +members, rather use +.IR zmq_msg_data +and +.IR zmq_msg_size +functions to get message data and size. Note that the message data are not +nullified to avoid the associated performance impact. Thus you +should expect your message to contain bogus data after this call. .SH RETURN VALUE +In case of success the function returns zero. Otherwise it returns -1 and +sets +.IR errno +to the appropriate value. .SH ERRORS +.IP "\fBENOMEM\fP" +memory to hold the message cannot be allocated. .SH EXAMPLE +.nf +zmq_msg_t msg; +rc = zmq_msg_init_size (&msg, 6); +assert (rc == 0); +memcpy (zmq_msg_data (&msg), "ABCDEF", 6); +rc = zmq_send (s, &msg, 0); +assert (rc == 0); +.fi .SH SEE ALSO +.BR zmq_msg_close (3) +.BR zmq_msg_init (3) +.BR zmq_msg_init_data (3) +.BR zmq_msg_data (3) +.BR zmq_msg_size (3) .SH AUTHOR Martin Sustrik <sustrik at 250bpm dot com> |