aboutsummaryrefslogtreecommitdiff
path: root/zencore/compactbinary.cpp
diff options
context:
space:
mode:
authorPer Larsson <[email protected]>2022-04-25 11:22:43 +0200
committerPer Larsson <[email protected]>2022-04-25 11:22:43 +0200
commit1e7c5d062327ec249d3daae0f9ce61a03c4e76b2 (patch)
tree893423c3d0b28f1d08b7ce1b138f4e1b4e45537c /zencore/compactbinary.cpp
parentMerge branch 'main' into ddcref (diff)
parentCompute tweaks (#78) (diff)
downloadzen-1e7c5d062327ec249d3daae0f9ce61a03c4e76b2.tar.xz
zen-1e7c5d062327ec249d3daae0f9ce61a03c4e76b2.zip
Merge branch 'main' into ddcref
Diffstat (limited to 'zencore/compactbinary.cpp')
-rw-r--r--zencore/compactbinary.cpp23
1 files changed, 14 insertions, 9 deletions
diff --git a/zencore/compactbinary.cpp b/zencore/compactbinary.cpp
index cb628af4b..ffc1da10c 100644
--- a/zencore/compactbinary.cpp
+++ b/zencore/compactbinary.cpp
@@ -60,22 +60,27 @@ GetPlatformToDateTimeBiasInSeconds()
return uint64_t(double(PlatformEpochYear - DateTimeEpochYear) * 365.2425) * 86400;
}
-DateTime
-DateTime::Now()
+uint64_t
+DateTime::NowTicks()
{
- static const uint64_t EpochBias = GetPlatformToDateTimeBiasInSeconds();
- static const uint64_t SecsTo100nsTicks = int64_t(10e9 / 100);
+ static constexpr uint64_t EpochBias = GetPlatformToDateTimeBiasInSeconds();
#if ZEN_PLATFORM_WINDOWS
FILETIME SysTime;
- GetSystemTimeAsFileTime(&SysTime);
- return DateTime{(EpochBias * SecsTo100nsTicks) + (uint64_t(SysTime.dwHighDateTime) << 32) | SysTime.dwLowDateTime};
+ GetSystemTimePreciseAsFileTime(&SysTime);
+ return (EpochBias * TimeSpan::TicksPerSecond) + ((uint64_t(SysTime.dwHighDateTime) << 32) | SysTime.dwLowDateTime);
#else
int64_t SecondsSinceUnixEpoch = time(nullptr);
- return DateTime{(EpochBias + SecondsSinceUnixEpoch) * SecsTo100nsTicks};
+ return (EpochBias + SecondsSinceUnixEpoch) * TimeSpan::TicksPerSecond;
#endif
}
+DateTime
+DateTime::Now()
+{
+ return DateTime{NowTicks()};
+}
+
void
DateTime::Set(int Year, int Month, int Day, int Hour, int Minute, int Second, int MilliSecond)
{
@@ -1392,7 +1397,7 @@ LoadCompactBinaryObject(IoBuffer&& Payload)
}
CbObject
-LoadCompactBinaryObject(IoBuffer& Payload)
+LoadCompactBinaryObject(const IoBuffer& Payload)
{
return CbObject{SharedBuffer(Payload)};
}
@@ -1404,7 +1409,7 @@ LoadCompactBinaryObject(CompressedBuffer&& Payload)
}
CbObject
-LoadCompactBinaryObject(CompressedBuffer& Payload)
+LoadCompactBinaryObject(const CompressedBuffer& Payload)
{
return CbObject{SharedBuffer(Payload.DecompressToComposite().Flatten())};
}