We're working on the documentation, but don't let that stop you from joining in and helping us improve it!<p>As for detecting that messages aren't being delivered to a particular peer, at the moment that is not possible since zmq_send() is asynchronous from the point of view of the caller, i.e. the actual sending gets offloaded to a background thread.<p>Unfortunately there's no straightforward way to map asynchronous error handling onto the socket API. I guess we could experiment with hitting the calling thread with a SIGPIPE or similar but signal handling on a lot of systems is suboptimal (to put it politely) and we also need to support Win32. So this whole area requires more thought...