On Wed, Sep 22, 2010 at 3:16 AM, Ilja Golshtein <[email protected]> wrote:
> zmq::message_t msg;
> socket_a.recv(&msg);l
> socket_b.send(msg);
> socket_c.send(msg);
Strange. I remember discussing this with Martin Sustrik and hearing,
"when a message is sent 0MQ nullifies it".
However the zmq_send man page does not mention this, and a quick test
proves that zmq_send does not in fact nullify the sent message. I've
just tested both with zmq_msg_init_size and zmq_msg_init_data and the
message is not nullified after sending.
zmq_msg_t message;
zmq_msg_init_size (&message, 6);
memcpy (zmq_msg_data (&message), "Hello", 6);
printf ("Message data before sending: %s\n", (char *) zmq_msg_data
(&message));
printf ("Message size before sending: %d\n", zmq_msg_size (&message));
assert (zmq_send (socket, &message, 0) == 0);
printf ("Message data after sending: %s\n", (char *) zmq_msg_data
(&message));
printf ("Message size after sending: %d\n", zmq_msg_size (&message));
zmq_msg_init_data (&message, "Hello", 6, NULL, NULL);
printf ("Message data before sending: %s\n", (char *) zmq_msg_data
(&message));
printf ("Message size before sending: %d\n", zmq_msg_size (&message));
assert (zmq_send (socket, &message, 0) == 0);
printf ("Message data after sending: %s\n", (char *) zmq_msg_data
(&message));
printf ("Message size after sending: %d\n", zmq_msg_size (&message));
-
Pieter Hintjens
iMatix - www.imatix.com
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev