Finagle's default ResponseClassifier.
Finagle's default ResponseClassifier.
Finagle does not have application domain knowledge and
as such this treats all Return
responses as ResponseClass.Success,
all retryable Throws
as ResponseClass.RetryableFailure
and all Throws
as ResponseClass.NonRetryableFailure.
It is a total function covering the entire input domain and as such it is recommended that it is used with user's classifiers:
theirClassifier.applyOrElse(theirReqRep, ResponseClassifier.Default)
Implementation for the ResponseClassifier that retries requests on all channel closed exceptions.
Implementation for the ResponseClassifier that retries requests on all channel closed exceptions.
This is safe to use for idempotent requests.
Implementation for the ResponseClassifier that retries requests on all throws.
Implementation for the ResponseClassifier that retries requests on all throws.
This would be useful for instances of idempotent requests, for example on database reads or similar.
Implementation for the ResponseClassifier that retries requests on all timeout exceptions.
Implementation for the ResponseClassifier that retries requests on all timeout exceptions.
This would be useful for instances of idempotent requests, for example on database reads or similar. May also be useful for non-idempotent requests depending on how the remote service handles duplicate requests.
Implementation for the ResponseClassifier that retries requests on write exceptions.
Implementation for the ResponseClassifier that retries requests on write exceptions.
These are always safe to retry, so this is safe even in non-idempotent cases.
Create a ResponseClassifier with the given name for its toString
.
Create a ResponseClassifier with the given name for its toString
.
be careful when underlying
composes other ResponseClassifiers
which are not total.