Commit Graph

19 Commits

Author SHA1 Message Date
Hxcan Cai 65f34967eb Add API to query for the messageCount and consumerCount after the queue being declared 2016-12-13 07:14:42 -05:00
Thomas Vincent-Sweet fd7537c3f3 Fix queue declaration arguments 2016-06-22 11:16:17 +01:00
Matt Broadstone 79f5c4187c style(channels): fix some small indentation errors 2016-03-28 09:00:52 -04:00
Matt Broadstone f6c43d9196 refactor(debug): vastly improve debug messages for framing 2016-03-04 12:53:02 -05:00
laboratorio 20c9d69875 QAmqpTable arguments derives from channel private. 2016-02-04 16:31:10 +01:00
Ernesto De Stefano cbfa5d4771 Update qamqpqueue.cpp 2016-02-04 14:17:42 +01:00
Ernesto De Stefano b1cd8e48c3 Update qamqpqueue.cpp 2016-02-03 22:59:42 +01:00
Matt Broadstone f6777e66df refactor(channels): move resetInternalState to private impls 2015-11-20 08:07:21 -05:00
Matt Broadstone 0c96cfca52 refactor(QAmqpChannel): reset channel state on disconnect
We now track channels in QAmqpChannelHash for use across reconnects
however, the internal state of these channels was not being reset
when the connection was reestablished. This provides a way to do
that for not only channels, but both of its subclasses
2015-11-19 17:43:31 -05:00
Matt Broadstone 943180da27 fix(multiple-consume): only send consume message once
Previously if multiple attempts to call consume were made, then
QAmqpQueue would send a frame for each of them leading to multiple
consumer tags and general confusion. This guards from calling
consume multiple times.
2015-04-07 14:30:18 -04:00
Matt Broadstone 4640a9ad6a cleanup frame handlers on channel deletion
In cases where exchanges and queues are added and deleted during
an extended use of a QAmqpClient, the client should internally cleanup
the frame handlers registered for those objects. This patch does that
as well as providing two test cases verifying this behavior for both
QAmqpQueue and QAmqpExchange.
2015-02-06 16:12:58 -05:00
Matt Broadstone d051f5a445 add support for Basic.Reject
This adds the reject method to QAmqpQueue in order to reject an
incoming message, and conditionally requeue it.
2015-02-01 09:50:32 -05:00
Matt Broadstone 009c3131f5 add two new properties, changed the name of one
QAmqpQueue and QAmqpExchange both now have an isDeclared property,
and QAmqpChannel::isOpened was renamed to isOpen to more closely follow
Qt style/api guidelines
2015-01-31 12:44:25 -05:00
Matt Broadstone f2ac01de34 add preliminary support for publisher acknowledgements
RabbitMQ supports publish confirms (Publisher Acknowledgements) on
a given channel. This enables the user to toggle this functionality
and ensure that published messages are in fact published.
2015-01-19 13:51:20 -05:00
Matt Broadstone 7242a64a2f clean up QAmqpFrame paths
- opt for QDataStream overloads instead of read ctor and toStream methods
- removed some unneccesary prefixes to Type and MethodClass enums
- removed documentation from header (this is coming back!)
- cleaned up some confusing code paths, removed unneccessary methods (like readHeader/writeHeader)
2014-09-15 15:45:20 -04:00
Matt Broadstone 10ab1423c2 remove QAMQP namespace
This is a very small library, so there is no real pressing need for
a library namespace. Further, the namespacing actually makes it rather
difficult to work with in some cases. Opting for a more "Qt" style
class naming scheme, using the QAmqp class prefix
2014-09-15 13:26:48 -04:00
Matt Broadstone 7e151dfc7b fix windows build
- add equality operator to QAMQP::Message
- add qHash for QAMQP::Message... because MSVC
2014-09-11 15:37:46 -04:00
Matt Broadstone 84746ff77c handle messages with empty payloads
If a message is delivered with an empty body, we were not previously
enqueuing the message. This fixes issue #43
2014-09-10 22:39:13 -04:00
Matt Broadstone 6a3d355de2 rename amqp_ files to qamqp
amqp_<filename> is used in at least two other C/C++ projects related
to amqp, so this commit changes all our source to use a qamqp header.
This avoids potential clashes, and is more in line with Qt style
2014-08-26 15:05:39 -04:00