Browse Source

added clear() method

git-svn-id: svn://bind10.isc.org/svn/bind10/branches/parkinglot@584 e5f2f494-b856-4b98-b285-d166d9295462
JINMEI Tatuya 15 years ago
parent
commit
74296ec2be
2 changed files with 13 additions and 0 deletions
  1. 8 0
      src/lib/dns/cpp/messagerenderer.cc
  2. 5 0
      src/lib/dns/cpp/messagerenderer.h

+ 8 - 0
src/lib/dns/cpp/messagerenderer.cc

@@ -163,6 +163,14 @@ MessageRenderer::skip(size_t len)
 }
 
 void
+MessageRenderer::clear()
+{
+    impl_->buffer_.clear();
+    impl_->nbuffer_.clear();
+    impl_->nodeset_.clear();
+}
+
+void
 MessageRenderer::writeUint8(uint8_t data)
 {
     impl_->buffer_.writeUint8(data);

+ 5 - 0
src/lib/dns/cpp/messagerenderer.h

@@ -113,6 +113,11 @@ public:
     ///
     /// \param len The length of the gap to be inserted in bytes.
     void skip(size_t len);
+    /// \brief Clear the internal buffer and other internal resources.
+    ///
+    /// This method can be used to re-initialize and reuse the renderer
+    /// without constructing a new one.
+    void clear();
     /// \brief Write an unsigned 8-bit integer into the internal buffer.
     ///
     /// \param data The 8-bit integer to be written into the internal buffer.