use core::ptr::NonNull;
use crate::{session::types::Lane, transport::Transport};
pub(crate) struct SessionCtx<'rv, T>
where
T: Transport,
{
cluster: NonNull<crate::session::cluster::core::SessionCluster<'rv, T>>,
}
impl<'rv, T> SessionCtx<'rv, T>
where
T: Transport,
{
pub(crate) fn new(
_lane: Lane,
cluster: &'rv crate::session::cluster::core::SessionCluster<'rv, T>,
) -> Self {
Self {
cluster: NonNull::from(cluster),
}
}
#[inline]
pub(crate) fn cluster(&self) -> &'rv crate::session::cluster::core::SessionCluster<'rv, T> {
unsafe { self.cluster.as_ref() }
}
}