Use qint64 for message request ID

This commit is contained in:
Jonas Kvinge 2020-11-19 18:26:50 +01:00
parent 3a27a3e868
commit 1b791c82fc
4 changed files with 7 additions and 7 deletions

View File

@ -111,7 +111,7 @@ class AbstractMessageHandler : public _MessageHandlerBase {
void AbortAll() override;
private:
QMap<int, ReplyType*> pending_replies_;
QMap<qint64, ReplyType*> pending_replies_;
};
template <typename MT>

View File

@ -33,7 +33,7 @@ class _MessageReplyBase : public QObject {
public:
explicit _MessageReplyBase(QObject *parent = nullptr);
virtual int id() const = 0;
virtual qint64 id() const = 0;
bool is_finished() const { return finished_; }
bool is_successful() const { return success_; }
@ -59,7 +59,7 @@ class MessageReply : public _MessageReplyBase {
public:
explicit MessageReply(const MessageType &request_message, QObject *parent = nullptr);
int id() const override { return request_message_.id(); }
qint64 id() const override { return request_message_.id(); }
const MessageType &request_message() const { return request_message_; }
const MessageType &message() const { return reply_message_; }

View File

@ -32,7 +32,7 @@
#include <QQueue>
#include <QString>
#include <QStringList>
#include <QAtomicInt>
#include <QAtomicInteger>
#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
# include <QRandomGenerator>
#endif
@ -147,7 +147,7 @@ class WorkerPool : public _WorkerPoolBase {
mutable int next_worker_;
QList<Worker> workers_;
QAtomicInt next_id_;
QAtomicInteger<qint64> next_id_;
QMutex message_queue_mutex_;
QQueue<ReplyType*> message_queue_;
@ -351,7 +351,7 @@ template <typename HandlerType>
typename WorkerPool<HandlerType>::ReplyType*
WorkerPool<HandlerType>::NewReply(MessageType *message) {
const int id = next_id_.fetchAndAddOrdered(1);
const qint64 id = next_id_.fetchAndAddOrdered(1);
message->set_id(id);
return new ReplyType(*message);

View File

@ -101,7 +101,7 @@ message LoadEmbeddedArtResponse {
}
message Message {
optional int32 id = 1;
optional int64 id = 1;
optional ReadFileRequest read_file_request = 2;
optional ReadFileResponse read_file_response = 3;