diff --git a/src/sequence/vec_buffer.rs b/src/sequence/vec_buffer.rs index f2e32ca..b465454 100644 --- a/src/sequence/vec_buffer.rs +++ b/src/sequence/vec_buffer.rs @@ -64,7 +64,16 @@ where T: Clone + Send + Sync + 'static { fn reset(&mut self, view: Option>>>) { let old_len = self.len().unwrap(); self.data = view; + + *self.cur_len.write().unwrap() = + if let Some(data) = self.data.as_ref() { + data.read().unwrap().len() + } else { + 0 + }; + let new_len = self.len().unwrap(); + self.cast.notify_each(0 .. std::cmp::max(old_len, new_len)); }