use crate::runtime::data_entry::DataEntry;
pub struct Params {
bytes: Vec<u8>,
count: u16,
}
impl Default for Params {
fn default() -> Self {
Self::new()
}
}
impl Params {
pub fn new() -> Self {
Self {
bytes: vec![],
count: 0,
}
}
pub fn as_bytes(&self) -> Vec<u8> {
let mut bytes = self.count.to_be_bytes().to_vec();
bytes.extend(self.bytes.clone());
bytes
}
pub fn push(&mut self, value: DataEntry) {
self.bytes.extend(value.serialize(None));
self.count += 1;
}
pub fn reset(&mut self) {
self.bytes = vec![];
self.count = 0;
}
}