jean-airoldie / zeromq-src-rs

Source code and logic to build ZeroMQ from source
MIT License
11 stars 14 forks source link

libzmq-rs #16

Closed kwinz closed 1 year ago

kwinz commented 3 years ago

Hi, sorry to bother you on your other repo, I don't know any other way to contact you. I saw that libzmq-rs is archived, but not explanation in README.md, or anywhere else. Is there a suggested libzmq-rs replacement? Is the project being forked? Any clue as why it was archived and a way forward?

jean-airoldie commented 3 years ago

Hi,

Yeah I should add an explanation in the README.md, good point.

The short story is that I think that zmq is a couple of good idea hidden inside a unmaintainable mess with sharp edges at every corner. So even if you try very hard to wrap it neatly in a easy to use library (which is what I tried to do), you can't solve the core problem. I moved away from using zmq & TCP because I think they create more problems than they solve, at least for me. I wrote my own networking library on top of QUIC based on the lessons I learning writing libzmq-rs.

Is there a suggested libzmq-rs replacement?

If you are looking for a zmq-based replacement, I can't really recommend anything else. I still think libzmq-rs is the most competent zmq bindings library out there (or it was at the time I wrote the library) because its the only one that is not a complete footgun. However I wouldn't recommend using libzmq-rs at all, because at the end of the day, I wouldn't recommend using zmq.

Any clue as why it was archived and a way forward?

I wasn't satisfied with the end product and I didn't want to dedicate any more time to it. I archived it to indicate I didn't want to support it anymore.

jean-airoldie commented 3 years ago

I added this comment to libzmq-rs:

:warning: I wouldn't recommand using ZeroMQ or any ZeroMq bindings library (including libzmq-rs), unless you absolutely have to. If you do, then libzmq-rs might fit your use case since it basically makes ZeroMQ not a complete footgun. However, just because this library hides the unmaintainable mess that is ZeroMQ, doesn't mean the mess does not exist. See this comment for more context.