summaryrefslogtreecommitdiffstats
path: root/staging_vespalib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-12-04 15:21:11 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2019-12-04 15:21:11 +0000
commit887fe94ff98ae308f7dcb39ad3f6e299b15d2bab (patch)
tree696384dd1f345e7c27f707507b40ab62c8ffc6d4 /staging_vespalib
parent402ca2699bb8e5fea3c4ceb39e404b21db6353b3 (diff)
Make one doom with explicit hard and soft instead of wrapping and nesting.
Diffstat (limited to 'staging_vespalib')
-rw-r--r--staging_vespalib/src/vespa/vespalib/util/doom.cpp16
-rw-r--r--staging_vespalib/src/vespa/vespalib/util/doom.h39
2 files changed, 23 insertions, 32 deletions
diff --git a/staging_vespalib/src/vespa/vespalib/util/doom.cpp b/staging_vespalib/src/vespa/vespalib/util/doom.cpp
index df20981c584..87b24799721 100644
--- a/staging_vespalib/src/vespa/vespalib/util/doom.cpp
+++ b/staging_vespalib/src/vespa/vespalib/util/doom.cpp
@@ -4,10 +4,12 @@
namespace vespalib {
-Doom::Doom(const vespalib::Clock &clock, fastos::SteadyTimeStamp timeOfDoom) :
- _clock(clock),
- _timeOfDoom(timeOfDoom)
-{
-}
-
-} // namespace vespalib \ No newline at end of file
+Doom::Doom(const vespalib::Clock &clock, fastos::SteadyTimeStamp softDoom,
+ fastos::SteadyTimeStamp hardDoom, bool explicitSoftDoom)
+ : _clock(clock),
+ _softDoom(softDoom),
+ _hardDoom(hardDoom),
+ _isExplicitSoftDoom(explicitSoftDoom)
+{ }
+
+} \ No newline at end of file
diff --git a/staging_vespalib/src/vespa/vespalib/util/doom.h b/staging_vespalib/src/vespa/vespalib/util/doom.h
index 89421f69686..d85c3dc9084 100644
--- a/staging_vespalib/src/vespa/vespalib/util/doom.h
+++ b/staging_vespalib/src/vespa/vespalib/util/doom.h
@@ -6,35 +6,24 @@
namespace vespalib {
-class Doom
-{
-private:
- const vespalib::Clock &_clock;
- fastos::SteadyTimeStamp _timeOfDoom;
-
+class Doom {
public:
- Doom(const vespalib::Clock &clock, fastos::SteadyTimeStamp timeOfDoom);
- bool doom() const {
- return (_clock.getTimeNSAssumeRunning() > _timeOfDoom);
- }
- fastos::TimeStamp left() const { return _timeOfDoom - _clock.getTimeNS(); }
-};
+ Doom(const vespalib::Clock &clock, fastos::SteadyTimeStamp doom)
+ : Doom(clock, doom, doom, false)
+ {}
+ Doom(const vespalib::Clock &clock, fastos::SteadyTimeStamp softDoom,
+ fastos::SteadyTimeStamp hardDoom, bool explicitSoftDoom);
-class CombinedDoom {
-public:
- CombinedDoom(const vespalib::Clock &clock, fastos::SteadyTimeStamp softDoom,
- fastos::SteadyTimeStamp hardDoom, bool explicitSoftDoom)
- : _soft(clock, softDoom),
- _hard(clock, hardDoom),
- _isExplicitSoftDoom(explicitSoftDoom)
- { }
- const Doom & soft() const { return _soft; }
- const Doom & hard() const { return _hard; }
+ bool soft_doom() const { return (_clock.getTimeNSAssumeRunning() > _softDoom); }
+ bool hard_doom() const { return (_clock.getTimeNSAssumeRunning() > _hardDoom); }
+ fastos::TimeStamp soft_left() const { return _softDoom - _clock.getTimeNS(); }
+ fastos::TimeStamp hard_left() const { return _hardDoom - _clock.getTimeNS(); }
bool isExplicitSoftDoom() const { return _isExplicitSoftDoom; }
private:
- Doom _soft;
- Doom _hard;
- bool _isExplicitSoftDoom;
+ const vespalib::Clock &_clock;
+ fastos::SteadyTimeStamp _softDoom;
+ fastos::SteadyTimeStamp _hardDoom;
+ bool _isExplicitSoftDoom;
};
}