encoding: optimize Block::encode

refs #4159

Change-Id: I1436e8211262d19195ac630b4c37c5d5c20b41ff
diff --git a/src/encoding/block.hpp b/src/encoding/block.hpp
index 91ab51c..031b00f 100644
--- a/src/encoding/block.hpp
+++ b/src/encoding/block.hpp
@@ -385,6 +385,19 @@
    */
   operator boost::asio::const_buffer() const;
 
+private:
+  /** @brief Estimate Block size as if sub elements are encoded into TLV-VALUE
+   */
+  size_t
+  encode(EncodingEstimator& estimator) const;
+
+  /** @brief Encode sub elements into TLV-VALUE and prepend Block to encoder
+   *  @post TLV-VALUE contains sub elements from elements()
+   *  @post internal buffer and iterators point to Encoder's buffer
+   */
+  size_t
+  encode(EncodingBuffer& encoder);
+
 protected:
   /** @brief underlying buffer storing TLV-VALUE and possibly TLV-TYPE and TLV-LENGTH fields
    *