pub(crate) struct SessionStorage<'cfg, T>
where
T: crate::transport::Transport,
{
pub(crate) locals:
core::cell::UnsafeCell<crate::session::lease::core::RendezvousTable<'cfg, T>>,
pub(crate) active_leases: core::cell::Cell<u32>,
}
impl<'cfg, T> SessionStorage<'cfg, T>
where
T: crate::transport::Transport,
{
pub(crate) unsafe fn init_empty(dst: *mut Self) {
unsafe {
core::ptr::addr_of_mut!((*dst).locals).write(core::cell::UnsafeCell::new(
crate::session::lease::core::RendezvousTable::empty(),
));
core::ptr::addr_of_mut!((*dst).active_leases).write(core::cell::Cell::new(0));
}
}
}