277
[]enumsspb.NexusOperationState{enumsspb.NEXUS_OPERATION_STATE_SCHEDULED},
278
enumsspb.NEXUS_OPERATION_STATE_BACKING_OFF,
279
>
func(op Operation, event EventAttemptFailed) (hsm.TransitionOutput, error) {
statemachine.go
280
>
op.recordAttempt(event.Time)
281
>
// Use 0 for elapsed time as we don't limit the retry by time (for now).
282
>
// The last argument (error) is ignored.
283
>
nextDelay := event.RetryPolicy.ComputeNextDelay(0, int(op.Attempt), nil)
284
>
nextAttemptScheduleTime := event.Time.Add(nextDelay)
285
>
op.NextAttemptScheduleTime = timestamppb.New(nextAttemptScheduleTime)
286
>
op.LastAttemptFailure = event.Failure
287
>
return op.output()
288
>
},
289
)
290