[zeromq-dev] Fundamental question on ZMQ. How to determine message fail/success without HWM-arking?

artemv zmq artemv.zmq at gmail.com
Fri Dec 6 10:46:20 CET 2013


Thanks for heads up.

2crocket:
No acks. No timeouts. Nothing should be kept. Messages should just flowing
back and forth. But for every message we have to answer a question: "has
message left NIC on sending process or not".  Let me give example with
betting:  game on iPhone sending us a message "make-a-bet", then we send
this to BettingService which isn't in our control,
so all we have to guarantee --  "make-a-bet" message has left our NIC and
been "sent" to BettingService. If "make-a-bet" has been droped on a network
- ok, if BettingService itself drops it - ok.

Back to HWM. Let's consider that we send to unavaliable peer.
hwm=1. It means you can send 1 message "blindly" and .send() function
returns success. Of course sending second time will fail. But... the trick
is -- we need answer first time.
hwm=0. It means you can send any number of messages and .send() function
 _always_  returns success  :((   Again, isn't this a bug?


So let me re-phrase the original question -- how to fail at .send()
function in ZMQ?


BR
-artemv



2013/12/6 crocket <crockabiscuit at gmail.com>

> Why don't you set a timeout for asynchronous ACKs?
> You receive ACKs asynchronously and keep associated messages until ACKs
> come or a timeout occurs.
> A timeout of 20 seconds is a reasonable estimate.
> After a timeout, if a message doesn't have a corresponding ACK, it is
> determined that the message wasn't delievered, and the message is sent
> again or discarded.
>
>
> On Fri, Dec 6, 2013 at 3:19 AM, artemv zmq <artemv.zmq at gmail.com> wrote:
>
>> Hi,
>>
>> My name is Artem. I stay with ZMQ (on java) a year or so. Got a cool
>> question for you, ppl!
>>
>> Here's my story. Recently I entered a new company (gambling games), after
>> working few weeks, after getting accustomed with a code, I found that they
>> are building very-unnecessarly-complex-distibuted-application ...  I was
>> unhappy few days, because couldn't even imagine how to support ALL THAT
>> CRAP in an upcoming future. So I suggested ZMQ hoping that ZMQ will "open
>> eyes" to others.  But, as a feedback I got one big fundamental concern
>> (from chief architects):
>>
>> - we have to know only one thing about every message: it has been
>> delivered onto remote peer or not
>>
>> And few additional comments:
>> -we don't care if message will get lost on a network
>> - we don't need guarantee deliveri
>> - no RPC / everything is asynchronous
>> - we don't need HWM
>>
>>
>> So I'm here, because I really can't address this question: "for every
>> single message how to know : whether it was delivered or not" .
>>
>> Thanks in advance. And appreciate for your help.
>>
>> _______________________________________________
>> 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/20131206/65976e6b/attachment.htm>


More information about the zeromq-dev mailing list