From 883172368a2f199d3c8795eb3b26270ef965eec9 Mon Sep 17 00:00:00 2001 From: Matt Broadstone Date: Mon, 19 Jan 2015 14:33:27 -0500 Subject: [PATCH] update README.md --- README.md | 224 ++++++++++++++++++++++++++---------------------------- 1 file changed, 107 insertions(+), 117 deletions(-) diff --git a/README.md b/README.md index e2890bb..426a315 100644 --- a/README.md +++ b/README.md @@ -1,117 +1,107 @@ -[![Build Status](https://travis-ci.org/mbroadst/qamqp.svg?branch=master)](https://travis-ci.org/mbroadst/qamqp) -[![Coverage Status](https://img.shields.io/coveralls/mbroadst/qamqp.svg)](https://coveralls.io/r/mbroadst/qamqp?branch=master) - -QAMQP -============= -Qt4/Qt5 implementation of AMQP 0.9.1. - -Implement ------------- -### Connection -work with socket connections - -* start - start connection negotiation -* startok - select security mechanism and locale -* tune - propose connection tuning parameters -* tuneok - negotiate connection tuning parameters -* open - open connection to virtual host -* openok - signal that connection is ready -* close - request a connection close -* closeok - confirm a connection close - -### Channel -work with channels - -* open - open a channel for use -* openok - signal that the channel is ready -* close - request a channel close -* closeok - confirm a channel close - -### Exchange -work with exchanges - -* declare - verify exchange exists, create if needed -* declareok - confirm exchange declaration -* delete - delete an exchange -* deleteok - confirm deletion of an exchange - -### Queue -work with queues - -* declare - declare queue, create if needed -* declareok - confirms a queue definition -* bind - bind queue to an exchange -* bindok - confirm bind successful -* unbind - unbind a queue from an exchange -* unbindok - confirm unbind successful -* purge - purge a queue -* purgeok - confirms a queue purge -* delete - delete a queue -* deleteok - confirm deletion of a queue - -### Basic -work with basic content - -* qos - specify quality of service -* qosok - confirm the requested qos -* consume - start a queue consumer -* consumeok - confirm a new consumer -* publish - publish a message -* deliver - notify the client of a consumer message -* get - direct access to a queue -* getok - provide client with a message -* getempty - indicate no messages available -* ack - acknowledge one or more messages - -Usage ------------- - - Test::Test() - { - QUrl con(QString("amqp://guest:guest@localhost:5672/")); - client_ = new QAMQP::Client(this); - connect(client_, SIGNAL(connected()), this, SLOT(connected())); - client_->open(con); - exchange_ = client_->createExchange("test.test2"); - queue_ = client_->createQueue("test.my_queue", exchange_->channelNumber()); - - connect(queue_, SIGNAL(declared()), this, SLOT(declared())); - connect(queue_, SIGNAL(messageReceived(QAMQP::Queue * )), this, SLOT(newMessage(QAMQP::Queue *))); - - } - - void Test::connected() - { - exchange_->declare("fanout"); - queue_->declare(); - exchange_->bind(queue_); - } - - void Test::declared() - { - exchange_->publish("Hello world", exchange_->name()); - queue_->setQOS(0,10); - queue_->setConsumerTag("qamqp-consumer"); - queue_->consume(QAMQP::Queue::coNoAck); - } - - void Test::newMessage(QAMQP::Queue * q) - { - while (q->hasMessage()) - { - QAMQP::MessagePtr message = q->getMessage(); - qDebug("+ RECEIVE MESSAGE"); - qDebug("| Exchange-name: %s", qPrintable(message->exchangeName)); - qDebug("| Routing-key: %s", qPrintable(message->routeKey)); - qDebug("| Content-type: %s", qPrintable(message->property[QAMQP::Frame::Content::cpContentType].toString())); - if(!q->noAck()) - { - q->ack(message); - } - } - } -Credits -================ -Thank you [@mdhooge](https://github.com/mdhooge) for tutorials inspired by https://github.com/jonnydee/nzmqt - -[![githalytics.com alpha](https://cruel-carlota.pagodabox.com/fda6b79d2e88186cba0c70e204c4f10b "githalytics.com")](http://githalytics.com/fuCtor/QAMQP) +[![Build Status](https://travis-ci.org/mbroadst/qamqp.svg?branch=master)](https://travis-ci.org/mbroadst/qamqp) +[![Coverage Status](https://img.shields.io/coveralls/mbroadst/qamqp.svg)](https://coveralls.io/r/mbroadst/qamqp?branch=master) + +QAMQP +============= +A Qt4/Qt5 implementation of AMQP 0.9.1, focusing primarily on RabbitMQ support. + +Usage +------------ +* [hello world](https://github.com/mbroadst/qamqp/tree/master/tutorials/helloworld) +* [pubsub](https://github.com/mbroadst/qamqp/tree/master/tutorials/pubsub) +* [routing](https://github.com/mbroadst/qamqp/tree/master/tutorials/routing) +* [rpc](https://github.com/mbroadst/qamqp/tree/master/tutorials/rpc) +* [topics](https://github.com/mbroadst/qamqp/tree/master/tutorials/topics) +* [work queues](https://github.com/mbroadst/qamqp/tree/master/tutorials/workqueues) + +Documentation +------------ +Coming soon! + + +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](https://github.com/fuCtor) for the original implementation work.