<p dir="ltr">Okay, from the zguide, "As a historical note, ZMQ v2.2 and earlier use UUIDs as identities, and ZMQ v3.0 and later use short integers."</p>
<p dir="ltr">And looking closer at zmsg.hpp, the recv() method automatically converts message parts that look like uuids to printable c_strs. The send() method does the reverse.</p>
<p dir="ltr">So now that identities are no longer uuids, they no longer get auto converted to c_strs and this doesn't work well with zmsg which only deals with c_strs.</p>
<p dir="ltr">In short, you are using example code that relies on identities being UUIDs.</p>
<p dir="ltr">Even if the example were to work, it wouldn't be very useful that only c_strs could be used, would it?</p>
<div class="gmail_quote">On Aug 26, 2014 9:29 PM, "Riskybiz" <<a href="mailto:riskybizlive@live.com">riskybizlive@live.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Is it these lines which are the problem with c_str() in  the Paranoid Pirate<br>
Queue?<br>
<br>
msg.push_front((char*)identity.c_str());<br>
<br>
msg.wrap (it->identity.c_str(), NULL);<br>
<br>
What can be done to fix the problem, not using uuid identifiers?  Replacing<br>
uuids in the Paranoid Pirate Queue code with calls to s_set_id ()?<br>
<br>
But it begs the question; how should the uuid identifiers be properly<br>
handled and passed around in code?  Surely Paranoid Pirate pattern must have<br>
worked with uuids at some point in time otherwise how would it have passed<br>
muster for the zeromq guide?<br>
<br>
Confused.<br>
<br>
Riskybiz.<br>
<br>
<br>
Message: 8<br>
Date: Tue, 26 Aug 2014 06:15:54 +0800<br>
From: KIU Shueng Chuan <<a href="mailto:nixchuan@gmail.com">nixchuan@gmail.com</a>><br>
Subject: Re: [zeromq-dev] Paranoid Pirate<br>
To: ZeroMQ development list <<a href="mailto:zeromq-dev@lists.zeromq.org">zeromq-dev@lists.zeromq.org</a>><br>
Message-ID:<br>
        <CAP2skc-=<a href="mailto:RLz92jXpXSAVmLFqRGAPjmoJh9Qn%2Bb1yULAXfny%2Biw@mail.gmail.com">RLz92jXpXSAVmLFqRGAPjmoJh9Qn+b1yULAXfny+iw@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="iso-8859-1"<br>
<br>
The zmsg class api takes in char* and the pirate queue has code that passes<br>
it identities as c_str(). This doesn't work since identities are not nul<br>
terminated c strings and may contain nuls.<br>
<br>
It works for the workers only because they explicitly set their own id to<br>
something containing only characters. See s_set_id ().<br>
On 26 Aug 2014 04:33, "Riskybiz" <<a href="mailto:riskybizlive@live.com">riskybizlive@live.com</a>> wrote:<br>
<br>
> Dear zeromq developers,<br>
><br>
><br>
><br>
>                 I'm trying to get the Paranoid Pirate pattern to<br>
> operate on Debian Linux using zeromq-4.0.4.  (When I get it working on<br>
> Linux then I will turn my attention to making it work on Windows).<br>
> The Paranoid Pirate Queue <<a href="http://pastebin.com/KTsn4Yq8" target="_blank">http://pastebin.com/KTsn4Yq8</a>> and the<br>
> Paranoid Pirate Worker <<a href="http://pastebin.com/hLHRC2LB" target="_blank">http://pastebin.com/hLHRC2LB</a>> are<br>
> communicating and demonstrably heartbeating.  The problem is that the<br>
> Lazy Pirate Client <<a href="http://pastebin.com/Ekd1ZGQF" target="_blank">http://pastebin.com/Ekd1ZGQF</a>> does not appear to<br>
> communicate properly or receive a reply message. Is anyone able to<br>
identify what is wrong here?<br>
> There are a couple of other necessary files; zhelpers.h<br>
> <<a href="http://pastebin.com/ir8bkQaU" target="_blank">http://pastebin.com/ir8bkQaU</a>> and zmsg.hpp<br>
> <<a href="http://pastebin.com/4KYir507" target="_blank">http://pastebin.com/4KYir507</a>> .<br>
><br>
> I have changed int64_t more = 0; to  int more = 0; as kindly pointed<br>
> out by KIU Shueng Chuan as being necessary for zeromq-3.2.x and<br>
> higher.  Also added are some console print statements to trace what is<br>
> actually going on.  In order to correct very long waiting times I have<br>
> modified the delay periods built in to the pattern from those provided<br>
> by the stock example in the zeromq guide.<br>
><br>
> Hope someone is able to help.<br>
><br>
> Thanks,<br>
><br>
> Riskybiz.<br>
><br>
><br>
><br>
> _______________________________________________<br>
> zeromq-dev mailing list<br>
> <a href="mailto:zeromq-dev@lists.zeromq.org">zeromq-dev@lists.zeromq.org</a><br>
> <a href="http://lists.zeromq.org/mailman/listinfo/zeromq-dev" target="_blank">http://lists.zeromq.org/mailman/listinfo/zeromq-dev</a><br>
><br>
><br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL:<br>
<a href="http://lists.zeromq.org/pipermail/zeromq-dev/attachments/20140826/03acd436/a
ttachment-0001.htm" target="_blank">http://lists.zeromq.org/pipermail/zeromq-dev/attachments/20140826/03acd436/a<br>
ttachment-0001.htm</a><br>
<br>
------------------------------<br>
<br>
_______________________________________________<br>
zeromq-dev mailing list<br>
<a href="mailto:zeromq-dev@lists.zeromq.org">zeromq-dev@lists.zeromq.org</a><br>
<a href="http://lists.zeromq.org/mailman/listinfo/zeromq-dev" target="_blank">http://lists.zeromq.org/mailman/listinfo/zeromq-dev</a><br>
<br>
<br>
End of zeromq-dev Digest, Vol 80, Issue 24<br>
******************************************<br>
<br>
_______________________________________________<br>
zeromq-dev mailing list<br>
<a href="mailto:zeromq-dev@lists.zeromq.org">zeromq-dev@lists.zeromq.org</a><br>
<a href="http://lists.zeromq.org/mailman/listinfo/zeromq-dev" target="_blank">http://lists.zeromq.org/mailman/listinfo/zeromq-dev</a><br>
</blockquote></div>