]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/main.cpp
* include/caller.h will now compile correctly on Windows platforms.
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / main.cpp
index 9a678dc5bcd0337bbeebccb3ea8e027ef5fc7d95..3d472bf7ab8ed5ec9eccc46a24ab63f35266668d 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.
@@ -485,8 +485,12 @@ void ModuleSpanningTree::DoPingChecks(time_t curtime)
                                if (serv->AnsweredLastPing())
                                {
                                        sock->WriteLine(std::string(":")+ServerInstance->Config->ServerName+" PING "+serv->GetName());
-                                       serv->SetNextPingTime(curtime + 60);
+                                       serv->SetNextPingTime(curtime + Utils->PingFreq);
                                        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
@@ -499,7 +503,7 @@ void ModuleSpanningTree::DoPingChecks(time_t curtime)
                                        return;
                                }
                        }
-                       else if ((Utils->PingWarnTime) && (!serv->Warned) && (curtime >= serv->NextPingTime() - (60 - Utils->PingWarnTime)) && (!serv->AnsweredLastPing()))
+                       else if ((Utils->PingWarnTime) && (!serv->Warned) && (curtime >= serv->NextPingTime() - (Utils->PingFreq - Utils->PingWarnTime)) && (!serv->AnsweredLastPing()))
                        {
                                /* The server hasnt responded, send a warning to opers */
                                ServerInstance->SNO->WriteToSnoMask('l',"Server \002%s\002 has not responded to PING for %d seconds, high latency.", serv->GetName().c_str(), Utils->PingWarnTime);