diff options
| author | Andrew Stitcher <astitcher@apache.org> | 2010-04-08 04:53:33 +0000 |
|---|---|---|
| committer | Andrew Stitcher <astitcher@apache.org> | 2010-04-08 04:53:33 +0000 |
| commit | e0d767b10057149be7ef502687c4d943582ee2c0 (patch) | |
| tree | b9ee19d430056822c6c5cd0e83f9caa747d5d1ed /cpp | |
| parent | b799ad84fe13f0573a3423b2097c8931859d16eb (diff) | |
| download | qpid-python-e0d767b10057149be7ef502687c4d943582ee2c0.tar.gz | |
Changed the recent AbsTime::Epoch code to conform better to the previously
existing code.
Fixed AbsTime to compile on Windows again.
Removed unused and seemingly extraneous serialize() code from AbsTime.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@931782 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
| -rw-r--r-- | cpp/include/qpid/sys/Time.h | 6 | ||||
| -rw-r--r-- | cpp/src/qpid/sys/posix/Time.cpp | 7 | ||||
| -rw-r--r-- | cpp/src/qpid/sys/windows/Time.cpp | 10 | ||||
| -rw-r--r-- | cpp/src/tests/Statistics.cpp | 2 | ||||
| -rw-r--r-- | cpp/src/tests/qpid_send.cpp | 2 |
5 files changed, 17 insertions, 10 deletions
diff --git a/cpp/include/qpid/sys/Time.h b/cpp/include/qpid/sys/Time.h index bd6fe87ec8..7c4bf75b8b 100644 --- a/cpp/include/qpid/sys/Time.h +++ b/cpp/include/qpid/sys/Time.h @@ -96,11 +96,10 @@ public: QPID_COMMON_EXTERN static AbsTime now(); QPID_COMMON_EXTERN static AbsTime FarFuture(); - QPID_COMMON_EXTERN static AbsTime epoch(); // The Unix epoch: 1970-01-01T00:00:00 + QPID_COMMON_EXTERN static AbsTime Epoch(); const TimePrivate& getPrivate(void) const { return timepoint; } bool operator==(const AbsTime& t) const { return t.timepoint == timepoint; } - template <class S> void serialize(S& s) { s(timepoint); } friend bool operator<(const AbsTime& a, const AbsTime& b); friend bool operator>(const AbsTime& a, const AbsTime& b); @@ -159,6 +158,9 @@ const Duration TIME_NSEC = 1; /** Value to represent an infinite timeout */ const Duration TIME_INFINITE = std::numeric_limits<int64_t>::max(); +/** Absolute time point for the Unix epoch: 1970-01-01T00:00:00 */ +const AbsTime EPOCH = AbsTime::Epoch(); + /** Time greater than any other time */ const AbsTime FAR_FUTURE = AbsTime::FarFuture(); diff --git a/cpp/src/qpid/sys/posix/Time.cpp b/cpp/src/qpid/sys/posix/Time.cpp index 5e8f1aca0f..19c7ef20ba 100644 --- a/cpp/src/qpid/sys/posix/Time.cpp +++ b/cpp/src/qpid/sys/posix/Time.cpp @@ -39,6 +39,11 @@ AbsTime::AbsTime(const AbsTime& t, const Duration& d) : timepoint(d == Duration::max() ? max_abstime() : t.timepoint+d.nanosecs) {} +AbsTime AbsTime::Epoch() { + AbsTime epoch; epoch.timepoint = 0; + return epoch; +} + AbsTime AbsTime::FarFuture() { AbsTime ff; ff.timepoint = max_abstime(); return ff; } @@ -51,8 +56,6 @@ AbsTime AbsTime::now() { return time_now; } -AbsTime AbsTime::epoch() { return AbsTime(); } - Duration::Duration(const AbsTime& time0) : nanosecs(time0.timepoint) {} diff --git a/cpp/src/qpid/sys/windows/Time.cpp b/cpp/src/qpid/sys/windows/Time.cpp index 6b43347ef8..959a7c10fe 100644 --- a/cpp/src/qpid/sys/windows/Time.cpp +++ b/cpp/src/qpid/sys/windows/Time.cpp @@ -47,16 +47,18 @@ AbsTime AbsTime::FarFuture() { return ff; } +AbsTime AbsTime::Epoch() { + AbsTime time_epoch; + time_epoch.timepoint = boost::posix_time::from_time_t(0); + return time_epoch; +} + AbsTime AbsTime::now() { AbsTime time_now; time_now.timepoint = boost::get_system_time(); return time_now; } -AbsTime AbsTime::epoch() { - return AbsTime(boost::posix_time::from_time_t(0)); -} - Duration::Duration(const AbsTime& time0) : nanosecs(0) { time_period p(ptime(min_date_time), time0.timepoint); nanosecs = p.length().total_nanoseconds(); diff --git a/cpp/src/tests/Statistics.cpp b/cpp/src/tests/Statistics.cpp index 09286e3298..3c5a3a6d4e 100644 --- a/cpp/src/tests/Statistics.cpp +++ b/cpp/src/tests/Statistics.cpp @@ -57,7 +57,7 @@ void ThroughputAndLatency::message(const messaging::Message& m) { types::Variant::Map::const_iterator i = m.getProperties().find("ts"); if (i != m.getProperties().end()) { int64_t start(i->second.asInt64()); - int64_t end(sys::Duration(sys::AbsTime::epoch(),sys::now())); + int64_t end(sys::Duration(sys::EPOCH, sys::now())); double latency = double(end - start)/sys::TIME_MSEC; if (latency > 0) { total += latency; diff --git a/cpp/src/tests/qpid_send.cpp b/cpp/src/tests/qpid_send.cpp index 26e9003b2d..feeabefbdd 100644 --- a/cpp/src/tests/qpid_send.cpp +++ b/cpp/src/tests/qpid_send.cpp @@ -251,7 +251,7 @@ int main(int argc, char ** argv) msg.setContent(content); msg.getProperties()["sn"] = ++sent; msg.getProperties()["ts"] = int64_t( - qpid::sys::Duration(qpid::sys::AbsTime::epoch(), qpid::sys::now())); + qpid::sys::Duration(qpid::sys::EPOCH, qpid::sys::now())); sender.send(msg); reporter.message(msg); if (opts.tx && (sent % opts.tx == 0)) { |
