[zeromq-dev] Compatibility 3.1 - 3.2.1-rc2

Emmanuel TAUREL taurel at esrf.fr
Fri Nov 16 14:51:47 CET 2012


Hello all,

On 16/11/2012 13:12, Martin Hurton wrote:
>> Asserts are made to check for clear incoherent behavior in a library.
>> Something that just could not happen if the library is coded properly. They
>> should check for things like function pre/post conditions. They are for
>> library developers, not end users!
>> A change in the wire format causing an assert is just not the proper way to
>> handle the problem, since this is completely unrecoverable on the library
>> user side.
>>
>> This may be generalized to the fact that asserts should not be used for
>> anything exterior to the library (such as the wire protocol). For instance,
>> in a file management library, you don't want an assert to be triggered if
>> there is no space left on the device: you want an error code! I cannot
>> afford my whole program to crash, just because the broker on the other side
>> was updated.
> Which assertion fails in this case? In which version of lib?

Compatibility between 3.1 and 3.2.1-rc2 on one hand and assert in zmq 
code in another hand are two different subjects.
In the tests I did about compatibility between ZMQ releases, I have 
never triggered any assertion in ZMQ code.
In my case, when it did not work , it's because the subscriber did not 
receive messages sent by the publisher but no assertion

This was just to make things clear.

Emmanuel




More information about the zeromq-dev mailing list