diff options
author | ivanmorozov <ivanmorozov@yandex-team.com> | 2022-11-29 15:52:07 +0300 |
---|---|---|
committer | ivanmorozov <ivanmorozov@yandex-team.com> | 2022-11-29 15:52:07 +0300 |
commit | 8ff1738e8665e5c3a1a328104806bcafbc1bd7ae (patch) | |
tree | 9657e2ea4d923a22e69e954fe11fb77e35bc3271 /library/cpp/time_provider/time_provider.cpp | |
parent | db99cf88226de50e47bd3acdc0ecfe634ce1d828 (diff) | |
download | ydb-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.cpp | 16 |
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(); + } +} |