summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2010-04-08 04:53:33 +0000
committerAndrew Stitcher <astitcher@apache.org>2010-04-08 04:53:33 +0000
commite0d767b10057149be7ef502687c4d943582ee2c0 (patch)
treeb9ee19d430056822c6c5cd0e83f9caa747d5d1ed /cpp
parentb799ad84fe13f0573a3423b2097c8931859d16eb (diff)
downloadqpid-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.h6
-rw-r--r--cpp/src/qpid/sys/posix/Time.cpp7
-rw-r--r--cpp/src/qpid/sys/windows/Time.cpp10
-rw-r--r--cpp/src/tests/Statistics.cpp2
-rw-r--r--cpp/src/tests/qpid_send.cpp2
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)) {