Description
In ZMQ, you can connect to an endpoint before any socket has actually bound to that endpoint. That lets you avoid all sorts of ordering issues with sockets. Currently, at least the SubSocket
will fail to connect to non-existent endpoints. We should instead have the sockets compliant with ZMTP:
From https://rfc.zeromq.org/spec/23/ on general socket semantics:
All sockets SHALL establish connections opportunistically, that is: they connect to an endpoint asynchronously, and if the connection is broken, SHOULD reconnect after a suitable delay.
From https://rfc.zeromq.org/spec/29/ on Subscriber semantics:
SHALL create a queue when initiating an outgoing connection to a publisher, and SHALL maintain the queue whether or not the connection is established.