pub struct RemoteParticipantHandle<S> { /* private fields */ }Expand description
Remote participant entrypoint backed by protocol-crate state and canonical LPCR storage.
Records are deliberately not promised as generally successful: the reduced-B1
server surface fails fully authorized RecordAdmission and Leave closed until
live claim-frontier acquisition lands (docs/design/LP-GAP-CLOSURE-GOAL.md:145).
Implementations§
Source§impl<S: ParticipantResumeStore> RemoteParticipantHandle<S>
impl<S: ParticipantResumeStore> RemoteParticipantHandle<S>
Sourcepub fn recover_expected_operation(
&self,
) -> Result<RemoteExpectedOperationRecovery, RemoteParticipantError>
pub fn recover_expected_operation( &self, ) -> Result<RemoteExpectedOperationRecovery, RemoteParticipantError>
Releases one unissued operation from committed cold-restored state.
§Errors
Returns RemoteParticipantError::StateUnavailable after a prior fatal
durability failure.
Consumes operation-domain lost-authority testimony exactly once.
§Errors
Returns LPCR encode or storage failures while checkpointing the decision.
Sourcepub fn take_restored_operation_abandonment(
&self,
) -> Result<Option<RestoredExpectedOperationAbandonment>, RemoteParticipantError>
pub fn take_restored_operation_abandonment( &self, ) -> Result<Option<RestoredExpectedOperationAbandonment>, RemoteParticipantError>
Takes a durable tokenless abandonment so its exact request can be re-recorded.
§Errors
Returns LPCR encode or storage failures while durably recording the take.
Sourcepub fn record_transport_fate(
&self,
) -> Result<RemoteReconnectPermitOutcome, RemoteParticipantError>
pub fn record_transport_fate( &self, ) -> Result<RemoteReconnectPermitOutcome, RemoteParticipantError>
Records established-connection fate and returns at most one reconnect permit.
§Errors
Returns LPCR encode or storage failures while checkpointing the event.
Sourcepub fn record_online_transition(
&self,
) -> Result<RemoteReconnectPermitOutcome, RemoteParticipantError>
pub fn record_online_transition( &self, ) -> Result<RemoteReconnectPermitOutcome, RemoteParticipantError>
Records a proved online transition as a crate fresh event.
§Errors
Returns LPCR encode or storage failures while checkpointing issued authority.
Sourcepub fn record_explicit_reconnect(
&self,
) -> Result<RemoteReconnectPermitOutcome, RemoteParticipantError>
pub fn record_explicit_reconnect( &self, ) -> Result<RemoteReconnectPermitOutcome, RemoteParticipantError>
Records explicit caller action as a crate fresh event, with no timer arm.
§Errors
Returns LPCR encode or storage failures while checkpointing issued authority.
Sourcepub fn recover_reconnect_permit(
&self,
) -> Result<RemoteReconnectPermitRecovery, RemoteParticipantError>
pub fn recover_reconnect_permit( &self, ) -> Result<RemoteReconnectPermitRecovery, RemoteParticipantError>
Releases one unissued reconnect permit from committed cold-restored state.
§Errors
Returns RemoteParticipantError::StateUnavailable after a prior fatal failure.
Consumes reconnect-domain lost-authority testimony exactly once.
§Errors
Returns LPCR encode or storage failures while checkpointing the resolution.
Sourcepub fn reconnect(
&self,
permit: RemoteReconnectPermit,
) -> Result<RemoteReconnectAttemptOutcome, RemoteParticipantError>
pub fn reconnect( &self, permit: RemoteReconnectPermit, ) -> Result<RemoteReconnectAttemptOutcome, RemoteParticipantError>
Redeems one permit before opening one real transport connection.
§Errors
Returns LPCR encode or storage failures before or after the real attempt.
Sourcepub fn record_established_transport_loss(
&self,
) -> Result<RemoteTransportLossOutcome, RemoteParticipantError>
pub fn record_established_transport_loss( &self, ) -> Result<RemoteTransportLossOutcome, RemoteParticipantError>
Records response and connection fates after an established transport loss.
§Errors
Returns LPCR encode or storage failures while checkpointing both decisions.
Sourcepub fn replay_detach(
&self,
) -> Result<RemoteDetachReplayOutcome, RemoteParticipantError>
pub fn replay_detach( &self, ) -> Result<RemoteDetachReplayOutcome, RemoteParticipantError>
Starts and sends the exact parked detach replay selected by the crate.
§Errors
Returns LPCR, storage, or state failures. Socket failure is a typed send outcome.
Source§impl<S: ParticipantResumeStore> RemoteParticipantHandle<S>
impl<S: ParticipantResumeStore> RemoteParticipantHandle<S>
Sourcepub fn apply_attach(
&self,
attach: AttachBound,
) -> Result<RemoteReplayApplyOutcome<AttachBound>, RemoteParticipantError>
pub fn apply_attach( &self, attach: AttachBound, ) -> Result<RemoteReplayApplyOutcome<AttachBound>, RemoteParticipantError>
Delegates an attach supersession input with the held one-use correlation.
§Errors
Returns when no response authority exists or persistence fails.
Sourcepub fn apply_leave_durable(
&self,
leave: LeaveCommitted,
) -> Result<RemoteReplayApplyOutcome<LeaveCommitted>, RemoteParticipantError>
pub fn apply_leave_durable( &self, leave: LeaveCommitted, ) -> Result<RemoteReplayApplyOutcome<LeaveCommitted>, RemoteParticipantError>
Delegates a durable Leave supersession input with held correlation.
§Errors
Returns when no response authority exists or persistence fails.
Sourcepub fn apply_detach_outcome(
&self,
outcome: DetachReplayOutcome,
) -> Result<RemoteReplayApplyOutcome<DetachReplayOutcome>, RemoteParticipantError>
pub fn apply_detach_outcome( &self, outcome: DetachReplayOutcome, ) -> Result<RemoteReplayApplyOutcome<DetachReplayOutcome>, RemoteParticipantError>
Delegates one typed terminal detach outcome with held correlation.
§Errors
Returns when no response authority exists or persistence fails.
Source§impl<S: ParticipantResumeStore> RemoteParticipantHandle<S>
impl<S: ParticipantResumeStore> RemoteParticipantHandle<S>
Sourcepub fn new(
config: &RemoteConfig,
store: S,
) -> Result<Self, RemoteParticipantError>
pub fn new( config: &RemoteConfig, store: S, ) -> Result<Self, RemoteParticipantError>
Creates and durably checkpoints a fresh unbound participant.
§Errors
Returns a typed encode or storage error before the handle is exposed.
Sourcepub fn restore(
config: &RemoteConfig,
store: S,
canonical_lpcr: &[u8],
) -> Result<Self, RemoteParticipantError>
pub fn restore( config: &RemoteConfig, store: S, canonical_lpcr: &[u8], ) -> Result<Self, RemoteParticipantError>
Decodes, validates, restores, and durably records crash testimony before exposure.
§Errors
Returns typed LPCR decode/restore, encode, or storage errors.
Sourcepub fn record_operation(
&self,
request: ClientRequest,
) -> Result<RemoteOperationRecordOutcome, RemoteParticipantError>
pub fn record_operation( &self, request: ClientRequest, ) -> Result<RemoteOperationRecordOutcome, RemoteParticipantError>
Runs record_operation -> commit -> LPCR persist -> into_parts exactly.
§Errors
Returns typed resume encoding or storage failures. A failed post-commit persistence leaves the handle unavailable and releases no authority.
Sourcepub fn send_operation(
&self,
operation: RemoteParticipantOperation,
) -> Result<RemoteParticipantSendOutcome, RemoteParticipantError>
pub fn send_operation( &self, operation: RemoteParticipantOperation, ) -> Result<RemoteParticipantSendOutcome, RemoteParticipantError>
Persists issued state, writes the exact operation, and retains correlation.
§Errors
Returns typed state, LPCR, or storage failures. Transport failures are returned as a typed outcome after crate fate delegation.
Sourcepub fn receive(
&self,
) -> Result<RemoteParticipantInbound, RemoteParticipantError>
pub fn receive( &self, ) -> Result<RemoteParticipantInbound, RemoteParticipantError>
Receives one real participant frame and delegates every ServerValue to the crate.
§Errors
Returns transport, direction, LPCR encoding, or storage failures.