Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing Connection, Management and Publisher modules #10

Open
wants to merge 24 commits into
base: main
Choose a base branch
from

Conversation

DanielePalaia
Copy link
Contributor

@DanielePalaia DanielePalaia commented Dec 9, 2024

This closes #1
This closes #4
This closes #5
This closes #6

This PR provides a connection layer to dial the AMQP server and to create a Sender and Receiver objects.
it also implements the various management operations: declare_queue, declare_exchange, bind/unbind, purge_queue, delete_queue, delete_exchange.
It also implements the Publisher layer to send messages to exchanges and/or queues.
We are avoiding using Interfaces for the various layers: binding ,exchanges, queues ecc... as it was suggested for the GO implementation

We are importing the qpid library code in order to treat a special case when we encode an empty body message.
See: #1. The library is imported in qpid/proton and I think we can avoid reviewing that original code

An example is provided in examples/getting_started/main.py

@DanielePalaia DanielePalaia force-pushed the connection_layer branch 6 times, most recently from a51797f to 2736559 Compare January 7, 2025 15:40
Copy link
Member

@Gsantomaggio Gsantomaggio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general looks good as first version.
May I ask to have a look https://github.com/rabbitmq/rabbitmq-amqp-dotnet-client/blob/main/Tests/Management/ManagementTests.cs to see if this client covers all the management cases?

tests/test_management.py Outdated Show resolved Hide resolved
@DanielePalaia DanielePalaia force-pushed the connection_layer branch 4 times, most recently from 63f03e3 to da0856c Compare January 9, 2025 10:15
@DanielePalaia DanielePalaia force-pushed the connection_layer branch 2 times, most recently from e874173 to 37570f2 Compare January 9, 2025 13:29
@DanielePalaia
Copy link
Contributor Author

As I'm extending the unit tests, I'm realizing that the arguments for queues and exchanges are not managed well and needs improvements. I'll work on it

@DanielePalaia DanielePalaia force-pushed the connection_layer branch 5 times, most recently from 83dce6e to 5ceedca Compare January 10, 2025 09:02
@DanielePalaia DanielePalaia force-pushed the connection_layer branch 3 times, most recently from 08adb16 to f05c54e Compare January 10, 2025 13:27
@DanielePalaia DanielePalaia force-pushed the connection_layer branch 5 times, most recently from 6ac9a41 to f80773d Compare January 10, 2025 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants