pub struct LiveMember<F> { /* private fields */ }Expand description
Live participant membership plus permanent enrollment and terminal history.
Fields are private so a committed binding terminal cannot drift away from
the identity that owns it. Persistence restoration must pass Self::restore.
Implementations§
Source§impl<F> LiveMember<F>
impl<F> LiveMember<F>
Sourcepub fn verify_detached_attach(
self,
binding_state: BindingState,
closure_admission: OrdinaryDetachedAttachAdmission,
request: CredentialAttachRequest,
secret_proof: AttachSecretProof,
parameters: AttachCommitParameters,
) -> Result<VerifiedAttachCommit<'static, F>, AttachVerificationError>
pub fn verify_detached_attach( self, binding_state: BindingState, closure_admission: OrdinaryDetachedAttachAdmission, request: CredentialAttachRequest, secret_proof: AttachSecretProof, parameters: AttachCommitParameters, ) -> Result<VerifiedAttachCommit<'static, F>, AttachVerificationError>
Verifies an ordinary attach from an already detached member.
§Errors
Returns AttachVerificationError for authority, marker, state, or allocation mismatch.
Sourcepub fn verify_superseding_attach(
self,
active_binding: ActiveBinding,
request: CredentialAttachRequest,
secret_proof: AttachSecretProof,
terminal_position: CommittedBindingTerminalPosition,
parameters: AttachCommitParameters,
) -> Result<VerifiedAttachCommit<'static, F>, AttachVerificationError>
pub fn verify_superseding_attach( self, active_binding: ActiveBinding, request: CredentialAttachRequest, secret_proof: AttachSecretProof, terminal_position: CommittedBindingTerminalPosition, parameters: AttachCommitParameters, ) -> Result<VerifiedAttachCommit<'static, F>, AttachVerificationError>
Verifies an attach that atomically supersedes this member’s active epoch.
§Errors
Returns AttachVerificationError when authority, marker absence,
handoff ordering, or result allocation is inconsistent.
Sourcepub fn verify_fenced_attach(
self,
binding_state: BindingState,
request: CredentialAttachRequest,
secret_proof: AttachSecretProof,
proof: &FencedAttachCommit,
pending_terminal_delivery_seq: Option<DeliverySeq>,
parameters: AttachCommitParameters,
) -> Result<VerifiedAttachCommit<'_, F>, AttachVerificationError>
pub fn verify_fenced_attach( self, binding_state: BindingState, request: CredentialAttachRequest, secret_proof: AttachSecretProof, proof: &FencedAttachCommit, pending_terminal_delivery_seq: Option<DeliverySeq>, parameters: AttachCommitParameters, ) -> Result<VerifiedAttachCommit<'_, F>, AttachVerificationError>
Verifies marker-fenced recovery proven by the closure-edge transition.
§Errors
Returns AttachVerificationError when credential authority,
marker/epoch proof, pending-terminal shape, or result allocation differs.
Source§impl<F> LiveMember<F>
impl<F> LiveMember<F>
Sourcepub fn restore(
state: LiveMemberRestore<F>,
) -> Result<Self, MembershipInvariantError>
pub fn restore( state: LiveMemberRestore<F>, ) -> Result<Self, MembershipInvariantError>
Restores a durable member after checking retained terminal identity and generation.
§Errors
Returns MembershipInvariantError when the terminal belongs to another
identity/conversation or a generation newer than the restored credential.
Sourcepub const fn participant_id(&self) -> ParticipantId
pub const fn participant_id(&self) -> ParticipantId
Returns the permanent participant identity/index.
Sourcepub const fn conversation_id(&self) -> ConversationId
pub const fn conversation_id(&self) -> ConversationId
Returns the owning conversation.
Sourcepub const fn generation(&self) -> Generation
pub const fn generation(&self) -> Generation
Returns the current credential generation.
Sourcepub const fn attach_secret(&self) -> AttachSecret
pub const fn attach_secret(&self) -> AttachSecret
Returns the current attach secret.
Sourcepub const fn cursor(&self) -> DeliverySeq
pub const fn cursor(&self) -> DeliverySeq
Returns the durable cumulative cursor.
Sourcepub const fn enrollment_fingerprint(&self) -> &EnrollmentFingerprint<F>
pub const fn enrollment_fingerprint(&self) -> &EnrollmentFingerprint<F>
Borrows the permanent enrollment-token fingerprint.
Sourcepub const fn latest_terminal(&self) -> Option<CommittedBindingTerminal>
pub const fn latest_terminal(&self) -> Option<CommittedBindingTerminal>
Returns the most recent committed binding terminal.
Sourcepub fn with_committed_terminal(
self,
terminal: CommittedBindingTerminal,
) -> Result<Self, MembershipInvariantError>
pub fn with_committed_terminal( self, terminal: CommittedBindingTerminal, ) -> Result<Self, MembershipInvariantError>
Replaces the latest binding terminal after checking its identity domain.
§Errors
Returns MembershipInvariantError for mismatched identity or generation.
Source§impl<F> LiveMember<F>
impl<F> LiveMember<F>
Sourcepub fn verify_leave_request<V, LF>(
&self,
request: &LeaveRequest,
secret_proof: AttachSecretProof,
leave_request_verifier: V,
leave_fingerprint: LeaveFingerprint<LF>,
) -> Result<VerifiedLeaveRequest<V, LF>, LeaveVerificationError>
pub fn verify_leave_request<V, LF>( &self, request: &LeaveRequest, secret_proof: AttachSecretProof, leave_request_verifier: V, leave_fingerprint: LeaveFingerprint<LF>, ) -> Result<VerifiedLeaveRequest<V, LF>, LeaveVerificationError>
Verifies an exact Leave request against current live credential authority.
§Errors
Returns LeaveVerificationError at the first mismatching authority component.
Trait Implementations§
Source§impl<F: Clone> Clone for LiveMember<F>
impl<F: Clone> Clone for LiveMember<F>
Source§fn clone(&self) -> LiveMember<F>
fn clone(&self) -> LiveMember<F>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more