Implement a per-room send queue. (#118)

[ci skip]
This commit is contained in:
Jani Mustonen 2017-11-15 18:38:50 +02:00 committed by mujx
parent 4a912a2dff
commit 4e1c8dd663
7 changed files with 131 additions and 61 deletions

View file

@ -40,6 +40,7 @@ public:
void initialSync() noexcept;
void sync() noexcept;
void sendRoomMessage(matrix::events::MessageEventType ty,
int txnId,
const QString &roomid,
const QString &msg,
const QString &url = "") noexcept;
@ -61,7 +62,7 @@ public:
QUrl getHomeServer() { return server_; };
int transactionId() { return txn_id_; };
void incrementTransactionId() { txn_id_ += 1; };
int incrementTransactionId() { return ++txn_id_; }; // It is incredibly important that it's incremented first.
void reset() noexcept;
@ -103,6 +104,7 @@ signals:
void syncFailed(const QString &msg);
void joinFailed(const QString &msg);
void messageSent(const QString &event_id, const QString &roomid, const int txn_id);
void messageSendFailed(const QString &roomid, const int txn_id);
void emoteSent(const QString &event_id, const QString &roomid, const int txn_id);
void messagesRetrieved(const QString &room_id, const RoomMessages &msgs);
void joinedRoom(const QString &room_id);