]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Change latency figures in /map to milliseconds, much more useful for lag measurement...
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 5 Aug 2007 19:22:10 +0000 (19:22 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 5 Aug 2007 19:22:10 +0000 (19:22 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7667 e03df62e-2008-0410-955e-edbf42e46eb7

src/modules/m_spanningtree/main.cpp
src/modules/m_spanningtree/treeserver.h
src/modules/m_spanningtree/treesocket2.cpp

index 9a678dc5bcd0337bbeebccb3ea8e027ef5fc7d95..2b159fa4e240c3eb837bc3ed31e76558d49d842a 100644 (file)
@@ -174,7 +174,7 @@ std::string ModuleSpanningTree::TimeToStr(time_t secs)
 const std::string ModuleSpanningTree::MapOperInfo(TreeServer* Current)
 {
        time_t secs_up = ServerInstance->Time() - Current->age;
-       return (" [Up: " + TimeToStr(secs_up) + " Lag: "+ConvToStr(Current->rtt)+"s]");
+       return (" [Up: " + TimeToStr(secs_up) + " Lag: "+ConvToStr(Current->rtt)+"ms]");
 }
 
 // WARNING: NOT THREAD SAFE - DONT GET ANY SMART IDEAS.
@@ -487,6 +487,10 @@ void ModuleSpanningTree::DoPingChecks(time_t curtime)
                                        sock->WriteLine(std::string(":")+ServerInstance->Config->ServerName+" PING "+serv->GetName());
                                        serv->SetNextPingTime(curtime + 60);
                                        serv->LastPing = curtime;
+                                       timeval t;
+                                       gettimeofday(&t, NULL);
+                                       long ts = (t.tv_sec * 1000) + (t.tv_usec / 1000);
+                                       serv->LastPingMsec = ts;
                                        serv->Warned = false;
                                }
                                else
index 514d6bc07a04c37fb7a7679f72ac6296926ca682..d8d3b70e8d8ba1c3681919d106d1b736246e4406 100644 (file)
@@ -109,9 +109,13 @@ class TreeServer : public classbase
         */
        time_t LastPing;
 
+       /** Last ping time in microseconds, used to calculate round trip time
+        */
+       unsigned long LastPingMsec;
+
        /** Round trip time of last ping
         */
-       time_t rtt;
+       unsigned long rtt;
 
        /** True if this server is hidden
         */
index 077350d20474e4d9142f4636454ad77387f43670..fc6853ba8e15f072de11e46a7acdf7bfc57c7a23 100644 (file)
@@ -365,7 +365,10 @@ bool TreeSocket::LocalPong(const std::string &prefix, std::deque<std::string> &p
                if (ServerSource)
                {
                        ServerSource->SetPingFlag();
-                       ServerSource->rtt = Instance->Time() - ServerSource->LastPing;
+                       timeval t;
+                       gettimeofday(&t, NULL);
+                       long ts = (t.tv_sec * 1000) + (t.tv_usec / 1000);
+                       ServerSource->rtt = ts - ServerSource->LastPingMsec;
                }
        }
        else