summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/framing/Buffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/framing/Buffer.cpp')
-rw-r--r--cpp/src/qpid/framing/Buffer.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/cpp/src/qpid/framing/Buffer.cpp b/cpp/src/qpid/framing/Buffer.cpp
index c0cd210042..60d67f1b07 100644
--- a/cpp/src/qpid/framing/Buffer.cpp
+++ b/cpp/src/qpid/framing/Buffer.cpp
@@ -194,6 +194,13 @@ void Buffer::putShortString(const string& s){
position += len;
}
+void Buffer::putMediumString(const string& s){
+ uint16_t len = s.length();
+ putShort(len);
+ s.copy(data + position, len);
+ position += len;
+}
+
void Buffer::putLongString(const string& s){
uint32_t len = s.length();
putLong(len);
@@ -208,6 +215,13 @@ void Buffer::getShortString(string& s){
position += len;
}
+void Buffer::getMediumString(string& s){
+ uint16_t len = getShort();
+ checkAvailable(len);
+ s.assign(data + position, len);
+ position += len;
+}
+
void Buffer::getLongString(string& s){
uint32_t len = getLong();
checkAvailable(len);