From f42e8c06658829a90af2f1e1b7b17abea21d9c9d Mon Sep 17 00:00:00 2001 From: debris Date: Mon, 30 Nov 2015 11:42:54 +0100 Subject: [PATCH] RlpStream clear --- src/rlp.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/rlp.rs b/src/rlp.rs index 21f026116..de63455fa 100644 --- a/src/rlp.rs +++ b/src/rlp.rs @@ -631,6 +631,28 @@ impl RlpStream { self } + /// Clear the output stream so far. + /// + /// ```rust + /// extern crate ethcore_util as util; + /// use util::rlp::*; + /// + /// fn main () { + /// let mut stream = RlpStream::new_list(3); + /// stream.append(&"cat"); + /// stream.clear(); + /// stream.append(&"dog"); + /// let out = stream.out(); + /// assert_eq!(out, vec![0x83, b'd', b'o', b'g']); + /// } + pub fn clear(&mut self) { + // clear bytes + self.encoder.bytes.clear(); + + // clear lists + self.unfinished_lists.clear(); + } + /// Returns true if stream doesnt expect any more items. /// /// ```rust