Michael Santy wrote: > Sounds great. Let me know how I can help. If you want to help, I've just committed a patch to allow 0MQ queues to rollback any unflushed messages (message parts) written to the queue. It'll be necessary for implementing multi-part message atomicity later on. The code concerning the queues is pretty complex and thus that patch would benefit from a code review.
The patch consists of: 1. yqueue.hpp - simple implementation of queue with individual elements chunked in groups of N (for more efficient memory management) - function "unpush" was added that removes last pushed element from the write end of the queue. 2. ypipe.hpp - lock-free implementation of pipe between two threads - built on top of yqueue_t - function "unwrite" was added that removes last written element from the write end of the pipe. 3. pipe.hpp/.cpp - full-blown 0MQ message pipe - built on top of ypipe_t - function "rollback" was added that removes all the unflushed messages from the pipe. Martin _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
