alanxz / SimpleAmqpClient

Simple C++ Interface to rabbitmq-c
MIT License
397 stars 213 forks source link

Is This Dead? #316

Closed CayOest closed 1 year ago

CayOest commented 1 year ago

Hi alanxz,

I gather, you are the guy in this repo.

Is this project dead? If yes, projects depending on this project would like to know.

If not, do you need help? To make it clear: we need this project to work. So, I guess, it's less effort for us to enhance your code than to write up something completely new.

To be frank: Why would anyone ever - especially in your generation - write pure C code. Like: ever. Like I would write Assembly code and not be ashamed of myself. You must know: I am from Germany: We basically invented punched cards. But you Americans invented Facebook, Instagram, Reddit, TicToc, and all the good stuff.

So why would I use a pure C library?

CayOest commented 1 year ago

I am a bit "sarcastic" - I am European - , but I hope you get my point. Without being offending. I hope. But I'm not really sure any more.

alanxz commented 1 year ago

The project is not dead; however I'd consider it closer to maintenance mode at this point as I haven't had much free time to put effort into it.

In terms of the future of this library, I do have a vision for where I'd like to see the library go (at a high level: improving the build system, getting proper presubmits setup, modernizing the API to fit modern best practices, removing the dependency on boost, and eventually rewriting the internals so that it does not use rabbitmq-c as a dependency, which will allow for things like heartbeats to work correctly).

With that all said: I'm willing to accept PRs. I would ask that if you decide to do a large refactoring that you open a github issue to discuss before embarking on it.

CayOest commented 1 year ago

Hi Alan,

Thanks a lot for the reply!

One or two thoughts:

  1. Please don't remove the dependency on boost: It's fine, it's accepted, just use it to not reinvent the wheel. Everybody has boost. People who do not have boost are embedded, so... when some refrigerator is not communicating with RabbitMQ properly, it's because the refrigerator doesn't have boost.
  2. Please continue using this as a wrapper for your awesome rabbitmq-c library. Sorry, I was a bit harsh regarding C. And in a very bad mood. It is a fully functional, multi-starred, multi-forked library. No f'ing way you should give this up. And you should work this lib around it. As you originally planned. The refrigerator still needs pure C. And the vibrator, too.
  3. I was just asking - admittedly in a bad mood - if there was any progress expected in the future. But if you say yes: Then, fine, alright... Let's help you! ;)

Cheers!