use tls_codec::{TlsDeserialize, TlsSerialize, TlsSize, TlsVecU32};
use super::{Deserialize, Serialize};
use crate::treesync::node::Node;
#[derive(
PartialEq, Clone, Debug, Default, Serialize, Deserialize, TlsSerialize, TlsDeserialize, TlsSize,
)]
pub struct RatchetTreeExtension {
tree: TlsVecU32<Option<Node>>,
}
impl RatchetTreeExtension {
pub fn new(tree: Vec<Option<Node>>) -> Self {
RatchetTreeExtension { tree: tree.into() }
}
pub(crate) fn as_slice(&self) -> &[Option<Node>] {
self.tree.as_slice()
}
}