zeromq / zmq.rs

A native implementation of ØMQ in Rust
https://crates.io/crates/zeromq
MIT License
1.16k stars 100 forks source link

feat: Allow overriding block_on_no_clients queue param #187

Open bemyak opened 9 months ago

bemyak commented 9 months ago

In the current implementation, when a SUB provider is restarted, the library just hangs without detecting connection loss. This happens because on disconnect a client is kicked out of the queue, as since for all the socket queues block_on_no_clients is set to true, it hangs indefinitely.

I'm unsure what would be the effect of setting block_on_no_clients to false globally (though it seems reasonable), so in this PR add an ability to override this value is introduced via SocketOptions.