Skip to content

Commit f4454b7

Browse files
committed
Remove MaybeSuccessTransition and fatal_with_state alias
Drop dead code.
1 parent 3e18d6b commit f4454b7

1 file changed

Lines changed: 0 additions & 128 deletions

File tree

payjoin/src/core/persist.rs

Lines changed: 0 additions & 128 deletions
Original file line numberDiff line numberDiff line change
@@ -265,11 +265,6 @@ where
265265
MaybeFatalTransition(Err(Rejection::replyable_error(event, error_state, error)))
266266
}
267267

268-
#[allow(dead_code)]
269-
pub(crate) fn fatal_with_state(event: Event, error_state: ErrorState, error: Err) -> Self {
270-
MaybeFatalTransition(Err(Rejection::replyable_error(event, error_state, error)))
271-
}
272-
273268
pub(crate) fn deconstruct(
274269
self,
275270
) -> (PersistActions<Event>, Result<NextState, ApiError<Err, ErrorState>>) {
@@ -400,82 +395,13 @@ impl<Event, NextState> NextStateTransition<Event, NextState> {
400395
}
401396
}
402397

403-
/// A transition that can result in the completion of a state machine or a transient error
404-
/// Fatal errors cannot occur in this transition.
405-
pub struct MaybeSuccessTransition<Event, SuccessValue, Err>(
406-
Result<AcceptNextState<Event, SuccessValue>, Rejection<Event, Err>>,
407-
);
408-
409-
impl<Event, SuccessValue, Err> MaybeSuccessTransition<Event, SuccessValue, Err>
410-
where
411-
Err: std::error::Error,
412-
{
413-
#[allow(dead_code)]
414-
pub(crate) fn success(event: Event, success_value: SuccessValue) -> Self {
415-
MaybeSuccessTransition(Ok(AcceptNextState(event, success_value)))
416-
}
417-
418-
#[allow(dead_code)]
419-
pub(crate) fn transient(error: Err) -> Self {
420-
MaybeSuccessTransition(Err(Rejection::transient(error)))
421-
}
422-
423-
#[allow(dead_code)]
424-
pub(crate) fn fatal(event: Event, error: Err) -> Self {
425-
MaybeSuccessTransition(Err(Rejection::fatal(event, error)))
426-
}
427-
428-
pub(crate) fn deconstruct(
429-
self,
430-
) -> (PersistActions<Event>, Result<SuccessValue, ApiError<Err>>) {
431-
match self.0 {
432-
Ok(AcceptNextState(event, success_value)) =>
433-
(PersistActions::SaveAndClose(event), Ok(success_value)),
434-
Err(Rejection::Transient(RejectTransient(error))) =>
435-
(PersistActions::NoOp, Err(ApiError::Transient(error))),
436-
Err(Rejection::Fatal(RejectFatal(event, error))) =>
437-
(PersistActions::SaveAndClose(event), Err(ApiError::Fatal(error))),
438-
Err(Rejection::ReplyableError(RejectReplyableError(event, _, error))) =>
439-
(PersistActions::Save(event), Err(ApiError::Fatal(error))),
440-
}
441-
}
442-
443-
pub fn save<P>(
444-
self,
445-
persister: &P,
446-
) -> Result<SuccessValue, PersistedError<Err, P::InternalStorageError>>
447-
where
448-
P: SessionPersister<SessionEvent = Event>,
449-
{
450-
let (actions, outcome) = self.deconstruct();
451-
actions.execute(persister).map_err(InternalPersistedError::Storage)?;
452-
Ok(outcome.map_err(InternalPersistedError::Api)?)
453-
}
454-
455-
pub async fn save_async<P>(
456-
self,
457-
persister: &P,
458-
) -> Result<SuccessValue, PersistedError<Err, P::InternalStorageError>>
459-
where
460-
P: AsyncSessionPersister<SessionEvent = Event>,
461-
Err: Send,
462-
SuccessValue: Send,
463-
Event: Send,
464-
{
465-
let (actions, outcome) = self.deconstruct();
466-
actions.execute_async(persister).await.map_err(InternalPersistedError::Storage)?;
467-
Ok(outcome.map_err(InternalPersistedError::Api)?)
468-
}
469-
}
470-
471398
/// A transition that either advances to a live state or terminates the session.
472399
///
473400
/// No error path exists. Both outcomes are successful from the protocol's point
474401
/// of view. The choice is determined by the source typestate's internal data,
475402
/// not by the caller.
476403
pub struct MaybeTerminalTransition<Event, NextState>(MaybeTerminalOutcome<Event, NextState>);
477404

478-
#[allow(dead_code)]
479405
impl<Event, NextState> MaybeTerminalTransition<Event, NextState> {
480406
pub(crate) fn advance(event: Event, next_state: NextState) -> Self {
481407
Self(MaybeTerminalOutcome::Advance(AcceptNextState(event, next_state)))
@@ -524,7 +450,6 @@ pub struct MaybeTerminalSuccessTransition<Event, NextState, Err>(
524450
MaybeTerminalSuccessOutcome<Event, NextState, Err>,
525451
);
526452

527-
#[allow(dead_code)]
528453
impl<Event, NextState, Err> MaybeTerminalSuccessTransition<Event, NextState, Err>
529454
where
530455
Err: std::error::Error,
@@ -710,13 +635,11 @@ where
710635
/// Wrapper that marks the progression of a state machine
711636
pub struct AcceptNextState<Event, NextState>(Event, NextState);
712637

713-
#[allow(dead_code)]
714638
enum MaybeTerminalOutcome<Event, NextState> {
715639
Advance(AcceptNextState<Event, NextState>),
716640
Terminate(Event),
717641
}
718642

719-
#[allow(dead_code)]
720643
enum MaybeTerminalSuccessOutcome<Event, NextState, Err> {
721644
Advance(AcceptNextState<Event, NextState>),
722645
Terminate(Event),
@@ -1395,57 +1318,6 @@ mod tests {
13951318
run_test_cases!(test_cases);
13961319
}
13971320

1398-
#[tokio::test]
1399-
async fn test_maybe_success_transition() {
1400-
let event = InMemoryTestEvent("foo".to_string());
1401-
let error_event = InMemoryTestEvent("error event".to_string());
1402-
1403-
let test_cases = vec![
1404-
TestCase {
1405-
make_transition: Box::new({
1406-
let event = event.clone();
1407-
move || MaybeSuccessTransition::success(event.clone(), ())
1408-
}),
1409-
expected_result: ExpectedResult {
1410-
events: vec![event.clone()],
1411-
is_closed: true,
1412-
error: None,
1413-
success: Some(()),
1414-
},
1415-
},
1416-
TestCase {
1417-
make_transition: Box::new(|| {
1418-
MaybeSuccessTransition::transient(InMemoryTestError {})
1419-
}),
1420-
expected_result: ExpectedResult {
1421-
events: vec![],
1422-
is_closed: false,
1423-
error: Some(
1424-
InternalPersistedError::Api(ApiError::Transient(InMemoryTestError {}))
1425-
.into(),
1426-
),
1427-
success: None,
1428-
},
1429-
},
1430-
TestCase {
1431-
make_transition: Box::new({
1432-
let error_event = error_event.clone();
1433-
move || MaybeSuccessTransition::fatal(error_event.clone(), InMemoryTestError {})
1434-
}),
1435-
expected_result: ExpectedResult {
1436-
events: vec![error_event.clone()],
1437-
is_closed: true,
1438-
error: Some(
1439-
InternalPersistedError::Api(ApiError::Fatal(InMemoryTestError {})).into(),
1440-
),
1441-
success: None,
1442-
},
1443-
},
1444-
];
1445-
1446-
run_test_cases!(test_cases);
1447-
}
1448-
14491321
#[tokio::test]
14501322
async fn test_maybe_fatal_transition() {
14511323
let event = InMemoryTestEvent("foo".to_string());

0 commit comments

Comments
 (0)