retryUnary<R, Q> function
Future<R>
retryUnary<
R, Q>( - ResponseFuture<R> rpc(
- Q request, {
- CallOptions? options,
}),
- Q request, {
- dynamic onRetry(
- Exception
)?,
- Duration delayFactor = const Duration(milliseconds: 200),
- double randomizationFactor = 0.25,
- Duration maxDelay = const Duration(seconds: 5),
- int maxAttempts = 5,
})
Implementation
Future<R> retryUnary<R, Q>(
$grpc.ResponseFuture<R> Function(Q request, {$grpc.CallOptions? options}) rpc,
Q request, {
Function(Exception)? onRetry,
Duration delayFactor = const Duration(milliseconds: 200),
double randomizationFactor = 0.25,
Duration maxDelay = const Duration(seconds: 5),
int maxAttempts = 5,
}) async {
final response = await retry<R>(
() => rpc.call(request),
retryIf: (e) {
return e is $grpc.GrpcError && e.code == $grpc.StatusCode.unauthenticated;
},
onRetry: onRetry,
delayFactor: delayFactor,
randomizationFactor: randomizationFactor,
maxDelay: maxDelay,
maxAttempts: maxAttempts,
);
return response;
}