-
Notifications
You must be signed in to change notification settings - Fork 9
Implement Direct Reply To Feature #87
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
Conversation
Signed-off-by: Gabriele Santomaggio <[email protected]>
Signed-off-by: Gabriele Santomaggio <[email protected]>
Signed-off-by: Gabriele Santomaggio <[email protected]>
Signed-off-by: Gabriele Santomaggio <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR implements the Direct Reply-To feature for the RabbitMQ AMQP Python client, allowing clients to use server-generated temporary queues for RPC-style request/response patterns. The implementation adds a new DirectReplyToConsumerOptions class and supporting infrastructure to create dynamic receivers with RabbitMQ 4.2.0+ servers.
Key Changes:
- Added
DirectReplyToConsumerOptionsclass with RabbitMQ 4.2.0 version validation - Implemented dynamic receiver creation with volatile queue capabilities
- Updated dependency to python-qpid-proton 0.40.0
- Added test coverage and example implementation
Reviewed changes
Copilot reviewed 10 out of 12 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
rabbitmq_amqp_python_client/entities.py |
Adds DirectReplyToConsumerOptions class with validation and direct_reply_to() method |
rabbitmq_amqp_python_client/consumer.py |
Implements Direct Reply-To logic in consumer creation and adds get_queue_address() method |
rabbitmq_amqp_python_client/connection.py |
Updates address validation to allow empty destinations for DirectReplyToConsumerOptions |
rabbitmq_amqp_python_client/options.py |
Adds DynamicReceiverOption to configure dynamic receivers with volatile queue capabilities |
rabbitmq_amqp_python_client/qpid/proton/_utils.py |
Adds create_dynamic_receiver() helper method |
rabbitmq_amqp_python_client/__init__.py |
Exports new DirectReplyToConsumerOptions class |
rabbitmq_amqp_python_client/publisher.py |
Style improvement: simplifies boolean comparison |
pyproject.toml |
Updates python-qpid-proton dependency to 0.40.0 |
poetry.lock |
Lock file update reflecting new dependency versions |
tests/direct_reply_to/test_direct_reply.py |
Adds basic test for Direct Reply-To queue address generation |
examples/direct_reply_queue/direct_reply_to.py |
Provides example demonstrating Direct Reply-To usage pattern |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
|
@Gsantomaggio I've opened a new pull request, #88, to work on those changes. Once the pull request is ready, I'll request review from you. |
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Gabriele Santomaggio <[email protected]>
…mqp-python-client into feat/direct-reply-to
Signed-off-by: Gabriele Santomaggio <[email protected]>
Signed-off-by: Gabriele Santomaggio <[email protected]>
Signed-off-by: Gabriele Santomaggio <[email protected]>
Signed-off-by: Gabriele Santomaggio <[email protected]>
Closes #76
This PR implements the Direct Reply-To feature for the RabbitMQ AMQP Python client, allowing clients to use server-generated temporary queues for RPC-style request/response patterns. The implementation adds a new DirectReplyToConsumerOptions class and supporting infrastructure to create dynamic receivers with RabbitMQ 4.2.0+ servers.
Key Changes: