private ViewState IgnoreRemainingReplay(Exception cause)
{
return new ViewState("replay failed", true, (receive, message) =>
{
if (message is ReplayedMessage) { }
else if (message is ReplayMessagesFailure)
{
// journal couldn't tell the maximum stored sequence number, hence the next
// replay must be a full replay (up to the highest stored sequence number)
// Recover(lastSequenceNr) is sent by preRestart
LastSequenceNr = long.MaxValue;
OnReplayFailureCompleted(cause);
}
else if (message is RecoverySuccess) OnReplayFailureCompleted(cause);
else _internalStash.Stash();
});
}