aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/time_provider/time_provider.cpp
diff options
context:
space:
mode:
authorivanmorozov <ivanmorozov@yandex-team.com>2022-11-29 15:52:07 +0300
committerivanmorozov <ivanmorozov@yandex-team.com>2022-11-29 15:52:07 +0300
commit8ff1738e8665e5c3a1a328104806bcafbc1bd7ae (patch)
tree9657e2ea4d923a22e69e954fe11fb77e35bc3271 /library/cpp/time_provider/time_provider.cpp
parentdb99cf88226de50e47bd3acdc0ecfe634ce1d828 (diff)
downloadydb-8ff1738e8665e5c3a1a328104806bcafbc1bd7ae.tar.gz
time providers in separated library for future refactoring
Diffstat (limited to 'library/cpp/time_provider/time_provider.cpp')
-rw-r--r--library/cpp/time_provider/time_provider.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/library/cpp/time_provider/time_provider.cpp b/library/cpp/time_provider/time_provider.cpp
index 6c1ba8e07c..687681f1ff 100644
--- a/library/cpp/time_provider/time_provider.cpp
+++ b/library/cpp/time_provider/time_provider.cpp
@@ -28,3 +28,19 @@ TIntrusivePtr<ITimeProvider> CreateDefaultTimeProvider() {
TIntrusivePtr<ITimeProvider> CreateDeterministicTimeProvider(ui64 seed) {
return TIntrusivePtr<ITimeProvider>(new TDeterministicTimeProvider(seed));
}
+
+namespace {
+TIntrusivePtr<ITimeProvider> GlobalTimeProvider;
+}
+
+void TInstantOperator::RegisterProvider(TIntrusivePtr<ITimeProvider> provider) {
+ GlobalTimeProvider = provider;
+}
+
+TInstant TInstantOperator::Now() {
+ if (!GlobalTimeProvider) {
+ return TInstant::Now();
+ } else {
+ return GlobalTimeProvider->Now();
+ }
+}