@ -37,6 +37,7 @@
# include <grpc/support/time.h>
# include <grpc/support/time.h>
# include "src/core/ext/transport/chttp2/transport/flow_control.h"
# include "src/core/ext/transport/chttp2/transport/flow_control.h"
# include "src/core/lib/experiments/config.h"
# include "src/core/lib/gpr/useful.h"
# include "src/core/lib/gpr/useful.h"
# include "src/core/lib/gprpp/time.h"
# include "src/core/lib/gprpp/time.h"
# include "src/core/lib/iomgr/exec_ctx.h"
# include "src/core/lib/iomgr/exec_ctx.h"
@ -44,6 +45,7 @@
# include "src/core/lib/transport/bdp_estimator.h"
# include "src/core/lib/transport/bdp_estimator.h"
# include "src/libfuzzer/libfuzzer_macro.h"
# include "src/libfuzzer/libfuzzer_macro.h"
# include "test/core/transport/chttp2/flow_control_fuzzer.pb.h"
# include "test/core/transport/chttp2/flow_control_fuzzer.pb.h"
# include "test/core/util/fuzz_config_vars.h"
// IWYU pragma: no_include <google/protobuf/repeated_ptr_field.h>
// IWYU pragma: no_include <google/protobuf/repeated_ptr_field.h>
@ -442,6 +444,8 @@ void FlowControlFuzzer::AssertAnnouncedOverInitialWindowSizeCorrect() const {
} // namespace grpc_core
} // namespace grpc_core
DEFINE_PROTO_FUZZER ( const flow_control_fuzzer : : Msg & msg ) {
DEFINE_PROTO_FUZZER ( const flow_control_fuzzer : : Msg & msg ) {
grpc_core : : ApplyFuzzConfigVars ( msg . config_vars ( ) ) ;
grpc_core : : TestOnlyReloadExperimentsFromConfigVariables ( ) ;
grpc_core : : chttp2 : : InitGlobals ( ) ;
grpc_core : : chttp2 : : InitGlobals ( ) ;
grpc_core : : chttp2 : : FlowControlFuzzer fuzzer ( msg . enable_bdp ( ) ) ;
grpc_core : : chttp2 : : FlowControlFuzzer fuzzer ( msg . enable_bdp ( ) ) ;
for ( const auto & action : msg . actions ( ) ) {
for ( const auto & action : msg . actions ( ) ) {