Skip to main content

RecordAdmissionFailure

Struct RecordAdmissionFailure 

Source
pub struct RecordAdmissionFailure<'a, EF, V, LF> { /* private fields */ }
Expand description

Internal fault paired with the unchanged replayable aggregate.

Implementations§

Source§

impl<'a, EF, V, LF> RecordAdmissionFailure<'a, EF, V, LF>

Source

pub const fn fault(&self) -> &RecordAdmissionFault

Borrows the selected internal fault.

Source

pub const fn unchanged(&self) -> &UnchangedRecordAdmission<'a, EF, V, LF>

Borrows the unchanged replayable aggregate.

Source

pub fn into_parts( self, ) -> (RecordAdmissionFault, UnchangedRecordAdmission<'a, EF, V, LF>)

Recovers the fault and complete unchanged operation state.

Source

pub fn into_terminal_refusal( self, ) -> (RecordAdmissionResponse, RecordAdmissionFault, UnchangedRecordAdmission<'a, EF, V, LF>)

Mints the request-bound TERMINAL refusal for this fault and returns the unchanged aggregate in the same move.

⛔ THE ONLY MINT. RecordAdmissionResponse::from_protocol_fault is crate-visible, so this method is the whole boundary: a server cannot mint the row without a real failure aggregate from the total selector, cannot choose the coarse class (it is derived from the fault by RecordAdmissionFault::class), and cannot answer the client without simultaneously receiving the owner it must reinstall. Before this existed, the Fault arm dropped the taken frontier and closed the connection with no frame — those two defects were the SAME line, and this signature is what stops them separating again.

The fault’s own value is returned alongside so the server can log its full Debug text. Nothing of it reaches the wire.

Trait Implementations§

Source§

impl<'a, EF: Debug, V: Debug, LF: Debug> Debug for RecordAdmissionFailure<'a, EF, V, LF>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, EF, V, LF> Freeze for RecordAdmissionFailure<'a, EF, V, LF>
where UnchangedRecordAdmission<'a, EF, V, LF>: Freeze,

§

impl<'a, EF, V, LF> RefUnwindSafe for RecordAdmissionFailure<'a, EF, V, LF>

§

impl<'a, EF, V, LF> Send for RecordAdmissionFailure<'a, EF, V, LF>
where UnchangedRecordAdmission<'a, EF, V, LF>: Send,

§

impl<'a, EF, V, LF> Sync for RecordAdmissionFailure<'a, EF, V, LF>
where UnchangedRecordAdmission<'a, EF, V, LF>: Sync,

§

impl<'a, EF, V, LF> Unpin for RecordAdmissionFailure<'a, EF, V, LF>
where UnchangedRecordAdmission<'a, EF, V, LF>: Unpin,

§

impl<'a, EF, V, LF> UnsafeUnpin for RecordAdmissionFailure<'a, EF, V, LF>
where UnchangedRecordAdmission<'a, EF, V, LF>: UnsafeUnpin,

§

impl<'a, EF, V, LF> UnwindSafe for RecordAdmissionFailure<'a, EF, V, LF>
where UnchangedRecordAdmission<'a, EF, V, LF>: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.