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> ⓘ
Sourcepub async fn supervisor_followup(
&self,
supervisor: &SupervisorReference,
target_session_id: &str,
operation_id: &str,
message: &str,
) -> Result<SessionMessengerReceipt, SessionMessengerError>
pub async fn supervisor_followup( &self, supervisor: &SupervisorReference, target_session_id: &str, operation_id: &str, message: &str, ) -> Result<SessionMessengerReceipt, SessionMessengerError>
Follow an already-attached Ordinary Root from the original executing Supervisor. The concrete inbox revalidates and retains all authority locks through durable admission; a prior inspect_link is never a grant.
pub async fn admit( &self, envelope: SessionMessageEnvelope, ) -> Result<SessionMessengerAdmission, SessionMessengerError>
pub async fn activate( &self, admission: &SessionMessengerAdmission, ) -> Result<SessionMessengerReceipt, SessionMessengerError>
pub async fn activate_with_policy( &self, admission: &SessionMessengerAdmission, policy: SessionActivationPolicy, ) -> 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.