diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/client_config/subchannel.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/core/client_config/subchannel.c b/src/core/client_config/subchannel.c index d91dd116b8..055f69c70e 100644 --- a/src/core/client_config/subchannel.c +++ b/src/core/client_config/subchannel.c @@ -603,6 +603,20 @@ static void update_reconnect_parameters(grpc_subchannel *c) { gpr_time_from_millis(c->args->args[i].value.integer, GPR_TIMESPAN)); return; } + if (0 == + strcmp(c->args->args[i].key, GRPC_ARG_MAX_RECONNECT_BACKOFF_MS)) { + if (c->args->args[i].type == GRPC_ARG_INTEGER) { + if (c->args->args[i].value.integer >= 0) { + max_backoff_millis = c->args->args[i].value.integer; + } else { + gpr_log(GPR_ERROR, GRPC_ARG_MAX_RECONNECT_BACKOFF_MS + " : must be non-negative"); + } + } else { + gpr_log(GPR_ERROR, + GRPC_ARG_MAX_RECONNECT_BACKOFF_MS " : must be an integer"); + } + } } } |