mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-20 02:17:55 +00:00
Basic tests now test multi-part messages instead of single-part
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
This commit is contained in:
parent
c80908c469
commit
ada5d42472
@ -31,13 +31,27 @@ inline void bounce (void *sb, void *sc)
|
|||||||
const char *content = "12345678ABCDEFGH12345678abcdefgh";
|
const char *content = "12345678ABCDEFGH12345678abcdefgh";
|
||||||
|
|
||||||
// Send the message.
|
// Send the message.
|
||||||
int rc = zmq_send (sc, content, 32, 0);
|
int rc = zmq_send (sc, content, 32, ZMQ_SNDMORE);
|
||||||
|
assert (rc == 32);
|
||||||
|
rc = zmq_send (sc, content, 32, 0);
|
||||||
assert (rc == 32);
|
assert (rc == 32);
|
||||||
|
|
||||||
// Bounce the message back.
|
// Bounce the message back.
|
||||||
char buf1 [32];
|
char buf1 [32];
|
||||||
rc = zmq_recv (sb, buf1, 32, 0);
|
rc = zmq_recv (sb, buf1, 32, 0);
|
||||||
assert (rc == 32);
|
assert (rc == 32);
|
||||||
|
int rcvmore;
|
||||||
|
size_t sz = sizeof (rcvmore);
|
||||||
|
rc = zmq_getsockopt (sb, ZMQ_RCVMORE, &rcvmore, &sz);
|
||||||
|
assert (rc == 0);
|
||||||
|
assert (rcvmore);
|
||||||
|
rc = zmq_recv (sb, buf1, 32, 0);
|
||||||
|
assert (rc == 32);
|
||||||
|
rc = zmq_getsockopt (sb, ZMQ_RCVMORE, &rcvmore, &sz);
|
||||||
|
assert (rc == 0);
|
||||||
|
assert (!rcvmore);
|
||||||
|
rc = zmq_send (sb, buf1, 32, ZMQ_SNDMORE);
|
||||||
|
assert (rc == 32);
|
||||||
rc = zmq_send (sb, buf1, 32, 0);
|
rc = zmq_send (sb, buf1, 32, 0);
|
||||||
assert (rc == 32);
|
assert (rc == 32);
|
||||||
|
|
||||||
@ -45,6 +59,14 @@ inline void bounce (void *sb, void *sc)
|
|||||||
char buf2 [32];
|
char buf2 [32];
|
||||||
rc = zmq_recv (sc, buf2, 32, 0);
|
rc = zmq_recv (sc, buf2, 32, 0);
|
||||||
assert (rc == 32);
|
assert (rc == 32);
|
||||||
|
rc = zmq_getsockopt (sc, ZMQ_RCVMORE, &rcvmore, &sz);
|
||||||
|
assert (rc == 0);
|
||||||
|
assert (rcvmore);
|
||||||
|
rc = zmq_recv (sc, buf2, 32, 0);
|
||||||
|
assert (rc == 32);
|
||||||
|
rc = zmq_getsockopt (sc, ZMQ_RCVMORE, &rcvmore, &sz);
|
||||||
|
assert (rc == 0);
|
||||||
|
assert (!rcvmore);
|
||||||
|
|
||||||
// Check whether the message is still the same.
|
// Check whether the message is still the same.
|
||||||
assert (memcmp (buf2, content, 32) == 0);
|
assert (memcmp (buf2, content, 32) == 0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user