private ViewState RecoveryStarted(long replayMax)
{
return new ViewState("recovery started - replayMax: " + replayMax, true, (receive, message) =>
{
if (message is LoadSnapshotResult)
{
var loadResult = (LoadSnapshotResult)message;
if (loadResult.Snapshot != null)
{
var selectedSnapshot = loadResult.Snapshot;
LastSequenceNr = selectedSnapshot.Metadata.SequenceNr;
base.AroundReceive(receive, new SnapshotOffer(selectedSnapshot.Metadata, selectedSnapshot.Snapshot));
}
ChangeState(ReplayStarted(true));
Journal.Tell(new ReplayMessages(LastSequenceNr + 1, loadResult.ToSequenceNr, replayMax, PersistenceId, Self));
}
else _internalStash.Stash();
});
}