pub struct ClientParticipantAggregate { /* private fields */ }Expand description
Non-cloneable client participant state shell.
Its expected operation, credential-bearing binding, replay request, and reconnect state are private so callers must delegate every decision. This brief-required root ownership prevents callers from recombining independently persisted authorities into a state the crate never validated.
Implementations§
Source§impl ClientParticipantAggregate
impl ClientParticipantAggregate
Sourcepub fn resume_record(
&self,
) -> Result<ClientResumeRecord, ClientResumeRecordEncodeError>
pub fn resume_record( &self, ) -> Result<ClientResumeRecord, ClientResumeRecordEncodeError>
Captures every durable client fact in an inert resume record.
§Errors
Returns a typed nested-codec or length error if a live typed value cannot be represented canonically.
Source§impl ClientParticipantAggregate
impl ClientParticipantAggregate
Sourcepub const fn binding_status(&self) -> ClientBindingStatus
pub const fn binding_status(&self) -> ClientBindingStatus
Reports binding status without exposing credential-bearing state.
Sourcepub const fn has_expected_operation(&self) -> bool
pub const fn has_expected_operation(&self) -> bool
Reports whether one write-ahead operation is outstanding.
Sourcepub const fn detach_replay(&self) -> &SdkDetachReplayAggregate
pub const fn detach_replay(&self) -> &SdkDetachReplayAggregate
Borrows the detach replay aggregate for status inspection.
Sourcepub const fn reconnect(&self) -> &ReconnectAggregate
pub const fn reconnect(&self) -> &ReconnectAggregate
Borrows the reconnect aggregate for status inspection.
Sourcepub const fn take_restored_operation_abandonment(
&mut self,
) -> Option<RestoredExpectedOperationAbandonment>
pub const fn take_restored_operation_abandonment( &mut self, ) -> Option<RestoredExpectedOperationAbandonment>
Takes the typed tokenless-operation resolution produced by cold restore.
The expected slot is already empty when this value exists; taking the
event cannot mint or release executable authority. The abandonment is
durable until taken: encode-without-take retains it, and a second take
observes nothing (LP-CLIENT-GOAL piece 4, r2, 2026-07-18).
Sourcepub const fn restored_operation_abandonment(
&self,
) -> Option<&RestoredExpectedOperationAbandonment>
pub const fn restored_operation_abandonment( &self, ) -> Option<&RestoredExpectedOperationAbandonment>
Borrows the pending tokenless abandonment without consuming it.
Sourcepub const fn lost_operation_testimony(&self) -> Option<&LostAuthorityTestimony>
pub const fn lost_operation_testimony(&self) -> Option<&LostAuthorityTestimony>
Borrows the pending operation-domain lost-authority testimony, if any.
While this testimony is pending, every correlation-consuming operation
path refuses with a typed lost-authority reason; only
resolve_lost_operation_authority consumes it.
Sourcepub const fn lost_reconnect_testimony(&self) -> Option<&LostAuthorityTestimony>
pub const fn lost_reconnect_testimony(&self) -> Option<&LostAuthorityTestimony>
Borrows the pending reconnect-domain lost-authority testimony, if any.
While this testimony is pending, permit redemption and attempt fates
refuse with a typed lost-authority reason; only
resolve_lost_reconnect_authority consumes it.
Sourcepub const fn lost_credential_attach(&self) -> Option<&CredentialAttachRequest>
pub const fn lost_credential_attach(&self) -> Option<&CredentialAttachRequest>
Borrows the exact retained credential-attach envelope whose issued send authority a restore testified destroyed.
This is a DRIVER-SUPPORT READ and mints nothing: it releases no
authority, consumes no testimony, and moves no state. It exists because
resolve_lost_operation_authority is destructive — it consumes the
take-once testimony to hand back the request — so a recovery driver that
owns only ONE operation class has no way to discover whether the pending
testimony is its class without already having spent it on an operation
belonging to a different path. Detach’s replay machinery and the
tokenless abandonment atom are exactly such paths, and a driver that
consumed their testimony to find out it should not have would destroy
the resolution they depend on (#195, 2026-08-16).
Some requires all three facts together: the retained operation is a
ClientRequest::CredentialAttach, it was ISSUED, and a lost-authority
testimony is pending against it. That triple is precisely the
killed-mid-attach orphan — the client’s attach reached the server, the
answer that carries the rotated credential did not reach the client, and
the process died holding the retained envelope that can still be
re-presented inside the server’s receipt window.