pub struct SessionMessenger { /* private fields */ }Expand description
Validates logical identity, atomically enqueues, then requests one runtime activation. The service owns no process-global registry.
Implementations§
Source§impl SessionMessenger
impl SessionMessenger
pub fn new( sessions: Arc<dyn Storage>, inbox: Arc<dyn SessionInboxPort>, activation: Arc<dyn SessionActivationPort>, ) -> Self
pub fn inbox(&self) -> &Arc<dyn SessionInboxPort> ⓘ
pub fn activation(&self) -> &Arc<dyn SessionActivationPort> ⓘ
pub fn metrics(&self) -> &Arc<SessionMessagingMetrics> ⓘ
pub async fn admit( &self, envelope: SessionMessageEnvelope, ) -> Result<SessionMessengerAdmission, SessionMessengerError>
pub async fn activate( &self, admission: &SessionMessengerAdmission, ) -> Result<SessionMessengerReceipt, SessionMessengerError>
Sourcepub async fn activate_prepared(
&self,
admission: &SessionMessengerAdmission,
) -> Result<SessionMessengerReceipt, SessionMessengerError>
pub async fn activate_prepared( &self, admission: &SessionMessengerAdmission, ) -> Result<SessionMessengerReceipt, SessionMessengerError>
Request execution for an admission whose activation policy was already durably recorded by a coordinator.
Sourcepub async fn prepare_activation(
&self,
admission: &SessionMessengerAdmission,
) -> Result<(), SessionMessengerError>
pub async fn prepare_activation( &self, admission: &SessionMessengerAdmission, ) -> Result<(), SessionMessengerError>
Durably authorize the admitted queue prefix before a related control-plane transition is committed.
Coordinators call this while their specific wait is still armed, then
checkpoint the wait clear, and finally call activate.
A crash in either gap is recoverable: startup sees the watermark, while
the real reservation adapter refuses to run until the specific wait has
been durably cleared.
pub async fn send( &self, envelope: SessionMessageEnvelope, ) -> Result<SessionMessengerReceipt, SessionMessengerError>
Auto Trait Implementations§
impl !RefUnwindSafe for SessionMessenger
impl !UnwindSafe for SessionMessenger
impl Freeze for SessionMessenger
impl Send for SessionMessenger
impl Sync for SessionMessenger
impl Unpin for SessionMessenger
impl UnsafeUnpin for SessionMessenger
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more