diff options
| author | Gordon Sim <gsim@apache.org> | 2013-12-19 19:22:37 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2013-12-19 19:22:37 +0000 |
| commit | 4c8dab313e2308c6ac933c3846c7d59dc51e59b7 (patch) | |
| tree | 496a36341f6aa83cddc0fbd67db9ebeee5efc96a /qpid/cpp/src | |
| parent | e4c01f2d3e221ba0f3dff689eea72837462a5909 (diff) | |
| download | qpid-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.cpp | 6 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/amqp/Encoder.h | 1 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/amqp/MessageEncoder.cpp | 4 |
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()); |
