summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-02-07 05:07:10 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2023-02-07 05:07:10 +0000
commit4ea66f43bbc8814da2ed10814919e07eae032770 (patch)
tree25bf0ac21f0745fedcbf81f2a5633818e7ae32e9 /storage
parent9e403aa14c9d00b958de14336a346e60f67d803a (diff)
Add getSystemTime interface.
Diffstat (limited to 'storage')
-rw-r--r--storage/src/vespa/storageframework/defaultimplementation/clock/fakeclock.h8
-rw-r--r--storage/src/vespa/storageframework/defaultimplementation/clock/realclock.cpp19
-rw-r--r--storage/src/vespa/storageframework/defaultimplementation/clock/realclock.h3
-rw-r--r--storage/src/vespa/storageframework/generic/clock/clock.h3
4 files changed, 24 insertions, 9 deletions
diff --git a/storage/src/vespa/storageframework/defaultimplementation/clock/fakeclock.h b/storage/src/vespa/storageframework/defaultimplementation/clock/fakeclock.h
index 0ca28f8114d..d234f432f2b 100644
--- a/storage/src/vespa/storageframework/defaultimplementation/clock/fakeclock.h
+++ b/storage/src/vespa/storageframework/defaultimplementation/clock/fakeclock.h
@@ -67,9 +67,13 @@ public:
framework::SecondTime getTimeInSeconds() const override {
return getTimeInMicros().getSeconds();
}
- framework::MonotonicTimePoint getMonotonicTime() const override {
+ vespalib::system_time getSystemTime() const override {
// For simplicity, assume fake monotonic time follows fake wall clock.
- return MonotonicTimePoint(std::chrono::microseconds(getTimeInMicros().getTime()));
+ return vespalib::system_time(std::chrono::microseconds(getTimeInMicros().getTime()));
+ }
+ vespalib::steady_time getMonotonicTime() const override {
+ // For simplicity, assume fake monotonic time follows fake wall clock.
+ return vespalib::steady_time(std::chrono::microseconds(getTimeInMicros().getTime()));
}
};
diff --git a/storage/src/vespa/storageframework/defaultimplementation/clock/realclock.cpp b/storage/src/vespa/storageframework/defaultimplementation/clock/realclock.cpp
index 0303481feb5..df6115aa416 100644
--- a/storage/src/vespa/storageframework/defaultimplementation/clock/realclock.cpp
+++ b/storage/src/vespa/storageframework/defaultimplementation/clock/realclock.cpp
@@ -5,27 +5,36 @@
namespace storage::framework::defaultimplementation {
-MicroSecTime RealClock::getTimeInMicros() const {
+MicroSecTime
+RealClock::getTimeInMicros() const {
struct timeval mytime;
gettimeofday(&mytime, 0);
return MicroSecTime(mytime.tv_sec * 1000000llu + mytime.tv_usec);
}
-MilliSecTime RealClock::getTimeInMillis() const {
+MilliSecTime
+RealClock::getTimeInMillis() const {
struct timeval mytime;
gettimeofday(&mytime, 0);
return MilliSecTime(
mytime.tv_sec * 1000llu + mytime.tv_usec / 1000);
}
-SecondTime RealClock::getTimeInSeconds() const {
+SecondTime
+RealClock::getTimeInSeconds() const {
struct timeval mytime;
gettimeofday(&mytime, 0);
return SecondTime(mytime.tv_sec);
}
-MonotonicTimePoint RealClock::getMonotonicTime() const {
- return std::chrono::steady_clock::now();
+vespalib::steady_time
+RealClock::getMonotonicTime() const {
+ return vespalib::steady_clock::now();
+}
+
+vespalib::system_time
+RealClock::getSystemTime() const {
+ return vespalib::system_clock::now();
}
}
diff --git a/storage/src/vespa/storageframework/defaultimplementation/clock/realclock.h b/storage/src/vespa/storageframework/defaultimplementation/clock/realclock.h
index a4b80a990c9..de176a3e402 100644
--- a/storage/src/vespa/storageframework/defaultimplementation/clock/realclock.h
+++ b/storage/src/vespa/storageframework/defaultimplementation/clock/realclock.h
@@ -17,7 +17,8 @@ struct RealClock : public Clock {
MicroSecTime getTimeInMicros() const override;
MilliSecTime getTimeInMillis() const override;
SecondTime getTimeInSeconds() const override;
- MonotonicTimePoint getMonotonicTime() const override;
+ vespalib::steady_time getMonotonicTime() const override;
+ vespalib::system_time getSystemTime() const override;
};
}
diff --git a/storage/src/vespa/storageframework/generic/clock/clock.h b/storage/src/vespa/storageframework/generic/clock/clock.h
index c9b8f652bfe..e1f8419f069 100644
--- a/storage/src/vespa/storageframework/generic/clock/clock.h
+++ b/storage/src/vespa/storageframework/generic/clock/clock.h
@@ -28,7 +28,8 @@ struct Clock {
virtual SecondTime getTimeInSeconds() const = 0;
// Time point resolution is intentionally not defined here.
- virtual MonotonicTimePoint getMonotonicTime() const = 0;
+ virtual vespalib::steady_time getMonotonicTime() const = 0;
+ virtual vespalib::system_time getSystemTime() const = 0;
};
}