separate sendSnapshotRecovery logic into sendSnapshotRecoveryRequest func