diff options
author | Martin Hurton <hurtonm@gmail.com> | 2010-02-10 17:14:21 +0100 |
---|---|---|
committer | Martin Hurton <hurtonm@gmail.com> | 2010-02-10 17:14:21 +0100 |
commit | 7cab423fc20e46f54fa561e51b566cc8a63ca5c1 (patch) | |
tree | fa926432b8392e7717b7fbc1ecaf973ba60cb970 /doc/zmq_msg_init_data.txt | |
parent | bc9b7f1f54b9dcf754021f1f7eb766d71cc97f29 (diff) | |
parent | 354efc513fdb4096f8830e6c2e3e8f1311303e61 (diff) |
Merge branch 'master' of github.com:sustrik/zeromq2
Diffstat (limited to 'doc/zmq_msg_init_data.txt')
-rw-r--r-- | doc/zmq_msg_init_data.txt | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/doc/zmq_msg_init_data.txt b/doc/zmq_msg_init_data.txt new file mode 100644 index 0000000..1ae6ce2 --- /dev/null +++ b/doc/zmq_msg_init_data.txt @@ -0,0 +1,67 @@ +zmq_msg_init_data(3) +==================== + + +NAME +---- +zmq_msg_init_data - initialises 0MQ message from the given data + + +SYNOPSIS +-------- +'typedef void (zmq_free_fn) (void *data, void *hint);' +'int zmq_msg_init_data (zmq_msg_t *msg, void *data, size_t size, zmq_free_fn *ffn, void *hint);' + + +DESCRIPTION +----------- +Initialise a message from a supplied buffer. Message isn't copied, +instead 0MQ infrastructure takes ownership of the buffer located at address +'data', 'size' bytes long. Deallocation function ('ffn') will be called once +the data are not needed anymore. When using a static constant buffer, 'ffn' may +be NULL to prevent subsequent deallocation. If needed, additional 'hint' can be +passed to the initialisation function. It's an opaque pointer that will be +later on passed to 'ffn' as a second argument. + + +RETURN VALUE +------------ +In case of success the function returns zero. Otherwise it returns -1 and +sets 'errno' to the appropriate value. + + +ERRORS +------ +No errors are defined. + + +EXAMPLE +------- +---- +void my_free (void *data, void *hint) {free (data);} + + ... + +void *data = malloc (6); +assert (data); +memcpy (data, "ABCDEF", 6); +zmq_msg_t msg; +rc = zmq_msg_init_data (&msg, data, 6, my_free, NULL); +assert (rc == 0); +rc = zmq_send (s, &msg, 0); +assert (rc == 0); +---- + + +SEE ALSO +-------- +linkzmq:zmq_msg_close[3] +linkzmq:zmq_msg_init[3] +linkzmq:zmq_msg_init_size[3] +linkzmq:zmq_msg_data[3] +linkzmq:zmq_msg_size[3] + + +AUTHOR +------ +Martin Sustrik <sustrik at 250bpm dot com> |