Commit b7e52755 authored by Constantin Rack's avatar Constantin Rack

Merge pull request #1359 from rodgert/master

resolve #1347 addresses issue of no metadata on identity frame
parents 1e6e5b1c 700f7bfe
...@@ -255,6 +255,12 @@ bool zmq::stream_t::xhas_in () ...@@ -255,6 +255,12 @@ bool zmq::stream_t::xhas_in ()
blob_t identity = pipe->get_identity (); blob_t identity = pipe->get_identity ();
rc = prefetched_id.init_size (identity.size ()); rc = prefetched_id.init_size (identity.size ());
errno_assert (rc == 0); errno_assert (rc == 0);
// forward metadata (if any)
metadata_t *metadata = prefetched_msg.metadata();
if (metadata)
prefetched_id.set_metadata(metadata);
memcpy (prefetched_id.data (), identity.data (), identity.size ()); memcpy (prefetched_id.data (), identity.data (), identity.size ());
prefetched_id.set_flags (msg_t::more); prefetched_id.set_flags (msg_t::more);
......
...@@ -88,6 +88,9 @@ test_stream_to_dealer (void) ...@@ -88,6 +88,9 @@ test_stream_to_dealer (void)
rc = zmq_recv (stream, buffer, 255, 0); rc = zmq_recv (stream, buffer, 255, 0);
assert (rc == 0); assert (rc == 0);
// Verify the existence of Peer-Address metadata
assert (streq (zmq_msg_gets (&identity, "Peer-Address"), "127.0.0.1"));
// Real data follows // Real data follows
// First frame is identity // First frame is identity
rc = zmq_msg_recv (&identity, stream, 0); rc = zmq_msg_recv (&identity, stream, 0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment