diff options
Diffstat (limited to 'cpp/include/qpid/messaging/Duration.h')
-rw-r--r-- | cpp/include/qpid/messaging/Duration.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/cpp/include/qpid/messaging/Duration.h b/cpp/include/qpid/messaging/Duration.h index 5f95acf04d..a127e86f29 100644 --- a/cpp/include/qpid/messaging/Duration.h +++ b/cpp/include/qpid/messaging/Duration.h @@ -22,7 +22,6 @@ * */ #include "qpid/sys/IntegerTypes.h" -#include <limits> namespace qpid { namespace messaging { @@ -30,9 +29,21 @@ namespace messaging { /** * A duration is a time in milliseconds. */ -typedef uint64_t Duration; -const Duration INFINITE_DURATION = std::numeric_limits<uint64_t>::max(); -const Duration DURATION_SEC = 1000; +class Duration +{ + public: + explicit Duration(uint64_t milliseconds); + uint64_t getMilliseconds() const; + static const Duration INFINITE; + static const Duration IMMEDIATE; + static const Duration SECOND; + static const Duration MINUTE; + private: + uint64_t milliseconds; +}; + +Duration operator*(const Duration& duration, uint64_t multiplier); +Duration operator*(uint64_t multiplier, const Duration& duration); }} // namespace qpid::messaging |