#include "netbase.h" // for AddTimeData
+static const int32_t nOneHour = 60 * 60;
+static const int32_t nOneDay = 24 * 60 * 60;
+static const int64_t nOneWeek = 7 * 24 * 60 * 60;
static const int64_t COIN = 1000000;
static const int64_t CENT = 10000;
void LogStackTrace();
#endif
+#if defined(_MSC_VER) || defined(__MSVCRT__)
+ /* Silence compiler warnings on Windows
+ related to MinGWs inttypes.h */
+ #undef PRIu64
+ #undef PRId64
+ #undef PRIx64
+
+ #define PRIu64 "I64u"
+ #define PRId64 "I64d"
+ #define PRIx64 "I64x"
+
+#endif
/* Format characters for (s)size_t and ptrdiff_t */
#if defined(_MSC_VER) || defined(__MSVCRT__)
uint64_t GetRand(uint64_t nMax);
uint256 GetRandHash();
int64_t GetTime();
-void SetMockTime(int64_t nMockTimeIn);
+int64_t GetTimeMillis();
+int64_t GetTimeMicros();
+
int64_t GetAdjustedTime();
int64_t GetTimeOffset();
int64_t GetNodesOffset();
return strtol(str.c_str(), NULL, 10);
}
+inline uint32_t strtoul(const char* psz)
+{
+ return strtoul(psz, NULL, 10);
+}
+
+inline uint32_t strtoul(const std::string& str)
+{
+ return strtoul(str.c_str(), NULL, 10);
+}
+
inline int atoi(const std::string& str)
{
return atoi(str.c_str());
inline int64_t GetTimeMillis()
{
- return (boost::posix_time::ptime(boost::posix_time::microsec_clock::universal_time()) -
+ return (boost::posix_time::microsec_clock::universal_time() -
boost::posix_time::ptime(boost::gregorian::date(1970,1,1))).total_milliseconds();
}
+inline int64_t GetTimeMicros()
+{
+ return (boost::posix_time::microsec_clock::universal_time() -
+ boost::posix_time::ptime(boost::gregorian::date(1970,1,1))).total_microseconds();
+}
+
std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime);
static const std::string strTimestampFormat = "%Y-%m-%d %H:%M:%S UTC";
int32_t GetArgInt(const std::string& strArg, int32_t nDefault);
/**
+ * Return 32-bit unsigned integer argument or default value
+ *
+ * @param strArg Argument to get (e.g. "-foo")
+ * @param default (e.g. 1)
+ * @return command-line argument (0 if invalid number) or default value
+ */
+uint32_t GetArgUInt(const std::string& strArg, uint32_t nDefault);
+
+/**
* Return boolean argument or default value
*
* @param strArg Argument to get (e.g. "-foo")
T median() const
{
- int size = vSorted.size();
+ size_t size = vSorted.size();
assert(size>0);
if(size & 1) // Odd number of elements
{