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.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/cpp/src/qpid/framing/Buffer.cpp b/cpp/src/qpid/framing/Buffer.cpp
index 758d0b5f3c..eaa4433b5f 100644
--- a/cpp/src/qpid/framing/Buffer.cpp
+++ b/cpp/src/qpid/framing/Buffer.cpp
@@ -34,8 +34,17 @@ void Buffer::record(){
r_position = position;
}
-void Buffer::restore(){
+void Buffer::restore(bool reRecord){
+ uint32_t savedPosition = position;
+
position = r_position;
+
+ if (reRecord)
+ r_position = savedPosition;
+}
+
+void Buffer::reset(){
+ position = 0;
}
uint32_t Buffer::available(){