diff options
author | snaury <snaury@ydb.tech> | 2023-05-16 13:43:28 +0300 |
---|---|---|
committer | snaury <snaury@ydb.tech> | 2023-05-16 13:43:28 +0300 |
commit | c9df7fc86be0b15adc1e812144c41ab5c057baef (patch) | |
tree | 63c809b43d9e026188f6a66725ccac433ba0f734 /library/cpp/time_provider/monotonic_provider.h | |
parent | a2e846788b0a6d372d15ab5de915616cc6bc00ce (diff) | |
download | ydb-c9df7fc86be0b15adc1e812144c41ab5c057baef.tar.gz |
Support monotonic boot time with suspend awareness
Diffstat (limited to 'library/cpp/time_provider/monotonic_provider.h')
-rw-r--r-- | library/cpp/time_provider/monotonic_provider.h | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/library/cpp/time_provider/monotonic_provider.h b/library/cpp/time_provider/monotonic_provider.h index 966e2e496b..49f2835490 100644 --- a/library/cpp/time_provider/monotonic_provider.h +++ b/library/cpp/time_provider/monotonic_provider.h @@ -3,19 +3,31 @@ #include <util/datetime/base.h> #include "monotonic.h" -class IMonotonicTimeProvider: public TThrRefBase { -public: - virtual TMonotonic Now() = 0; -}; +namespace NMonotonic { -class TMonotonicOperator { -public: - static void RegisterProvider(TIntrusivePtr<IMonotonicTimeProvider> provider); - static TMonotonic Now(); -}; + class IMonotonicTimeProvider: public TThrRefBase { + public: + virtual TMonotonic Now() = 0; + }; -namespace NMonotonic { + class IBootTimeProvider: public TThrRefBase { + public: + virtual TBootTime Now() = 0; + }; + + class TMonotonicOperator { + public: + static void RegisterProvider(TIntrusivePtr<IMonotonicTimeProvider> provider); + static TMonotonic Now(); + }; -TIntrusivePtr<IMonotonicTimeProvider> CreateDefaultMonotonicTimeProvider(); + TIntrusivePtr<IMonotonicTimeProvider> CreateDefaultMonotonicTimeProvider(); + TIntrusivePtr<IBootTimeProvider> CreateDefaultBootTimeProvider(); } + +// TODO: remove, alias for compatibility +using IMonotonicTimeProvider = NMonotonic::IMonotonicTimeProvider; + +// TODO: remove, alias for compatibility +using NMonotonic::CreateDefaultMonotonicTimeProvider; |