[zeromq-dev] JZMQ non-blocking recvByteBuffer
Petr Postulka
ppostulka at gmail.com
Wed Jul 2 00:01:59 CEST 2014
Hi Trevor,
thank you for your prompt response and confirmation.
I will let you know once I submit a patch.
Kind regards,
Petr
On Tue, Jul 1, 2014 at 11:38 PM, Trevor Bernard <trevor.bernard at gmail.com>
wrote:
> This is likely a typo -- I'd be happy to merge a pull request if you
> would be so kind to submit a patch.
>
> On Tue, Jul 1, 2014 at 6:27 PM, Petr Postulka <ppostulka at gmail.com> wrote:
> > Hi all,
> >
> > I have a question regarding non-blocking recvByteBuffer call in JZMQ -
> > whenever there are no data to receive the call throws an exception and
> I'm
> > not sure whether this is the proper way how it should be implemented.
> Maybe
> > I'm missing something here, but when I checked the corresponding C++
> code in
> > Socket.cpp class I can see the following block of code in recvByteBuffer
> > method implementation:
> >
> > int read = zmq_recv(sock, buf + pos, rem, flags);
> > if (read > 0) {
> > read = read > rem ? rem : read;
> > env->CallObjectMethod(buffer, setPositionMID, read + pos);
> > return read;
> > }
> > else if(read == -1) {
> > int err = zmq_errno();
> > if(err == EAGAIN) {
> > raise_exception (env, err);
> > return 0;
> > }
> > }
> > return read;
> >
> > If I understand it correctly, shouldn't there be if(err != EAGAIN) then
> > raise_exception? Because right now it is throwing exception only when
> there
> > are no data to receive, which is making non-blocking call basically
> unusable
> > because throwing and catching the exception is very costly operation. At
> the
> > same time other errors, which are in contrast to EAGAIN much more
> important
> > do not throw the exception at all.
> >
> > Please let me know whether my assumption is correct or not.
> >
> > Thank you and kind regards,
> >
> > Petr
> >
> > _______________________________________________
> > 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/20140702/fbfab866/attachment.htm>
More information about the zeromq-dev
mailing list