1 #ifndef PROTON_CPP_DURATION_H
2 #define PROTON_CPP_DURATION_H
25 #include "proton/export.hpp"
27 #include "proton/comparable.hpp"
36 uint64_t milliseconds;
40 explicit duration(uint64_t ms = 0) : milliseconds(ms) {}
48 inline bool operator<(
duration x,
duration y) {
return x.milliseconds < y.milliseconds; }
49 inline bool operator==(duration x, duration y) {
return x.milliseconds == y.milliseconds; }
51 inline duration operator*(duration d, amqp_ulong n) {
return duration(d.milliseconds*n); }
52 inline duration operator*(amqp_ulong n, duration d) {
return d * n; }
54 inline amqp_timestamp operator+(amqp_timestamp ts, duration d) {
return amqp_timestamp(ts.milliseconds+d.milliseconds); }
55 inline amqp_timestamp operator+(duration d, amqp_timestamp ts) {
return ts + d; }
59 #endif // PROTON_CPP_DURATION_H
A span of time in milliseconds.
Definition: duration.hpp:32
static const duration IMMEDIATE
Don't wait at all.
Definition: duration.hpp:43
Defines C++ types representing AMQP types.
static const duration SECOND
One second.
Definition: duration.hpp:44
static const duration MINUTE
One minute.
Definition: duration.hpp:45
duration(uint64_t ms=0)
Create a duration.
Definition: duration.hpp:40
static const duration FOREVER
Wait for ever.
Definition: duration.hpp:42