Add API to query for the messageCount and consumerCount after the queue being declared

This commit is contained in:
Hxcan Cai 2016-12-12 13:47:23 +08:00 committed by Matt Broadstone
parent 175482412f
commit 65f34967eb
3 changed files with 21 additions and 3 deletions

View File

@ -153,7 +153,7 @@ void QAmqpQueuePrivate::declareOk(const QAmqpMethodFrame &frame)
QDataStream stream(&data, QIODevice::ReadOnly); QDataStream stream(&data, QIODevice::ReadOnly);
name = QAmqpFrame::readAmqpField(stream, QAmqpMetaType::ShortString).toString(); name = QAmqpFrame::readAmqpField(stream, QAmqpMetaType::ShortString).toString();
qint32 messageCount = 0, consumerCount = 0;
stream >> messageCount >> consumerCount; stream >> messageCount >> consumerCount;
qAmqpDebug("-> queue#declareOk( queue-name=%s, message-count=%d, consumer-count=%d )", qAmqpDebug("-> queue#declareOk( queue-name=%s, message-count=%d, consumer-count=%d )",
@ -168,7 +168,7 @@ void QAmqpQueuePrivate::purgeOk(const QAmqpMethodFrame &frame)
QByteArray data = frame.arguments(); QByteArray data = frame.arguments();
QDataStream stream(&data, QIODevice::ReadOnly); QDataStream stream(&data, QIODevice::ReadOnly);
qint32 messageCount = 0;
stream >> messageCount; stream >> messageCount;
qAmqpDebug("-> queue#purgeOk( queue-name=%s, message-count=%d )", qAmqpDebug("-> queue#purgeOk( queue-name=%s, message-count=%d )",
@ -184,7 +184,7 @@ void QAmqpQueuePrivate::deleteOk(const QAmqpMethodFrame &frame)
QByteArray data = frame.arguments(); QByteArray data = frame.arguments();
QDataStream stream(&data, QIODevice::ReadOnly); QDataStream stream(&data, QIODevice::ReadOnly);
qint32 messageCount = 0;
stream >> messageCount; stream >> messageCount;
qAmqpDebug("-> queue#deleteOk( queue-name=%s, message-count=%d )", qAmqpDebug("-> queue#deleteOk( queue-name=%s, message-count=%d )",
@ -340,6 +340,18 @@ int QAmqpQueue::options() const
return d->options; return d->options;
} }
qint32 QAmqpQueue::messageCount() const
{
Q_D(const QAmqpQueue);
return d->messageCount;
}
qint32 QAmqpQueue::consumerCount() const
{
Q_D(const QAmqpQueue);
return d->consumerCount;
}
void QAmqpQueue::declare(int options, const QAmqpTable &arguments) void QAmqpQueue::declare(int options, const QAmqpTable &arguments)
{ {
Q_D(QAmqpQueue); Q_D(QAmqpQueue);

View File

@ -75,6 +75,9 @@ public:
void setConsumerTag(const QString &consumerTag); void setConsumerTag(const QString &consumerTag);
QString consumerTag() const; QString consumerTag() const;
qint32 messageCount() const;
qint32 consumerCount() const;
Q_SIGNALS: Q_SIGNALS:
void declared(); void declared();
void bound(); void bound();

View File

@ -54,6 +54,9 @@ public:
bool consuming; bool consuming;
bool consumeRequested; bool consumeRequested;
qint32 messageCount;
qint32 consumerCount;
Q_DECLARE_PUBLIC(QAmqpQueue) Q_DECLARE_PUBLIC(QAmqpQueue)
}; };