use crate::{chunk_store::ImmutableChunkStore, vault::Init, Result};
use safe_nd::NodePublicId;
use std::{
cell::Cell,
fmt::{self, Display, Formatter},
path::Path,
rc::Rc,
};
pub(crate) struct Adult {
_id: NodePublicId,
_immutable_chunks: ImmutableChunkStore,
}
impl Adult {
pub fn new<P: AsRef<Path>>(
id: NodePublicId,
root_dir: P,
max_capacity: u64,
init_mode: Init,
) -> Result<Self> {
let _immutable_chunks =
ImmutableChunkStore::new(root_dir, max_capacity, Rc::new(Cell::new(0)), init_mode)?;
Ok(Self {
_id: id,
_immutable_chunks,
})
}
}
impl Display for Adult {
fn fmt(&self, formatter: &mut Formatter) -> fmt::Result {
write!(formatter, "{}", self._id)
}
}