davidfowl / BedrockFramework

High performance, low level networking APIs for building custom servers and clients.
MIT License
1.05k stars 153 forks source link

Initial RabbitMQ protocol implementation #90

Closed MonsieurTib closed 4 years ago

MonsieurTib commented 4 years ago

This is a first version of amqp protocol (0-9-1, RabbitMQ compatible). Currently, protocol implementation provides connection, authentication, tuning, and queue declaration Edit : Since 0-9-1 seems to be implemented only by RabbitMq, i updated this PR's title

clemensv commented 4 years ago

Since 0.9 is an abandoned draft that never became a standard and there is a final version of AMQP, which is very different, the name "Amqp" is misleadingly inaccurate in spite of the RabbitMQ community clinging on to it.

The namespace and classes should be called "RabbitMq" and the name Amqp should be reserved for the OASIS and ISO/IEC standard AMQP 1.0.

MonsieurTib commented 4 years ago

Damn, RabbitMq is the only using amqp 0.9 ? I’ll change namespace and classes..

MonsieurTib commented 4 years ago

@davidfowl, this PR is still a good candidate for Bedrock protocols ?

davidfowl commented 4 years ago

@MonsieurTib yep!

MonsieurTib commented 4 years ago

Cool. After RabbitMQ, i’ll try to find time for Amqp 1.0 protocol 😎

clemensv commented 4 years ago

Cool. After RabbitMQ, i’ll try to find time for Amqp 1.0 protocol 😎

I would suggest to look at http://azure.github.io/amqpnetlite/ and see whether you work with @xinchen10 on creating an integration with bedrock that uses a maximum of shared code

MonsieurTib commented 4 years ago

Since COVID 19, we are in total quarantine (in france), therefore i have to reorganize my activity (given that i work as freelancer) and i have no ideo when/if i could continue this PR in the medium/long term. @davidfowl maybe you can close this PR or merge this small contribution if folks wants to contribute. It's up to you

davidfowl commented 4 years ago

I’ll take it over. Stay safe