From a77fb7dc6792a48edc30100482032844c56feedc Mon Sep 17 00:00:00 2001 From: ncteisen Date: Fri, 8 Dec 2017 12:57:26 -0800 Subject: Read new env var to toggle --- .../ext/transport/chttp2/transport/chttp2_transport.cc | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src/core/ext/transport') diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc index 768cee1190..f300ae9188 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc @@ -261,6 +261,9 @@ void grpc_chttp2_ref_transport(grpc_chttp2_transport* t) { gpr_ref(&t->refs); } static const grpc_transport_vtable* get_vtable(void); +// -1 == unset, 0 == disabled, 1 == enabled +static int flow_control_enabled = -1; + static void init_transport(grpc_exec_ctx* exec_ctx, grpc_chttp2_transport* t, const grpc_channel_args* channel_args, grpc_endpoint* ep, bool is_client) { @@ -544,12 +547,19 @@ static void init_transport(grpc_exec_ctx* exec_ctx, grpc_chttp2_transport* t, } } - if (true /* disable flow control*/) { - t->flow_control.Init(t); - enable_bdp = false; - } else { + if (flow_control_enabled == -1) { + char* env_variable = gpr_getenv("GRPC_EXPERIMENTAL_DISABLE_FLOW_CONTROL"); + if (env_variable != nullptr) flow_control_enabled = 0; + else flow_control_enabled = 1; + gpr_free(env_variable); + } + + if (flow_control_enabled) { t->flow_control.Init(exec_ctx, t, enable_bdp); + } else { + t->flow_control.Init(t); + enable_bdp = false; } /* No pings allowed before receiving a header or data frame. */ -- cgit v1.2.3