summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2013-12-19 19:22:37 +0000
committerGordon Sim <gsim@apache.org>2013-12-19 19:22:37 +0000
commit4c8dab313e2308c6ac933c3846c7d59dc51e59b7 (patch)
tree496a36341f6aa83cddc0fbd67db9ebeee5efc96a /qpid/cpp/src
parente4c01f2d3e221ba0f3dff689eea72837462a5909 (diff)
downloadqpid-python-4c8dab313e2308c6ac933c3846c7d59dc51e59b7.tar.gz
QPID-5434: send timestamps with correct typecode
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1552400 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/amqp/Encoder.cpp6
-rw-r--r--qpid/cpp/src/qpid/amqp/Encoder.h1
-rw-r--r--qpid/cpp/src/qpid/amqp/MessageEncoder.cpp4
3 files changed, 9 insertions, 2 deletions
diff --git a/qpid/cpp/src/qpid/amqp/Encoder.cpp b/qpid/cpp/src/qpid/amqp/Encoder.cpp
index 627cc4aed6..0760fc166d 100644
--- a/qpid/cpp/src/qpid/amqp/Encoder.cpp
+++ b/qpid/cpp/src/qpid/amqp/Encoder.cpp
@@ -246,6 +246,12 @@ void Encoder::writeLong(int64_t i, const Descriptor* d)
write((uint64_t) i, typecodes::LONG, d);
}
+void Encoder::writeTimestamp(int64_t t, const Descriptor* d)
+{
+ write((uint64_t) t, typecodes::TIMESTAMP, d);
+}
+
+
void Encoder::writeFloat(float f, const Descriptor* d)
{
write(f, typecodes::FLOAT, d);
diff --git a/qpid/cpp/src/qpid/amqp/Encoder.h b/qpid/cpp/src/qpid/amqp/Encoder.h
index e79ed76726..4f7c1d1489 100644
--- a/qpid/cpp/src/qpid/amqp/Encoder.h
+++ b/qpid/cpp/src/qpid/amqp/Encoder.h
@@ -71,6 +71,7 @@ class Encoder
void writeFloat(float, const Descriptor* d=0);
void writeDouble(double, const Descriptor* d=0);
void writeUuid(const qpid::types::Uuid&, const Descriptor* d=0);
+ void writeTimestamp(int64_t, const Descriptor* d=0);
void writeSymbol(const CharSequence&, const Descriptor* d=0);
void writeSymbol(const std::string&, const Descriptor* d=0);
diff --git a/qpid/cpp/src/qpid/amqp/MessageEncoder.cpp b/qpid/cpp/src/qpid/amqp/MessageEncoder.cpp
index beaea2befd..71e7e75111 100644
--- a/qpid/cpp/src/qpid/amqp/MessageEncoder.cpp
+++ b/qpid/cpp/src/qpid/amqp/MessageEncoder.cpp
@@ -116,10 +116,10 @@ void MessageEncoder::writeProperties(const Properties& msg)
if (msg.hasContentEncoding()) writeSymbol(msg.getContentEncoding());
else if (fields > 7) writeNull();
- if (msg.hasAbsoluteExpiryTime()) writeLong(msg.getAbsoluteExpiryTime());
+ if (msg.hasAbsoluteExpiryTime()) writeTimestamp(msg.getAbsoluteExpiryTime());
else if (fields > 8) writeNull();
- if (msg.hasCreationTime()) writeLong(msg.getCreationTime());
+ if (msg.hasCreationTime()) writeTimestamp(msg.getCreationTime());
else if (fields > 9) writeNull();
if (msg.hasGroupId()) writeString(msg.getGroupId());