diff options
author | Yuchen Zeng <zyc@google.com> | 2017-11-14 11:39:33 -0800 |
---|---|---|
committer | Yuchen Zeng <zyc@google.com> | 2017-11-14 15:52:48 -0800 |
commit | 68ade7471c047d0aac34f04c91e3ed5e319a32f1 (patch) | |
tree | 61a72f6e697a2318b766110502e3ce97ab576667 /src/core/ext/transport | |
parent | abfb4f8d5bdcb6f0b81e389d321c58bf03485a68 (diff) |
Limit the imput dt of PID to 100ms
Diffstat (limited to 'src/core/ext/transport')
-rw-r--r-- | src/core/ext/transport/chttp2/transport/flow_control.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/ext/transport/chttp2/transport/flow_control.cc b/src/core/ext/transport/chttp2/transport/flow_control.cc index 64f6b3c917..f92e003405 100644 --- a/src/core/ext/transport/chttp2/transport/flow_control.cc +++ b/src/core/ext/transport/chttp2/transport/flow_control.cc @@ -310,7 +310,11 @@ double TransportFlowControl::SmoothLogBdp(grpc_exec_ctx* exec_ctx, double value) { grpc_millis now = grpc_exec_ctx_now(exec_ctx); double bdp_error = value - pid_controller_.last_control_value(); - const double dt = (double)(now - last_pid_update_) * 1e-3; + double dt = (double)(now - last_pid_update_) * 1e-3; + // Limit dt to 100ms + if (dt > 0.1) { + dt = 0.1; + } last_pid_update_ = now; return pid_controller_.Update(bdp_error, dt); } |