[zeromq-dev] zmq_recv question

David Cheney dcheney at peaxy.net
Sat Mar 29 04:42:54 CET 2014


Hi Pieter,

Thanks for zmq.. we are loving using it in our clustered HA storage product.

I regret that my C skills are rusty enough that I'd not presume to suggest
a patch suitable across your target environment(s)  :)

Best I can do is to pass along my compiler/OS details - we are pretty
mainstream..

$ uname -a
Linux dcheney.peaxy.net 2.6.32-358.23.2.el6.x86_64 #1 SMP Wed Oct 16
18:37:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)

Is this something I can look to ZMQ to patch?  and if so when might I
expect that... I need to handle if I will be maintaining a local patch.

best regards,
Dave


On Thu, Mar 27, 2014 at 12:05 AM, Pieter Hintjens <ph at imatix.com> wrote:

> Hi Dave,
>
> CZMQ uses uint for array indices; equivalent to unsigned int, but more
> convenient in code. We define it in czmq_prelude.h on systems that do
> not define it by default.
>
> So you're compiling on a system that does not define uint. Could you
> take a look at czmq_prelude.h around line 420, and see if you can add
> the necessary code for your compiler/OS?
>
> If you get that working, a pull request with the patch would be very
> welcome.
>
> -Pieter
>
> On Wed, Mar 26, 2014 at 10:31 PM, David Cheney <dcheney at peaxy.net> wrote:
> > I've downloaded, built, and installed the czmq from
> > http://download.zeromq.org/czmq-2.1.0.tar.gz
> >
> > When I attempt to use it I encounter this error:
> > In file included from /usr/local/include/czmq.h:68, from
> src/tcp_ping.c:8:
> > /usr/local/include/zrex.h:78: error: expected declaration specifiers or
> > '...' before 'uint'
> > scons: *** [obj/Debug/tcp_ping.o] Error 1
> > scons: building terminated because of errors.
> >
> > /usr/local/include/zrex.h:78 makes use of uint, which apparently is
> > undefined? Using "unsigned" fixed the problem for me.
> >
> > Let me know if you'd like this posted at the issue tracker.
> >
> > Dave
> >
> >
> > On Mon, Mar 24, 2014 at 10:21 PM, Joe Lin <jlin at peaxy.net> wrote:
> >>
> >> Hi,
> >>
> >> Got a question regarding this function
> >>
> >> int zmq_recv (void *socket, void *buf, size_t len, int flags);
> >>
> >> According to the instruction:
> >>
> >> 'The zmq_recv() function shall receive a message from the socket
> >> referenced by thesocket argument and store it in the buffer referenced
> by
> >> the buf argument. Any bytes exceeding the length specified by the len
> >> argument shall be truncated'
> >>
> >> I would call this function several time in a row for a multi-frame
> >> message. My question is that if a frame exceeds the specified 'len'
> >> argument, do I get the data for the next frame or do I get the remaining
> >> data of the current frame?
> >>
> >> _______________________________________________
> >> zeromq-dev mailing list
> >> zeromq-dev at lists.zeromq.org
> >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
> >>
> >
> >
> > _______________________________________________
> > zeromq-dev mailing list
> > zeromq-dev at lists.zeromq.org
> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
> >
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20140328/9f850b54/attachment.htm>


More information about the zeromq-dev mailing list