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>
impl<'a, EF, V, LF> RecordAdmissionFailure<'a, EF, V, LF>
Sourcepub const fn fault(&self) -> &RecordAdmissionFault
pub const fn fault(&self) -> &RecordAdmissionFault
Borrows the selected internal fault.
Sourcepub const fn unchanged(&self) -> &UnchangedRecordAdmission<'a, EF, V, LF>
pub const fn unchanged(&self) -> &UnchangedRecordAdmission<'a, EF, V, LF>
Borrows the unchanged replayable aggregate.
Sourcepub fn into_parts(
self,
) -> (RecordAdmissionFault, UnchangedRecordAdmission<'a, EF, V, LF>)
pub fn into_parts( self, ) -> (RecordAdmissionFault, UnchangedRecordAdmission<'a, EF, V, LF>)
Recovers the fault and complete unchanged operation state.
Sourcepub fn into_terminal_refusal(
self,
) -> (RecordAdmissionResponse, RecordAdmissionFault, UnchangedRecordAdmission<'a, EF, V, LF>)
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.