aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleak <leak@bitmx.net>2014-06-08 20:08:43 +0200
committerleak <leak@bitmx.net>2014-06-08 20:08:43 +0200
commit0dd10269d15b11b3beb0cb1b8537e15126699d32 (patch)
treeef2869752124e71ce868cd1def44079abed0e534
parentfdd5e11a15a4e635bb1298c3d4c4b3c9e718e6b0 (diff)
Replaced dependencies on ace/OS_NS_time.h
-rw-r--r--src/server/shared/Common.h2
-rw-r--r--src/server/shared/Logging/Appender.cpp4
-rw-r--r--src/server/shared/Logging/Log.cpp7
-rw-r--r--src/server/shared/Utilities/Timer.h248
-rw-r--r--src/server/shared/Utilities/Util.cpp15
-rw-r--r--src/server/shared/Utilities/Util.h2
6 files changed, 146 insertions, 132 deletions
diff --git a/src/server/shared/Common.h b/src/server/shared/Common.h
index a7bc3acd1e5..54c7bfc5be8 100644
--- a/src/server/shared/Common.h
+++ b/src/server/shared/Common.h
@@ -84,8 +84,6 @@
#include "Threading/LockedQueue.h"
#include "Threading/Threading.h"
-#include <ace/OS_NS_time.h>
-
#if PLATFORM == PLATFORM_WINDOWS
# include <ace/config-all.h>
// XP winver - needed to compile with standard leak check in MemoryLeaks.h
diff --git a/src/server/shared/Logging/Appender.cpp b/src/server/shared/Logging/Appender.cpp
index 718c3a406f1..a4fc93e119c 100644
--- a/src/server/shared/Logging/Appender.cpp
+++ b/src/server/shared/Logging/Appender.cpp
@@ -17,11 +17,11 @@
#include "Appender.h"
#include "Common.h"
+#include "Util.h"
std::string LogMessage::getTimeStr(time_t time)
{
- tm aTm;
- ACE_OS::localtime_r(&time, &aTm);
+ tm aTm = localtime_r(time);
char buf[20];
snprintf(buf, 20, "%04d-%02d-%02d_%02d:%02d:%02d", aTm.tm_year+1900, aTm.tm_mon+1, aTm.tm_mday, aTm.tm_hour, aTm.tm_min, aTm.tm_sec);
return std::string(buf);
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp
index bc002668b3b..bb8cb1719c8 100644
--- a/src/server/shared/Logging/Log.cpp
+++ b/src/server/shared/Logging/Log.cpp
@@ -283,9 +283,10 @@ void Log::write(LogMessage* msg)
std::string Log::GetTimestampStr()
{
- time_t t = time(NULL);
- tm aTm;
- ACE_OS::localtime_r(&t, &aTm);
+ time_t tt = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
+
+ std::tm aTm = localtime_r(tt);
+
// YYYY year
// MM month (2 digits 01-12)
// DD day (2 digits 01-31)
diff --git a/src/server/shared/Utilities/Timer.h b/src/server/shared/Utilities/Timer.h
index c809a59c20f..7c62de5f5ed 100644
--- a/src/server/shared/Utilities/Timer.h
+++ b/src/server/shared/Utilities/Timer.h
@@ -19,13 +19,15 @@
#ifndef TRINITY_TIMER_H
#define TRINITY_TIMER_H
-#include "ace/OS_NS_sys_time.h"
-#include "Common.h"
+#include <chrono>
+
+using namespace std::chrono;
inline uint32 getMSTime()
{
- static const ACE_Time_Value ApplicationStartTime = ACE_OS::gettimeofday();
- return (ACE_OS::gettimeofday() - ApplicationStartTime).msec();
+ static const system_clock::time_point ApplicationStartTime = system_clock::now();
+
+ return duration_cast<milliseconds>(system_clock::now() - ApplicationStartTime).count();
}
inline uint32 getMSTimeDiff(uint32 oldMSTime, uint32 newMSTime)
@@ -44,158 +46,158 @@ inline uint32 GetMSTimeDiffToNow(uint32 oldMSTime)
struct IntervalTimer
{
- public:
-
- IntervalTimer()
- : _interval(0), _current(0)
- {
- }
-
- void Update(time_t diff)
- {
- _current += diff;
- if (_current < 0)
- _current = 0;
- }
-
- bool Passed()
- {
- return _current >= _interval;
- }
-
- void Reset()
- {
- if (_current >= _interval)
- _current %= _interval;
- }
-
- void SetCurrent(time_t current)
- {
- _current = current;
- }
-
- void SetInterval(time_t interval)
- {
- _interval = interval;
- }
-
- time_t GetInterval() const
- {
- return _interval;
- }
-
- time_t GetCurrent() const
- {
- return _current;
- }
-
- private:
-
- time_t _interval;
- time_t _current;
+public:
+
+ IntervalTimer()
+ : _interval(0), _current(0)
+ {
+ }
+
+ void Update(time_t diff)
+ {
+ _current += diff;
+ if (_current < 0)
+ _current = 0;
+ }
+
+ bool Passed()
+ {
+ return _current >= _interval;
+ }
+
+ void Reset()
+ {
+ if (_current >= _interval)
+ _current %= _interval;
+ }
+
+ void SetCurrent(time_t current)
+ {
+ _current = current;
+ }
+
+ void SetInterval(time_t interval)
+ {
+ _interval = interval;
+ }
+
+ time_t GetInterval() const
+ {
+ return _interval;
+ }
+
+ time_t GetCurrent() const
+ {
+ return _current;
+ }
+
+private:
+
+ time_t _interval;
+ time_t _current;
};
struct TimeTracker
{
- public:
+public:
- TimeTracker(time_t expiry)
- : i_expiryTime(expiry)
- {
- }
+ TimeTracker(time_t expiry)
+ : i_expiryTime(expiry)
+ {
+ }
- void Update(time_t diff)
- {
- i_expiryTime -= diff;
- }
+ void Update(time_t diff)
+ {
+ i_expiryTime -= diff;
+ }
- bool Passed() const
- {
- return i_expiryTime <= 0;
- }
+ bool Passed() const
+ {
+ return i_expiryTime <= 0;
+ }
- void Reset(time_t interval)
- {
- i_expiryTime = interval;
- }
+ void Reset(time_t interval)
+ {
+ i_expiryTime = interval;
+ }
- time_t GetExpiry() const
- {
- return i_expiryTime;
- }
+ time_t GetExpiry() const
+ {
+ return i_expiryTime;
+ }
- private:
+private:
- time_t i_expiryTime;
+ time_t i_expiryTime;
};
struct TimeTrackerSmall
{
- public:
+public:
- TimeTrackerSmall(uint32 expiry = 0)
- : i_expiryTime(expiry)
- {
- }
+ TimeTrackerSmall(uint32 expiry = 0)
+ : i_expiryTime(expiry)
+ {
+ }
- void Update(int32 diff)
- {
- i_expiryTime -= diff;
- }
+ void Update(int32 diff)
+ {
+ i_expiryTime -= diff;
+ }
- bool Passed() const
- {
- return i_expiryTime <= 0;
- }
+ bool Passed() const
+ {
+ return i_expiryTime <= 0;
+ }
- void Reset(uint32 interval)
- {
- i_expiryTime = interval;
- }
+ void Reset(uint32 interval)
+ {
+ i_expiryTime = interval;
+ }
- int32 GetExpiry() const
- {
- return i_expiryTime;
- }
+ int32 GetExpiry() const
+ {
+ return i_expiryTime;
+ }
- private:
+private:
- int32 i_expiryTime;
+ int32 i_expiryTime;
};
struct PeriodicTimer
{
- public:
+public:
- PeriodicTimer(int32 period, int32 start_time)
- : i_period(period), i_expireTime(start_time)
- {
- }
+ PeriodicTimer(int32 period, int32 start_time)
+ : i_period(period), i_expireTime(start_time)
+ {
+ }
- bool Update(const uint32 diff)
- {
- if ((i_expireTime -= diff) > 0)
- return false;
+ bool Update(const uint32 diff)
+ {
+ if ((i_expireTime -= diff) > 0)
+ return false;
- i_expireTime += i_period > int32(diff) ? i_period : diff;
- return true;
- }
+ i_expireTime += i_period > int32(diff) ? i_period : diff;
+ return true;
+ }
- void SetPeriodic(int32 period, int32 start_time)
- {
- i_expireTime = start_time;
- i_period = period;
- }
+ void SetPeriodic(int32 period, int32 start_time)
+ {
+ i_expireTime = start_time;
+ i_period = period;
+ }
- // Tracker interface
- void TUpdate(int32 diff) { i_expireTime -= diff; }
- bool TPassed() const { return i_expireTime <= 0; }
- void TReset(int32 diff, int32 period) { i_expireTime += period > diff ? period : diff; }
+ // Tracker interface
+ void TUpdate(int32 diff) { i_expireTime -= diff; }
+ bool TPassed() const { return i_expireTime <= 0; }
+ void TReset(int32 diff, int32 period) { i_expireTime += period > diff ? period : diff; }
- private:
+private:
- int32 i_period;
- int32 i_expireTime;
+ int32 i_period;
+ int32 i_expireTime;
};
#endif
diff --git a/src/server/shared/Utilities/Util.cpp b/src/server/shared/Utilities/Util.cpp
index ffef61557fc..fc01442adb3 100644
--- a/src/server/shared/Utilities/Util.cpp
+++ b/src/server/shared/Utilities/Util.cpp
@@ -127,6 +127,18 @@ void stripLineInvisibleChars(std::string &str)
}
+std::tm localtime_r(const time_t& time)
+{
+ std::tm tm_snapshot;
+#if (defined(WIN32) || defined(_WIN32) || defined(__WIN32__))
+ localtime_s(&tm_snapshot, &time);
+#else
+ localtime_r(&time, &tm_snapshot); // POSIX
+#endif
+ return tm_snapshot;
+}
+
+
std::string secsToTimeString(uint64 timeInSecs, bool shortText, bool hoursOnly)
{
uint64 secs = timeInSecs % MINUTE;
@@ -215,8 +227,7 @@ uint32 TimeStringToSecs(const std::string& timestring)
std::string TimeToTimestampStr(time_t t)
{
- tm aTm;
- ACE_OS::localtime_r(&t, &aTm);
+ tm aTm = localtime_r(t);
// YYYY year
// MM month (2 digits 01-12)
// DD day (2 digits 01-31)
diff --git a/src/server/shared/Utilities/Util.h b/src/server/shared/Utilities/Util.h
index b086a28134c..fb40b921bc2 100644
--- a/src/server/shared/Utilities/Util.h
+++ b/src/server/shared/Utilities/Util.h
@@ -70,6 +70,8 @@ void stripLineInvisibleChars(std::string &src);
int32 MoneyStringToMoney(const std::string& moneyString);
+std::tm localtime_r(const time_t& time);
+
std::string secsToTimeString(uint64 timeInSecs, bool shortText = false, bool hoursOnly = false);
uint32 TimeStringToSecs(const std::string& timestring);
std::string TimeToTimestampStr(time_t t);