From 285a6d184e1df61da78c975faef96f36860526f2 Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Mon, 31 Oct 2016 21:57:37 +0700
Subject: [PATCH] last_response_time_in_secs

---
 matrix-util.js | 43 ++++++++++++-------------------------------
 1 file changed, 12 insertions(+), 31 deletions(-)

diff --git a/matrix-util.js b/matrix-util.js
index 96ee53c..a455a7e 100644
--- a/matrix-util.js
+++ b/matrix-util.js
@@ -127,45 +127,26 @@ MatrixUtil.prototype._updateLastResponseTime = function(partner) {
     let matrix = this.matrix;
     let logger = this.logger;
 
-    try {
-        if (!matrix.buddies[partner]['last_outgoing']) {
-            logger.verbose('No outgoing yet, skip updateLastResponseTime');
-            return;
-        }
-
-        if (!matrix.buddies[partner]['last_outgoing']['last_update_ts']) {
-            logger.verbose('No outgoing timestamp yet, skip updateLastResponseTime');
-            return;
-        }
-    }
-    catch(e) {
-        logger.warn('Exception when preparing updateLastResponseTime', {err: e});
+    if (!matrix.buddies[partner]['last_outgoing']) {
+        logger.verbose('No outgoing yet, skip updateLastResponseTime');
         return;
     }
 
-    try {
-        if (
-            matrix.buddies[partner]['last_incoming']
-            && (Number(matrix.buddies[partner]['last_incoming']['last_update_ts']) > Number(matrix.buddies[partner]['last_outgoing']['last_update_ts']))
-        ) {
-            return;
-        }
-    }
-    catch(e) {
-        logger.warn('Exception when checking if last_incoming > last_outgoing', {err: e});
+    if (!matrix.buddies[partner]['last_outgoing']['last_update_ts']) {
+        logger.verbose('No outgoing timestamp yet, skip updateLastResponseTime');
         return;
     }
 
-
-    try {
-        let delta = Date.now() - Number(matrix.buddies[partner]['last_outgoing']['last_update_ts']);
-        logger.verbose('Response time in ' + delta + 'ms');
-        matrix.buddies[partner]['last_response_time'] = Math.round(delta/1000);
-    }
-    catch(e) {
-        logger.warn('Exception when calculating last_response_time', {err: e});
+    if (
+        matrix.buddies[partner]['last_incoming']
+        && (Number(matrix.buddies[partner]['last_incoming']['last_update_ts']) > Number(matrix.buddies[partner]['last_outgoing']['last_update_ts']))
+    ) {
+        return;
     }
 
+    let delta = Date.now() - Number(matrix.buddies[partner]['last_outgoing']['last_update_ts']);
+    logger.verbose('Response time in ' + delta + 'ms');
+    matrix.buddies[partner]['last_response_time_in_secs'] = Math.round(delta/1000);
 }
 
 MatrixUtil.prototype._updateLastMessage = function(partner, msg, direction) {
-- 
1.9.0