aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/time_provider/monotonic_provider.h
diff options
context:
space:
mode:
authorsnaury <snaury@ydb.tech>2023-05-16 13:43:28 +0300
committersnaury <snaury@ydb.tech>2023-05-16 13:43:28 +0300
commitc9df7fc86be0b15adc1e812144c41ab5c057baef (patch)
tree63c809b43d9e026188f6a66725ccac433ba0f734 /library/cpp/time_provider/monotonic_provider.h
parenta2e846788b0a6d372d15ab5de915616cc6bc00ce (diff)
downloadydb-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.h34
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;