Open ronkorving opened 10 years ago
What to do with REQ, DEALER, PUSH, PULL and PAIR sockets? According to the specs they should block when entering the mute state due to SNDHWM, this is obviously not desired.
STREAM sockets should do EAGAIN in the same condition, according to the specs.
Maybe we should breathe some new life into #174. Perhaps I should just get that merged, so people can give it a shot.
The
Socket._outgoing
array has no limit to where it can grow. The scenario where it grows indefinitely (effectively leaking memory) is when the socket is never asked to connect anywhere. While this seems incredibly unlikely, I encountered such a case.To avoid indefinite growth, a sane limit would be to follow the ZMQ_SNDHWM value.
Code snippet to do this:
It just seems a bit inefficient to re-read that socket option on every single send. If anybody has any suggestions to how we could be a bit more efficient about this, I would love to hear them.