A RetryIncident is a state machine for managing the retry logic of a single
incident of a failed operation. It is generally unaware of what that
operation is and takes no action itself, but instead is used by the performer
of the operation as a control flow mechanism. For example, when a
colossus.service.ServiceClient fails to connect to its target host, it
will create a new RetryIncident from it's given RetryPolicy.
On each successive failure of the operation, a call to nextAttempt()
should be made that will return a RetryAttempt indicating what action
should be taken. A single RetryIncident cannot be reused should be
discarded when either the operation completes or gives up
A RetryIncident is a state machine for managing the retry logic of a single incident of a failed operation. It is generally unaware of what that operation is and takes no action itself, but instead is used by the performer of the operation as a control flow mechanism. For example, when a colossus.service.ServiceClient fails to connect to its target host, it will create a new
RetryIncident
from it's given RetryPolicy.On each successive failure of the operation, a call to nextAttempt() should be made that will return a
RetryAttempt
indicating what action should be taken. A singleRetryIncident
cannot be reused should be discarded when either the operation completes or gives up