Some issues that have cropped up over the last days:
zmq_setsockopt says: "Caution: All options, with the exception of subscription strings, only take effect for subsequent socket bind/connects." Yet LINGER appears, by experimentation, to work at any stage up to zmq_close.
It's not mentioned anywhere that XREP sockets will immediately discard (and not queue) messages that have an unknown routing address.
It's unclear in zmq_socket (or zmq_setsockopt) how XREP sockets handle durable sockets in the case that peers are not (or no longer) connected.
zmq_setsockopt/getsockopt says N/A for HWM on a SUB socket, is that accurate?