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 | 0947785f585a45efb29a345dc372594c6e7de816 (patch) | |
| tree | e6cdf6a597e5109b1c64fa08985fbf5fa89a07af /cpp | |
| parent | 92bea0d94c0cd05607d8df7881881632a1dbd5ae (diff) | |
| download | qpid-python-0947785f585a45efb29a345dc372594c6e7de816.tar.gz | |
QPID-5434: send timestamps with correct typecode
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1552400 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
| -rw-r--r-- | cpp/src/qpid/amqp/Encoder.cpp | 6 | ||||
| -rw-r--r-- | cpp/src/qpid/amqp/Encoder.h | 1 | ||||
| -rw-r--r-- | cpp/src/qpid/amqp/MessageEncoder.cpp | 4 |
3 files changed, 9 insertions, 2 deletions
diff --git a/cpp/src/qpid/amqp/Encoder.cpp b/cpp/src/qpid/amqp/Encoder.cpp index 627cc4aed6..0760fc166d 100644 --- a/cpp/src/qpid/amqp/Encoder.cpp +++ b/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/cpp/src/qpid/amqp/Encoder.h b/cpp/src/qpid/amqp/Encoder.h index e79ed76726..4f7c1d1489 100644 --- a/cpp/src/qpid/amqp/Encoder.h +++ b/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/cpp/src/qpid/amqp/MessageEncoder.cpp b/cpp/src/qpid/amqp/MessageEncoder.cpp index beaea2befd..71e7e75111 100644 --- a/cpp/src/qpid/amqp/MessageEncoder.cpp +++ b/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()); |
