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; void AbortAll() override;
private: private:
QMap<int, ReplyType*> pending_replies_; QMap<qint64, ReplyType*> pending_replies_;
}; };
template <typename MT> template <typename MT>

View File

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

View File

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

View File

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