Use qint64 for message request ID
This commit is contained in:
parent
3a27a3e868
commit
1b791c82fc
|
@ -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>
|
||||||
|
|
|
@ -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_; }
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue