[zeromq-dev] fix for bug ticket LIBZMQ-268 plus closure arguments for pub sub subscriptions

David Walthour dwalthour at gmail.com
Fri Mar 29 00:13:15 CET 2013

Hello all,

I'm new to 0MQ and I'm new to this mailing list so forgive me if I breach any etiquette.  I've been working to get 0MQ to be a useable pub sub library for a project I'm starting and in the process I've fixed a bug and added a feature.  

The bug is that 0MQ was failing to deliver the first message of a subscription when using PGM or EPGM.  I tracked it down to the library assuming that this first packet was an identity message and withholding it from the user.  This was fixed by having the support for identity messages disabled when using PGM as the protocol.  

The second thing is the addition of closure arguments to the subscription process so that a context variable can be saved relating to a subscription that can be quickly retrieved when receiving a messages arriving for that subscription.  This can eliminate the need to do a map lookup to figure out how to process a given subscription by leveraging the fact that 0MQ has already done a map lookup to decide if you are subscribed to the data in the first place.  For large topic name spaces this can be a valuable speedup to a system at the low overhead of storing and retrieving an additional pointer in the 0MQ subscription map.  

The pastebin for this patch is http://pastebin.com/jgTBfnJD and the patch is for 0MQ 3.2.2.  

I don't know the process for getting suggested patches rolled into the code, but I'm willing to work on changes to get this incorporated as I don't want to maintain a private branch of this in the long run.  Please let me know if anyone has suggestions.

David Walthour

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130328/e4c9e5bf/attachment.htm>

More information about the zeromq-dev mailing list