Is the linked list form of zmq_reactor_t too complex?
The current linked-list form of the zmq_reactor interface was conceived of to allow easy manipulation of the linkages on the fly, primarily through policy callbacks. However, that rationale no longer applies because policies have been replaced by the IOP format we have today.
I am leaning toward re-writing the interface to zmq_reactor to mirror zmq_poll:
int zmq_reactor_poll (zmq_reactoritem_t *items, int nitems, long timeout);
We are probably early enough in the usage and evolution of the library to change this easily. This will eliminate a lot of structural complexity without a lot of downside.
Finally, we could always allow "poll block chaining" in future versions if this were a necessary feature.
Please let me know what you think?
I'm leaning in favor of this change, so please object strongly if it's important.
If I don't hear serious objections I will start branching this PDQ.