QAMQP
A Qt5/Qt6 implementation of AMQP 0.9.1, focusing primarily on RabbitMQ support.
Usage
Documentation
Tests checked and integrated against rabbitmq 3.11 (August 1, 2022)
Qt5.6.3 (MSVC2017) 32Bit
Qt5.15.2 (MSVC2019, MSVC2022, MinGW, Clang) 32 and 64Bit
Qt6.5 (MSVC2019, MSVC2022) 64Bit
A good starting point is:
- running a local RabbitMQ,
- browse to http://localhost:15672/#/queues (guest/guest)
- Start the "receive" sample and see in your browser the "hello" queue appear
- publish a message there
AMQP Support
connection
method |
supported |
connection.start |
✓ |
connection.start-ok |
✓ |
connection.secure |
✓ |
connection.secure-ok |
✓ |
connection.tune |
✓ |
connection.tune-ok |
✓ |
connection.open |
✓ |
connection.open-ok |
✓ |
connection.close |
✓ |
connection.close-ok |
✓ |
channel
method |
supported |
channel.open |
✓ |
channel.open-ok |
✓ |
channel.flow |
✓ |
channel.flow-ok |
✓ |
channel.close |
✓ |
channel.close-ok |
✓ |
exchange
method |
supported |
exchange.declare |
✓ |
exchange.declare-ok |
✓ |
exchange.delete |
✓ |
exchange.delete-ok |
✓ |
queue
method |
supported |
queue.declare |
✓ |
queue.declare-ok |
✓ |
queue.bind |
✓ |
queue.bind-ok |
✓ |
queue.unbind |
✓ |
queue.unbind-ok |
✓ |
queue.purge |
✓ |
queue.purge-ok |
✓ |
queue.delete |
✓ |
queue.delete-ok |
✓ |
basic
method |
supported |
basic.qos |
✓ |
basic.consume |
✓ |
basic.consume-ok |
✓ |
basic.cancel |
✓ |
basic.cancel-ok |
✓ |
basic.publish |
✓ |
basic.return |
✓ |
basic.deliver |
✓ |
basic.get |
✓ |
basic.get-ok |
✓ |
basic.get-empty |
✓ |
basic.ack |
✓ |
basic.reject |
✓ |
basic.recover |
✓ |
tx
method |
supported |
tx.select |
X |
tx.select-ok |
X |
tx.commit |
X |
tx.commit-ok |
X |
tx.rollback |
X |
tx.rollback-ok |
X |
confirm
method |
supported |
confirm.select |
✓ |
confirm.select-ok |
✓ |
Credits
- Thank you to @fuCtor for the original implementation work.