From 38068d433edcc0aa85e77ff1113ac2f2cd6a10a9 Mon Sep 17 00:00:00 2001
From: Romain Bertozzi <romain.bertozzi@savoirfairelinux.com>
Date: Thu, 5 May 2016 15:35:21 -0400
Subject: [PATCH] im: add debug logs

This patch adds more debug logs to the message engine.

Change-Id: If6c1ba875f9d20349a13635907c3f2b8162a859a
Tuleap: #647
---
 src/im/message_engine.cpp   | 11 ++++++++++-
 src/ringdht/ringaccount.cpp |  9 ++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/im/message_engine.cpp b/src/im/message_engine.cpp
index e1edc894a9..11dfca003a 100644
--- a/src/im/message_engine.cpp
+++ b/src/im/message_engine.cpp
@@ -135,28 +135,37 @@ MessageEngine::trySend(decltype(MessageEngine::messages_)::iterator m)
 void
 MessageEngine::onMessageSent(MessageToken token, bool ok)
 {
-    RING_WARN("Message %llu: %s", token, ok ? "success" : "failure");
+    RING_DBG("Message %llu: %s", token, ok ? "success" : "failure");
     std::lock_guard<std::mutex> lock(messagesMutex_);
     auto f = messages_.find(token);
     if (f != messages_.end()) {
         if (f->second.status == MessageStatus::SENDING) {
             if (ok) {
                 f->second.status = MessageStatus::SENT;
+                RING_DBG("Status SENT for message %llu", token);
                 emitSignal<DRing::ConfigurationSignal::AccountMessageStatusChanged>(account_.getAccountID(),
                                                                              token,
                                                                              f->second.to,
                                                                              static_cast<int>(DRing::Account::MessageStates::SENT));
             } else if (f->second.retried == MAX_RETRIES) {
                 f->second.status = MessageStatus::FAILURE;
+                RING_DBG("Status FAILURE for message %llu", token);
                 emitSignal<DRing::ConfigurationSignal::AccountMessageStatusChanged>(account_.getAccountID(),
                                                                              token,
                                                                              f->second.to,
                                                                              static_cast<int>(DRing::Account::MessageStates::FAILURE));
             } else {
                 f->second.status = MessageStatus::IDLE;
+                RING_DBG("Status IDLE for message %llu", token);
                 // TODO: reschedule sending
             }
         }
+        else {
+           RING_DBG("Message %llu not SENDING", token);
+        }
+    }
+    else {
+        RING_DBG("Can't find message %llu", token);
     }
 }
 
diff --git a/src/ringdht/ringaccount.cpp b/src/ringdht/ringaccount.cpp
index 0843fe93c0..c104234452 100644
--- a/src/ringdht/ringaccount.cpp
+++ b/src/ringdht/ringaccount.cpp
@@ -1424,8 +1424,15 @@ RingAccount::sendTextMessage(const std::string& to, const std::map<std::string,
             if (auto this_ = wshared.lock()) {
                 // check expected message confirmation
                 auto e = this_->sentMessages_.find(msg.id);
+                if (e == this_->sentMessages_.end()) {
+                        RING_DBG("Message not found for %llu", token);
+                }
+                if (e->second.to != msg.from) {
+                        RING_DBG("Unrelated text message : from %s != second %s",
+                                 msg.from.toString().c_str(), e->second.to.toString().c_str());
+                }
                 if (e == this_->sentMessages_.end() || e->second.to != msg.from) {
-                    RING_WARN("Unrelated text message reply");
+                    RING_DBG("Unrelated text message reply for %llu", token);
                     return true;
                 }
                 this_->sentMessages_.erase(e);
-- 
GitLab