diff --git a/.pylintrc b/.pylintrc index 414505fe34b..6cf4b94c88e 100644 --- a/.pylintrc +++ b/.pylintrc @@ -73,7 +73,7 @@ disable= protected-access, # NOTE(nathaniel): Pylint and I will probably never agree on this. too-few-public-methods, - # NOTE(nathaniel): Pylint and I wil probably never agree on this for + # NOTE(nathaniel): Pylint and I will probably never agree on this for # private classes. For public classes maybe? too-many-instance-attributes, # NOTE(nathaniel): Some of our modules have a lot of lines... of diff --git a/.pylintrc-examples b/.pylintrc-examples index 38f91fac505..db73aa8eca7 100644 --- a/.pylintrc-examples +++ b/.pylintrc-examples @@ -76,7 +76,7 @@ disable= protected-access, # NOTE(nathaniel): Pylint and I will probably never agree on this. too-few-public-methods, - # NOTE(nathaniel): Pylint and I wil probably never agree on this for + # NOTE(nathaniel): Pylint and I will probably never agree on this for # private classes. For public classes maybe? too-many-instance-attributes, # NOTE(nathaniel): Some of our modules have a lot of lines... of diff --git a/.pylintrc-tests b/.pylintrc-tests index fffb08783a0..7e34a14d866 100644 --- a/.pylintrc-tests +++ b/.pylintrc-tests @@ -102,7 +102,7 @@ disable= protected-access, # NOTE(nathaniel): Pylint and I will probably never agree on this. too-few-public-methods, - # NOTE(nathaniel): Pylint and I wil probably never agree on this for + # NOTE(nathaniel): Pylint and I will probably never agree on this for # private classes. For public classes maybe? too-many-instance-attributes, # NOTE(nathaniel): Some of our modules have a lot of lines... of diff --git a/BUILD b/BUILD index ea9cdd34d17..55c8856b164 100644 --- a/BUILD +++ b/BUILD @@ -904,6 +904,19 @@ grpc_cc_library( hdrs = ["include/grpc/impl/channel_arg_names.h"], ) +grpc_cc_library( + name = "grpc_slice", + hdrs = [ + "include/grpc/slice.h", + "include/grpc/slice_buffer.h", + ], + visibility = ["@grpc:public"], + deps = [ + "//src/core:slice", + "//src/core:slice_buffer", + ], +) + grpc_cc_library( name = "grpc++", hdrs = [ diff --git a/CMakeLists.txt b/CMakeLists.txt index 2ccc323af09..5f0b8fc1ae4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -683,6 +683,9 @@ add_custom_target(tools_cxx add_custom_target(tools DEPENDS tools_c tools_cxx) +protobuf_generate_grpc_cpp_with_import_path_correction( + src/core/ext/transport/chaotic_good/chaotic_good_frame.proto src/core/ext/transport/chaotic_good/chaotic_good_frame.proto +) protobuf_generate_grpc_cpp_with_import_path_correction( src/proto/grpc/channelz/channelz.proto src/proto/grpc/channelz/channelz.proto ) @@ -4794,6 +4797,7 @@ foreach(_hdr include/grpcpp/impl/completion_queue_tag.h include/grpcpp/impl/create_auth_context.h include/grpcpp/impl/delegating_channel.h + include/grpcpp/impl/generic_serialize.h include/grpcpp/impl/generic_stub_internal.h include/grpcpp/impl/grpc_library.h include/grpcpp/impl/intercepted_channel.h @@ -5540,6 +5544,7 @@ foreach(_hdr include/grpcpp/impl/completion_queue_tag.h include/grpcpp/impl/create_auth_context.h include/grpcpp/impl/delegating_channel.h + include/grpcpp/impl/generic_serialize.h include/grpcpp/impl/generic_stub_internal.h include/grpcpp/impl/grpc_library.h include/grpcpp/impl/intercepted_channel.h @@ -8490,13 +8495,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(bad_ping_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -8552,6 +8560,7 @@ target_link_libraries(bad_ping_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -8973,13 +8982,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(binary_metadata_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -9035,6 +9047,7 @@ target_link_libraries(binary_metadata_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -9314,13 +9327,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(call_creds_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -9376,6 +9392,7 @@ target_link_libraries(call_creds_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -9522,13 +9539,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(call_host_override_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -9584,6 +9604,7 @@ target_link_libraries(call_host_override_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -10035,13 +10056,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(cancel_after_accept_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -10097,6 +10121,7 @@ target_link_libraries(cancel_after_accept_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -10105,13 +10130,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(cancel_after_client_done_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -10167,6 +10195,7 @@ target_link_libraries(cancel_after_client_done_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -10175,13 +10204,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(cancel_after_invoke_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -10237,6 +10269,7 @@ target_link_libraries(cancel_after_invoke_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -10245,13 +10278,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(cancel_after_round_trip_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -10307,6 +10343,7 @@ target_link_libraries(cancel_after_round_trip_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -10362,13 +10399,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(cancel_before_invoke_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -10424,6 +10464,7 @@ target_link_libraries(cancel_before_invoke_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -10509,13 +10550,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(cancel_in_a_vacuum_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -10571,6 +10615,7 @@ target_link_libraries(cancel_in_a_vacuum_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -10579,13 +10624,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(cancel_with_status_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -10641,6 +10689,7 @@ target_link_libraries(cancel_with_status_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -12406,13 +12455,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(client_streaming_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -12468,6 +12520,7 @@ target_link_libraries(client_streaming_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -12752,13 +12805,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(compressed_payload_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -12814,6 +12870,7 @@ target_link_libraries(compressed_payload_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -13148,13 +13205,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(connectivity_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -13210,6 +13270,7 @@ target_link_libraries(connectivity_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -13616,13 +13677,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(default_host_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -13678,6 +13742,7 @@ target_link_libraries(default_host_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -13847,13 +13912,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(disappearing_server_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -13909,6 +13977,7 @@ target_link_libraries(disappearing_server_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -14210,13 +14279,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(empty_batch_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -14272,6 +14344,7 @@ target_link_libraries(empty_batch_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -15357,13 +15430,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(filter_causes_close_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -15419,6 +15495,7 @@ target_link_libraries(filter_causes_close_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -15427,13 +15504,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(filter_init_fails_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -15489,6 +15569,7 @@ target_link_libraries(filter_init_fails_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -15547,13 +15628,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(filtered_metadata_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -15609,6 +15693,7 @@ target_link_libraries(filtered_metadata_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -16495,13 +16580,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(graceful_server_shutdown_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -16557,6 +16645,7 @@ target_link_libraries(graceful_server_shutdown_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -16884,13 +16973,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(grpc_authz_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -16946,6 +17038,7 @@ target_link_libraries(grpc_authz_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -18331,13 +18424,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(high_initial_seqno_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18393,6 +18489,7 @@ target_link_libraries(high_initial_seqno_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -18647,13 +18744,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(hpack_size_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18709,6 +18809,7 @@ target_link_libraries(hpack_size_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -18918,13 +19019,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(http2_stats_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18980,6 +19084,7 @@ target_link_libraries(http2_stats_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -19874,13 +19979,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(invoke_large_request_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -19936,6 +20044,7 @@ target_link_libraries(invoke_large_request_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -20272,13 +20381,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(keepalive_timeout_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -20334,6 +20446,7 @@ target_link_libraries(keepalive_timeout_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -20385,13 +20498,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(large_metadata_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -20447,6 +20563,7 @@ target_link_libraries(large_metadata_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -21159,13 +21276,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(max_concurrent_streams_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -21221,6 +21341,7 @@ target_link_libraries(max_concurrent_streams_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -21229,13 +21350,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(max_connection_age_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -21291,6 +21415,7 @@ target_link_libraries(max_connection_age_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -21299,13 +21424,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(max_connection_idle_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -21361,6 +21489,7 @@ target_link_libraries(max_connection_idle_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -21369,13 +21498,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(max_message_length_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -21431,6 +21563,7 @@ target_link_libraries(max_message_length_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -22114,13 +22247,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(negative_deadline_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -22176,6 +22312,7 @@ target_link_libraries(negative_deadline_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -22216,13 +22353,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(no_logging_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -22278,6 +22418,7 @@ target_link_libraries(no_logging_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -22286,13 +22427,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(no_op_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -22348,6 +22492,7 @@ target_link_libraries(no_op_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -23278,13 +23423,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(payload_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -23340,6 +23488,7 @@ target_link_libraries(payload_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -23652,13 +23801,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(ping_pong_streaming_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -23714,6 +23866,7 @@ target_link_libraries(ping_pong_streaming_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -23773,13 +23926,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(ping_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -23835,6 +23991,7 @@ target_link_libraries(ping_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -25312,13 +25469,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(proxy_auth_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -25374,6 +25534,7 @@ target_link_libraries(proxy_auth_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -25911,13 +26072,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(registered_call_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -25973,6 +26137,7 @@ target_link_libraries(registered_call_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -26125,13 +26290,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(request_with_flags_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -26187,6 +26355,7 @@ target_link_libraries(request_with_flags_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -26195,13 +26364,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(request_with_payload_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -26257,6 +26429,7 @@ target_link_libraries(request_with_payload_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -26552,13 +26725,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(resource_quota_server_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -26614,6 +26790,7 @@ target_link_libraries(resource_quota_server_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -26664,13 +26841,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_cancel_after_first_attempt_starts_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -26726,6 +26906,7 @@ target_link_libraries(retry_cancel_after_first_attempt_starts_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -26734,13 +26915,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_cancel_during_delay_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -26796,6 +26980,7 @@ target_link_libraries(retry_cancel_during_delay_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -26804,13 +26989,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_cancel_with_multiple_send_batches_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -26866,6 +27054,7 @@ target_link_libraries(retry_cancel_with_multiple_send_batches_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -26874,13 +27063,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_cancellation_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -26936,6 +27128,7 @@ target_link_libraries(retry_cancellation_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -26944,13 +27137,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_disabled_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27006,6 +27202,7 @@ target_link_libraries(retry_disabled_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27014,13 +27211,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_exceeds_buffer_size_in_delay_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27076,6 +27276,7 @@ target_link_libraries(retry_exceeds_buffer_size_in_delay_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27084,13 +27285,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_exceeds_buffer_size_in_initial_batch_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27146,6 +27350,7 @@ target_link_libraries(retry_exceeds_buffer_size_in_initial_batch_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27154,13 +27359,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_exceeds_buffer_size_in_subsequent_batch_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27216,6 +27424,7 @@ target_link_libraries(retry_exceeds_buffer_size_in_subsequent_batch_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27224,13 +27433,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_lb_drop_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27286,6 +27498,7 @@ target_link_libraries(retry_lb_drop_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27294,13 +27507,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_lb_fail_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27356,6 +27572,7 @@ target_link_libraries(retry_lb_fail_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27364,13 +27581,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_non_retriable_status_before_trailers_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27426,6 +27646,7 @@ target_link_libraries(retry_non_retriable_status_before_trailers_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27434,13 +27655,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_non_retriable_status_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27496,6 +27720,7 @@ target_link_libraries(retry_non_retriable_status_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27504,13 +27729,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_per_attempt_recv_timeout_on_last_attempt_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27566,6 +27794,7 @@ target_link_libraries(retry_per_attempt_recv_timeout_on_last_attempt_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27574,13 +27803,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_per_attempt_recv_timeout_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27636,6 +27868,7 @@ target_link_libraries(retry_per_attempt_recv_timeout_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27644,13 +27877,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_recv_initial_metadata_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27706,6 +27942,7 @@ target_link_libraries(retry_recv_initial_metadata_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27714,13 +27951,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_recv_message_replay_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27776,6 +28016,7 @@ target_link_libraries(retry_recv_message_replay_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27784,13 +28025,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_recv_message_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27846,6 +28090,7 @@ target_link_libraries(retry_recv_message_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27854,13 +28099,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_recv_trailing_metadata_error_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27916,6 +28164,7 @@ target_link_libraries(retry_recv_trailing_metadata_error_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27924,13 +28173,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_send_initial_metadata_refs_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -27986,6 +28238,7 @@ target_link_libraries(retry_send_initial_metadata_refs_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -27994,13 +28247,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_send_op_fails_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28056,6 +28312,7 @@ target_link_libraries(retry_send_op_fails_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28064,13 +28321,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_send_recv_batch_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28126,6 +28386,7 @@ target_link_libraries(retry_send_recv_batch_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28134,13 +28395,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_server_pushback_delay_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28196,6 +28460,7 @@ target_link_libraries(retry_server_pushback_delay_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28204,13 +28469,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_server_pushback_disabled_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28266,6 +28534,7 @@ target_link_libraries(retry_server_pushback_disabled_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28316,13 +28585,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_streaming_after_commit_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28378,6 +28650,7 @@ target_link_libraries(retry_streaming_after_commit_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28386,13 +28659,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_streaming_succeeds_before_replay_finished_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28448,6 +28724,7 @@ target_link_libraries(retry_streaming_succeeds_before_replay_finished_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28456,13 +28733,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_streaming_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28518,6 +28798,7 @@ target_link_libraries(retry_streaming_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28526,13 +28807,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28588,6 +28872,7 @@ target_link_libraries(retry_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28638,13 +28923,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_throttled_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28700,6 +28988,7 @@ target_link_libraries(retry_throttled_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28708,13 +28997,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_too_many_attempts_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28770,6 +29062,7 @@ target_link_libraries(retry_too_many_attempts_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28778,13 +29071,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_transparent_goaway_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28840,6 +29136,7 @@ target_link_libraries(retry_transparent_goaway_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28848,13 +29145,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_transparent_max_concurrent_streams_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28910,6 +29210,7 @@ target_link_libraries(retry_transparent_max_concurrent_streams_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28918,13 +29219,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_transparent_not_sent_on_wire_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -28980,6 +29284,7 @@ target_link_libraries(retry_transparent_not_sent_on_wire_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -28988,13 +29293,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_unref_before_finish_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -29050,6 +29358,7 @@ target_link_libraries(retry_unref_before_finish_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -29058,13 +29367,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(retry_unref_before_recv_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -29120,6 +29432,7 @@ target_link_libraries(retry_unref_before_recv_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -30220,13 +30533,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(server_finishes_request_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -30282,6 +30598,7 @@ target_link_libraries(server_finishes_request_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -30543,13 +30860,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(server_streaming_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -30605,6 +30925,7 @@ target_link_libraries(server_streaming_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -30828,13 +31149,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(shutdown_finishes_calls_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -30890,6 +31214,7 @@ target_link_libraries(shutdown_finishes_calls_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -30898,13 +31223,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(shutdown_finishes_tags_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -30960,6 +31288,7 @@ target_link_libraries(shutdown_finishes_tags_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -31047,13 +31376,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(simple_delayed_request_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -31109,6 +31441,7 @@ target_link_libraries(simple_delayed_request_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -31117,13 +31450,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(simple_metadata_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -31179,6 +31515,7 @@ target_link_libraries(simple_metadata_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -31231,13 +31568,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(simple_request_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -31293,6 +31633,7 @@ target_link_libraries(simple_request_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -32166,13 +32507,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(streaming_error_response_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -32228,6 +32572,7 @@ target_link_libraries(streaming_error_response_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -32965,13 +33310,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(test_core_end2end_channelz_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -33027,6 +33375,7 @@ target_link_libraries(test_core_end2end_channelz_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -33428,6 +33777,10 @@ if(gRPC_BUILD_TESTS) if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) add_executable(test_core_transport_test_suite_chaotic_good_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.cc ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.grpc.pb.cc ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.h @@ -33654,13 +34007,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(test_cpp_ext_chaotic_good_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -34237,13 +34593,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(timeout_before_request_call_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -34299,6 +34658,7 @@ target_link_libraries(timeout_before_request_call_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -34822,13 +35182,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(trailing_metadata_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -34884,6 +35247,7 @@ target_link_libraries(trailing_metadata_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -35799,13 +36163,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(write_buffering_at_end_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -35861,6 +36228,7 @@ target_link_libraries(write_buffering_at_end_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) @@ -35869,13 +36237,16 @@ endif() if(gRPC_BUILD_TESTS) add_executable(write_buffering_test + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.grpc.pb.h src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good/client_transport.cc src/core/ext/transport/chaotic_good/frame.cc src/core/ext/transport/chaotic_good/frame_header.cc src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc src/core/ext/transport/chaotic_good/server_transport.cc - src/core/ext/transport/chaotic_good/settings_metadata.cc src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc src/core/ext/transport/chaotic_good_legacy/client_transport.cc src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -35931,6 +36302,7 @@ target_link_libraries(write_buffering_test gtest grpc_authorization_provider grpc_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} grpc_test_util ) diff --git a/bazel/experiments.bzl b/bazel/experiments.bzl index 14c2f66a5df..a333abd3658 100644 --- a/bazel/experiments.bzl +++ b/bazel/experiments.bzl @@ -34,6 +34,8 @@ EXPERIMENT_ENABLES = { "monitoring_experiment": "monitoring_experiment", "multiping": "multiping", "pick_first_new": "pick_first_new", + "promise_based_http2_client_transport": "promise_based_http2_client_transport", + "promise_based_http2_server_transport": "promise_based_http2_server_transport", "promise_based_inproc_transport": "promise_based_inproc_transport", "rq_fast_reject": "rq_fast_reject", "schedule_cancellation_over_write": "schedule_cancellation_over_write", @@ -84,6 +86,10 @@ EXPERIMENTS = { "core_end2end_test": [ "event_engine_client", "event_engine_listener", + "work_serializer_dispatch", + ], + "cpp_end2end_test": [ + "work_serializer_dispatch", ], "cpp_lb_end2end_test": [ "pick_first_new", @@ -96,12 +102,14 @@ EXPERIMENTS = { ], "lb_unit_test": [ "pick_first_new", + "work_serializer_dispatch", ], "resolver_component_tests_runner_invoker": [ "event_engine_dns", ], "xds_end2end_test": [ "pick_first_new", + "work_serializer_dispatch", ], }, }, @@ -129,14 +137,22 @@ EXPERIMENTS = { ], }, "on": { + "core_end2end_test": [ + "work_serializer_dispatch", + ], + "cpp_end2end_test": [ + "work_serializer_dispatch", + ], "cpp_lb_end2end_test": [ "pick_first_new", ], "lb_unit_test": [ "pick_first_new", + "work_serializer_dispatch", ], "xds_end2end_test": [ "pick_first_new", + "work_serializer_dispatch", ], }, }, diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml index 36f819655f9..2f5a0ad56f3 100644 --- a/build_autogenerated.yaml +++ b/build_autogenerated.yaml @@ -3850,6 +3850,7 @@ libs: - include/grpcpp/impl/completion_queue_tag.h - include/grpcpp/impl/create_auth_context.h - include/grpcpp/impl/delegating_channel.h + - include/grpcpp/impl/generic_serialize.h - include/grpcpp/impl/generic_stub_internal.h - include/grpcpp/impl/grpc_library.h - include/grpcpp/impl/intercepted_channel.h @@ -4245,6 +4246,7 @@ libs: - include/grpcpp/impl/completion_queue_tag.h - include/grpcpp/impl/create_auth_context.h - include/grpcpp/impl/delegating_channel.h + - include/grpcpp/impl/generic_serialize.h - include/grpcpp/impl/generic_stub_internal.h - include/grpcpp/impl/grpc_library.h - include/grpcpp/impl/intercepted_channel.h @@ -5966,7 +5968,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -5975,6 +5976,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -6001,13 +6003,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -6032,6 +6034,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: bad_server_response_test gtest: true @@ -6208,7 +6211,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -6217,6 +6219,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -6243,13 +6246,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -6274,6 +6277,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: bitset_test gtest: true @@ -6416,7 +6420,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -6425,6 +6428,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -6451,13 +6455,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -6482,6 +6486,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: call_filters_test gtest: true @@ -6662,7 +6667,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -6671,6 +6675,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -6697,13 +6702,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -6728,6 +6733,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: call_spine_test gtest: true @@ -7395,7 +7401,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -7404,6 +7409,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -7430,13 +7436,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -7461,6 +7467,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: cancel_after_client_done_test gtest: true @@ -7474,7 +7481,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -7483,6 +7489,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -7509,13 +7516,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -7540,6 +7547,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: cancel_after_invoke_test gtest: true @@ -7554,7 +7562,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -7563,6 +7570,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -7589,13 +7597,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -7620,6 +7628,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: cancel_after_round_trip_test gtest: true @@ -7633,7 +7642,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -7642,6 +7650,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -7668,13 +7677,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -7699,6 +7708,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: cancel_ares_query_test gtest: true @@ -7729,7 +7739,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -7738,6 +7747,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -7764,13 +7774,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -7795,6 +7805,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: cancel_callback_test gtest: true @@ -7912,7 +7923,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -7921,6 +7931,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -7947,13 +7958,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -7978,6 +7989,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: cancel_with_status_test gtest: true @@ -7992,7 +8004,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -8001,6 +8012,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -8027,13 +8039,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -8058,6 +8070,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: cel_authorization_engine_test gtest: true @@ -9002,7 +9015,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -9011,6 +9023,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -9037,13 +9050,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -9068,6 +9081,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: cmdline_test gtest: true @@ -9192,7 +9206,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -9201,6 +9214,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -9227,13 +9241,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -9258,6 +9272,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: compression_test gtest: true @@ -9400,7 +9415,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -9409,6 +9423,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -9435,13 +9450,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -9466,6 +9481,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: context_allocator_end2end_test gtest: true @@ -9593,7 +9609,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -9602,6 +9617,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -9628,13 +9644,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -9659,6 +9675,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: delegating_channel_test gtest: true @@ -9713,7 +9730,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -9722,6 +9738,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -9748,13 +9765,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -9779,6 +9796,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: dns_resolver_cooldown_test gtest: true @@ -9880,7 +9898,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -9889,6 +9906,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -9915,13 +9933,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -9946,6 +9964,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: end2end_test gtest: true @@ -10432,7 +10451,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -10441,6 +10459,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -10467,13 +10486,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -10498,6 +10517,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: filter_init_fails_test gtest: true @@ -10511,7 +10531,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -10520,6 +10539,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -10546,13 +10566,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -10577,6 +10597,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: filter_test_test gtest: true @@ -10608,7 +10629,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -10617,6 +10637,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -10643,13 +10664,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -10674,6 +10695,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: flaky_network_test gtest: true @@ -11173,7 +11195,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -11182,6 +11203,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -11208,13 +11230,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -11239,6 +11261,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: graceful_shutdown_test gtest: true @@ -11388,7 +11411,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -11397,6 +11419,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -11423,13 +11446,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -11454,6 +11477,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: grpc_byte_buffer_reader_test gtest: true @@ -11975,7 +11999,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -11984,6 +12007,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -12010,13 +12034,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -12041,6 +12065,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: histogram_test gtest: true @@ -12185,7 +12210,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -12194,6 +12218,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -12220,13 +12245,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -12251,6 +12276,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: http2_client build: test @@ -12360,7 +12386,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -12369,6 +12394,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -12395,13 +12421,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -12426,6 +12452,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: http_proxy_mapper_test gtest: true @@ -12860,7 +12887,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -12869,6 +12895,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -12895,13 +12922,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -12926,6 +12953,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: iocp_test gtest: true @@ -13081,7 +13109,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -13090,6 +13117,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -13116,13 +13144,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -13147,6 +13175,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: lame_client_test gtest: true @@ -13172,7 +13201,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -13181,6 +13209,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -13207,13 +13236,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -13238,6 +13267,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: latch_test gtest: true @@ -13583,6 +13613,7 @@ targets: headers: - src/core/lib/promise/detail/promise_factory.h - src/core/lib/promise/detail/promise_like.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/match_promise.h - src/core/lib/promise/poll.h - src/core/lib/promise/promise.h @@ -13648,7 +13679,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -13657,6 +13687,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -13683,13 +13714,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -13714,6 +13745,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: max_connection_age_test gtest: true @@ -13727,7 +13759,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -13736,6 +13767,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -13762,13 +13794,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -13793,6 +13825,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: max_connection_idle_test gtest: true @@ -13806,7 +13839,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -13815,6 +13847,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -13841,13 +13874,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -13872,6 +13905,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: max_message_length_test gtest: true @@ -13885,7 +13919,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -13894,6 +13927,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -13920,13 +13954,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -13951,6 +13985,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: memory_quota_stress_test gtest: true @@ -14212,7 +14247,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -14221,6 +14255,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -14247,13 +14282,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -14278,6 +14313,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: no_destruct_test gtest: true @@ -14303,7 +14339,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -14312,6 +14347,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -14338,13 +14374,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -14369,6 +14405,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: no_op_test gtest: true @@ -14382,7 +14419,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -14391,6 +14427,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -14417,13 +14454,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -14448,6 +14485,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: no_server_test gtest: true @@ -14795,7 +14833,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -14804,6 +14841,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -14830,13 +14868,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -14861,6 +14899,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: percent_encoding_test gtest: true @@ -15048,7 +15087,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -15057,6 +15095,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -15083,13 +15122,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -15114,6 +15153,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: ping_rate_policy_test gtest: true @@ -15157,7 +15197,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -15166,6 +15205,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -15192,13 +15232,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -15223,6 +15263,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: pipe_test gtest: true @@ -15737,7 +15778,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -15746,6 +15786,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -15772,13 +15813,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -15803,6 +15844,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: qps_json_driver build: test @@ -16014,7 +16056,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -16023,6 +16064,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -16049,13 +16091,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -16080,6 +16122,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: remove_stream_from_stalled_lists_test gtest: true @@ -16275,7 +16318,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -16284,6 +16326,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -16310,13 +16353,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -16341,6 +16384,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: request_with_payload_test gtest: true @@ -16354,7 +16398,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -16363,6 +16406,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -16389,13 +16433,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -16420,6 +16464,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: resolve_address_using_ares_resolver_posix_test gtest: true @@ -16585,7 +16630,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -16594,6 +16638,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -16620,13 +16665,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -16651,6 +16696,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: resource_quota_test gtest: true @@ -16675,7 +16721,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -16684,6 +16729,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -16710,13 +16756,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -16741,6 +16787,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_cancel_during_delay_test gtest: true @@ -16754,7 +16801,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -16763,6 +16809,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -16789,13 +16836,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -16820,6 +16867,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_cancel_with_multiple_send_batches_test gtest: true @@ -16833,7 +16881,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -16842,6 +16889,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -16868,13 +16916,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -16899,6 +16947,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_cancellation_test gtest: true @@ -16912,7 +16961,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -16921,6 +16969,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -16947,13 +16996,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -16978,6 +17027,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_disabled_test gtest: true @@ -16991,7 +17041,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17000,6 +17049,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17026,13 +17076,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -17057,6 +17107,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_exceeds_buffer_size_in_delay_test gtest: true @@ -17070,7 +17121,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17079,6 +17129,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17105,13 +17156,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -17136,6 +17187,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_exceeds_buffer_size_in_initial_batch_test gtest: true @@ -17149,7 +17201,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17158,6 +17209,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17184,13 +17236,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -17215,6 +17267,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_exceeds_buffer_size_in_subsequent_batch_test gtest: true @@ -17228,7 +17281,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17237,6 +17289,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17263,13 +17316,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -17294,6 +17347,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_lb_drop_test gtest: true @@ -17307,7 +17361,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17316,6 +17369,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17342,13 +17396,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -17373,6 +17427,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_lb_fail_test gtest: true @@ -17386,7 +17441,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17395,6 +17449,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17421,13 +17476,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -17452,6 +17507,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_non_retriable_status_before_trailers_test gtest: true @@ -17465,7 +17521,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17474,6 +17529,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17500,13 +17556,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -17531,6 +17587,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_non_retriable_status_test gtest: true @@ -17544,7 +17601,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17553,6 +17609,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17579,13 +17636,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -17610,6 +17667,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_per_attempt_recv_timeout_on_last_attempt_test gtest: true @@ -17623,7 +17681,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17632,6 +17689,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17658,13 +17716,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -17689,6 +17747,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_per_attempt_recv_timeout_test gtest: true @@ -17702,7 +17761,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17711,6 +17769,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17737,13 +17796,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -17768,6 +17827,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_recv_initial_metadata_test gtest: true @@ -17781,7 +17841,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17790,6 +17849,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17816,13 +17876,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -17847,6 +17907,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_recv_message_replay_test gtest: true @@ -17860,7 +17921,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17869,6 +17929,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17895,13 +17956,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -17926,6 +17987,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_recv_message_test gtest: true @@ -17939,7 +18001,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -17948,6 +18009,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -17974,13 +18036,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18005,6 +18067,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_recv_trailing_metadata_error_test gtest: true @@ -18018,7 +18081,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18027,6 +18089,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -18053,13 +18116,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18084,6 +18147,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_send_initial_metadata_refs_test gtest: true @@ -18097,7 +18161,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18106,6 +18169,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -18132,13 +18196,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18163,6 +18227,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_send_op_fails_test gtest: true @@ -18176,7 +18241,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18185,6 +18249,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -18211,13 +18276,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18242,6 +18307,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_send_recv_batch_test gtest: true @@ -18255,7 +18321,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18264,6 +18329,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -18290,13 +18356,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18321,6 +18387,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_server_pushback_delay_test gtest: true @@ -18334,7 +18401,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18343,6 +18409,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -18369,13 +18436,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18400,6 +18467,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_server_pushback_disabled_test gtest: true @@ -18413,7 +18481,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18422,6 +18489,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -18448,13 +18516,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18479,6 +18547,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_service_config_test gtest: true @@ -18503,7 +18572,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18512,6 +18580,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -18538,13 +18607,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18569,6 +18638,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_streaming_succeeds_before_replay_finished_test gtest: true @@ -18582,7 +18652,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18591,6 +18660,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -18617,13 +18687,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18648,6 +18718,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_streaming_test gtest: true @@ -18661,7 +18732,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18670,6 +18740,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -18696,13 +18767,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18727,6 +18798,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_test gtest: true @@ -18740,7 +18812,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18749,6 +18820,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -18775,13 +18847,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18806,6 +18878,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_throttle_test gtest: true @@ -18830,7 +18903,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18839,6 +18911,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -18865,13 +18938,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18896,6 +18969,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_too_many_attempts_test gtest: true @@ -18909,7 +18983,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18918,6 +18991,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -18944,13 +19018,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -18975,6 +19049,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_transparent_goaway_test gtest: true @@ -18988,7 +19063,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -18997,6 +19071,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -19023,13 +19098,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -19054,6 +19129,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_transparent_max_concurrent_streams_test gtest: true @@ -19067,7 +19143,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -19076,6 +19151,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -19102,13 +19178,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -19133,6 +19209,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_transparent_not_sent_on_wire_test gtest: true @@ -19146,7 +19223,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -19155,6 +19231,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -19181,13 +19258,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -19212,6 +19289,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_unref_before_finish_test gtest: true @@ -19225,7 +19303,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -19234,6 +19311,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -19260,13 +19338,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -19291,6 +19369,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: retry_unref_before_recv_test gtest: true @@ -19304,7 +19383,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -19313,6 +19391,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -19339,13 +19418,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -19370,6 +19449,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: ring_buffer_test gtest: true @@ -19786,7 +19866,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -19795,6 +19874,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -19821,13 +19901,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -19852,6 +19932,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: server_interceptors_end2end_test gtest: true @@ -19959,7 +20040,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -19968,6 +20048,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -19994,13 +20075,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -20025,6 +20106,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: server_test gtest: true @@ -20108,7 +20190,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -20117,6 +20198,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -20143,13 +20225,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -20174,6 +20256,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: shutdown_finishes_tags_test gtest: true @@ -20187,7 +20270,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -20196,6 +20278,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -20222,13 +20305,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -20253,6 +20336,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: shutdown_test gtest: true @@ -20285,7 +20369,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -20294,6 +20377,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -20320,13 +20404,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -20351,6 +20435,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: simple_metadata_test gtest: true @@ -20364,7 +20449,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -20373,6 +20457,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -20399,13 +20484,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -20430,6 +20515,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: simple_request_bad_client_test gtest: true @@ -20457,7 +20543,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -20466,6 +20551,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -20492,13 +20578,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -20523,6 +20609,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: single_set_ptr_test gtest: true @@ -20833,7 +20920,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -20842,6 +20928,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -20868,13 +20955,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -20899,6 +20986,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: streaming_throughput_test gtest: true @@ -20995,6 +21083,7 @@ targets: headers: - src/core/lib/promise/detail/promise_factory.h - src/core/lib/promise/detail/promise_like.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/if.h - src/core/lib/promise/poll.h - src/core/lib/promise/switch.h @@ -21217,7 +21306,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -21226,6 +21314,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -21252,13 +21341,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -21283,6 +21372,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: test_core_event_engine_posix_timer_heap_test gtest: true @@ -21491,6 +21581,7 @@ targets: - src/core/ext/transport/chaotic_good/frame.h - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server_transport.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -21503,6 +21594,7 @@ targets: - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h - test/core/transport/test_suite/transport_test.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc @@ -21586,7 +21678,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -21595,6 +21686,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -21605,13 +21697,13 @@ targets: - src/core/lib/transport/promise_endpoint.h - src/cpp/ext/chaotic_good.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -21801,7 +21893,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -21810,6 +21901,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -21836,13 +21928,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -21867,6 +21959,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: timeout_encoding_test gtest: true @@ -22053,7 +22146,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -22062,6 +22154,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -22088,13 +22181,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -22119,6 +22212,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: transport_security_common_api_test gtest: true @@ -22479,7 +22573,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -22488,6 +22581,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -22514,13 +22608,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -22545,6 +22639,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: write_buffering_test gtest: true @@ -22558,7 +22653,6 @@ targets: - src/core/ext/transport/chaotic_good/frame_header.h - src/core/ext/transport/chaotic_good/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/ext/transport/chaotic_good/settings_metadata.h - src/core/ext/transport/chaotic_good_legacy/chaotic_good_transport.h - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h - src/core/ext/transport/chaotic_good_legacy/client_transport.h @@ -22567,6 +22661,7 @@ targets: - src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h - src/core/ext/transport/chaotic_good_legacy/server_transport.h - src/core/ext/transport/chaotic_good_legacy/settings_metadata.h + - src/core/lib/promise/detail/promise_variant.h - src/core/lib/promise/event_engine_wakeup_scheduler.h - src/core/lib/promise/inter_activity_latch.h - src/core/lib/promise/inter_activity_pipe.h @@ -22593,13 +22688,13 @@ targets: - test/core/test_util/fake_stats_plugin.h - test/core/test_util/test_lb_policies.h src: + - src/core/ext/transport/chaotic_good/chaotic_good_frame.proto - src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/ext/transport/chaotic_good/settings_metadata.cc - src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.cc - src/core/ext/transport/chaotic_good_legacy/client_transport.cc - src/core/ext/transport/chaotic_good_legacy/frame.cc @@ -22624,6 +22719,7 @@ targets: - gtest - grpc_authorization_provider - grpc_unsecure + - protobuf - grpc_test_util - name: write_size_policy_test gtest: true diff --git a/examples/python/cancellation/search.py b/examples/python/cancellation/search.py index 731b40e25d2..3ceb9fefbc8 100644 --- a/examples/python/cancellation/search.py +++ b/examples/python/cancellation/search.py @@ -39,7 +39,7 @@ def _get_hamming_distance(a, b): def _get_substring_hamming_distance(candidate, target): - """Calculates the minimum hamming distance between between the target + """Calculates the minimum hamming distance between the target and any substring of the candidate. Args: diff --git a/examples/python/debug/README.md b/examples/python/debug/README.md index ceed31ef767..237e3085108 100644 --- a/examples/python/debug/README.md +++ b/examples/python/debug/README.md @@ -46,11 +46,11 @@ GRPC_TRACE=call_error,connectivity_state,pick_first,round_robin,glb ## How to debug your application? `pdb` is a debugging tool that is available for Python interpreters natively. -You can set breakpoint, and execute commands while the application is stopped. +You can set breakpoints, and execute commands while the application is stopped. The simplest usage is add a single line in the place you want to inspect: `import pdb; pdb.set_trace()`. When interpreter see this line, it would pop out -a interactive command line interface for you to inspect the application state. +an interactive command line interface for you to inspect the application state. For more detailed usage, see https://docs.python.org/3/library/pdb.html. diff --git a/examples/python/interceptors/async/README.md b/examples/python/interceptors/async/README.md index bcd4e31a667..83c032e20b6 100644 --- a/examples/python/interceptors/async/README.md +++ b/examples/python/interceptors/async/README.md @@ -15,8 +15,8 @@ This example demonstrate the usage of Async interceptors and context propagation This example have the following steps: 1. Generate RPC ID on client side and propagate to server using `metadata`. * `contextvars` can be used here if client and server is running in a same coroutine (or same thead for Sync). -2. Server interceptor1 intercept the request, it checks `rpc_id_var` and decorate it with it's tag `Interceptor1`. -3. Server interceptor2 intercept the request, it checks `rpc_id_var` and decorate it with it's tag `Interceptor2`. +2. Server interceptor1 intercept the request, it checks `rpc_id_var` and decorate it with its tag `Interceptor1`. +3. Server interceptor2 intercept the request, it checks `rpc_id_var` and decorate it with its tag `Interceptor2`. 4. Server handler receives the request with `rpc_id_var` decorated by both interceptor1 and interceptor2. ## How to run this example diff --git a/examples/python/keep_alive/greeter_client.py b/examples/python/keep_alive/greeter_client.py index 387acd8e8b1..858077baef9 100644 --- a/examples/python/keep_alive/greeter_client.py +++ b/examples/python/keep_alive/greeter_client.py @@ -37,7 +37,7 @@ def run(): grpc.keepalive_time_ms: The period (in milliseconds) after which a keepalive ping is sent on the transport. grpc.keepalive_timeout_ms: The amount of time (in milliseconds) the sender of the keepalive - ping waits for an acknowledgement. If it does not receive an acknowledgment within this + ping waits for an acknowledgement. If it does not receive an acknowledgement within this time, it will close the connection. grpc.keepalive_permit_without_calls: If set to 1 (0 : false; 1 : true), allows keepalive pings to be sent even if there are no calls in flight. @@ -60,9 +60,9 @@ def run(): unary_call(stub, 1, "you") # Run 30s, run this with GRPC_VERBOSITY=DEBUG GRPC_TRACE=http_keepalive to observe logs. - # Client will be closed after receveing GOAWAY from server. + # Client will be closed after receiving GOAWAY from server. for i in range(30): - print(f"{i} seconds paased.") + print(f"{i} seconds passed.") sleep(1) diff --git a/examples/python/keep_alive/greeter_server.py b/examples/python/keep_alive/greeter_server.py index edfa306a90c..60bb328b04b 100644 --- a/examples/python/keep_alive/greeter_server.py +++ b/examples/python/keep_alive/greeter_server.py @@ -35,7 +35,7 @@ def serve(): grpc.keepalive_time_ms: The period (in milliseconds) after which a keepalive ping is sent on the transport. grpc.keepalive_timeout_ms: The amount of time (in milliseconds) the sender of the keepalive - ping waits for an acknowledgement. If it does not receive an acknowledgment within + ping waits for an acknowledgement. If it does not receive an acknowledgement within this time, it will close the connection. grpc.http2.min_ping_interval_without_data_ms: Minimum allowed time (in milliseconds) between a server receiving successive ping frames without sending any data/header frame. diff --git a/examples/python/route_guide/asyncio_route_guide_client.py b/examples/python/route_guide/asyncio_route_guide_client.py index c874cc53695..980835404fc 100644 --- a/examples/python/route_guide/asyncio_route_guide_client.py +++ b/examples/python/route_guide/asyncio_route_guide_client.py @@ -33,7 +33,7 @@ def make_route_note( ) -# Performs an unary call +# Performs a unary call async def guide_get_one_feature( stub: route_guide_pb2_grpc.RouteGuideStub, point: route_guide_pb2.Point ) -> None: diff --git a/examples/python/wait_for_ready/wait_for_ready_with_client_timeout_example_server.py b/examples/python/wait_for_ready/wait_for_ready_with_client_timeout_example_server.py index 5ff21d1ad1f..f24b4c404c7 100644 --- a/examples/python/wait_for_ready/wait_for_ready_with_client_timeout_example_server.py +++ b/examples/python/wait_for_ready/wait_for_ready_with_client_timeout_example_server.py @@ -51,7 +51,7 @@ class Greeter(helloworld_pb2_grpc.GreeterServicer): # for server to up and running. starting_up_server() - # Initial metadata will be send back immediately after calling send_initial_metadata. + # Initial metadata will be sent back immediately after calling send_initial_metadata. print("sending initial metadata back") servicer_context.send_initial_metadata(_INITIAL_METADATA) diff --git a/gRPC-C++.podspec b/gRPC-C++.podspec index 671a9cf30ba..2365d2e89ed 100644 --- a/gRPC-C++.podspec +++ b/gRPC-C++.podspec @@ -161,6 +161,7 @@ Pod::Spec.new do |s| 'include/grpcpp/impl/completion_queue_tag.h', 'include/grpcpp/impl/create_auth_context.h', 'include/grpcpp/impl/delegating_channel.h', + 'include/grpcpp/impl/generic_serialize.h', 'include/grpcpp/impl/generic_stub_internal.h', 'include/grpcpp/impl/grpc_library.h', 'include/grpcpp/impl/intercepted_channel.h', diff --git a/include/grpcpp/impl/codegen/config_protobuf.h b/include/grpcpp/impl/codegen/config_protobuf.h index 508fccedb71..ddf56aafdcf 100644 --- a/include/grpcpp/impl/codegen/config_protobuf.h +++ b/include/grpcpp/impl/codegen/config_protobuf.h @@ -59,22 +59,26 @@ #ifndef GRPC_CUSTOM_DESCRIPTORDATABASE #include #define GRPC_CUSTOM_DESCRIPTORDATABASE ::google::protobuf::DescriptorDatabase -#define GRPC_CUSTOM_SIMPLEDESCRIPTORDATABASE ::google::protobuf::SimpleDescriptorDatabase +#define GRPC_CUSTOM_SIMPLEDESCRIPTORDATABASE \ + ::google::protobuf::SimpleDescriptorDatabase #endif #ifndef GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM #include #include -#define GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM ::google::protobuf::io::ZeroCopyOutputStream -#define GRPC_CUSTOM_ZEROCOPYINPUTSTREAM ::google::protobuf::io::ZeroCopyInputStream +#define GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM \ + ::google::protobuf::io::ZeroCopyOutputStream +#define GRPC_CUSTOM_ZEROCOPYINPUTSTREAM \ + ::google::protobuf::io::ZeroCopyInputStream #define GRPC_CUSTOM_CODEDINPUTSTREAM ::google::protobuf::io::CodedInputStream #define GRPC_CUSTOM_CODEDOUTPUTSTREAM ::google::protobuf::io::CodedOutputStream #endif #ifndef GRPC_CUSTOM_JSONUTIL -#include "absl/status/status.h" #include #include + +#include "absl/status/status.h" #define GRPC_CUSTOM_JSONUTIL ::google::protobuf::util #define GRPC_CUSTOM_UTIL_STATUS ::absl::Status #endif diff --git a/include/grpcpp/impl/generic_serialize.h b/include/grpcpp/impl/generic_serialize.h index 303bca39ebf..191b6465041 100644 --- a/include/grpcpp/impl/generic_serialize.h +++ b/include/grpcpp/impl/generic_serialize.h @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef GRPCPP_IMPL_PROTO_UTILS_H -#define GRPCPP_IMPL_PROTO_UTILS_H +#ifndef GRPCPP_IMPL_GENERIC_SERIALIZE_H +#define GRPCPP_IMPL_GENERIC_SERIALIZE_H #include #include @@ -90,4 +90,4 @@ Status GenericDeserialize(ByteBuffer* buffer, } // namespace grpc -#endif // GRPCPP_IMPL_PROTO_UTILS_H +#endif // GRPCPP_IMPL_GENERIC_SERIALIZE_H diff --git a/setup.cfg b/setup.cfg index be9e83e43b0..8d2cd56c158 100644 --- a/setup.cfg +++ b/setup.cfg @@ -15,7 +15,7 @@ exclude=.*protoc_plugin/protoc_plugin_test\.proto$ [metadata] license_files = LICENSE -# NOTE(lidiz) Adding examples one by one due to pytype aggressive errer: +# NOTE(lidiz) Adding examples one by one due to pytype aggressive error: # ninja: error: build.ninja:178: multiple rules generate helloworld_pb2.pyi [-w dupbuild=err] # TODO(xuanwn): include all files in src/python/grpcio/grpc [pytype] diff --git a/setup.py b/setup.py index 5d50a608bf9..3b6edbe0022 100644 --- a/setup.py +++ b/setup.py @@ -125,7 +125,7 @@ BUILD_WITH_BORING_SSL_ASM = _env_bool_value( # Export this environment variable to override the platform variant that will # be chosen for boringssl assembly optimizations. This option is useful when # crosscompiling and the host platform as obtained by sysconfig.get_platform() -# doesn't match the platform we are targetting. +# doesn't match the platform we are targeting. # Example value: "linux-aarch64" BUILD_OVERRIDE_BORING_SSL_ASM_PLATFORM = os.environ.get( "GRPC_BUILD_OVERRIDE_BORING_SSL_ASM_PLATFORM", "" diff --git a/src/core/BUILD b/src/core/BUILD index 7e5391432ca..7937f1ccdb2 100644 --- a/src/core/BUILD +++ b/src/core/BUILD @@ -15,7 +15,9 @@ load( "//bazel:grpc_build_system.bzl", "grpc_cc_library", + "grpc_cc_proto_library", "grpc_generate_one_off_internal_targets", + "grpc_internal_proto_library", "grpc_upb_proto_library", "grpc_upb_proto_reflection_library", ) @@ -696,6 +698,17 @@ grpc_cc_library( ], ) +grpc_cc_library( + name = "promise_variant", + external_deps = [ + "absl/types:variant", + ], + language = "c++", + public_hdrs = ["lib/promise/detail/promise_variant.h"], + deps = [ + ], +) + grpc_cc_library( name = "match_promise", external_deps = [ @@ -709,6 +722,7 @@ grpc_cc_library( "poll", "promise_factory", "promise_like", + "promise_variant", "//:gpr_platform", ], ) @@ -830,6 +844,8 @@ grpc_cc_library( deps = [ "if", "promise_factory", + "promise_variant", + "//:gpr", "//:gpr_platform", ], ) @@ -7797,6 +7813,17 @@ grpc_cc_library( ], ) +grpc_internal_proto_library( + name = "chaotic_good_frame_proto", + srcs = ["ext/transport/chaotic_good/chaotic_good_frame.proto"], + has_services = False, +) + +grpc_cc_proto_library( + name = "chaotic_good_frame_cc_proto", + deps = ["chaotic_good_frame_proto"], +) + grpc_cc_library( name = "chaotic_good_frame", srcs = [ @@ -7815,38 +7842,19 @@ grpc_cc_library( deps = [ "arena", "bitset", + "chaotic_good_frame_cc_proto", "chaotic_good_frame_header", "context", "match", + "message", + "metadata", "metadata_batch", "no_destruct", "slice", "slice_buffer", "status_helper", - "//:gpr", "//:gpr_platform", "//:grpc_base", - "//:hpack_encoder", - "//:hpack_parser", - ], -) - -grpc_cc_library( - name = "chaotic_good_settings_metadata", - srcs = [ - "ext/transport/chaotic_good/settings_metadata.cc", - ], - hdrs = [ - "ext/transport/chaotic_good/settings_metadata.h", - ], - external_deps = [ - "absl/status", - "absl/types:optional", - ], - deps = [ - "arena", - "metadata_batch", - "//:gpr", ], ) @@ -8087,6 +8095,7 @@ grpc_cc_library( external_deps = [ "absl/log:log", "absl/random", + "absl/strings", ], language = "c++", deps = [ @@ -8099,7 +8108,6 @@ grpc_cc_library( "try_seq", "//:gpr_platform", "//:grpc_trace", - "//:hpack_encoder", "//:promise", ], ) @@ -8150,14 +8158,13 @@ grpc_cc_library( "resource_quota", "slice", "slice_buffer", + "switch", "try_join", "try_seq", "//:exec_ctx", "//:gpr", "//:gpr_platform", "//:grpc_base", - "//:hpack_encoder", - "//:hpack_parser", "//:ref_counted_ptr", ], ) @@ -8217,8 +8224,6 @@ grpc_cc_library( "//:gpr", "//:gpr_platform", "//:grpc_base", - "//:hpack_encoder", - "//:hpack_parser", "//:ref_counted_ptr", ], ) @@ -8714,7 +8719,6 @@ grpc_cc_library( "chaotic_good_frame_header", "chaotic_good_legacy_server", "chaotic_good_server_transport", - "chaotic_good_settings_metadata", "closure", "context", "error", @@ -8747,8 +8751,6 @@ grpc_cc_library( "//:gpr_platform", "//:grpc_base", "//:handshaker", - "//:hpack_encoder", - "//:hpack_parser", "//:iomgr", "//:orphanable", "//:ref_counted_ptr", @@ -8847,9 +8849,9 @@ grpc_cc_library( "channel_args_endpoint_config", "chaotic_good_client_transport", "chaotic_good_frame", + "chaotic_good_frame_cc_proto", "chaotic_good_frame_header", "chaotic_good_legacy_connector", - "chaotic_good_settings_metadata", "closure", "context", "error", @@ -8884,8 +8886,6 @@ grpc_cc_library( "//:grpc_base", "//:grpc_client_channel", "//:handshaker", - "//:hpack_encoder", - "//:hpack_parser", "//:iomgr", "//:ref_counted_ptr", ], diff --git a/src/core/ext/transport/chaotic_good/chaotic_good_frame.proto b/src/core/ext/transport/chaotic_good/chaotic_good_frame.proto new file mode 100644 index 00000000000..cebb0dbfffd --- /dev/null +++ b/src/core/ext/transport/chaotic_good/chaotic_good_frame.proto @@ -0,0 +1,51 @@ +// Copyright 2024 The gRPC authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package chaotic_good_frame; + +message Settings { + // Connection id + // - sent server->client on the control channel to specify the + // data channel connection id + // - sent client->server on the data channel to complete the + // connection + bytes connection_id = 1; + // Flag true if this is a data channel (and not a control channel) + bool data_channel = 2; + // Requested alignment for the data channel + // Client and server each send this with their preferences + uint32 alignment = 3; +} + +message UnknownMetadata { + string key = 1; + bytes value = 2; +} + +message ClientMetadata { + optional string path = 1; + optional string authority = 2; + optional uint64 timeout_ms = 3; + + repeated UnknownMetadata unknown_metadata = 100; +} + +message ServerMetadata { + optional uint32 status = 1; + optional bytes message = 2; + + repeated UnknownMetadata unknown_metadata = 100; +} diff --git a/src/core/ext/transport/chaotic_good/chaotic_good_transport.h b/src/core/ext/transport/chaotic_good/chaotic_good_transport.h index 336395dc72d..be2d70ac4f8 100644 --- a/src/core/ext/transport/chaotic_good/chaotic_good_transport.h +++ b/src/core/ext/transport/chaotic_good/chaotic_good_transport.h @@ -22,9 +22,9 @@ #include "absl/log/log.h" #include "absl/random/random.h" +#include "absl/strings/escaping.h" #include "src/core/ext/transport/chaotic_good/frame.h" #include "src/core/ext/transport/chaotic_good/frame_header.h" -#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h" #include "src/core/lib/debug/trace.h" #include "src/core/lib/event_engine/tcp_socket_utils.h" #include "src/core/lib/promise/if.h" @@ -38,13 +38,17 @@ namespace chaotic_good { class ChaoticGoodTransport : public RefCounted { public: + struct Options { + uint32_t encode_alignment = 64; + uint32_t decode_alignment = 64; + uint32_t inlined_payload_size_threshold = 8 * 1024; + }; + ChaoticGoodTransport(PromiseEndpoint control_endpoint, - PromiseEndpoint data_endpoint, HPackParser hpack_parser, - HPackCompressor hpack_encoder) + PromiseEndpoint data_endpoint, Options options) : control_endpoint_(std::move(control_endpoint)), data_endpoint_(std::move(data_endpoint)), - encoder_(std::move(hpack_encoder)), - parser_(std::move(hpack_parser)) { + options_(options) { // Enable RxMemoryAlignment and RPC receive coalescing after the transport // setup is complete. At this point all the settings frames should have // been read. @@ -52,17 +56,31 @@ class ChaoticGoodTransport : public RefCounted { } auto WriteFrame(const FrameInterface& frame) { - bool saw_encoding_errors = false; - auto buffers = frame.Serialize(&encoder_, saw_encoding_errors); + SliceBuffer control; + SliceBuffer data; + FrameHeader header = frame.MakeHeader(); + if (header.payload_length > options_.inlined_payload_size_threshold) { + header.payload_connection_id = 1; + header.Serialize(control.AddTiny(FrameHeader::kFrameHeaderSize)); + frame.SerializePayload(data); + const size_t padding = header.Padding(options_.encode_alignment); + if (padding != 0) { + auto slice = MutableSlice::CreateUninitialized(padding); + memset(slice.data(), 0, padding); + data.AppendIndexed(Slice(std::move(slice))); + } + } else { + header.Serialize(control.AddTiny(FrameHeader::kFrameHeaderSize)); + frame.SerializePayload(control); + } // ignore encoding errors: they will be logged separately already GRPC_TRACE_LOG(chaotic_good, INFO) << "CHAOTIC_GOOD: WriteFrame to:" << ResolvedAddressToString(control_endpoint_.GetPeerAddress()) .value_or("<>") << " " << frame.ToString(); - return TryJoin( - control_endpoint_.Write(std::move(buffers.control)), - data_endpoint_.Write(std::move(buffers.data))); + return TryJoin(control_endpoint_.Write(std::move(control)), + data_endpoint_.Write(std::move(data))); } // Read frame header and payloads for control and data portions of one frame. @@ -81,59 +99,46 @@ class ChaoticGoodTransport : public RefCounted { << " " << (frame_header.ok() ? frame_header->ToString() : frame_header.status().ToString()); - // Read header and trailers from control endpoint. - // Read message padding and message from data endpoint. - return If( - frame_header.ok(), - [this, &frame_header] { - const uint32_t message_padding = frame_header->message_padding; - const uint32_t message_length = frame_header->message_length; - return Map( - TryJoin( - control_endpoint_.Read(frame_header->GetFrameLength()), - data_endpoint_.Read(message_length + message_padding)), - [frame_header = *frame_header, message_padding]( - absl::StatusOr> - buffers) - -> absl::StatusOr> { - if (!buffers.ok()) return buffers.status(); - SliceBuffer data_read = std::move(std::get<1>(*buffers)); - if (message_padding > 0) { - data_read.RemoveLastNBytesNoInline(message_padding); - } - return std::tuple( - frame_header, - BufferPair{std::move(std::get<0>(*buffers)), - std::move(data_read)}); - }); - }, - [&frame_header]() { - return - [status = frame_header.status()]() mutable - -> absl::StatusOr> { - return std::move(status); - }; - }); + return frame_header; + }, + [this](FrameHeader frame_header) { + current_frame_header_ = frame_header; + auto con = frame_header.payload_connection_id == 0 + ? &control_endpoint_ + : &data_endpoint_; + return con->Read(frame_header.payload_length + + frame_header.Padding(options_.decode_alignment)); + }, + [this](SliceBuffer payload) + -> absl::StatusOr> { + payload.RemoveLastNBytesNoInline( + current_frame_header_.Padding(options_.decode_alignment)); + return std::tuple(current_frame_header_, + std::move(payload)); }); } - absl::Status DeserializeFrame(FrameHeader header, BufferPair buffers, - Arena* arena, FrameInterface& frame, - FrameLimits limits) { - auto s = frame.Deserialize(&parser_, header, bitgen_, arena, - std::move(buffers), limits); + template + absl::StatusOr DeserializeFrame(const FrameHeader& header, + SliceBuffer payload) { + T frame; + GRPC_TRACE_LOG(chaotic_good, INFO) + << "CHAOTIC_GOOD: Deserialize " << header << " with payload " + << absl::CEscape(payload.JoinIntoString()); + CHECK_EQ(header.payload_length, payload.Length()); + auto s = frame.Deserialize(header, std::move(payload)); GRPC_TRACE_LOG(chaotic_good, INFO) << "CHAOTIC_GOOD: DeserializeFrame " << (s.ok() ? frame.ToString() : s.ToString()); - return s; + if (s.ok()) return std::move(frame); + return std::move(s); } private: PromiseEndpoint control_endpoint_; PromiseEndpoint data_endpoint_; - HPackCompressor encoder_; - HPackParser parser_; - absl::BitGen bitgen_; + FrameHeader current_frame_header_; + Options options_; }; } // namespace chaotic_good diff --git a/src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc b/src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc index f8b20f071d9..e4f5fed19c0 100644 --- a/src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc +++ b/src/core/ext/transport/chaotic_good/client/chaotic_good_connector.cc @@ -28,10 +28,10 @@ #include "absl/status/statusor.h" #include "src/core/client_channel/client_channel_factory.h" #include "src/core/client_channel/client_channel_filter.h" +#include "src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h" #include "src/core/ext/transport/chaotic_good/client_transport.h" #include "src/core/ext/transport/chaotic_good/frame.h" #include "src/core/ext/transport/chaotic_good/frame_header.h" -#include "src/core/ext/transport/chaotic_good/settings_metadata.h" #include "src/core/ext/transport/chaotic_good_legacy/client/chaotic_good_connector.h" #include "src/core/handshaker/handshaker.h" #include "src/core/lib/channel/channel_args.h" @@ -91,38 +91,38 @@ ChaoticGoodConnector::~ChaoticGoodConnector() { auto ChaoticGoodConnector::DataEndpointReadSettingsFrame( RefCountedPtr self) { - return TrySeq( - self->data_endpoint_.ReadSlice(FrameHeader::kFrameHeaderSize), - [self](Slice slice) mutable { - // Read setting frame; - // Parse frame header - auto frame_header_ = - FrameHeader::Parse(reinterpret_cast( - GRPC_SLICE_START_PTR(slice.c_slice()))); - return If( - frame_header_.ok(), - [frame_header_ = *frame_header_, self]() { - auto frame_header_length = frame_header_.GetFrameLength(); - return TrySeq(self->data_endpoint_.Read(frame_header_length), + return TrySeq(self->data_endpoint_.ReadSlice(FrameHeader::kFrameHeaderSize), + [self](Slice slice) mutable { + // Read setting frame; + // Parse frame header + auto frame_header_ = + FrameHeader::Parse(reinterpret_cast( + GRPC_SLICE_START_PTR(slice.c_slice()))); + return If( + frame_header_.ok(), + [frame_header_ = *frame_header_, self]() { + auto frame_header_length = frame_header_.payload_length; + return TrySeq( + self->data_endpoint_.Read(frame_header_length), []() { return absl::OkStatus(); }); - }, - [status = frame_header_.status()]() { return status; }); - }); + }, + [status = frame_header_.status()]() { return status; }); + }); } auto ChaoticGoodConnector::DataEndpointWriteSettingsFrame( RefCountedPtr self) { // Serialize setting frame. SettingsFrame frame; - // frame.header set connectiion_type: control - frame.headers = SettingsMetadata{SettingsMetadata::ConnectionType::kData, - self->connection_id_, kDataAlignmentBytes} - .ToMetadataBatch(); - bool saw_encoding_errors = false; - auto write_buffer = - frame.Serialize(&self->hpack_compressor_, saw_encoding_errors); + frame.settings.set_data_channel(true); + frame.settings.set_connection_id(self->connection_id_); + frame.settings.set_alignment(kDataAlignmentBytes); + SliceBuffer write_buffer; + frame.MakeHeader().Serialize( + write_buffer.AddTiny(FrameHeader::kFrameHeaderSize)); + frame.SerializePayload(write_buffer); // ignore encoding errors: they will be logged separately already - return self->data_endpoint_.Write(std::move(write_buffer.control)); + return self->data_endpoint_.Write(std::move(write_buffer)); } auto ChaoticGoodConnector::WaitForDataEndpointSetup( @@ -187,29 +187,18 @@ auto ChaoticGoodConnector::ControlEndpointReadSettingsFrame( return If( frame_header.ok(), TrySeq( - self->control_endpoint_.Read(frame_header->GetFrameLength()), + self->control_endpoint_.Read(frame_header->payload_length), [frame_header = *frame_header, self](SliceBuffer buffer) { // Deserialize setting frame. SettingsFrame frame; - BufferPair buffer_pair{std::move(buffer), SliceBuffer()}; - auto status = frame.Deserialize( - &self->hpack_parser_, frame_header, - absl::BitGenRef(self->bitgen_), GetContext(), - std::move(buffer_pair), FrameLimits{}); + auto status = + frame.Deserialize(frame_header, std::move(buffer)); if (!status.ok()) return status; - if (frame.headers == nullptr) { - return absl::UnavailableError("no settings headers"); - } - auto settings_metadata = - SettingsMetadata::FromMetadataBatch(*frame.headers); - if (!settings_metadata.ok()) { - return settings_metadata.status(); - } - if (!settings_metadata->connection_id.has_value()) { + if (frame.settings.connection_id().empty()) { return absl::UnavailableError( "no connection id in settings frame"); } - self->connection_id_ = *settings_metadata->connection_id; + self->connection_id_ = frame.settings.connection_id(); return absl::OkStatus(); }, WaitForDataEndpointSetup(self)), @@ -222,14 +211,13 @@ auto ChaoticGoodConnector::ControlEndpointWriteSettingsFrame( // Serialize setting frame. SettingsFrame frame; // frame.header set connectiion_type: control - frame.headers = SettingsMetadata{SettingsMetadata::ConnectionType::kControl, - absl::nullopt, absl::nullopt} - .ToMetadataBatch(); - bool saw_encoding_errors = false; - auto write_buffer = - frame.Serialize(&self->hpack_compressor_, saw_encoding_errors); + frame.settings.set_data_channel(false); + SliceBuffer write_buffer; + frame.MakeHeader().Serialize( + write_buffer.AddTiny(FrameHeader::kFrameHeaderSize)); + frame.SerializePayload(write_buffer); // ignore encoding errors: they will be logged separately already - return self->control_endpoint_.Write(std::move(write_buffer.control)); + return self->control_endpoint_.Write(std::move(write_buffer)); } void ChaoticGoodConnector::Connect(const Args& args, Result* result, @@ -331,8 +319,7 @@ void ChaoticGoodConnector::OnHandshakeDone( self->result_->transport = new ChaoticGoodClientTransport( std::move(self->control_endpoint_), std::move(self->data_endpoint_), self->args_.channel_args, - self->event_engine_, std::move(self->hpack_parser_), - std::move(self->hpack_compressor_)); + self->event_engine_); self->result_->channel_args = self->args_.channel_args; ExecCtx::Run(DEBUG_LOCATION, std::exchange(self->notify_, nullptr), status); diff --git a/src/core/ext/transport/chaotic_good/client/chaotic_good_connector.h b/src/core/ext/transport/chaotic_good/client/chaotic_good_connector.h index 963c8da55be..1724bb5b2f0 100644 --- a/src/core/ext/transport/chaotic_good/client/chaotic_good_connector.h +++ b/src/core/ext/transport/chaotic_good/client/chaotic_good_connector.h @@ -25,8 +25,6 @@ #include "absl/random/random.h" #include "absl/status/statusor.h" #include "src/core/client_channel/connector.h" -#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h" -#include "src/core/ext/transport/chttp2/transport/hpack_parser.h" #include "src/core/handshaker/handshaker.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/event_engine/channel_args_endpoint_config.h" @@ -93,9 +91,6 @@ class ChaoticGoodConnector : public SubchannelConnector { const std::shared_ptr event_engine_; RefCountedPtr handshake_mgr_; - HPackCompressor hpack_compressor_; - HPackParser hpack_parser_; - absl::BitGen bitgen_; InterActivityLatch data_endpoint_ready_; std::string connection_id_; }; diff --git a/src/core/ext/transport/chaotic_good/client_transport.cc b/src/core/ext/transport/chaotic_good/client_transport.cc index 0fcb0b06e47..32a746f8e82 100644 --- a/src/core/ext/transport/chaotic_good/client_transport.cc +++ b/src/core/ext/transport/chaotic_good/client_transport.cc @@ -34,13 +34,13 @@ #include "src/core/ext/transport/chaotic_good/chaotic_good_transport.h" #include "src/core/ext/transport/chaotic_good/frame.h" #include "src/core/ext/transport/chaotic_good/frame_header.h" -#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h" #include "src/core/lib/event_engine/event_engine_context.h" #include "src/core/lib/event_engine/extensions/tcp_trace.h" #include "src/core/lib/event_engine/query_extensions.h" #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/promise/loop.h" #include "src/core/lib/promise/map.h" +#include "src/core/lib/promise/switch.h" #include "src/core/lib/promise/try_seq.h" #include "src/core/lib/resource_quota/arena.h" #include "src/core/lib/resource_quota/resource_quota.h" @@ -91,36 +91,59 @@ absl::optional ChaoticGoodClientTransport::LookupStream( return it->second; } -auto ChaoticGoodClientTransport::PushFrameIntoCall(ServerFragmentFrame frame, +auto ChaoticGoodClientTransport::PushFrameIntoCall( + ServerInitialMetadataFrame frame, CallHandler call_handler) { + auto headers = ServerMetadataGrpcFromProto(frame.headers); + if (!headers.ok()) { + LOG_EVERY_N_SEC(INFO, 10) << "Encode headers failed: " << headers.status(); + return Immediate(StatusFlag(Failure{})); + } + return Immediate(call_handler.PushServerInitialMetadata(std::move(*headers))); +} + +auto ChaoticGoodClientTransport::PushFrameIntoCall(MessageFrame frame, CallHandler call_handler) { - const bool has_headers = frame.headers != nullptr; - auto push = TrySeq( - If( - has_headers, - [call_handler, headers = std::move(frame.headers)]() mutable { - return call_handler.PushServerInitialMetadata(std::move(headers)); - }, - []() -> StatusFlag { return Success{}; }), - [call_handler, message = std::move(frame.message)]() mutable { - return If( - message.has_value(), - [&call_handler, &message]() mutable { - return call_handler.PushMessage(std::move(message->message)); - }, - []() -> StatusFlag { return Success{}; }); - }, - [call_handler, - trailers = std::move(frame.trailers)]() mutable -> StatusFlag { - if (trailers != nullptr) { - call_handler.PushServerTrailingMetadata(std::move(trailers)); - } - return Success{}; - }); - // Wrap the actual sequence with something that owns the call handler so that - // its lifetime extends until the push completes. + return call_handler.PushMessage(std::move(frame.message)); +} + +auto ChaoticGoodClientTransport::PushFrameIntoCall( + ServerTrailingMetadataFrame frame, CallHandler call_handler) { + auto trailers = ServerMetadataGrpcFromProto(frame.trailers); + if (!trailers.ok()) { + call_handler.PushServerTrailingMetadata( + CancelledServerMetadataFromStatus(trailers.status())); + } else { + call_handler.PushServerTrailingMetadata(std::move(*trailers)); + } + return Immediate(Success{}); +} + +template +auto ChaoticGoodClientTransport::DispatchFrame(ChaoticGoodTransport* transport, + const FrameHeader& header, + SliceBuffer payload) { return GRPC_LATENT_SEE_PROMISE( - "PushFrameIntoCall", - ([call_handler, push = std::move(push)]() mutable { return push(); })); + "ChaoticGoodClientTransport::DispatchFrame", + TrySeq( + [transport, header, payload = std::move(payload)]() mutable { + return transport->DeserializeFrame(header, std::move(payload)); + }, + [this](T frame) { + absl::optional call_handler = + LookupStream(frame.stream_id); + return If( + call_handler.has_value(), + [this, &call_handler, &frame]() { + return call_handler->SpawnWaitable( + "push-frame", [this, call_handler = *call_handler, + frame = std::move(frame)]() mutable { + return Map(call_handler.CancelIfFails(PushFrameIntoCall( + std::move(frame), call_handler)), + [](StatusFlag) { return absl::OkStatus(); }); + }); + }, + []() { return absl::OkStatus(); }); + })); } auto ChaoticGoodClientTransport::TransportReadLoop( @@ -128,54 +151,29 @@ auto ChaoticGoodClientTransport::TransportReadLoop( return Loop([this, transport = std::move(transport)] { return TrySeq( transport->ReadFrameBytes(), - [](std::tuple frame_bytes) - -> absl::StatusOr> { - const auto& frame_header = std::get<0>(frame_bytes); - if (frame_header.type != FrameType::kFragment) { - return absl::InternalError( - absl::StrCat("Expected fragment frame, got ", - static_cast(frame_header.type))); - } - return frame_bytes; - }, [this, transport = transport.get()]( - std::tuple frame_bytes) { - const auto& frame_header = std::get<0>(frame_bytes); - auto& buffers = std::get<1>(frame_bytes); - absl::optional call_handler = - LookupStream(frame_header.stream_id); - ServerFragmentFrame frame; - absl::Status deserialize_status; - const FrameLimits frame_limits{1024 * 1024 * 1024, - aligned_bytes_ - 1}; - if (call_handler.has_value()) { - deserialize_status = transport->DeserializeFrame( - frame_header, std::move(buffers), call_handler->arena(), frame, - frame_limits); - } else { - // Stream not found, skip the frame. - deserialize_status = transport->DeserializeFrame( - frame_header, std::move(buffers), - SimpleArenaAllocator()->MakeArena().get(), frame, frame_limits); - } - return If( - deserialize_status.ok() && call_handler.has_value(), - [this, &frame, &call_handler]() { - return call_handler->SpawnWaitable( - "push-frame", [this, call_handler = *call_handler, - frame = std::move(frame)]() mutable { - return Map(call_handler.CancelIfFails(PushFrameIntoCall( - std::move(frame), call_handler)), - [](StatusFlag) { return absl::OkStatus(); }); - }); - }, - [&deserialize_status]() { - // Stream not found, nothing to do. - return [deserialize_status = - std::move(deserialize_status)]() mutable { - return std::move(deserialize_status); - }; - }); + std::tuple frame_bytes) { + const auto& header = std::get<0>(frame_bytes); + SliceBuffer& payload = std::get<1>(frame_bytes); + return Switch( + header.type, + Case([&, this]() { + return DispatchFrame( + transport, header, std::move(payload)); + }), + Case([&, this]() { + return DispatchFrame( + transport, header, std::move(payload)); + }), + Case([&, this]() { + return DispatchFrame(transport, header, + std::move(payload)); + }), + Default([&]() { + LOG_EVERY_N_SEC(INFO, 10) + << "Bad frame type: " << header.ToString(); + return absl::OkStatus(); + })); }, []() -> LoopCtl { return Continue{}; }); }); @@ -195,8 +193,7 @@ auto ChaoticGoodClientTransport::OnTransportActivityDone( ChaoticGoodClientTransport::ChaoticGoodClientTransport( PromiseEndpoint control_endpoint, PromiseEndpoint data_endpoint, const ChannelArgs& args, - std::shared_ptr event_engine, - HPackParser hpack_parser, HPackCompressor hpack_encoder) + std::shared_ptr event_engine) : allocator_(args.GetObject() ->memory_quota() ->CreateMemoryAllocator("chaotic-good")), @@ -210,9 +207,12 @@ ChaoticGoodClientTransport::ChaoticGoodClientTransport( epte->InitializeAndReturnTcpTracer(); } } + ChaoticGoodTransport::Options options; + options.inlined_payload_size_threshold = + args.GetInt("grpc.chaotic_good.inlined_payload_size_threshold") + .value_or(options.inlined_payload_size_threshold); auto transport = MakeRefCounted( - std::move(control_endpoint), std::move(data_endpoint), - std::move(hpack_parser), std::move(hpack_encoder)); + std::move(control_endpoint), std::move(data_endpoint), options); auto party_arena = SimpleArenaAllocator(0)->MakeArena(); party_arena->SetContext( event_engine.get()); @@ -276,19 +276,19 @@ absl::Status BooleanSuccessToTransportError(bool success) { auto ChaoticGoodClientTransport::CallOutboundLoop(uint32_t stream_id, CallHandler call_handler) { auto send_fragment = [stream_id, - outgoing_frames = outgoing_frames_.MakeSender()]( - ClientFragmentFrame frame) mutable { + outgoing_frames = + outgoing_frames_.MakeSender()](auto frame) mutable { frame.stream_id = stream_id; return Map(outgoing_frames.Send(std::move(frame)), BooleanSuccessToTransportError); }; - auto send_fragment_acked = [stream_id, - outgoing_frames = outgoing_frames_.MakeSender()]( - ClientFragmentFrame frame) mutable { - frame.stream_id = stream_id; - return Map(outgoing_frames.SendAcked(std::move(frame)), - BooleanSuccessToTransportError); - }; + auto send_fragment_acked = + [stream_id, + outgoing_frames = outgoing_frames_.MakeSender()](auto frame) mutable { + frame.stream_id = stream_id; + return Map(outgoing_frames.SendAcked(std::move(frame)), + BooleanSuccessToTransportError); + }; return GRPC_LATENT_SEE_PROMISE( "CallOutboundLoop", TrySeq( @@ -298,31 +298,19 @@ auto ChaoticGoodClientTransport::CallOutboundLoop(uint32_t stream_id, GRPC_TRACE_LOG(chaotic_good, INFO) << "CHAOTIC_GOOD: Sending initial metadata: " << md->DebugString(); - ClientFragmentFrame frame; - frame.headers = std::move(md); + ClientInitialMetadataFrame frame; + frame.headers = ClientMetadataProtoFromGrpc(*md); return send_fragment(std::move(frame)); }, // Continuously send client frame with client to server messages. ForEach(OutgoingMessages(call_handler), - [send_fragment_acked, aligned_bytes = aligned_bytes_]( - MessageHandle message) mutable { - ClientFragmentFrame frame; - // Construct frame header (flags, header_length and - // trailer_length will be added in serialization). - const uint32_t message_length = - message->payload()->Length(); - const uint32_t padding = - message_length % aligned_bytes == 0 - ? 0 - : aligned_bytes - message_length % aligned_bytes; - CHECK_EQ((message_length + padding) % aligned_bytes, 0u); - frame.message = FragmentMessage(std::move(message), padding, - message_length); + [send_fragment_acked](MessageHandle message) mutable { + MessageFrame frame; + frame.message = std::move(message); return send_fragment_acked(std::move(frame)); }), [send_fragment]() mutable { - ClientFragmentFrame frame; - frame.end_of_stream = true; + ClientEndOfStream frame; return send_fragment(std::move(frame)); })); } diff --git a/src/core/ext/transport/chaotic_good/client_transport.h b/src/core/ext/transport/chaotic_good/client_transport.h index 997f03d6120..2eae3ed1780 100644 --- a/src/core/ext/transport/chaotic_good/client_transport.h +++ b/src/core/ext/transport/chaotic_good/client_transport.h @@ -39,8 +39,6 @@ #include "src/core/ext/transport/chaotic_good/chaotic_good_transport.h" #include "src/core/ext/transport/chaotic_good/frame.h" #include "src/core/ext/transport/chaotic_good/frame_header.h" -#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h" -#include "src/core/ext/transport/chttp2/transport/hpack_parser.h" #include "src/core/lib/promise/activity.h" #include "src/core/lib/promise/context.h" #include "src/core/lib/promise/for_each.h" @@ -69,8 +67,7 @@ class ChaoticGoodClientTransport final : public ClientTransport { PromiseEndpoint control_endpoint, PromiseEndpoint data_endpoint, const ChannelArgs& channel_args, std::shared_ptr - event_engine, - HPackParser hpack_parser, HPackCompressor hpack_encoder); + event_engine); ~ChaoticGoodClientTransport() override; FilterStackTransport* filter_stack_transport() override { return nullptr; } @@ -93,16 +90,21 @@ class ChaoticGoodClientTransport final : public ClientTransport { auto CallOutboundLoop(uint32_t stream_id, CallHandler call_handler); auto OnTransportActivityDone(absl::string_view what); auto TransportWriteLoop(RefCountedPtr transport); + template + auto DispatchFrame(ChaoticGoodTransport* transport, const FrameHeader& header, + SliceBuffer payload); auto TransportReadLoop(RefCountedPtr transport); // Push one frame into a call - auto PushFrameIntoCall(ServerFragmentFrame frame, CallHandler call_handler); + auto PushFrameIntoCall(ServerInitialMetadataFrame frame, + CallHandler call_handler); + auto PushFrameIntoCall(MessageFrame frame, CallHandler call_handler); + auto PushFrameIntoCall(ServerTrailingMetadataFrame frame, + CallHandler call_handler); grpc_event_engine::experimental::MemoryAllocator allocator_; // Max buffer is set to 4, so that for stream writes each time it will queue // at most 2 frames. MpscReceiver outgoing_frames_; - // Assigned aligned bytes from setting frame. - size_t aligned_bytes_ = 64; Mutex mu_; uint32_t next_stream_id_ ABSL_GUARDED_BY(mu_) = 1; // Map of stream incoming server frames, key is stream_id. diff --git a/src/core/ext/transport/chaotic_good/frame.cc b/src/core/ext/transport/chaotic_good/frame.cc index 5fbb51d070b..4b05a8bcf14 100644 --- a/src/core/ext/transport/chaotic_good/frame.cc +++ b/src/core/ext/transport/chaotic_good/frame.cc @@ -20,11 +20,13 @@ #include #include +#include #include #include "absl/log/check.h" #include "absl/status/status.h" #include "absl/status/statusor.h" +#include "src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h" #include "src/core/ext/transport/chaotic_good/frame_header.h" #include "src/core/lib/promise/context.h" #include "src/core/lib/resource_quota/arena.h" @@ -38,262 +40,255 @@ namespace grpc_core { namespace chaotic_good { namespace { -const uint8_t kZeros[64] = {}; + +absl::Status ReadProto(SliceBuffer payload, + google::protobuf::MessageLite& msg) { + auto payload_slice = payload.JoinIntoSlice(); + const bool ok = + msg.ParseFromArray(payload_slice.data(), payload_slice.length()); + return ok ? absl::OkStatus() : absl::InternalError("Protobuf parse error"); } -namespace { -const NoDestruct kZeroSlice{[] { - // Frame header size is fixed to 24 bytes. - auto slice = GRPC_SLICE_MALLOC(FrameHeader::kFrameHeaderSize); - memset(GRPC_SLICE_START_PTR(slice), 0, FrameHeader::kFrameHeaderSize); - return slice; -}()}; - -class FrameSerializer { - public: - explicit FrameSerializer(FrameType frame_type, uint32_t stream_id) { - output_.control.AppendIndexed(kZeroSlice->Copy()); - header_.type = frame_type; - header_.stream_id = stream_id; - header_.flags.SetAll(false); +void WriteProto(const google::protobuf::MessageLite& msg, SliceBuffer& output) { + auto length = msg.ByteSizeLong(); + auto slice = MutableSlice::CreateUninitialized(length); + CHECK(msg.SerializeToArray(slice.data(), length)); + output.AppendIndexed(Slice(std::move(slice))); +} + +uint32_t ProtoPayloadSize(const google::protobuf::MessageLite& msg) { + auto length = msg.ByteSizeLong(); + CHECK_LE(length, std::numeric_limits::max()); + return static_cast(length); +} + +struct ClientMetadataEncoder { + void Encode(HttpPathMetadata, + const typename HttpPathMetadata::ValueType& value) { + out.set_path(value.as_string_view()); } - // If called, must be called before AddTrailers, Finish. - SliceBuffer& AddHeaders() { - header_.flags.set(0); - return output_.control; + void Encode(HttpAuthorityMetadata, + const typename HttpAuthorityMetadata::ValueType& value) { + out.set_authority(value.as_string_view()); } - void AddMessage(const FragmentMessage& msg) { - header_.flags.set(1); - header_.message_length = msg.length; - header_.message_padding = msg.padding; - output_.data = msg.message->payload()->Copy(); - if (msg.padding != 0) { - output_.data.Append(Slice::FromStaticBuffer(kZeros, msg.padding)); + void Encode(GrpcTimeoutMetadata, + const typename GrpcTimeoutMetadata::ValueType& value) { + auto now = Timestamp::Now(); + if (now > value) { + out.set_timeout_ms(0); + } else { + out.set_timeout_ms((value - now).millis()); } } - // If called, must be called before Finish. - SliceBuffer& AddTrailers() { - header_.flags.set(2); - header_.header_length = - output_.control.Length() - FrameHeader::kFrameHeaderSize; - return output_.control; + template + void Encode(Which, const typename Which::ValueType& value) { + EncodeWithWarning(Slice::FromExternalString(Which::key()), + Slice(Which::Encode(value))); } - BufferPair Finish() { - // Calculate frame header_length or trailer_length if available. - if (header_.flags.is_set(2)) { - // Header length is already known in AddTrailers(). - header_.trailer_length = output_.control.Length() - - header_.header_length - - FrameHeader::kFrameHeaderSize; - } else { - if (header_.flags.is_set(0)) { - // Calculate frame header length in Finish() since AddTrailers() isn't - // called. - header_.header_length = - output_.control.Length() - FrameHeader::kFrameHeaderSize; - } - } - header_.Serialize( - GRPC_SLICE_START_PTR(output_.control.c_slice_buffer()->slices[0])); - return std::move(output_); + void EncodeWithWarning(const Slice& key, const Slice& value) { + LOG_EVERY_N_SEC(INFO, 10) << "encoding known key " << key.as_string_view() + << " with unknown encoding"; + Encode(key, value); } - private: - FrameHeader header_; - BufferPair output_; + void Encode(const Slice& key, const Slice& value) { + auto* unk = out.add_unknown_metadata(); + unk->set_key(key.as_string_view()); + unk->set_value(value.as_string_view()); + } + + chaotic_good_frame::ClientMetadata out; }; -class FrameDeserializer { - public: - FrameDeserializer(const FrameHeader& header, BufferPair& input) - : header_(header), input_(input) {} - const FrameHeader& header() const { return header_; } - // If called, must be called before ReceiveTrailers, Finish. - absl::StatusOr ReceiveHeaders() { - return Take(header_.header_length); +struct ServerMetadataEncoder { + void Encode(GrpcStatusMetadata, grpc_status_code code) { + out.set_status(code); } - // If called, must be called before Finish. - absl::StatusOr ReceiveTrailers() { - return Take(header_.trailer_length); + + void Encode(GrpcMessageMetadata, const Slice& value) { + out.set_message(value.as_string_view()); } - // Return message length to get payload size in data plane. - uint32_t GetMessageLength() const { return header_.message_length; } - // Return message padding to get padding size in data plane. - uint32_t GetMessagePadding() const { return header_.message_padding; } + template + void Encode(Which, const typename Which::ValueType& value) { + EncodeWithWarning(Slice::FromExternalString(Which::key()), + Slice(Which::Encode(value))); + } - absl::Status Finish() { return absl::OkStatus(); } + void EncodeWithWarning(const Slice& key, const Slice& value) { + LOG_EVERY_N_SEC(INFO, 10) << "encoding known key " << key.as_string_view() + << " with unknown encoding"; + Encode(key, value); + } - private: - absl::StatusOr Take(uint32_t length) { - if (length == 0) return SliceBuffer{}; - if (input_.control.Length() < length) { - return absl::InvalidArgumentError( - "Frame too short (insufficient payload)"); - } - SliceBuffer out; - input_.control.MoveFirstNBytesIntoSliceBuffer(length, out); - return std::move(out); + void Encode(const Slice& key, const Slice& value) { + auto* unk = out.add_unknown_metadata(); + unk->set_key(key.as_string_view()); + unk->set_value(value.as_string_view()); } - FrameHeader header_; - BufferPair& input_; + + chaotic_good_frame::ServerMetadata out; }; -template -absl::StatusOr> ReadMetadata( - HPackParser* parser, absl::StatusOr maybe_slices, - uint32_t stream_id, bool is_header, bool is_client, absl::BitGenRef bitsrc, - Arena* arena) { - if (!maybe_slices.ok()) return maybe_slices.status(); - auto& slices = *maybe_slices; - CHECK_NE(arena, nullptr); - Arena::PoolPtr metadata = Arena::MakePooledForOverwrite(); - parser->BeginFrame( - metadata.get(), std::numeric_limits::max(), - std::numeric_limits::max(), - is_header ? HPackParser::Boundary::EndOfHeaders - : HPackParser::Boundary::EndOfStream, - HPackParser::Priority::None, - HPackParser::LogInfo{stream_id, - is_header ? HPackParser::LogInfo::Type::kHeaders - : HPackParser::LogInfo::Type::kTrailers, - is_client}); - for (size_t i = 0; i < slices.Count(); i++) { - GRPC_RETURN_IF_ERROR(parser->Parse(slices.c_slice_at(i), - i == slices.Count() - 1, bitsrc, - /*call_tracer=*/nullptr)); - } - parser->FinishFrame(); - return std::move(metadata); +template +absl::StatusOr ReadUnknownFields(const M& msg, T md) { + absl::Status error = absl::OkStatus(); + for (const auto& unk : msg.unknown_metadata()) { + md->Append(unk.key(), Slice::FromCopiedString(unk.value()), + [&error](absl::string_view error_msg, const Slice&) { + if (!error.ok()) return; + error = absl::InternalError(error_msg); + }); + } + if (!error.ok()) return error; + return std::move(md); } + } // namespace -absl::Status FrameLimits::ValidateMessage(const FrameHeader& header) { - if (header.message_length > max_message_size) { - return absl::InvalidArgumentError( - absl::StrCat("Message length ", header.message_length, - " exceeds maximum allowed ", max_message_size)); - } - if (header.message_padding > max_padding) { - return absl::InvalidArgumentError( - absl::StrCat("Message padding ", header.message_padding, - " exceeds maximum allowed ", max_padding)); - } - return absl::OkStatus(); +chaotic_good_frame::ClientMetadata ClientMetadataProtoFromGrpc( + const ClientMetadata& md) { + ClientMetadataEncoder e; + md.Encode(&e); + return std::move(e.out); } -absl::Status SettingsFrame::Deserialize(HPackParser* parser, - const FrameHeader& header, - absl::BitGenRef bitsrc, Arena* arena, - BufferPair buffers, FrameLimits) { - if (header.type != FrameType::kSettings) { - return absl::InvalidArgumentError("Expected settings frame"); +absl::StatusOr ClientMetadataGrpcFromProto( + chaotic_good_frame::ClientMetadata& metadata) { + auto md = Arena::MakePooled(); + md->Set(GrpcStatusFromWire(), true); + if (metadata.has_path()) { + md->Set(HttpPathMetadata(), Slice::FromCopiedString(metadata.path())); } - if (header.flags.is_set(1) || header.flags.is_set(2)) { - return absl::InvalidArgumentError("Unexpected flags"); + if (metadata.has_authority()) { + md->Set(HttpAuthorityMetadata(), + Slice::FromCopiedString(metadata.authority())); } - if (buffers.data.Length() != 0) { - return absl::InvalidArgumentError("Unexpected data"); + if (metadata.has_timeout_ms()) { + md->Set(GrpcTimeoutMetadata(), + Timestamp::Now() + Duration::Milliseconds(metadata.timeout_ms())); } - FrameDeserializer deserializer(header, buffers); - if (header.flags.is_set(0)) { - auto r = ReadMetadata(parser, deserializer.ReceiveHeaders(), - header.stream_id, true, true, bitsrc, - arena); - if (!r.ok()) return r.status(); - if (r.value() != nullptr) { - headers = std::move(r.value()); - } - } else if (header.header_length != 0) { - return absl::InvalidArgumentError(absl::StrCat( - "Unexpected non-zero header length", header.header_length)); + return ReadUnknownFields(metadata, std::move(md)); +} + +chaotic_good_frame::ServerMetadata ServerMetadataProtoFromGrpc( + const ServerMetadata& md) { + ServerMetadataEncoder e; + md.Encode(&e); + return std::move(e.out); +} + +absl::StatusOr ServerMetadataGrpcFromProto( + chaotic_good_frame::ServerMetadata& metadata) { + auto md = Arena::MakePooled(); + md->Set(GrpcStatusFromWire(), true); + if (metadata.has_status()) { + md->Set(GrpcStatusMetadata(), + static_cast(metadata.status())); } - return deserializer.Finish(); + if (metadata.has_message()) { + md->Set(GrpcMessageMetadata(), Slice::FromCopiedString(metadata.message())); + } + return ReadUnknownFields(metadata, std::move(md)); } -BufferPair SettingsFrame::Serialize(HPackCompressor* encoder, - bool& saw_encoding_errors) const { - FrameSerializer serializer(FrameType::kSettings, 0); - if (headers.get() != nullptr) { - saw_encoding_errors |= - !encoder->EncodeRawHeaders(*headers.get(), serializer.AddHeaders()); +absl::Status SettingsFrame::Deserialize(const FrameHeader& header, + SliceBuffer payload) { + CHECK_EQ(header.type, FrameType::kSettings); + if (header.stream_id != 0) { + return absl::InternalError("Expected stream id 0"); } - return serializer.Finish(); + return ReadProto(std::move(payload), settings); } -std::string SettingsFrame::ToString() const { return "SettingsFrame{}"; } +FrameHeader SettingsFrame::MakeHeader() const { + return FrameHeader{FrameType::kSettings, 0, 0, ProtoPayloadSize(settings)}; +} -absl::Status ClientFragmentFrame::Deserialize(HPackParser* parser, - const FrameHeader& header, - absl::BitGenRef bitsrc, - Arena* arena, BufferPair buffers, - FrameLimits limits) { +void SettingsFrame::SerializePayload(SliceBuffer& payload) const { + WriteProto(settings, payload); +} + +std::string SettingsFrame::ToString() const { + return settings.ShortDebugString(); +} + +absl::Status ClientInitialMetadataFrame::Deserialize(const FrameHeader& header, + SliceBuffer payload) { + CHECK_EQ(header.type, FrameType::kClientInitialMetadata); if (header.stream_id == 0) { - return absl::InvalidArgumentError("Expected non-zero stream id"); + return absl::InternalError("Expected non-zero stream id"); } stream_id = header.stream_id; - if (header.type != FrameType::kFragment) { - return absl::InvalidArgumentError("Expected fragment frame"); - } - FrameDeserializer deserializer(header, buffers); - if (header.flags.is_set(0)) { - auto r = ReadMetadata(parser, deserializer.ReceiveHeaders(), - header.stream_id, true, true, bitsrc, - arena); - if (!r.ok()) return r.status(); - if (r.value() != nullptr) { - headers = std::move(r.value()); - } - } else if (header.header_length != 0) { - return absl::InvalidArgumentError(absl::StrCat( - "Unexpected non-zero header length", header.header_length)); - } - if (header.flags.is_set(1)) { - auto r = limits.ValidateMessage(header); - if (!r.ok()) return r; - message = - FragmentMessage{Arena::MakePooled(std::move(buffers.data), 0), - header.message_padding, header.message_length}; - } else if (buffers.data.Length() != 0) { - return absl::InvalidArgumentError(absl::StrCat( - "Unexpected non-zero message length ", buffers.data.Length())); - } - if (header.flags.is_set(2)) { - if (header.trailer_length != 0) { - return absl::InvalidArgumentError( - absl::StrCat("Unexpected trailer length ", header.trailer_length)); - } - end_of_stream = true; - } else { - end_of_stream = false; - } - return deserializer.Finish(); + return ReadProto(std::move(payload), headers); +} + +FrameHeader ClientInitialMetadataFrame::MakeHeader() const { + return FrameHeader{FrameType::kClientInitialMetadata, 0, stream_id, + ProtoPayloadSize(headers)}; } -BufferPair ClientFragmentFrame::Serialize(HPackCompressor* encoder, - bool& saw_encoding_errors) const { +void ClientInitialMetadataFrame::SerializePayload(SliceBuffer& payload) const { CHECK_NE(stream_id, 0u); - FrameSerializer serializer(FrameType::kFragment, stream_id); - if (headers.get() != nullptr) { - saw_encoding_errors |= - !encoder->EncodeRawHeaders(*headers.get(), serializer.AddHeaders()); + WriteProto(headers, payload); +} + +std::string ClientInitialMetadataFrame::ToString() const { + return absl::StrCat("ClientInitialMetadataFrame{stream_id=", stream_id, + ", headers=", headers.ShortDebugString(), "}"); +} + +absl::Status ClientEndOfStream::Deserialize(const FrameHeader& header, + SliceBuffer) { + CHECK_EQ(header.type, FrameType::kClientEndOfStream); + if (header.stream_id == 0) { + return absl::InternalError("Expected non-zero stream id"); } - if (message.has_value()) { - serializer.AddMessage(message.value()); + if (header.payload_length != 0) { + return absl::InternalError( + "Expected zero payload length on ClientEndOfStream"); } - if (end_of_stream) { - serializer.AddTrailers(); + stream_id = header.stream_id; + return absl::OkStatus(); +} + +FrameHeader ClientEndOfStream::MakeHeader() const { + return FrameHeader{FrameType::kClientEndOfStream, 0, stream_id, 0}; +} + +void ClientEndOfStream::SerializePayload(SliceBuffer&) const {} + +std::string ClientEndOfStream::ToString() const { return "ClientEndOfStream"; } + +absl::Status MessageFrame::Deserialize(const FrameHeader& header, + SliceBuffer payload) { + CHECK_EQ(header.type, FrameType::kMessage); + if (header.stream_id == 0) { + return absl::InternalError("Expected non-zero stream id"); } - return serializer.Finish(); + stream_id = header.stream_id; + message = Arena::MakePooled(std::move(payload), 0); + return absl::OkStatus(); } -std::string FragmentMessage::ToString() const { - std::string out = - absl::StrCat("FragmentMessage{length=", length, ", padding=", padding); +FrameHeader MessageFrame::MakeHeader() const { + auto length = message->payload()->Length(); + CHECK_LE(length, std::numeric_limits::max()); + return FrameHeader{FrameType::kMessage, 0, stream_id, + static_cast(length)}; +} + +void MessageFrame::SerializePayload(SliceBuffer& payload) const { + CHECK_NE(stream_id, 0u); + payload.Append(*message->payload()); +} + +std::string MessageFrame::ToString() const { + std::string out = absl::StrCat("MessageFrame{stream_id=", stream_id); if (message.get() != nullptr) { absl::StrAppend(&out, ", message=", message->DebugString().c_str()); } @@ -301,114 +296,83 @@ std::string FragmentMessage::ToString() const { return out; } -std::string ClientFragmentFrame::ToString() const { - return absl::StrCat( - "ClientFragmentFrame{stream_id=", stream_id, ", headers=", - headers.get() != nullptr ? headers->DebugString().c_str() : "nullptr", - ", message=", message.has_value() ? message->ToString().c_str() : "none", - ", end_of_stream=", end_of_stream, "}"); +absl::Status ServerInitialMetadataFrame::Deserialize(const FrameHeader& header, + SliceBuffer payload) { + CHECK_EQ(header.type, FrameType::kServerInitialMetadata); + if (header.stream_id == 0) { + return absl::InternalError("Expected non-zero stream id"); + } + stream_id = header.stream_id; + return ReadProto(std::move(payload), headers); +} + +FrameHeader ServerInitialMetadataFrame::MakeHeader() const { + return FrameHeader{FrameType::kServerInitialMetadata, 0, stream_id, + ProtoPayloadSize(headers)}; } -absl::Status ServerFragmentFrame::Deserialize(HPackParser* parser, - const FrameHeader& header, - absl::BitGenRef bitsrc, - Arena* arena, BufferPair buffers, - FrameLimits limits) { +void ServerInitialMetadataFrame::SerializePayload(SliceBuffer& payload) const { + CHECK_NE(stream_id, 0u); + WriteProto(headers, payload); +} + +std::string ServerInitialMetadataFrame::ToString() const { + return absl::StrCat("ServerInitialMetadataFrame{stream_id=", stream_id, + ", headers=", headers.ShortDebugString(), "}"); +} + +absl::Status ServerTrailingMetadataFrame::Deserialize(const FrameHeader& header, + SliceBuffer payload) { + CHECK_EQ(header.type, FrameType::kServerTrailingMetadata); if (header.stream_id == 0) { - return absl::InvalidArgumentError("Expected non-zero stream id"); + return absl::InternalError("Expected non-zero stream id"); } stream_id = header.stream_id; - FrameDeserializer deserializer(header, buffers); - if (header.flags.is_set(0)) { - auto r = ReadMetadata(parser, deserializer.ReceiveHeaders(), - header.stream_id, true, false, bitsrc, - arena); - if (!r.ok()) return r.status(); - if (r.value() != nullptr) { - headers = std::move(r.value()); - } - } else if (header.header_length != 0) { - return absl::InvalidArgumentError(absl::StrCat( - "Unexpected non-zero header length", header.header_length)); - } - if (header.flags.is_set(1)) { - auto r = limits.ValidateMessage(header); - if (!r.ok()) return r; - message.emplace(Arena::MakePooled(std::move(buffers.data), 0), - header.message_padding, header.message_length); - } else if (buffers.data.Length() != 0) { - return absl::InvalidArgumentError(absl::StrCat( - "Unexpected non-zero message length", buffers.data.Length())); - } - if (header.flags.is_set(2)) { - auto r = ReadMetadata( - parser, deserializer.ReceiveTrailers(), header.stream_id, false, false, - bitsrc, arena); - if (!r.ok()) return r.status(); - if (r.value() != nullptr) { - trailers = std::move(r.value()); - } - } else if (header.trailer_length != 0) { - return absl::InvalidArgumentError(absl::StrCat( - "Unexpected non-zero trailer length", header.trailer_length)); - } - return deserializer.Finish(); + return ReadProto(std::move(payload), trailers); } -BufferPair ServerFragmentFrame::Serialize(HPackCompressor* encoder, - bool& saw_encoding_errors) const { +FrameHeader ServerTrailingMetadataFrame::MakeHeader() const { + return FrameHeader{FrameType::kServerTrailingMetadata, 0, stream_id, + ProtoPayloadSize(trailers)}; +} + +void ServerTrailingMetadataFrame::SerializePayload(SliceBuffer& payload) const { CHECK_NE(stream_id, 0u); - FrameSerializer serializer(FrameType::kFragment, stream_id); - if (headers.get() != nullptr) { - saw_encoding_errors |= - !encoder->EncodeRawHeaders(*headers.get(), serializer.AddHeaders()); - } - if (message.has_value()) { - serializer.AddMessage(message.value()); - } - if (trailers.get() != nullptr) { - saw_encoding_errors |= - !encoder->EncodeRawHeaders(*trailers.get(), serializer.AddTrailers()); - } - return serializer.Finish(); + WriteProto(trailers, payload); } -std::string ServerFragmentFrame::ToString() const { - return absl::StrCat( - "ServerFragmentFrame{stream_id=", stream_id, ", headers=", - headers.get() != nullptr ? headers->DebugString().c_str() : "nullptr", - ", message=", message.has_value() ? message->ToString().c_str() : "none", - ", trailers=", - trailers.get() != nullptr ? trailers->DebugString().c_str() : "nullptr", - "}"); +std::string ServerTrailingMetadataFrame::ToString() const { + return absl::StrCat("ServerTrailingMetadataFrame{stream_id=", stream_id, + ", trailers=", trailers.ShortDebugString(), "}"); } -absl::Status CancelFrame::Deserialize(HPackParser*, const FrameHeader& header, - absl::BitGenRef, Arena*, - BufferPair buffers, FrameLimits) { - if (header.type != FrameType::kCancel) { - return absl::InvalidArgumentError("Expected cancel frame"); - } - if (header.flags.any()) { - return absl::InvalidArgumentError("Unexpected flags"); - } +absl::Status CancelFrame::Deserialize(const FrameHeader& header, + SliceBuffer payload) { + // Ensure the frame type is Cancel + CHECK_EQ(header.type, FrameType::kCancel); + + // Ensure the stream_id is non-zero if (header.stream_id == 0) { - return absl::InvalidArgumentError("Expected non-zero stream id"); + return absl::InternalError("Expected non-zero stream id"); } - if (buffers.data.Length() != 0) { - return absl::InvalidArgumentError("Unexpected data"); + + // Ensure there is no payload + if (payload.Length() != 0) { + return absl::InternalError("Unexpected payload for Cancel frame"); } - FrameDeserializer deserializer(header, buffers); + + // Set the stream_id stream_id = header.stream_id; - return deserializer.Finish(); + + return absl::OkStatus(); } -BufferPair CancelFrame::Serialize(HPackCompressor*, bool&) const { - CHECK_NE(stream_id, 0u); - FrameSerializer serializer(FrameType::kCancel, stream_id); - return serializer.Finish(); +FrameHeader CancelFrame::MakeHeader() const { + return FrameHeader{FrameType::kCancel, 0, stream_id, 0}; } +void CancelFrame::SerializePayload(SliceBuffer&) const {} + std::string CancelFrame::ToString() const { return absl::StrCat("CancelFrame{stream_id=", stream_id, "}"); } diff --git a/src/core/ext/transport/chaotic_good/frame.h b/src/core/ext/transport/chaotic_good/frame.h index d29545e87c8..3008097f5ba 100644 --- a/src/core/ext/transport/chaotic_good/frame.h +++ b/src/core/ext/transport/chaotic_good/frame.h @@ -18,19 +18,17 @@ #include #include -#include #include #include "absl/random/bit_gen_ref.h" #include "absl/status/status.h" #include "absl/types/variant.h" +#include "src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h" #include "src/core/ext/transport/chaotic_good/frame_header.h" -#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h" -#include "src/core/ext/transport/chttp2/transport/hpack_parser.h" #include "src/core/lib/resource_quota/arena.h" #include "src/core/lib/slice/slice_buffer.h" -#include "src/core/lib/transport/metadata_batch.h" -#include "src/core/lib/transport/transport.h" +#include "src/core/lib/transport/message.h" +#include "src/core/lib/transport/metadata.h" #include "src/core/util/match.h" namespace grpc_core { @@ -41,21 +39,12 @@ struct BufferPair { SliceBuffer data; }; -struct FrameLimits { - size_t max_message_size = 1024 * 1024 * 1024; - size_t max_padding = 63; - - absl::Status ValidateMessage(const FrameHeader& header); -}; - class FrameInterface { public: - virtual absl::Status Deserialize(HPackParser* parser, - const FrameHeader& header, - absl::BitGenRef bitsrc, Arena* arena, - BufferPair buffers, FrameLimits limits) = 0; - virtual BufferPair Serialize(HPackCompressor* encoder, - bool& saw_encoding_errors) const = 0; + virtual absl::Status Deserialize(const FrameHeader& header, + SliceBuffer payload) = 0; + virtual FrameHeader MakeHeader() const = 0; + virtual void SerializePayload(SliceBuffer& payload) const = 0; virtual std::string ToString() const = 0; template @@ -64,16 +53,6 @@ class FrameInterface { } protected: - static bool EqVal(const grpc_metadata_batch& a, - const grpc_metadata_batch& b) { - return a.DebugString() == b.DebugString(); - } - template - static bool EqHdl(const Arena::PoolPtr& a, const Arena::PoolPtr& b) { - if (a == nullptr && b == nullptr) return true; - if (a == nullptr || b == nullptr) return false; - return EqVal(*a, *b); - } ~FrameInterface() = default; }; @@ -81,111 +60,118 @@ inline std::ostream& operator<<(std::ostream& os, const FrameInterface& frame) { return os << frame.ToString(); } +chaotic_good_frame::ClientMetadata ClientMetadataProtoFromGrpc( + const ClientMetadata& md); +absl::StatusOr ClientMetadataGrpcFromProto( + chaotic_good_frame::ClientMetadata& metadata); +chaotic_good_frame::ServerMetadata ServerMetadataProtoFromGrpc( + const ServerMetadata& md); +absl::StatusOr ServerMetadataGrpcFromProto( + chaotic_good_frame::ServerMetadata& metadata); + struct SettingsFrame final : public FrameInterface { - absl::Status Deserialize(HPackParser* parser, const FrameHeader& header, - absl::BitGenRef bitsrc, Arena* arena, - BufferPair buffers, FrameLimits limits) override; - BufferPair Serialize(HPackCompressor* encoder, - bool& saw_encoding_errors) const override; - ClientMetadataHandle headers; + absl::Status Deserialize(const FrameHeader& header, + SliceBuffer payload) override; + FrameHeader MakeHeader() const override; + void SerializePayload(SliceBuffer& payload) const override; std::string ToString() const override; - bool operator==(const SettingsFrame&) const { return true; } + chaotic_good_frame::Settings settings; }; -struct FragmentMessage { - FragmentMessage(MessageHandle message, uint32_t padding, uint32_t length) - : message(std::move(message)), padding(padding), length(length) {} - - MessageHandle message; - uint32_t padding; - uint32_t length; +struct ClientInitialMetadataFrame final : public FrameInterface { + absl::Status Deserialize(const FrameHeader& header, + SliceBuffer payload) override; + FrameHeader MakeHeader() const override; + void SerializePayload(SliceBuffer& payload) const override; + std::string ToString() const override; - std::string ToString() const; + uint32_t stream_id; + chaotic_good_frame::ClientMetadata headers; +}; - static bool EqVal(const Message& a, const Message& b) { - return a.payload()->JoinIntoString() == b.payload()->JoinIntoString() && - a.flags() == b.flags(); - } +struct MessageFrame final : public FrameInterface { + absl::Status Deserialize(const FrameHeader& header, + SliceBuffer payload) override; + FrameHeader MakeHeader() const override; + void SerializePayload(SliceBuffer& payload) const override; + std::string ToString() const override; - bool operator==(const FragmentMessage& other) const { - if (length != other.length) return false; - if (message == nullptr && other.message == nullptr) return true; - if (message == nullptr || other.message == nullptr) return false; - return EqVal(*message, *other.message); - } + uint32_t stream_id; + MessageHandle message; }; -struct ClientFragmentFrame final : public FrameInterface { - absl::Status Deserialize(HPackParser* parser, const FrameHeader& header, - absl::BitGenRef bitsrc, Arena* arena, - BufferPair buffers, FrameLimits limits) override; - BufferPair Serialize(HPackCompressor* encoder, - bool& saw_encoding_errors) const override; +struct ClientEndOfStream final : public FrameInterface { + absl::Status Deserialize(const FrameHeader& header, + SliceBuffer payload) override; + FrameHeader MakeHeader() const override; + void SerializePayload(SliceBuffer& payload) const override; std::string ToString() const override; uint32_t stream_id; - ClientMetadataHandle headers; - absl::optional message; - bool end_of_stream = false; - - bool operator==(const ClientFragmentFrame& other) const { - return stream_id == other.stream_id && EqHdl(headers, other.headers) && - message == other.message && end_of_stream == other.end_of_stream; - } }; -struct ServerFragmentFrame final : public FrameInterface { - absl::Status Deserialize(HPackParser* parser, const FrameHeader& header, - absl::BitGenRef bitsrc, Arena* arena, - BufferPair buffers, FrameLimits limits) override; - BufferPair Serialize(HPackCompressor* encoder, - bool& saw_encoding_errors) const override; +struct ServerInitialMetadataFrame final : public FrameInterface { + absl::Status Deserialize(const FrameHeader& header, + SliceBuffer payload) override; + FrameHeader MakeHeader() const override; + void SerializePayload(SliceBuffer& payload) const override; std::string ToString() const override; uint32_t stream_id; - ServerMetadataHandle headers; - absl::optional message; - ServerMetadataHandle trailers; + chaotic_good_frame::ServerMetadata headers; +}; - bool operator==(const ServerFragmentFrame& other) const { - return stream_id == other.stream_id && EqHdl(headers, other.headers) && - message == other.message && EqHdl(trailers, other.trailers); - } +struct ServerTrailingMetadataFrame final : public FrameInterface { + absl::Status Deserialize(const FrameHeader& header, + SliceBuffer payload) override; + FrameHeader MakeHeader() const override; + void SerializePayload(SliceBuffer& payload) const override; + std::string ToString() const override; + + uint32_t stream_id; + chaotic_good_frame::ServerMetadata trailers; }; struct CancelFrame final : public FrameInterface { CancelFrame() = default; explicit CancelFrame(uint32_t stream_id) : stream_id(stream_id) {} - absl::Status Deserialize(HPackParser* parser, const FrameHeader& header, - absl::BitGenRef bitsrc, Arena* arena, - BufferPair buffers, FrameLimits limits) override; - BufferPair Serialize(HPackCompressor* encoder, - bool& saw_encoding_errors) const override; + absl::Status Deserialize(const FrameHeader& header, + SliceBuffer payload) override; + FrameHeader MakeHeader() const override; + void SerializePayload(SliceBuffer& payload) const override; std::string ToString() const override; uint32_t stream_id; - - bool operator==(const CancelFrame& other) const { - return stream_id == other.stream_id; - } }; -using ClientFrame = absl::variant; -using ServerFrame = absl::variant; +using ClientFrame = absl::variant; +using ServerFrame = absl::variant; inline FrameInterface& GetFrameInterface(ClientFrame& frame) { return MatchMutable( &frame, - [](ClientFragmentFrame* frame) -> FrameInterface& { return *frame; }, + [](ClientInitialMetadataFrame* frame) -> FrameInterface& { + return *frame; + }, + [](MessageFrame* frame) -> FrameInterface& { return *frame; }, + [](ClientEndOfStream* frame) -> FrameInterface& { return *frame; }, [](CancelFrame* frame) -> FrameInterface& { return *frame; }); } inline FrameInterface& GetFrameInterface(ServerFrame& frame) { return MatchMutable( &frame, - [](ServerFragmentFrame* frame) -> FrameInterface& { return *frame; }); + [](ServerInitialMetadataFrame* frame) -> FrameInterface& { + return *frame; + }, + [](MessageFrame* frame) -> FrameInterface& { return *frame; }, + [](ServerTrailingMetadataFrame* frame) -> FrameInterface& { + return *frame; + }); } } // namespace chaotic_good diff --git a/src/core/ext/transport/chaotic_good/frame_header.cc b/src/core/ext/transport/chaotic_good/frame_header.cc index 7cc9a0d7b91..95fe9c60f97 100644 --- a/src/core/ext/transport/chaotic_good/frame_header.cc +++ b/src/core/ext/transport/chaotic_good/frame_header.cc @@ -42,44 +42,32 @@ uint32_t ReadLittleEndianUint32(const uint8_t* data) { // Serializes a frame header into a buffer of 24 bytes. void FrameHeader::Serialize(uint8_t* data) const { - WriteLittleEndianUint32( - static_cast(type) | (flags.ToInt() << 8), data); + WriteLittleEndianUint32((static_cast(type) << 16) | + static_cast(payload_connection_id), + data); WriteLittleEndianUint32(stream_id, data + 4); - WriteLittleEndianUint32(header_length, data + 8); - WriteLittleEndianUint32(message_length, data + 12); - WriteLittleEndianUint32(message_padding, data + 16); - WriteLittleEndianUint32(trailer_length, data + 20); + WriteLittleEndianUint32(payload_length, data + 8); } // Parses a frame header from a buffer of 24 bytes. All 24 bytes are consumed. absl::StatusOr FrameHeader::Parse(const uint8_t* data) { FrameHeader header; - const uint32_t type_and_flags = ReadLittleEndianUint32(data); - header.type = static_cast(type_and_flags & 0xff); - const uint32_t flags = type_and_flags >> 8; - if (flags > 7) return absl::InvalidArgumentError("Invalid flags"); - header.flags = BitSet<3>::FromInt(flags); + const uint32_t type_and_conn_id = ReadLittleEndianUint32(data); + if (type_and_conn_id & 0xff000000u) { + return absl::InternalError("Non-zero reserved byte received"); + } + header.type = static_cast(type_and_conn_id >> 16); + header.payload_connection_id = type_and_conn_id & 0xffff; header.stream_id = ReadLittleEndianUint32(data + 4); - header.header_length = ReadLittleEndianUint32(data + 8); - header.message_length = ReadLittleEndianUint32(data + 12); - header.message_padding = ReadLittleEndianUint32(data + 16); - header.trailer_length = ReadLittleEndianUint32(data + 20); + header.payload_length = ReadLittleEndianUint32(data + 8); return header; } -uint32_t FrameHeader::GetFrameLength() const { - // In chaotic-good transport design, message and message padding are sent - // through different channel. So not included in the frame length calculation. - uint32_t frame_length = header_length + trailer_length; - return frame_length; -} - std::string FrameHeader::ToString() const { return absl::StrFormat( - "[type=0x%02x, flags=0x%02x, stream_id=%d, header_length=%d, " - "message_length=%d, message_padding=%d, trailer_length=%d]", - static_cast(type), flags.ToInt(), stream_id, - header_length, message_length, message_padding, trailer_length); + "[type=0x%02x, conn=0x%04x, stream_id=%d, payload_length=%d]", + static_cast(type), payload_connection_id, stream_id, + payload_length); } } // namespace chaotic_good diff --git a/src/core/ext/transport/chaotic_good/frame_header.h b/src/core/ext/transport/chaotic_good/frame_header.h index 202e8387441..5d00ceec151 100644 --- a/src/core/ext/transport/chaotic_good/frame_header.h +++ b/src/core/ext/transport/chaotic_good/frame_header.h @@ -26,18 +26,31 @@ namespace grpc_core { namespace chaotic_good { +// Remember to add new frame types to frame_fuzzer.cc enum class FrameType : uint8_t { kSettings = 0x00, - kFragment = 0x80, - kCancel = 0x81, + kClientInitialMetadata = 0x80, + kClientEndOfStream = 0x81, + kServerInitialMetadata = 0x91, + kServerTrailingMetadata = 0x92, + kMessage = 0xa0, + kCancel = 0xff, }; inline std::ostream& operator<<(std::ostream& out, FrameType type) { switch (type) { case FrameType::kSettings: return out << "Settings"; - case FrameType::kFragment: - return out << "Fragment"; + case FrameType::kClientInitialMetadata: + return out << "ClientInitialMetadata"; + case FrameType::kClientEndOfStream: + return out << "ClientEndOfStream"; + case FrameType::kMessage: + return out << "Message"; + case FrameType::kServerInitialMetadata: + return out << "ServerInitialMetadata"; + case FrameType::kServerTrailingMetadata: + return out << "ServerTrailingMetadata"; case FrameType::kCancel: return out << "Cancel"; default: @@ -47,33 +60,40 @@ inline std::ostream& operator<<(std::ostream& out, FrameType type) { struct FrameHeader { FrameType type = FrameType::kCancel; - BitSet<3> flags; + uint16_t payload_connection_id = 0; uint32_t stream_id = 0; - uint32_t header_length = 0; - uint32_t message_length = 0; - uint32_t message_padding = 0; - uint32_t trailer_length = 0; + uint32_t payload_length = 0; - // Parses a frame header from a buffer of 24 bytes. All 24 bytes are consumed. + // Parses a frame header from a buffer of 12 bytes. All 12 bytes are consumed. static absl::StatusOr Parse(const uint8_t* data); - // Serializes a frame header into a buffer of 24 bytes. + // Serializes a frame header into a buffer of 12 bytes. void Serialize(uint8_t* data) const; - // Compute frame sizes from the header. - uint32_t GetFrameLength() const; // Report contents as a string std::string ToString() const; + // Required padding to maintain alignment. + uint32_t Padding(uint32_t alignment) const { + if (payload_connection_id == 0) { + return 0; + } + if (payload_length % alignment == 0) { + return 0; + } + return alignment - (payload_length % alignment); + } bool operator==(const FrameHeader& h) const { - return type == h.type && flags == h.flags && stream_id == h.stream_id && - header_length == h.header_length && - message_length == h.message_length && - message_padding == h.message_padding && - trailer_length == h.trailer_length; + return type == h.type && stream_id == h.stream_id && + payload_connection_id == h.payload_connection_id && + payload_length == h.payload_length; } - // Frame header size is fixed to 24 bytes. - static constexpr size_t kFrameHeaderSize = 24; + // Frame header size is fixed to 12 bytes. + enum { kFrameHeaderSize = 12 }; }; +inline std::ostream& operator<<(std::ostream& out, const FrameHeader& h) { + return out << h.ToString(); +} + } // namespace chaotic_good } // namespace grpc_core diff --git a/src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc b/src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc index cbb93c7c1aa..fbd10875e38 100644 --- a/src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc +++ b/src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc @@ -34,7 +34,6 @@ #include "src/core/ext/transport/chaotic_good/frame.h" #include "src/core/ext/transport/chaotic_good/frame_header.h" #include "src/core/ext/transport/chaotic_good/server_transport.h" -#include "src/core/ext/transport/chaotic_good/settings_metadata.h" #include "src/core/ext/transport/chaotic_good_legacy/server/chaotic_good_server.h" #include "src/core/handshaker/handshaker.h" #include "src/core/lib/channel/channel_args.h" @@ -225,51 +224,39 @@ auto ChaoticGoodServerListener::ActiveConnection::HandshakingState:: // Parse frame header auto frame_header = FrameHeader::Parse(reinterpret_cast( GRPC_SLICE_START_PTR(slice.c_slice()))); + if (frame_header.ok() && frame_header->type != FrameType::kSettings) { + frame_header = absl::InternalError("Not a settings frame"); + } return If( frame_header.ok(), [self, &frame_header]() { return TrySeq( self->connection_->endpoint_.Read( - frame_header->GetFrameLength()), + frame_header->payload_length), [frame_header = *frame_header, self](SliceBuffer buffer) -> absl::StatusOr { // Read Setting frame. SettingsFrame frame; // Deserialize frame from read buffer. - BufferPair buffer_pair{std::move(buffer), SliceBuffer()}; - auto status = frame.Deserialize( - &self->connection_->hpack_parser_, frame_header, - absl::BitGenRef(self->connection_->bitgen_), - GetContext(), std::move(buffer_pair), - FrameLimits{}); + auto status = + frame.Deserialize(frame_header, std::move(buffer)); if (!status.ok()) return status; - if (frame.headers == nullptr) { - return absl::UnavailableError("no settings headers"); - } - auto settings_metadata = - SettingsMetadata::FromMetadataBatch(*frame.headers); - if (!settings_metadata.ok()) { - return settings_metadata.status(); - } - const bool is_control_endpoint = - settings_metadata->connection_type == - SettingsMetadata::ConnectionType::kControl; - if (!is_control_endpoint) { - if (!settings_metadata->connection_id.has_value()) { + if (frame.settings.data_channel()) { + if (frame.settings.connection_id().empty()) { return absl::UnavailableError( "no connection id in data endpoint settings frame"); } - if (!settings_metadata->alignment.has_value()) { + if (frame.settings.alignment() == 0) { return absl::UnavailableError( "no alignment in data endpoint settings frame"); } // Get connection-id and data-alignment for data endpoint. self->connection_->connection_id_ = - *settings_metadata->connection_id; + frame.settings.connection_id(); self->connection_->data_alignment_ = - *settings_metadata->alignment; + frame.settings.alignment(); } - return is_control_endpoint; + return !frame.settings.data_channel(); }); }, [&frame_header]() { @@ -309,9 +296,7 @@ auto ChaoticGoodServerListener::ActiveConnection::HandshakingState:: new ChaoticGoodServerTransport( self->connection_->args(), std::move(self->connection_->endpoint_), std::move(ret), - self->connection_->listener_->event_engine_, - std::move(self->connection_->hpack_parser_), - std::move(self->connection_->hpack_compressor_)), + self->connection_->listener_->event_engine_), nullptr, self->connection_->args(), nullptr); }), // Set timeout for waiting data endpoint connect. @@ -331,33 +316,31 @@ auto ChaoticGoodServerListener::ActiveConnection::HandshakingState:: ControlEndpointWriteSettingsFrame(RefCountedPtr self) { self->connection_->NewConnectionID(); SettingsFrame frame; - frame.headers = - SettingsMetadata{absl::nullopt, self->connection_->connection_id_, - absl::nullopt} - .ToMetadataBatch(); - bool saw_encoding_errors = false; - auto write_buffer = frame.Serialize(&self->connection_->hpack_compressor_, - saw_encoding_errors); + frame.settings.set_data_channel(false); + frame.settings.set_connection_id(self->connection_->connection_id_); + SliceBuffer write_buffer; + frame.MakeHeader().Serialize( + write_buffer.AddTiny(FrameHeader::kFrameHeaderSize)); + frame.SerializePayload(write_buffer); // ignore encoding errors: they will be logged separately already - return TrySeq( - self->connection_->endpoint_.Write(std::move(write_buffer.control)), - WaitForDataEndpointSetup(self)); + return TrySeq(self->connection_->endpoint_.Write(std::move(write_buffer)), + WaitForDataEndpointSetup(self)); } auto ChaoticGoodServerListener::ActiveConnection::HandshakingState:: DataEndpointWriteSettingsFrame(RefCountedPtr self) { // Send data endpoint setting frame SettingsFrame frame; - frame.headers = - SettingsMetadata{absl::nullopt, self->connection_->connection_id_, - self->connection_->data_alignment_} - .ToMetadataBatch(); - bool saw_encoding_errors = false; - auto write_buffer = frame.Serialize(&self->connection_->hpack_compressor_, - saw_encoding_errors); + frame.settings.set_data_channel(true); + frame.settings.set_connection_id(self->connection_->connection_id_); + frame.settings.set_alignment(self->connection_->data_alignment_); + SliceBuffer write_buffer; + frame.MakeHeader().Serialize( + write_buffer.AddTiny(FrameHeader::kFrameHeaderSize)); + frame.SerializePayload(write_buffer); // ignore encoding errors: they will be logged separately already return TrySeq( - self->connection_->endpoint_.Write(std::move(write_buffer.control)), + self->connection_->endpoint_.Write(std::move(write_buffer)), [self]() mutable { MutexLock lock(&self->connection_->listener_->mu_); // Set endpoint to latch diff --git a/src/core/ext/transport/chaotic_good/server/chaotic_good_server.h b/src/core/ext/transport/chaotic_good/server/chaotic_good_server.h index 8b555264aab..c96ae19129d 100644 --- a/src/core/ext/transport/chaotic_good/server/chaotic_good_server.h +++ b/src/core/ext/transport/chaotic_good/server/chaotic_good_server.h @@ -29,8 +29,6 @@ #include "absl/status/status.h" #include "absl/status/statusor.h" #include "src/core/channelz/channelz.h" -#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h" -#include "src/core/ext/transport/chttp2/transport/hpack_parser.h" #include "src/core/handshaker/handshaker.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/iomgr/closure.h" @@ -119,8 +117,6 @@ class ChaoticGoodServerListener final : public Server::ListenerInterface { ActivityPtr receive_settings_activity_ ABSL_GUARDED_BY(mu_); bool orphaned_ ABSL_GUARDED_BY(mu_) = false; PromiseEndpoint endpoint_; - HPackCompressor hpack_compressor_; - HPackParser hpack_parser_; absl::BitGen bitgen_; std::string connection_id_; int32_t data_alignment_; diff --git a/src/core/ext/transport/chaotic_good/server_transport.cc b/src/core/ext/transport/chaotic_good/server_transport.cc index adf03718deb..50c4f211345 100644 --- a/src/core/ext/transport/chaotic_good/server_transport.cc +++ b/src/core/ext/transport/chaotic_good/server_transport.cc @@ -32,7 +32,6 @@ #include "src/core/ext/transport/chaotic_good/chaotic_good_transport.h" #include "src/core/ext/transport/chaotic_good/frame.h" #include "src/core/ext/transport/chaotic_good/frame_header.h" -#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h" #include "src/core/lib/event_engine/event_engine_context.h" #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/promise/activity.h" @@ -70,57 +69,44 @@ auto ChaoticGoodServerTransport::TransportWriteLoop( }); } -auto ChaoticGoodServerTransport::PushFragmentIntoCall( - CallInitiator call_initiator, ClientFragmentFrame frame) { - DCHECK(frame.headers == nullptr); +auto ChaoticGoodServerTransport::PushFrameIntoCall(CallInitiator call_initiator, + MessageFrame frame) { GRPC_TRACE_LOG(chaotic_good, INFO) - << "CHAOTIC_GOOD: PushFragmentIntoCall: frame=" << frame.ToString(); - return Seq(If( - frame.message.has_value(), - [&call_initiator, &frame]() mutable { - return call_initiator.PushMessage( - std::move(frame.message->message)); - }, - []() -> StatusFlag { return Success{}; }), - [call_initiator, end_of_stream = frame.end_of_stream]( - StatusFlag status) mutable -> StatusFlag { - if (!status.ok() && GRPC_TRACE_FLAG_ENABLED(chaotic_good)) { - LOG(INFO) << "CHAOTIC_GOOD: Failed PushFragmentIntoCall"; - } - if (end_of_stream || !status.ok()) { - call_initiator.FinishSends(); - // Note that we cannot remove from the stream map yet, as we - // may yet receive a cancellation. - } - return Success{}; - }); + << "CHAOTIC_GOOD: PushFrameIntoCall: frame=" << frame.ToString(); + return call_initiator.PushMessage(std::move(frame.message)); } -auto ChaoticGoodServerTransport::MaybePushFragmentIntoCall( - absl::optional call_initiator, absl::Status error, - ClientFragmentFrame frame) { - return If( - call_initiator.has_value() && error.ok(), - [this, &call_initiator, &frame]() { - return Map( - call_initiator->SpawnWaitable( - "push-fragment", - [call_initiator, frame = std::move(frame), this]() mutable { - return call_initiator->CancelIfFails( - PushFragmentIntoCall(*call_initiator, std::move(frame))); - }), - [](StatusFlag status) { return StatusCast(status); }); +auto ChaoticGoodServerTransport::PushFrameIntoCall(CallInitiator call_initiator, + ClientEndOfStream) { + call_initiator.FinishSends(); + // Note that we cannot remove from the stream map yet, as we + // may yet receive a cancellation. + return Immediate(Success{}); +} + +template +auto ChaoticGoodServerTransport::DispatchFrame(ChaoticGoodTransport& transport, + const FrameHeader& header, + SliceBuffer payload) { + return TrySeq( + [&transport, header, payload = std::move(payload)]() mutable { + return transport.DeserializeFrame(header, std::move(payload)); }, - [&error, &frame]() { - // EOF frames may arrive after the call_initiator's OnDone callback - // has been invoked. In that case, the call_initiator would have - // already been removed from the stream_map and hence the EOF frame - // cannot be pushed into the call. No need to log such frames. - if (!frame.end_of_stream) { - LOG(INFO) << "CHAOTIC_GOOD: Cannot pass frame to stream. Error:" - << error.ToString() << " Frame:" << frame.ToString(); - } - return Immediate(std::move(error)); + [this](T frame) { + absl::optional call_initiator = + LookupStream(frame.stream_id); + return If( + call_initiator.has_value(), + [this, &call_initiator, &frame]() { + return call_initiator->SpawnWaitable( + "push-frame", [this, call_initiator = *call_initiator, + frame = std::move(frame)]() mutable { + return Map(call_initiator.CancelIfFails(PushFrameIntoCall( + call_initiator, std::move(frame))), + [](StatusFlag) { return absl::OkStatus(); }); + }); + }, + []() { return absl::OkStatus(); }); }); } @@ -133,11 +119,9 @@ auto BooleanSuccessToTransportErrorCapturingInitiator(CallInitiator initiator) { } } // namespace -auto ChaoticGoodServerTransport::SendFragment( - ServerFragmentFrame frame, MpscSender outgoing_frames, +auto ChaoticGoodServerTransport::SendFrame( + ServerFrame frame, MpscSender outgoing_frames, CallInitiator call_initiator) { - GRPC_TRACE_LOG(chaotic_good, INFO) - << "CHAOTIC_GOOD: SendFragment: frame=" << frame.ToString(); // Capture the call_initiator to ensure the underlying call spine is alive // until the outgoing_frames.Send promise completes. return Map(outgoing_frames.Send(std::move(frame)), @@ -145,11 +129,9 @@ auto ChaoticGoodServerTransport::SendFragment( std::move(call_initiator))); } -auto ChaoticGoodServerTransport::SendFragmentAcked( - ServerFragmentFrame frame, MpscSender outgoing_frames, +auto ChaoticGoodServerTransport::SendFrameAcked( + ServerFrame frame, MpscSender outgoing_frames, CallInitiator call_initiator) { - GRPC_TRACE_LOG(chaotic_good, INFO) - << "CHAOTIC_GOOD: SendFragmentAcked: frame=" << frame.ToString(); // Capture the call_initiator to ensure the underlying call spine is alive // until the outgoing_frames.Send promise completes. return Map(outgoing_frames.SendAcked(std::move(frame)), @@ -160,30 +142,16 @@ auto ChaoticGoodServerTransport::SendFragmentAcked( auto ChaoticGoodServerTransport::SendCallBody( uint32_t stream_id, MpscSender outgoing_frames, CallInitiator call_initiator) { - // Continuously send client frame with client to server - // messages. - return ForEach( - OutgoingMessages(call_initiator), - // Capture the call_initiator to ensure the underlying call - // spine is alive until the SendFragment promise completes. - [stream_id, outgoing_frames, call_initiator, - aligned_bytes = aligned_bytes_](MessageHandle message) mutable { - ServerFragmentFrame frame; - // Construct frame header (flags, header_length - // and trailer_length will be added in - // serialization). - const uint32_t message_length = message->payload()->Length(); - const uint32_t padding = - message_length % aligned_bytes == 0 - ? 0 - : aligned_bytes - (message_length % aligned_bytes); - CHECK_EQ((message_length + padding) % aligned_bytes, 0u); - frame.message = - FragmentMessage(std::move(message), padding, message_length); - frame.stream_id = stream_id; - return SendFragmentAcked(std::move(frame), outgoing_frames, - call_initiator); - }); + // Continuously send client frame with client to server messages. + return ForEach(OutgoingMessages(call_initiator), + [this, stream_id, outgoing_frames = std::move(outgoing_frames), + call_initiator](MessageHandle message) mutable { + MessageFrame frame; + frame.message = std::move(message); + frame.stream_id = stream_id; + return SendFrameAcked(std::move(frame), outgoing_frames, + call_initiator); + }); } auto ChaoticGoodServerTransport::SendCallInitialMetadataAndBody( @@ -200,12 +168,11 @@ auto ChaoticGoodServerTransport::SendCallInitialMetadataAndBody( return If( md.has_value(), [&md, stream_id, &outgoing_frames, &call_initiator, this]() { - ServerFragmentFrame frame; - frame.headers = std::move(*md); + ServerInitialMetadataFrame frame; + frame.headers = ServerMetadataProtoFromGrpc(**md); frame.stream_id = stream_id; return TrySeq( - SendFragment(std::move(frame), outgoing_frames, - call_initiator), + SendFrame(std::move(frame), outgoing_frames, call_initiator), SendCallBody(stream_id, outgoing_frames, call_initiator)); }, []() { return absl::OkStatus(); }); @@ -228,62 +195,48 @@ auto ChaoticGoodServerTransport::CallOutboundLoop( call_initiator.PullServerTrailingMetadata(), // Capture the call_initiator to ensure the underlying call_spine // is alive until the SendFragment promise completes. - [stream_id, outgoing_frames, + [this, stream_id, outgoing_frames, call_initiator](ServerMetadataHandle md) mutable { - ServerFragmentFrame frame; - frame.trailers = std::move(md); + ServerTrailingMetadataFrame frame; + frame.trailers = ServerMetadataProtoFromGrpc(*md); frame.stream_id = stream_id; - return SendFragment(std::move(frame), outgoing_frames, - call_initiator); + return SendFrame(std::move(frame), outgoing_frames, call_initiator); })); } -auto ChaoticGoodServerTransport::DeserializeAndPushFragmentToNewCall( - FrameHeader frame_header, BufferPair buffers, - ChaoticGoodTransport& transport) { - ClientFragmentFrame fragment_frame; +absl::Status ChaoticGoodServerTransport::NewStream( + ChaoticGoodTransport& transport, const FrameHeader& header, + SliceBuffer payload) { + CHECK_EQ(header.payload_length, payload.Length()); + auto client_initial_metadata_frame = + transport.DeserializeFrame( + header, std::move(payload)); + if (!client_initial_metadata_frame.ok()) { + return client_initial_metadata_frame.status(); + } + auto md = ClientMetadataGrpcFromProto(client_initial_metadata_frame->headers); + if (!md.ok()) { + return md.status(); + } RefCountedPtr arena(call_arena_allocator_->MakeArena()); arena->SetContext( event_engine_.get()); - absl::Status status = transport.DeserializeFrame( - frame_header, std::move(buffers), arena.get(), fragment_frame, - FrameLimits{1024 * 1024 * 1024, aligned_bytes_ - 1}); absl::optional call_initiator; - if (status.ok()) { - auto call = - MakeCallPair(std::move(fragment_frame.headers), std::move(arena)); - call_initiator.emplace(std::move(call.initiator)); - auto add_result = NewStream(frame_header.stream_id, *call_initiator); - if (add_result.ok()) { - call_initiator->SpawnGuarded( - "server-write", [this, stream_id = frame_header.stream_id, - call_initiator = *call_initiator, - call_handler = std::move(call.handler)]() mutable { - call_destination_->StartCall(std::move(call_handler)); - return CallOutboundLoop(stream_id, call_initiator); - }); - } else { - call_initiator.reset(); - status = add_result; - } + auto call = MakeCallPair(std::move(*md), std::move(arena)); + call_initiator.emplace(std::move(call.initiator)); + const auto stream_id = client_initial_metadata_frame->stream_id; + auto add_result = NewStream(stream_id, *call_initiator); + if (!add_result.ok()) { + call_initiator.reset(); + return add_result; } - return MaybePushFragmentIntoCall(std::move(call_initiator), std::move(status), - std::move(fragment_frame)); -} - -auto ChaoticGoodServerTransport::DeserializeAndPushFragmentToExistingCall( - FrameHeader frame_header, BufferPair buffers, - ChaoticGoodTransport& transport) { - absl::optional call_initiator = - LookupStream(frame_header.stream_id); - Arena* arena = nullptr; - if (call_initiator.has_value()) arena = call_initiator->arena(); - ClientFragmentFrame fragment_frame; - absl::Status status = transport.DeserializeFrame( - frame_header, std::move(buffers), arena, fragment_frame, - FrameLimits{1024 * 1024 * 1024, aligned_bytes_ - 1}); - return MaybePushFragmentIntoCall(std::move(call_initiator), std::move(status), - std::move(fragment_frame)); + call_initiator->SpawnGuarded( + "server-write", [this, stream_id, call_initiator = *call_initiator, + call_handler = std::move(call.handler)]() mutable { + call_destination_->StartCall(std::move(call_handler)); + return CallOutboundLoop(stream_id, call_initiator); + }); + return absl::OkStatus(); } auto ChaoticGoodServerTransport::ReadOneFrame(ChaoticGoodTransport& transport) { @@ -292,51 +245,46 @@ auto ChaoticGoodServerTransport::ReadOneFrame(ChaoticGoodTransport& transport) { TrySeq( transport.ReadFrameBytes(), [this, transport = &transport]( - std::tuple frame_bytes) { - const auto& frame_header = std::get<0>(frame_bytes); - auto& buffers = std::get<1>(frame_bytes); + std::tuple frame_bytes) { + const auto& header = std::get<0>(frame_bytes); + SliceBuffer& payload = std::get<1>(frame_bytes); + CHECK_EQ(header.payload_length, payload.Length()); return Switch( - frame_header.type, - Case(FrameType::kSettings, - []() -> absl::Status { - return absl::InternalError("Unexpected settings frame"); - }), - Case(FrameType::kFragment, - [this, &frame_header, &buffers, transport]() { - return If( - frame_header.flags.is_set(0), - [this, &frame_header, &buffers, transport]() { - return DeserializeAndPushFragmentToNewCall( - frame_header, std::move(buffers), *transport); - }, - [this, &frame_header, &buffers, transport]() { - return DeserializeAndPushFragmentToExistingCall( - frame_header, std::move(buffers), *transport); - }); - }), - Case(FrameType::kCancel, - [this, &frame_header]() { - absl::optional call_initiator = - ExtractStream(frame_header.stream_id); - GRPC_TRACE_LOG(chaotic_good, INFO) - << "Cancel stream " << frame_header.stream_id - << (call_initiator.has_value() ? " (active)" - : " (not found)"); - return If( - call_initiator.has_value(), - [&call_initiator]() { - auto c = std::move(*call_initiator); - return c.SpawnWaitable("cancel", [c]() mutable { - c.Cancel(); - return absl::OkStatus(); - }); - }, - []() -> absl::Status { return absl::OkStatus(); }); - }), - Default([frame_header]() { + header.type, + Case([&, this]() { + return Immediate( + NewStream(*transport, header, std::move(payload))); + }), + Case([&, this]() { + return DispatchFrame(*transport, header, + std::move(payload)); + }), + Case([&, this]() { + return DispatchFrame(*transport, header, + std::move(payload)); + }), + Case([&, this]() { + absl::optional call_initiator = + ExtractStream(header.stream_id); + GRPC_TRACE_LOG(chaotic_good, INFO) + << "Cancel stream " << header.stream_id + << (call_initiator.has_value() ? " (active)" + : " (not found)"); + return If( + call_initiator.has_value(), + [&call_initiator]() { + auto c = std::move(*call_initiator); + return c.SpawnWaitable("cancel", [c]() mutable { + c.Cancel(); + return absl::OkStatus(); + }); + }, + []() -> absl::Status { return absl::OkStatus(); }); + }), + Default([&]() { return absl::InternalError( absl::StrCat("Unexpected frame type: ", - static_cast(frame_header.type))); + static_cast(header.type))); })); }, []() -> LoopCtl { return Continue{}; })); @@ -364,8 +312,7 @@ auto ChaoticGoodServerTransport::OnTransportActivityDone( ChaoticGoodServerTransport::ChaoticGoodServerTransport( const ChannelArgs& args, PromiseEndpoint control_endpoint, PromiseEndpoint data_endpoint, - std::shared_ptr event_engine, - HPackParser hpack_parser, HPackCompressor hpack_encoder) + std::shared_ptr event_engine) : call_arena_allocator_(MakeRefCounted( args.GetObject() ->memory_quota() @@ -373,9 +320,12 @@ ChaoticGoodServerTransport::ChaoticGoodServerTransport( 1024)), event_engine_(event_engine), outgoing_frames_(4) { + ChaoticGoodTransport::Options options; + options.inlined_payload_size_threshold = + args.GetInt("grpc.chaotic_good.inlined_payload_size_threshold") + .value_or(options.inlined_payload_size_threshold); auto transport = MakeRefCounted( - std::move(control_endpoint), std::move(data_endpoint), - std::move(hpack_parser), std::move(hpack_encoder)); + std::move(control_endpoint), std::move(data_endpoint), options); auto party_arena = SimpleArenaAllocator(0)->MakeArena(); party_arena->SetContext( event_engine.get()); diff --git a/src/core/ext/transport/chaotic_good/server_transport.h b/src/core/ext/transport/chaotic_good/server_transport.h index d1b8f217ae6..e5b7f36e752 100644 --- a/src/core/ext/transport/chaotic_good/server_transport.h +++ b/src/core/ext/transport/chaotic_good/server_transport.h @@ -45,8 +45,6 @@ #include "src/core/ext/transport/chaotic_good/chaotic_good_transport.h" #include "src/core/ext/transport/chaotic_good/frame.h" #include "src/core/ext/transport/chaotic_good/frame_header.h" -#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h" -#include "src/core/ext/transport/chttp2/transport/hpack_parser.h" #include "src/core/lib/event_engine/default_event_engine.h" // IWYU pragma: keep #include "src/core/lib/promise/activity.h" #include "src/core/lib/promise/context.h" @@ -81,8 +79,7 @@ class ChaoticGoodServerTransport final : public ServerTransport { const ChannelArgs& args, PromiseEndpoint control_endpoint, PromiseEndpoint data_endpoint, std::shared_ptr - event_engine, - HPackParser hpack_parser, HPackCompressor hpack_encoder); + event_engine); FilterStackTransport* filter_stack_transport() override { return nullptr; } ClientTransport* client_transport() override { return nullptr; } @@ -108,12 +105,6 @@ class ChaoticGoodServerTransport final : public ServerTransport { CallInitiator call_initiator); auto SendCallBody(uint32_t stream_id, MpscSender outgoing_frames, CallInitiator call_initiator); - static auto SendFragment(ServerFragmentFrame frame, - MpscSender outgoing_frames, - CallInitiator call_initiator); - static auto SendFragmentAcked(ServerFragmentFrame frame, - MpscSender outgoing_frames, - CallInitiator call_initiator); auto CallOutboundLoop(uint32_t stream_id, CallInitiator call_initiator); auto OnTransportActivityDone(absl::string_view activity); auto TransportReadLoop(RefCountedPtr transport); @@ -130,10 +121,19 @@ class ChaoticGoodServerTransport final : public ServerTransport { auto DeserializeAndPushFragmentToExistingCall( FrameHeader frame_header, BufferPair buffers, ChaoticGoodTransport& transport); - auto MaybePushFragmentIntoCall(absl::optional call_initiator, - absl::Status error, ClientFragmentFrame frame); - auto PushFragmentIntoCall(CallInitiator call_initiator, - ClientFragmentFrame frame); + absl::Status NewStream(ChaoticGoodTransport& transport, + const FrameHeader& header, + SliceBuffer initial_metadata_payload); + template + auto DispatchFrame(ChaoticGoodTransport& transport, const FrameHeader& header, + SliceBuffer payload); + auto PushFrameIntoCall(CallInitiator call_initiator, MessageFrame frame); + auto PushFrameIntoCall(CallInitiator call_initiator, ClientEndOfStream frame); + auto SendFrame(ServerFrame frame, MpscSender outgoing_frames, + CallInitiator call_initiator); + auto SendFrameAcked(ServerFrame frame, + MpscSender outgoing_frames, + CallInitiator call_initiator); RefCountedPtr call_destination_; const RefCountedPtr call_arena_allocator_; @@ -141,8 +141,6 @@ class ChaoticGoodServerTransport final : public ServerTransport { event_engine_; InterActivityLatch got_acceptor_; MpscReceiver outgoing_frames_; - // Assigned aligned bytes from setting frame. - size_t aligned_bytes_ = 64; Mutex mu_; // Map of stream incoming server frames, key is stream_id. StreamMap stream_map_ ABSL_GUARDED_BY(mu_); diff --git a/src/core/ext/transport/chaotic_good/settings_metadata.cc b/src/core/ext/transport/chaotic_good/settings_metadata.cc deleted file mode 100644 index a3b8c5642d3..00000000000 --- a/src/core/ext/transport/chaotic_good/settings_metadata.cc +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2024 gRPC authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "src/core/ext/transport/chaotic_good/settings_metadata.h" - -#include - -#include "absl/status/status.h" -#include "src/core/util/crash.h" - -namespace grpc_core { -namespace chaotic_good { - -Arena::PoolPtr SettingsMetadata::ToMetadataBatch() { - auto md = Arena::MakePooledForOverwrite(); - auto add = [&md](absl::string_view key, std::string value) { - md->Append(key, Slice::FromCopiedString(value), - [key, value](absl::string_view error, const Slice&) { - Crash(absl::StrCat("Failed to add metadata '", key, "' = '", - value, "': ", error)); - }); - }; - if (connection_type.has_value()) { - add("chaotic-good-connection-type", - connection_type.value() == ConnectionType::kControl ? "control" - : "data"); - } - if (connection_id.has_value()) { - add("chaotic-good-connection-id", connection_id.value()); - } - if (alignment.has_value()) { - add("chaotic-good-alignment", absl::StrCat(alignment.value())); - } - return md; -} - -absl::StatusOr SettingsMetadata::FromMetadataBatch( - const grpc_metadata_batch& batch) { - SettingsMetadata md; - std::string buffer; - auto v = batch.GetStringValue("chaotic-good-connection-type", &buffer); - if (v.has_value()) { - if (*v == "control") { - md.connection_type = ConnectionType::kControl; - } else if (*v == "data") { - md.connection_type = ConnectionType::kData; - } else { - return absl::UnavailableError( - absl::StrCat("Invalid connection type: ", *v)); - } - } - v = batch.GetStringValue("chaotic-good-connection-id", &buffer); - if (v.has_value()) { - md.connection_id = std::string(*v); - } - v = batch.GetStringValue("chaotic-good-alignment", &buffer); - if (v.has_value()) { - uint32_t alignment; - if (!absl::SimpleAtoi(*v, &alignment)) { - return absl::UnavailableError(absl::StrCat("Invalid alignment: ", *v)); - } - md.alignment = alignment; - } - return md; -} - -} // namespace chaotic_good -} // namespace grpc_core diff --git a/src/core/ext/transport/chaotic_good/settings_metadata.h b/src/core/ext/transport/chaotic_good/settings_metadata.h deleted file mode 100644 index 81b5fca4f21..00000000000 --- a/src/core/ext/transport/chaotic_good/settings_metadata.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2024 gRPC authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef GRPC_SRC_CORE_EXT_TRANSPORT_CHAOTIC_GOOD_SETTINGS_METADATA_H -#define GRPC_SRC_CORE_EXT_TRANSPORT_CHAOTIC_GOOD_SETTINGS_METADATA_H - -#include - -#include "absl/types/optional.h" -#include "src/core/lib/resource_quota/arena.h" -#include "src/core/lib/transport/metadata_batch.h" - -namespace grpc_core { -namespace chaotic_good { - -// Captures metadata sent in a chaotic good settings frame. -struct SettingsMetadata { - enum class ConnectionType { - kControl, - kData, - }; - absl::optional connection_type; - absl::optional connection_id; - absl::optional alignment; - - Arena::PoolPtr ToMetadataBatch(); - static absl::StatusOr FromMetadataBatch( - const grpc_metadata_batch& batch); -}; - -} // namespace chaotic_good -} // namespace grpc_core - -#endif // GRPC_SRC_CORE_EXT_TRANSPORT_CHAOTIC_GOOD_SETTINGS_METADATA_H diff --git a/src/core/ext/transport/chaotic_good_legacy/server_transport.cc b/src/core/ext/transport/chaotic_good_legacy/server_transport.cc index 7d6be8ce548..de9d7713bac 100644 --- a/src/core/ext/transport/chaotic_good_legacy/server_transport.cc +++ b/src/core/ext/transport/chaotic_good_legacy/server_transport.cc @@ -297,42 +297,40 @@ auto ChaoticGoodServerTransport::ReadOneFrame(ChaoticGoodTransport& transport) { auto& buffers = std::get<1>(frame_bytes); return Switch( frame_header.type, - Case(FrameType::kSettings, - []() -> absl::Status { - return absl::InternalError("Unexpected settings frame"); - }), - Case(FrameType::kFragment, - [this, &frame_header, &buffers, transport]() { - return If( - frame_header.flags.is_set(0), - [this, &frame_header, &buffers, transport]() { - return DeserializeAndPushFragmentToNewCall( - frame_header, std::move(buffers), *transport); - }, - [this, &frame_header, &buffers, transport]() { - return DeserializeAndPushFragmentToExistingCall( - frame_header, std::move(buffers), *transport); - }); - }), - Case(FrameType::kCancel, - [this, &frame_header]() { - absl::optional call_initiator = - ExtractStream(frame_header.stream_id); - GRPC_TRACE_LOG(chaotic_good, INFO) - << "Cancel stream " << frame_header.stream_id - << (call_initiator.has_value() ? " (active)" - : " (not found)"); - return If( - call_initiator.has_value(), - [&call_initiator]() { - auto c = std::move(*call_initiator); - return c.SpawnWaitable("cancel", [c]() mutable { - c.Cancel(); - return absl::OkStatus(); - }); - }, - []() -> absl::Status { return absl::OkStatus(); }); - }), + Case([]() -> absl::Status { + return absl::InternalError("Unexpected settings frame"); + }), + Case( + [this, &frame_header, &buffers, transport]() { + return If( + frame_header.flags.is_set(0), + [this, &frame_header, &buffers, transport]() { + return DeserializeAndPushFragmentToNewCall( + frame_header, std::move(buffers), *transport); + }, + [this, &frame_header, &buffers, transport]() { + return DeserializeAndPushFragmentToExistingCall( + frame_header, std::move(buffers), *transport); + }); + }), + Case([this, &frame_header]() { + absl::optional call_initiator = + ExtractStream(frame_header.stream_id); + GRPC_TRACE_LOG(chaotic_good, INFO) + << "Cancel stream " << frame_header.stream_id + << (call_initiator.has_value() ? " (active)" + : " (not found)"); + return If( + call_initiator.has_value(), + [&call_initiator]() { + auto c = std::move(*call_initiator); + return c.SpawnWaitable("cancel", [c]() mutable { + c.Cancel(); + return absl::OkStatus(); + }); + }, + []() -> absl::Status { return absl::OkStatus(); }); + }), Default([frame_header]() { return absl::InternalError( absl::StrCat("Unexpected frame type: ", diff --git a/src/core/lib/experiments/experiments.cc b/src/core/lib/experiments/experiments.cc index a6ac29e2fee..558f4db0e45 100644 --- a/src/core/lib/experiments/experiments.cc +++ b/src/core/lib/experiments/experiments.cc @@ -86,6 +86,18 @@ const char* const additional_constraints_multiping = "{}"; const char* const description_pick_first_new = "New pick_first impl with memory reduction."; const char* const additional_constraints_pick_first_new = "{}"; +const char* const description_promise_based_http2_client_transport = + "Use promises for the http2 client transport. We have kept client and " + "server transport experiments separate to help with smoother roll outs and " + "also help with interop testing."; +const char* const additional_constraints_promise_based_http2_client_transport = + "{}"; +const char* const description_promise_based_http2_server_transport = + "Use promises for the http2 server transport. We have kept client and " + "server transport experiments separate to help with smoother roll outs and " + "also help with interop testing."; +const char* const additional_constraints_promise_based_http2_server_transport = + "{}"; const char* const description_promise_based_inproc_transport = "Use promises for the in-process transport."; const char* const additional_constraints_promise_based_inproc_transport = "{}"; @@ -172,6 +184,14 @@ const ExperimentMetadata g_experiment_metadata[] = { nullptr, 0, false, true}, {"pick_first_new", description_pick_first_new, additional_constraints_pick_first_new, nullptr, 0, true, true}, + {"promise_based_http2_client_transport", + description_promise_based_http2_client_transport, + additional_constraints_promise_based_http2_client_transport, nullptr, 0, + false, true}, + {"promise_based_http2_server_transport", + description_promise_based_http2_server_transport, + additional_constraints_promise_based_http2_server_transport, nullptr, 0, + false, true}, {"promise_based_inproc_transport", description_promise_based_inproc_transport, additional_constraints_promise_based_inproc_transport, nullptr, 0, false, @@ -197,7 +217,7 @@ const ExperimentMetadata g_experiment_metadata[] = { additional_constraints_unconstrained_max_quota_buffer_size, nullptr, 0, false, true}, {"work_serializer_dispatch", description_work_serializer_dispatch, - additional_constraints_work_serializer_dispatch, nullptr, 0, false, true}, + additional_constraints_work_serializer_dispatch, nullptr, 0, true, true}, }; } // namespace grpc_core @@ -267,6 +287,18 @@ const char* const additional_constraints_multiping = "{}"; const char* const description_pick_first_new = "New pick_first impl with memory reduction."; const char* const additional_constraints_pick_first_new = "{}"; +const char* const description_promise_based_http2_client_transport = + "Use promises for the http2 client transport. We have kept client and " + "server transport experiments separate to help with smoother roll outs and " + "also help with interop testing."; +const char* const additional_constraints_promise_based_http2_client_transport = + "{}"; +const char* const description_promise_based_http2_server_transport = + "Use promises for the http2 server transport. We have kept client and " + "server transport experiments separate to help with smoother roll outs and " + "also help with interop testing."; +const char* const additional_constraints_promise_based_http2_server_transport = + "{}"; const char* const description_promise_based_inproc_transport = "Use promises for the in-process transport."; const char* const additional_constraints_promise_based_inproc_transport = "{}"; @@ -353,6 +385,14 @@ const ExperimentMetadata g_experiment_metadata[] = { nullptr, 0, false, true}, {"pick_first_new", description_pick_first_new, additional_constraints_pick_first_new, nullptr, 0, true, true}, + {"promise_based_http2_client_transport", + description_promise_based_http2_client_transport, + additional_constraints_promise_based_http2_client_transport, nullptr, 0, + false, true}, + {"promise_based_http2_server_transport", + description_promise_based_http2_server_transport, + additional_constraints_promise_based_http2_server_transport, nullptr, 0, + false, true}, {"promise_based_inproc_transport", description_promise_based_inproc_transport, additional_constraints_promise_based_inproc_transport, nullptr, 0, false, @@ -378,7 +418,7 @@ const ExperimentMetadata g_experiment_metadata[] = { additional_constraints_unconstrained_max_quota_buffer_size, nullptr, 0, false, true}, {"work_serializer_dispatch", description_work_serializer_dispatch, - additional_constraints_work_serializer_dispatch, nullptr, 0, false, true}, + additional_constraints_work_serializer_dispatch, nullptr, 0, true, true}, }; } // namespace grpc_core @@ -448,6 +488,18 @@ const char* const additional_constraints_multiping = "{}"; const char* const description_pick_first_new = "New pick_first impl with memory reduction."; const char* const additional_constraints_pick_first_new = "{}"; +const char* const description_promise_based_http2_client_transport = + "Use promises for the http2 client transport. We have kept client and " + "server transport experiments separate to help with smoother roll outs and " + "also help with interop testing."; +const char* const additional_constraints_promise_based_http2_client_transport = + "{}"; +const char* const description_promise_based_http2_server_transport = + "Use promises for the http2 server transport. We have kept client and " + "server transport experiments separate to help with smoother roll outs and " + "also help with interop testing."; +const char* const additional_constraints_promise_based_http2_server_transport = + "{}"; const char* const description_promise_based_inproc_transport = "Use promises for the in-process transport."; const char* const additional_constraints_promise_based_inproc_transport = "{}"; @@ -534,6 +586,14 @@ const ExperimentMetadata g_experiment_metadata[] = { nullptr, 0, false, true}, {"pick_first_new", description_pick_first_new, additional_constraints_pick_first_new, nullptr, 0, true, true}, + {"promise_based_http2_client_transport", + description_promise_based_http2_client_transport, + additional_constraints_promise_based_http2_client_transport, nullptr, 0, + false, true}, + {"promise_based_http2_server_transport", + description_promise_based_http2_server_transport, + additional_constraints_promise_based_http2_server_transport, nullptr, 0, + false, true}, {"promise_based_inproc_transport", description_promise_based_inproc_transport, additional_constraints_promise_based_inproc_transport, nullptr, 0, false, diff --git a/src/core/lib/experiments/experiments.h b/src/core/lib/experiments/experiments.h index 84089d39a8c..27704348ca5 100644 --- a/src/core/lib/experiments/experiments.h +++ b/src/core/lib/experiments/experiments.h @@ -79,6 +79,8 @@ inline bool IsMonitoringExperimentEnabled() { return true; } inline bool IsMultipingEnabled() { return false; } #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW inline bool IsPickFirstNewEnabled() { return true; } +inline bool IsPromiseBasedHttp2ClientTransportEnabled() { return false; } +inline bool IsPromiseBasedHttp2ServerTransportEnabled() { return false; } inline bool IsPromiseBasedInprocTransportEnabled() { return false; } inline bool IsRqFastRejectEnabled() { return false; } inline bool IsScheduleCancellationOverWriteEnabled() { return false; } @@ -90,7 +92,8 @@ inline bool IsTimeCachingInPartyEnabled() { return true; } #define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS inline bool IsTraceRecordCallopsEnabled() { return true; } inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; } -inline bool IsWorkSerializerDispatchEnabled() { return false; } +#define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_DISPATCH +inline bool IsWorkSerializerDispatchEnabled() { return true; } #elif defined(GPR_WINDOWS) #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT @@ -118,6 +121,8 @@ inline bool IsMonitoringExperimentEnabled() { return true; } inline bool IsMultipingEnabled() { return false; } #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW inline bool IsPickFirstNewEnabled() { return true; } +inline bool IsPromiseBasedHttp2ClientTransportEnabled() { return false; } +inline bool IsPromiseBasedHttp2ServerTransportEnabled() { return false; } inline bool IsPromiseBasedInprocTransportEnabled() { return false; } inline bool IsRqFastRejectEnabled() { return false; } inline bool IsScheduleCancellationOverWriteEnabled() { return false; } @@ -129,7 +134,8 @@ inline bool IsTimeCachingInPartyEnabled() { return true; } #define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS inline bool IsTraceRecordCallopsEnabled() { return true; } inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; } -inline bool IsWorkSerializerDispatchEnabled() { return false; } +#define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_DISPATCH +inline bool IsWorkSerializerDispatchEnabled() { return true; } #else #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT @@ -157,6 +163,8 @@ inline bool IsMonitoringExperimentEnabled() { return true; } inline bool IsMultipingEnabled() { return false; } #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW inline bool IsPickFirstNewEnabled() { return true; } +inline bool IsPromiseBasedHttp2ClientTransportEnabled() { return false; } +inline bool IsPromiseBasedHttp2ServerTransportEnabled() { return false; } inline bool IsPromiseBasedInprocTransportEnabled() { return false; } inline bool IsRqFastRejectEnabled() { return false; } inline bool IsScheduleCancellationOverWriteEnabled() { return false; } @@ -191,6 +199,8 @@ enum ExperimentIds { kExperimentIdMonitoringExperiment, kExperimentIdMultiping, kExperimentIdPickFirstNew, + kExperimentIdPromiseBasedHttp2ClientTransport, + kExperimentIdPromiseBasedHttp2ServerTransport, kExperimentIdPromiseBasedInprocTransport, kExperimentIdRqFastReject, kExperimentIdScheduleCancellationOverWrite, @@ -272,6 +282,14 @@ inline bool IsMultipingEnabled() { inline bool IsPickFirstNewEnabled() { return IsExperimentEnabled(); } +#define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_HTTP2_CLIENT_TRANSPORT +inline bool IsPromiseBasedHttp2ClientTransportEnabled() { + return IsExperimentEnabled(); +} +#define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_HTTP2_SERVER_TRANSPORT +inline bool IsPromiseBasedHttp2ServerTransportEnabled() { + return IsExperimentEnabled(); +} #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_INPROC_TRANSPORT inline bool IsPromiseBasedInprocTransportEnabled() { return IsExperimentEnabled(); diff --git a/src/core/lib/experiments/experiments.yaml b/src/core/lib/experiments/experiments.yaml index f81ed50cf78..4b846399d0f 100644 --- a/src/core/lib/experiments/experiments.yaml +++ b/src/core/lib/experiments/experiments.yaml @@ -141,6 +141,24 @@ expiry: 2025/03/01 owner: roth@google.com test_tags: ["lb_unit_test", "cpp_lb_end2end_test", "xds_end2end_test"] +- name: promise_based_http2_client_transport + description: + Use promises for the http2 client transport. We have kept client and + server transport experiments separate to help with smoother roll outs + and also help with interop testing. + expiry: 2025/06/03 + owner: tjagtap@google.com + test_tags: [] + allow_in_fuzzing_config: true +- name: promise_based_http2_server_transport + description: + Use promises for the http2 server transport. We have kept client and + server transport experiments separate to help with smoother roll outs + and also help with interop testing. + expiry: 2025/06/03 + owner: tjagtap@google.com + test_tags: [] + allow_in_fuzzing_config: true - name: promise_based_inproc_transport description: Use promises for the in-process transport. diff --git a/src/core/lib/experiments/rollouts.yaml b/src/core/lib/experiments/rollouts.yaml index e86499aa7a5..5b0ecdb1564 100644 --- a/src/core/lib/experiments/rollouts.yaml +++ b/src/core/lib/experiments/rollouts.yaml @@ -94,6 +94,10 @@ ios: broken windows: broken posix: false +- name: promise_based_http2_client_transport + default: false +- name: promise_based_http2_server_transport + default: false - name: rstpit default: false - name: schedule_cancellation_over_write @@ -113,9 +117,4 @@ - name: work_serializer_clears_time_cache default: true - name: work_serializer_dispatch - default: - # TODO(ysseung): Not fully tested. - ios: broken - posix: true - # TODO(ysseung): Test flakes not fully resolved. - windows: broken + default: true diff --git a/src/core/lib/promise/detail/promise_variant.h b/src/core/lib/promise/detail/promise_variant.h new file mode 100644 index 00000000000..70f1240d43d --- /dev/null +++ b/src/core/lib/promise/detail/promise_variant.h @@ -0,0 +1,50 @@ +// Copyright 2024 gRPC authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef GRPC_SRC_CORE_LIB_PROMISE_DETAIL_PROMISE_VARIANT_H +#define GRPC_SRC_CORE_LIB_PROMISE_DETAIL_PROMISE_VARIANT_H + +#include "absl/types/variant.h" + +namespace grpc_core { + +namespace promise_detail { + +// Visitor function for PromiseVariant - calls the poll operator on the inner +// type +class PollVisitor { + public: + template + auto operator()(T& x) { + return x(); + } +}; + +// Helper type - given a variant V, provides the poll operator (which simply +// visits the inner type on the variant with PollVisitor) +template +class PromiseVariant { + public: + explicit PromiseVariant(V variant) : variant_(std::move(variant)) {} + auto operator()() { return absl::visit(PollVisitor(), variant_); } + + private: + V variant_; +}; + +} // namespace promise_detail + +} // namespace grpc_core + +#endif // GRPC_SRC_CORE_LIB_PROMISE_DETAIL_PROMISE_VARIANT_H diff --git a/src/core/lib/promise/match_promise.h b/src/core/lib/promise/match_promise.h index f92457137ed..ebcd0c1f4be 100644 --- a/src/core/lib/promise/match_promise.h +++ b/src/core/lib/promise/match_promise.h @@ -18,6 +18,7 @@ #include "absl/types/variant.h" #include "src/core/lib/promise/detail/promise_factory.h" #include "src/core/lib/promise/detail/promise_like.h" +#include "src/core/lib/promise/detail/promise_variant.h" #include "src/core/util/overload.h" namespace grpc_core { @@ -56,28 +57,6 @@ struct ConstructPromiseVariantVisitor { } }; -// Visitor function for PromiseVariant - calls the poll operator on the inner -// type -class PollVisitor { - public: - template - auto operator()(T& x) { - return x(); - } -}; - -// Helper type - given a variant V, provides the poll operator (which simply -// visits the inner type on the variant with PollVisitor) -template -class PromiseVariant { - public: - explicit PromiseVariant(V variant) : variant_(std::move(variant)) {} - auto operator()() { return absl::visit(PollVisitor(), variant_); } - - private: - V variant_; -}; - } // namespace promise_detail // Match for promises diff --git a/src/core/lib/promise/status_flag.h b/src/core/lib/promise/status_flag.h index 1152694b1f0..02b203f28f7 100644 --- a/src/core/lib/promise/status_flag.h +++ b/src/core/lib/promise/status_flag.h @@ -55,6 +55,13 @@ struct StatusCastImpl { } }; +template <> +struct StatusCastImpl { + GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION static absl::Status Cast(Success) { + return absl::OkStatus(); + } +}; + template <> struct StatusCastImpl { GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION static absl::Status Cast(Success) { diff --git a/src/core/lib/promise/switch.h b/src/core/lib/promise/switch.h index 1bb05507ef2..7e09d73758b 100644 --- a/src/core/lib/promise/switch.h +++ b/src/core/lib/promise/switch.h @@ -21,26 +21,54 @@ #include #include "src/core/lib/promise/detail/promise_factory.h" +#include "src/core/lib/promise/detail/promise_variant.h" #include "src/core/lib/promise/if.h" +#include "src/core/util/crash.h" namespace grpc_core { namespace promise_detail { -template +template struct Case { - D discriminator; - F factory; + using Factory = OncePromiseFactory; + explicit Case(F f) : factory(std::move(f)) {} + Factory factory; + static bool Matches(D value) { return value == discriminator; } }; template struct Default { - F factory; + using Factory = OncePromiseFactory; + explicit Default(F f) : factory(std::move(f)) {} + Factory factory; }; + +template +Promise ConstructSwitchPromise(D, Default& def) { + return def.factory.Make(); +} + +template +Promise ConstructSwitchPromise(D discriminator, Case& c, OtherCases&... cs) { + if (Case::Matches(discriminator)) return c.factory.Make(); + return ConstructSwitchPromise(discriminator, cs...); +} + +template +auto SwitchImpl(D discriminator, Cases&... cases) { + using Promise = absl::variant; + return PromiseVariant( + ConstructSwitchPromise(discriminator, cases...)); +} + } // namespace promise_detail -template -auto Case(D discriminator, PromiseFactory f) { - return promise_detail::Case{discriminator, std::move(f)}; +// TODO(ctiller): when we have C++17, make this +// template . +// (this way we don't need to list the type on /every/ case) +template +auto Case(PromiseFactory f) { + return promise_detail::Case{std::move(f)}; } template @@ -55,16 +83,9 @@ auto Default(PromiseFactory f) { // resolves to 43. // TODO(ctiller): consider writing a code-generator like we do for seq/join // so that this lowers into a C switch statement. -template -auto Switch(D, promise_detail::Default def) { - return promise_detail::OncePromiseFactory(std::move(def.factory)) - .Make(); -} - -template -auto Switch(D discriminator, promise_detail::Case c, Others... others) { - return If(discriminator == c.discriminator, std::move(c.factory), - Switch(discriminator, std::move(others)...)); +template +auto Switch(D discriminator, C... cases) { + return promise_detail::SwitchImpl(discriminator, cases...); } } // namespace grpc_core diff --git a/src/core/lib/slice/slice_buffer.cc b/src/core/lib/slice/slice_buffer.cc index 37be00ec16c..7bb88f2d549 100644 --- a/src/core/lib/slice/slice_buffer.cc +++ b/src/core/lib/slice/slice_buffer.cc @@ -441,6 +441,7 @@ void grpc_slice_buffer_copy_first_into_buffer(grpc_slice_buffer* src, size_t n, template void grpc_slice_buffer_trim_end_impl(grpc_slice_buffer* sb, size_t n, grpc_slice_buffer* garbage) { + if (n == 0) return; CHECK(n <= sb->length); sb->length -= n; for (;;) { diff --git a/src/core/util/http_client/httpcli.cc b/src/core/util/http_client/httpcli.cc index 0eb2292d9b1..20e77682c81 100644 --- a/src/core/util/http_client/httpcli.cc +++ b/src/core/util/http_client/httpcli.cc @@ -79,8 +79,9 @@ OrphanablePtr HttpRequest::Get( } std::string name = absl::StrFormat("HTTP:GET:%s:%s", uri.authority(), uri.path()); - const grpc_slice request_text = grpc_httpcli_format_get_request( - request, uri.authority().c_str(), uri.path().c_str()); + const grpc_slice request_text = + grpc_httpcli_format_get_request(request, uri.authority().c_str(), + uri.EncodedPathAndQueryParams().c_str()); return MakeOrphanable( std::move(uri), request_text, response, deadline, channel_args, on_done, pollent, name.c_str(), std::move(test_only_generate_response), @@ -103,8 +104,9 @@ OrphanablePtr HttpRequest::Post( } std::string name = absl::StrFormat("HTTP:POST:%s:%s", uri.authority(), uri.path()); - const grpc_slice request_text = grpc_httpcli_format_post_request( - request, uri.authority().c_str(), uri.path().c_str()); + const grpc_slice request_text = + grpc_httpcli_format_post_request(request, uri.authority().c_str(), + uri.EncodedPathAndQueryParams().c_str()); return MakeOrphanable( std::move(uri), request_text, response, deadline, channel_args, on_done, pollent, name.c_str(), std::move(test_only_generate_response), @@ -127,8 +129,9 @@ OrphanablePtr HttpRequest::Put( } std::string name = absl::StrFormat("HTTP:PUT:%s:%s", uri.authority(), uri.path()); - const grpc_slice request_text = grpc_httpcli_format_put_request( - request, uri.authority().c_str(), uri.path().c_str()); + const grpc_slice request_text = + grpc_httpcli_format_put_request(request, uri.authority().c_str(), + uri.EncodedPathAndQueryParams().c_str()); return MakeOrphanable( std::move(uri), request_text, response, deadline, channel_args, on_done, pollent, name.c_str(), std::move(test_only_generate_response), @@ -241,6 +244,8 @@ void HttpRequest::AppendError(grpc_error_handle error) { void HttpRequest::OnReadInternal(grpc_error_handle error) { for (size_t i = 0; i < incoming_.count; i++) { + GRPC_TRACE_LOG(http1, INFO) + << "HTTP response data: " << StringViewFromSlice(incoming_.slices[i]); if (GRPC_SLICE_LENGTH(incoming_.slices[i])) { have_read_byte_ = 1; grpc_error_handle err = @@ -275,6 +280,8 @@ void HttpRequest::ContinueDoneWriteAfterScheduleOnExecCtx( } void HttpRequest::StartWrite() { + GRPC_TRACE_LOG(http1, INFO) + << "Sending HTTP1 request: " << StringViewFromSlice(request_text_); CSliceRef(request_text_); grpc_slice_buffer_add(&outgoing_, request_text_); Ref().release(); // ref held by pending write diff --git a/src/core/util/uri.cc b/src/core/util/uri.cc index e6a94e57173..e7b82242abc 100644 --- a/src/core/util/uri.cc +++ b/src/core/util/uri.cc @@ -352,6 +352,16 @@ std::string URI::ToString() const { parts.emplace_back("//"); parts.emplace_back(PercentEncode(authority_, IsAuthorityChar)); } + parts.emplace_back(EncodedPathAndQueryParams()); + if (!fragment_.empty()) { + parts.push_back("#"); + parts.push_back(PercentEncode(fragment_, IsQueryOrFragmentChar)); + } + return absl::StrJoin(parts, ""); +} + +std::string URI::EncodedPathAndQueryParams() const { + std::vector parts; if (!path_.empty()) { parts.emplace_back(PercentEncode(path_, IsPathChar)); } @@ -360,10 +370,6 @@ std::string URI::ToString() const { parts.push_back( absl::StrJoin(query_parameter_pairs_, "&", QueryParameterFormatter())); } - if (!fragment_.empty()) { - parts.push_back("#"); - parts.push_back(PercentEncode(fragment_, IsQueryOrFragmentChar)); - } return absl::StrJoin(parts, ""); } diff --git a/src/core/util/uri.h b/src/core/util/uri.h index 14e9274eaa8..3f9dc7d1b25 100644 --- a/src/core/util/uri.h +++ b/src/core/util/uri.h @@ -76,7 +76,7 @@ class URI { return query_parameter_map_; } // A vector of key:value query parameter pairs, kept in order of appearance - // within the URI search string. Repeated keys are represented as separate + // within the URI string. Repeated keys are represented as separate // key:value elements. const std::vector& query_parameter_pairs() const { return query_parameter_pairs_; @@ -85,6 +85,10 @@ class URI { std::string ToString() const; + // Returns the encoded path and query params, such as would be used on + // the wire in an HTTP request. + std::string EncodedPathAndQueryParams() const; + private: URI(std::string scheme, std::string authority, std::string path, std::vector query_parameter_pairs, std::string fragment); diff --git a/src/python/grpcio/_parallel_compile_patch.py b/src/python/grpcio/_parallel_compile_patch.py index 9c98aa92436..e91dee1eb0a 100644 --- a/src/python/grpcio/_parallel_compile_patch.py +++ b/src/python/grpcio/_parallel_compile_patch.py @@ -18,7 +18,7 @@ # instead. This file can be regenerated from the template by running # `tools/buildgen/generate_projects.sh`. -"""Patches the compile() to allow enable parallel compilation of C/C++. +"""Patches the compile() to enable parallel compilation of C/C++. build_ext has lots of C/C++ files and normally them one by one. Enabling parallel build helps a lot. diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py index 0ceb0546a99..4673157fc9f 100644 --- a/src/python/grpcio/commands.py +++ b/src/python/grpcio/commands.py @@ -273,7 +273,7 @@ class BuildExt(build_ext.build_ext): # behavior in gcc and clang. The clang doesn't take --stdc++11 # flags but gcc does. Since the setuptools of Python only support # all C or all C++ compilation, the mix of C and C++ will crash. - # *By default*, macOS and FreBSD use clang and Linux use gcc + # *By default*, macOS and FreeBSD use clang and Linux use gcc # # If we are not using a permissive compiler that's OK with being # passed wrong std flags, swap out compile function by adding a filter diff --git a/src/python/grpcio/grpc/__init__.py b/src/python/grpcio/grpc/__init__.py index 8e1fb2631ad..067f66693f3 100644 --- a/src/python/grpcio/grpc/__init__.py +++ b/src/python/grpcio/grpc/__init__.py @@ -1231,7 +1231,7 @@ class ServicerContext(RpcContext, metaclass=abc.ABCMeta): def abort(self, code, details): """Raises an exception to terminate the RPC with a non-OK status. - The code and details passed as arguments will supercede any existing + The code and details passed as arguments will supersede any existing ones. Args: @@ -1250,7 +1250,7 @@ class ServicerContext(RpcContext, metaclass=abc.ABCMeta): def abort_with_status(self, status): """Raises an exception to terminate the RPC with a non-OK status. - The status passed as argument will supercede any existing status code, + The status passed as argument will supersede any existing status code, status message and trailing metadata. This is an EXPERIMENTAL API. diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/call.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/call.pyx.pxi index 00c0a29c2ab..2ec8a25cc46 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/call.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/call.pyx.pxi @@ -214,7 +214,7 @@ cdef class _AioCall(GrpcCallWrapper): """Returns if the RPC call has finished. Checks if the status has been provided, either - because the RPC finished or because was cancelled.. + because the RPC finished or because was cancelled. Returns: True if the RPC can be considered finished. @@ -235,7 +235,7 @@ cdef class _AioCall(GrpcCallWrapper): async def status(self): """Returns the status of the RPC call. - It returns the finshed status of the RPC. If the RPC + It returns the finished status of the RPC. If the RPC has not finished yet this function will wait until the RPC gets finished. @@ -277,7 +277,7 @@ cdef class _AioCall(GrpcCallWrapper): """Returns if the RPC was cancelled locally. Returns: - True when was cancelled locally, False when was cancelled remotelly or + True when was cancelled locally, False when was cancelled remotely or is still ongoing. """ if self._is_locally_cancelled: @@ -397,7 +397,7 @@ cdef class _AioCall(GrpcCallWrapper): tuple outbound_initial_metadata, object context = None): """Implementation of the start of a unary-stream call.""" - # Peer may prematurely end this RPC at any point. We need a corutine + # Peer may prematurely end this RPC at any point. We need a coroutine # that watches if the server sends the final status. status_task = self._loop.create_task(self._handle_status_once_received()) @@ -503,7 +503,7 @@ cdef class _AioCall(GrpcCallWrapper): propagate the final status exception, then we have to raise it. Othersize, it would end normally and raise `StopAsyncIteration()`. """ - # Peer may prematurely end this RPC at any point. We need a corutine + # Peer may prematurely end this RPC at any point. We need a coroutine # that watches if the server sends the final status. status_task = self._loop.create_task(self._handle_status_once_received()) diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi index 2b0df0e5ce7..a5b37662aa8 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi @@ -43,7 +43,7 @@ cdef class CallbackWrapper: self._reference_of_future = future self._reference_of_failure_handler = failure_handler # NOTE(lidiz) We need to ensure when Core invokes our callback, the - # callback function itself is not deallocated. Othersise, we will get + # callback function itself is not deallocated. Otherwise, we will get # a segfault. We can view this as Core holding a ref. cpython.Py_INCREF(self) @@ -114,7 +114,7 @@ cdef prepend_send_initial_metadata_op(tuple ops, tuple metadata): async def _receive_message(GrpcCallWrapper grpc_call_wrapper, object loop): - """Retrives parsed messages from Core. + """Retrieves parsed messages from Core. The messages maybe already in Core's buffer, so there isn't a 1-to-1 mapping between this and the underlying "socket.read()". Also, eventually, diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/completion_queue.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/completion_queue.pyx.pxi index 8e16f1b2f88..56c67dcdead 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/completion_queue.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/completion_queue.pyx.pxi @@ -53,7 +53,7 @@ cdef class _BoundEventLoop: ) # NOTE(lidiz) There isn't a way to cleanly pre-check if fd monitoring # support is available or not. Checking the event loop policy is not - # good enough. The application can has its own loop implementation, or + # good enough. The application can have its own loop implementation, or # uses different types of event loops (e.g., 1 Proactor, 3 Selectors). if _has_fd_monitoring: try: @@ -117,7 +117,7 @@ cdef class PollerCompletionQueue(BaseCompletionQueue): else: with gil: # Event loops can be paused or killed at any time. So, - # instead of deligate to any thread, the polling thread + # instead of delegate to any thread, the polling thread # should handle the distribution of the event. self._handle_events(None) diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/rpc_status.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/rpc_status.pyx.pxi index 07669fc1575..70ffb94e582 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/rpc_status.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/rpc_status.pyx.pxi @@ -17,7 +17,7 @@ cdef class AioRpcStatus(Exception): # The final status of gRPC is represented by three trailing metadata: - # `grpc-status`, `grpc-status-message`, abd `grpc-status-details`. + # `grpc-status`, `grpc-status-message`, and `grpc-status-details`. def __cinit__(self, grpc_status_code code, str details, diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/server.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/server.pyx.pxi index 8332c5a0d5b..f6469fb4b81 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/server.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/server.pyx.pxi @@ -542,7 +542,7 @@ async def _handle_unary_unary_rpc(object method_handler, request_raw, ) - # Creates a dedecated ServicerContext + # Creates a dedicated ServicerContext cdef _ServicerContext servicer_context = _ServicerContext( rpc_state, None, @@ -575,7 +575,7 @@ async def _handle_unary_stream_rpc(object method_handler, request_raw, ) - # Creates a dedecated ServicerContext + # Creates a dedicated ServicerContext cdef _ServicerContext servicer_context = _ServicerContext( rpc_state, method_handler.request_deserializer, @@ -623,7 +623,7 @@ cdef class _MessageReceiver: async def _handle_stream_unary_rpc(object method_handler, RPCState rpc_state, object loop): - # Creates a dedecated ServicerContext + # Creates a dedicated ServicerContext cdef _ServicerContext servicer_context = _ServicerContext( rpc_state, method_handler.request_deserializer, @@ -655,7 +655,7 @@ async def _handle_stream_unary_rpc(object method_handler, async def _handle_stream_stream_rpc(object method_handler, RPCState rpc_state, object loop): - # Creates a dedecated ServicerContext + # Creates a dedicated ServicerContext cdef _ServicerContext servicer_context = _ServicerContext( rpc_state, method_handler.request_deserializer, @@ -871,7 +871,7 @@ cdef class _ConcurrentRpcLimiter: def __cinit__(self, int maximum_concurrent_rpcs): if maximum_concurrent_rpcs <= 0: - raise ValueError("maximum_concurrent_rpcs should be a postive integer") + raise ValueError("maximum_concurrent_rpcs should be a positive integer") self._maximum_concurrent_rpcs = maximum_concurrent_rpcs self._active_rpcs = 0 self.limiter_concurrency_exceeded = False diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pxd.pxi index fafbc5475e6..0d071cb52cc 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pxd.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pxd.pxi @@ -98,7 +98,7 @@ cdef class ServerCredentials: cdef grpc_ssl_pem_key_cert_pair *c_ssl_pem_key_cert_pairs cdef size_t c_ssl_pem_key_cert_pairs_count cdef list references - # the cert config related state is used only if this credentials is + # the cert config related state is used only if these credentials are # created with cert config/fetcher cdef object initial_cert_config cdef object cert_config_fetcher diff --git a/src/python/grpcio/grpc/_observability.py b/src/python/grpcio/grpc/_observability.py index 274bd829f66..be82d269e86 100644 --- a/src/python/grpcio/grpc/_observability.py +++ b/src/python/grpcio/grpc/_observability.py @@ -61,7 +61,7 @@ class ObservabilityPlugin( the gRPC team.* The ClientCallTracerCapsule and ClientCallTracerCapsule created by this - plugin should be inject to gRPC core using observability_init at the + plugin should be injected to gRPC core using observability_init at the start of a program, before any channels/servers are built. Any future methods added to this interface cannot have the @@ -93,7 +93,7 @@ class ObservabilityPlugin( Args: method_name: The method name of the call in byte format. target: The channel target of the call in byte format. - registered_method: Wether this method is pre-registered. + registered_method: Whether this method is pre-registered. Returns: A PyCapsule which stores a ClientCallTracer object. diff --git a/src/python/grpcio/grpc/_runtime_protos.py b/src/python/grpcio/grpc/_runtime_protos.py index 7ff887e6854..d0195551dfa 100644 --- a/src/python/grpcio/grpc/_runtime_protos.py +++ b/src/python/grpcio/grpc/_runtime_protos.py @@ -88,7 +88,7 @@ def protos(protobuf_path): # pylint: disable=unused-argument The returned module object corresponds to the _pb2.py file generated by protoc. The path is expected to be relative to an entry on sys.path - and all transitive dependencies of the file should also be resolveable + and all transitive dependencies of the file should also be resolvable from an entry on sys.path. To completely disable the machinery behind this function, set the @@ -96,7 +96,7 @@ def protos(protobuf_path): # pylint: disable=unused-argument Args: protobuf_path: The path to the .proto file on the filesystem. This path - must be resolveable from an entry on sys.path and so must all of its + must be resolvable from an entry on sys.path and so must all of its transitive dependencies. Returns: @@ -125,7 +125,7 @@ def services(protobuf_path): # pylint: disable=unused-argument The returned module object corresponds to the _pb2_grpc.py file generated by protoc. The path is expected to be relative to an entry on sys.path - and all transitive dependencies of the file should also be resolveable + and all transitive dependencies of the file should also be resolvable from an entry on sys.path. To completely disable the machinery behind this function, set the @@ -133,7 +133,7 @@ def services(protobuf_path): # pylint: disable=unused-argument Args: protobuf_path: The path to the .proto file on the filesystem. This path - must be resolveable from an entry on sys.path and so must all of its + must be resolvable from an entry on sys.path and so must all of its transitive dependencies. Returns: @@ -156,7 +156,7 @@ def protos_and_services(protobuf_path): # pylint: disable=unused-argument Args: protobuf_path: The path to the .proto file on the filesystem. This path - must be resolveable from an entry on sys.path and so must all of its + must be resolvable from an entry on sys.path and so must all of its transitive dependencies. Returns: diff --git a/src/python/grpcio/grpc/_server.py b/src/python/grpcio/grpc/_server.py index c8af57c0806..4080201dd0b 100644 --- a/src/python/grpcio/grpc/_server.py +++ b/src/python/grpcio/grpc/_server.py @@ -1075,7 +1075,7 @@ def _handle_call( ) -> Tuple[Optional[_RPCState], Optional[futures.Future]]: """Handles RPC based on provided handlers. - When receiving a call event from Core, registered method will have it's + When receiving a call event from Core, registered method will have its name as tag, we pass the tag as registered_method_name to this method, then we can find the handler in registered_method_handlers based on the method name. diff --git a/src/python/grpcio/grpc/aio/_base_call.py b/src/python/grpcio/grpc/aio/_base_call.py index f92de4474e3..69b89c0afdb 100644 --- a/src/python/grpcio/grpc/aio/_base_call.py +++ b/src/python/grpcio/grpc/aio/_base_call.py @@ -138,7 +138,7 @@ class Call(RpcContext, metaclass=ABCMeta): class UnaryUnaryCall( Generic[RequestType, ResponseType], Call, metaclass=ABCMeta ): - """The abstract base class of an unary-unary RPC on the client-side.""" + """The abstract base class of a unary-unary RPC on the client-side.""" @abstractmethod def __await__(self) -> Generator[Any, None, ResponseType]: diff --git a/src/python/grpcio/grpc/aio/_base_channel.py b/src/python/grpcio/grpc/aio/_base_channel.py index 715cd4f8a74..0616f243494 100644 --- a/src/python/grpcio/grpc/aio/_base_channel.py +++ b/src/python/grpcio/grpc/aio/_base_channel.py @@ -183,7 +183,7 @@ class Channel(abc.ABC): """Enables asynchronous RPC invocation as a client. Channel objects implement the Asynchronous Context Manager (aka. async - with) type, although they are not supportted to be entered and exited + with) type, although they are not supported to be entered and exited multiple times. """ @@ -312,7 +312,7 @@ class Channel(abc.ABC): whether the method is registered. Returns: - A UnarySteramMultiCallable value for the named unary-stream method. + A UnaryStreamMultiCallable value for the named unary-stream method. """ @abc.abstractmethod diff --git a/src/python/grpcio/grpc/aio/_base_server.py b/src/python/grpcio/grpc/aio/_base_server.py index 237417b8fcd..526e21aeb5e 100644 --- a/src/python/grpcio/grpc/aio/_base_server.py +++ b/src/python/grpcio/grpc/aio/_base_server.py @@ -197,7 +197,7 @@ class ServicerContext(Generic[RequestType, ResponseType], abc.ABC): ) -> NoReturn: """Raises an exception to terminate the RPC with a non-OK status. - The code and details passed as arguments will supercede any existing + The code and details passed as arguments will supersede any existing ones. Args: diff --git a/src/python/grpcio/grpc/aio/_interceptor.py b/src/python/grpcio/grpc/aio/_interceptor.py index 1401a08ee4c..1d609534108 100644 --- a/src/python/grpcio/grpc/aio/_interceptor.py +++ b/src/python/grpcio/grpc/aio/_interceptor.py @@ -477,8 +477,8 @@ class _InterceptedStreamResponseMixin: _response_aiter: Optional[AsyncIterable[ResponseType]] def _init_stream_response_mixin(self) -> None: - # Is initalized later, otherwise if the iterator is not finally - # consumed a logging warning is emmited by Asyncio. + # Is initialized later, otherwise if the iterator is not finally + # consumed a logging warning is emitted by Asyncio. self._response_aiter = None async def _wait_for_interceptor_task_response_iterator( @@ -1143,10 +1143,10 @@ class _StreamCallResponseIterator: class UnaryStreamCallResponseIterator( _StreamCallResponseIterator, _base_call.UnaryStreamCall ): - """UnaryStreamCall class wich uses an alternative response iterator.""" + """UnaryStreamCall class which uses an alternative response iterator.""" async def read(self) -> Union[EOFType, ResponseType]: - # Behind the scenes everyting goes through the + # Behind the scenes everything goes through the # async iterator. So this path should not be reached. raise NotImplementedError() @@ -1154,21 +1154,21 @@ class UnaryStreamCallResponseIterator( class StreamStreamCallResponseIterator( _StreamCallResponseIterator, _base_call.StreamStreamCall ): - """StreamStreamCall class wich uses an alternative response iterator.""" + """StreamStreamCall class which uses an alternative response iterator.""" async def read(self) -> Union[EOFType, ResponseType]: - # Behind the scenes everyting goes through the + # Behind the scenes everything goes through the # async iterator. So this path should not be reached. raise NotImplementedError() async def write(self, request: RequestType) -> None: - # Behind the scenes everyting goes through the + # Behind the scenes everything goes through the # async iterator provided by the InterceptedStreamStreamCall. # So this path should not be reached. raise NotImplementedError() async def done_writing(self) -> None: - # Behind the scenes everyting goes through the + # Behind the scenes everything goes through the # async iterator provided by the InterceptedStreamStreamCall. # So this path should not be reached. raise NotImplementedError() diff --git a/src/python/grpcio/grpc/framework/interfaces/base/base.py b/src/python/grpcio/grpc/framework/interfaces/base/base.py index d1c0b079116..ea71ff6a181 100644 --- a/src/python/grpcio/grpc/framework/interfaces/base/base.py +++ b/src/python/grpcio/grpc/framework/interfaces/base/base.py @@ -83,7 +83,7 @@ class Completion(abc.ABC): """An aggregate of the values exchanged upon operation completion. Attributes: - terminal_metadata: A terminal metadata value for the operaton. + terminal_metadata: A terminal metadata value for the operation. code: A code value for the operation. message: A message value for the operation. """ diff --git a/src/python/grpcio/grpc/framework/interfaces/base/utilities.py b/src/python/grpcio/grpc/framework/interfaces/base/utilities.py index d188339b1eb..5b601f3bde8 100644 --- a/src/python/grpcio/grpc/framework/interfaces/base/utilities.py +++ b/src/python/grpcio/grpc/framework/interfaces/base/utilities.py @@ -57,7 +57,7 @@ def completion(terminal_metadata, code, message): """Creates a base.Completion aggregating the given operation values. Args: - terminal_metadata: A terminal metadata value for an operaton. + terminal_metadata: A terminal metadata value for an operation. code: A code value for an operation. message: A message value for an operation. diff --git a/src/python/grpcio/grpc/framework/interfaces/face/utilities.py b/src/python/grpcio/grpc/framework/interfaces/face/utilities.py index 01807a16026..b02ea530963 100644 --- a/src/python/grpcio/grpc/framework/interfaces/face/utilities.py +++ b/src/python/grpcio/grpc/framework/interfaces/face/utilities.py @@ -174,7 +174,7 @@ def unary_stream_event(behavior): Args: behavior: The implementation of a unary-stream RPC method as a callable value that takes a request value, a stream.Consumer to which to pass the - the response values of the RPC, and an face.ServicerContext. + response values of the RPC, and an face.ServicerContext. Returns: An face.MethodImplementation derived from the given behavior. diff --git a/src/python/grpcio_csm_observability/grpc_csm_observability/_csm_observability_plugin.py b/src/python/grpcio_csm_observability/grpc_csm_observability/_csm_observability_plugin.py index 0dd4246dcd9..ce597557075 100644 --- a/src/python/grpcio_csm_observability/grpc_csm_observability/_csm_observability_plugin.py +++ b/src/python/grpcio_csm_observability/grpc_csm_observability/_csm_observability_plugin.py @@ -207,7 +207,7 @@ class CsmOpenTelemetryPluginOption(OpenTelemetryPluginOption): target: Required. The target for the RPC. Returns: - True if this this plugin option is active on the channel, false otherwise. + True if this plugin option is active on the channel, false otherwise. """ # CSM channels should have an "xds" scheme if not target.startswith("xds:"): @@ -237,7 +237,7 @@ class CsmOpenTelemetryPluginOption(OpenTelemetryPluginOption): xds: Required. if this server is build for xds. Returns: - True if this this plugin option is active on the server, false otherwise. + True if this plugin option is active on the server, false otherwise. """ return True diff --git a/src/python/grpcio_observability/_parallel_compile_patch.py b/src/python/grpcio_observability/_parallel_compile_patch.py index 9c98aa92436..e91dee1eb0a 100644 --- a/src/python/grpcio_observability/_parallel_compile_patch.py +++ b/src/python/grpcio_observability/_parallel_compile_patch.py @@ -18,7 +18,7 @@ # instead. This file can be regenerated from the template by running # `tools/buildgen/generate_projects.sh`. -"""Patches the compile() to allow enable parallel compilation of C/C++. +"""Patches the compile() to enable parallel compilation of C/C++. build_ext has lots of C/C++ files and normally them one by one. Enabling parallel build helps a lot. diff --git a/src/python/grpcio_observability/grpc_observability/_cyobservability.pyx b/src/python/grpcio_observability/grpc_observability/_cyobservability.pyx index c90ee1927a2..876b9799ecf 100644 --- a/src/python/grpcio_observability/grpc_observability/_cyobservability.pyx +++ b/src/python/grpcio_observability/grpc_observability/_cyobservability.pyx @@ -179,7 +179,7 @@ def _c_measurement_to_measurement(object measurement """Convert Cython Measurement to Python measurement. Args: - measurement: Actual measurement repesented by Cython type Measurement, using object here + measurement: Actual measurement represented by Cython type Measurement, using object here since Cython refuse to automatically convert a union with unsafe type combinations. Returns: @@ -308,7 +308,7 @@ cdef void _export_census_data(object exporter): while not GLOBAL_SHUTDOWN_EXPORT_THREAD: lk = new unique_lock[mutex](g_census_data_buffer_mutex) # Wait for next batch of census data OR timeout at fixed interval. - # Batch export census data to minimize the time we acquiring the GIL. + # Batch export census data to minimize the time we acquire the GIL. AwaitNextBatchLocked(dereference(lk), export_interval_ms) # Break only when buffer have data diff --git a/src/python/grpcio_observability/grpc_observability/_measures.py b/src/python/grpcio_observability/grpc_observability/_measures.py index 122e1eb5a59..fc9e0a86c8b 100644 --- a/src/python/grpcio_observability/grpc_observability/_measures.py +++ b/src/python/grpcio_observability/grpc_observability/_measures.py @@ -17,7 +17,7 @@ from opencensus.stats import measure # These measure definitions should be kept in sync across opencensus implementations. # https://github.com/census-instrumentation/opencensus-java/blob/master/contrib/grpc_metrics/src/main/java/io/opencensus/contrib/grpc/metrics/RpcMeasureConstants.java. -# Unit constatns +# Unit constants UNIT_BYTES = "By" UNIT_MILLISECONDS = "ms" UNIT_COUNT = "1" diff --git a/src/python/grpcio_observability/grpc_observability/_open_census_exporter.py b/src/python/grpcio_observability/grpc_observability/_open_census_exporter.py index 8dbccfdd156..2ec0b25d779 100644 --- a/src/python/grpcio_observability/grpc_observability/_open_census_exporter.py +++ b/src/python/grpcio_observability/grpc_observability/_open_census_exporter.py @@ -123,7 +123,7 @@ class OpenCensusExporter(_observability.Exporter): if not measure: continue # Create a measurement map for each metric, otherwise metrics will - # be override instead of accumulate. + # be overridden instead of accumulate. measurement_map = self.stats_recorder.new_measurement_map() # Add data label to default labels. labels = data.labels diff --git a/src/python/grpcio_observability/grpc_observability/_open_telemetry_observability.py b/src/python/grpcio_observability/grpc_observability/_open_telemetry_observability.py index dd3a3a563d4..4cb6eb9f8c3 100644 --- a/src/python/grpcio_observability/grpc_observability/_open_telemetry_observability.py +++ b/src/python/grpcio_observability/grpc_observability/_open_telemetry_observability.py @@ -383,7 +383,7 @@ class OpenTelemetryObservability(grpc._observability.ObservabilityPlugin): try: _cyobservability.cyobservability_init(self._exporter) - # TODO(xuanwn): Use specific exceptons + # TODO(xuanwn): Use specific exceptions except Exception as e: # pylint: disable=broad-except _LOGGER.exception("Initiate observability failed with: %s", e) diff --git a/src/python/grpcio_observability/grpc_observability/python_observability_context.h b/src/python/grpcio_observability/grpc_observability/python_observability_context.h index 9c347098933..9955172bf2e 100644 --- a/src/python/grpcio_observability/grpc_observability/python_observability_context.h +++ b/src/python/grpcio_observability/grpc_observability/python_observability_context.h @@ -208,11 +208,11 @@ class Span final { uint64_t child_span_count_ = 0; }; -// PythonCensusContext is associated with each clientCallTrcer, +// PythonCensusContext is associated with each clientCallTracer, // clientCallAttemptTracer and ServerCallTracer to help manage the span, -// spanContext and labels for each tracer. Craete a new PythonCensusContext will -// always reasult in creating a new span (and a new SpanContext for that span). -// It's created during callTraceer initialization and will be destroyed after +// spanContext and labels for each tracer. Create a new PythonCensusContext will +// always result in creating a new span (and a new SpanContext for that span). +// It's created during callTracer initialization and will be destroyed after // the destruction of each callTracer. class PythonCensusContext { public: diff --git a/src/python/grpcio_tests/tests/_loader.py b/src/python/grpcio_tests/tests/_loader.py index b9fc3ccf0f6..c3b2694060a 100644 --- a/src/python/grpcio_tests/tests/_loader.py +++ b/src/python/grpcio_tests/tests/_loader.py @@ -55,7 +55,7 @@ class Loader(object): Attributes: suite (unittest.TestSuite): All tests collected by the loader. - loader (unittest.TestLoader): Standard Python unittest loader to be ran per + loader (unittest.TestLoader): Standard Python unittest loader to be run per module discovered. module_matcher (re.RegexObject): A regular expression object to match against module names and determine whether or not the discovered module diff --git a/src/python/grpcio_tests/tests/qps/client_runner.py b/src/python/grpcio_tests/tests/qps/client_runner.py index eca0155483c..6a67905ccd1 100644 --- a/src/python/grpcio_tests/tests/qps/client_runner.py +++ b/src/python/grpcio_tests/tests/qps/client_runner.py @@ -70,7 +70,7 @@ class ClosedLoopClientRunner(ClientRunner): super(ClosedLoopClientRunner, self).__init__(client) self._is_running = False self._request_count = request_count - # For server-streaming RPC, don't spawn new RPC after each responses. + # For server-streaming RPC, don't spawn new RPC after each response. # This yield at most ~17% for single RPC scenarios. if not no_ping_pong: # Send a new request on each response for closed loop diff --git a/src/python/grpcio_tests/tests/status/_grpc_status_test.py b/src/python/grpcio_tests/tests/status/_grpc_status_test.py index 031bdbe4d53..27c2e23a160 100644 --- a/src/python/grpcio_tests/tests/status/_grpc_status_test.py +++ b/src/python/grpcio_tests/tests/status/_grpc_status_test.py @@ -200,7 +200,7 @@ class StatusTest(unittest.TestCase): ).with_call(_REQUEST) rpc_error = exception_context.exception self.assertEqual(rpc_error.code(), grpc.StatusCode.UNKNOWN) - # Invalid status code exception raised during coversion + # Invalid status code exception raised during conversion self.assertIn("Invalid status code", rpc_error.details()) diff --git a/src/python/grpcio_tests/tests/unit/_compression_test.py b/src/python/grpcio_tests/tests/unit/_compression_test.py index ac373e86328..4c2d6ed56b9 100644 --- a/src/python/grpcio_tests/tests/unit/_compression_test.py +++ b/src/python/grpcio_tests/tests/unit/_compression_test.py @@ -296,7 +296,7 @@ class CompressionTest(unittest.TestCase): self.assertGreaterEqual( compression_ratio, -1.0 * _COMPRESSION_RATIO_THRESHOLD, - msg="Actual compession ratio: {}".format(compression_ratio), + msg="Actual compression ratio: {}".format(compression_ratio), ) def assertConfigurationCompressed( diff --git a/src/python/grpcio_tests/tests/unit/_contextvars_propagation_test.py b/src/python/grpcio_tests/tests/unit/_contextvars_propagation_test.py index 3793d20d28e..5235530e865 100644 --- a/src/python/grpcio_tests/tests/unit/_contextvars_propagation_test.py +++ b/src/python/grpcio_tests/tests/unit/_contextvars_propagation_test.py @@ -11,7 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -"""Test of propagation of contextvars to AuthMetadataPlugin threads..""" +"""Test of propagation of contextvars to AuthMetadataPlugin threads.""" import contextlib import logging diff --git a/src/python/grpcio_tests/tests/unit/_cython/_read_some_but_not_all_responses_test.py b/src/python/grpcio_tests/tests/unit/_cython/_read_some_but_not_all_responses_test.py index 7f87b2b8a8c..31a63b2371d 100644 --- a/src/python/grpcio_tests/tests/unit/_cython/_read_some_but_not_all_responses_test.py +++ b/src/python/grpcio_tests/tests/unit/_cython/_read_some_but_not_all_responses_test.py @@ -251,7 +251,7 @@ class ReadSomeButNotAllResponsesTest(unittest.TestCase): ) server_call_driver.events() - client_recieve_initial_metadata_event = ( + client_receive_initial_metadata_event = ( client_receive_initial_metadata_event_future.result() ) diff --git a/src/python/grpcio_tests/tests/unit/_exit_test.py b/src/python/grpcio_tests/tests/unit/_exit_test.py index 8ff46107625..98a2611c97a 100644 --- a/src/python/grpcio_tests/tests/unit/_exit_test.py +++ b/src/python/grpcio_tests/tests/unit/_exit_test.py @@ -62,7 +62,7 @@ atexit.register(cleanup_processes) def _process_wait_with_timeout(process, timeout=WAIT_CHECK_DEFAULT_TIMEOUT): - """A funciton to mimic 3.3+ only timeout argument in process.wait.""" + """A function to mimic 3.3+ only timeout argument in process.wait.""" deadline = datetime.datetime.now() + timeout while (process.poll() is None) and (datetime.datetime.now() < deadline): time.sleep(WAIT_CHECK_INTERVAL.total_seconds()) diff --git a/src/python/grpcio_tests/tests/unit/_grpc_shutdown_test.py b/src/python/grpcio_tests/tests/unit/_grpc_shutdown_test.py index 75716d32a91..93e1db9b31d 100644 --- a/src/python/grpcio_tests/tests/unit/_grpc_shutdown_test.py +++ b/src/python/grpcio_tests/tests/unit/_grpc_shutdown_test.py @@ -39,7 +39,7 @@ class GrpcShutdownTest(unittest.TestCase): ): connection_failed.set() - # Connects to an void address, and subscribes state changes + # Connects to a void address, and subscribes state changes channel = grpc.insecure_channel("0.1.1.1:12345") channel.subscribe(on_state_change, True) diff --git a/src/python/grpcio_tests/tests/unit/_metadata_flags_test.py b/src/python/grpcio_tests/tests/unit/_metadata_flags_test.py index 40dfc85e5cb..ec46ba27542 100644 --- a/src/python/grpcio_tests/tests/unit/_metadata_flags_test.py +++ b/src/python/grpcio_tests/tests/unit/_metadata_flags_test.py @@ -234,7 +234,7 @@ class MetadataFlagsTest(unittest.TestCase): # To test the wait mechanism, Python thread is required to make # client set up first without handling them case by case. # Also, Python thread don't pass the unhandled exceptions to - # main thread. So, it need another method to store the + # main thread. So, it needs another method to store the # exceptions and raise them again in main thread. unhandled_exceptions = queue.Queue() diff --git a/src/python/grpcio_tests/tests/unit/test_all_modules_installed.py b/src/python/grpcio_tests/tests/unit/test_all_modules_installed.py new file mode 100644 index 00000000000..e7c657574c9 --- /dev/null +++ b/src/python/grpcio_tests/tests/unit/test_all_modules_installed.py @@ -0,0 +1,36 @@ +# Copyright 2024 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging +import unittest + + +class TestAllModulesInstalled(unittest.TestCase): + def test_import_all_modules(self): + import grpc_admin + import grpc_channelz + import grpc_csds + import grpc_csm_observability + import grpc_health + import grpc_observability + import grpc_reflection + import grpc_status + + # This test simply imports all the modules. + # If any module fails to import, the test will fail. + + +if __name__ == "__main__": + logging.basicConfig() + unittest.main(verbosity=3) diff --git a/src/python/grpcio_tests/tests_aio/status/grpc_status_test.py b/src/python/grpcio_tests/tests_aio/status/grpc_status_test.py index 4e7dbb12ba1..b7eaf49b26b 100644 --- a/src/python/grpcio_tests/tests_aio/status/grpc_status_test.py +++ b/src/python/grpcio_tests/tests_aio/status/grpc_status_test.py @@ -174,7 +174,7 @@ class StatusTest(AioTestBase): await self._channel.unary_unary(_INVALID_CODE)(_REQUEST) rpc_error = exception_context.exception self.assertEqual(rpc_error.code(), grpc.StatusCode.UNKNOWN) - # Invalid status code exception raised during coversion + # Invalid status code exception raised during conversion self.assertIn("Invalid status code", rpc_error.details()) diff --git a/src/python/grpcio_tests/tests_aio/unit/_common.py b/src/python/grpcio_tests/tests_aio/unit/_common.py index b29dfb4889e..da294af3bfe 100644 --- a/src/python/grpcio_tests/tests_aio/unit/_common.py +++ b/src/python/grpcio_tests/tests_aio/unit/_common.py @@ -51,7 +51,7 @@ def inject_callbacks(call: aio.Call): first_callback_ran = asyncio.Event() def first_callback(call): - # Validate that all resopnses have been received + # Validate that all responses have been received # and the call is an end state. assert call.done() first_callback_ran.set() diff --git a/src/python/grpcio_tests/tests_aio/unit/_metadata_test.py b/src/python/grpcio_tests/tests_aio/unit/_metadata_test.py index 17478fce89d..0c0cc8a77d8 100644 --- a/src/python/grpcio_tests/tests_aio/unit/_metadata_test.py +++ b/src/python/grpcio_tests/tests_aio/unit/_metadata_test.py @@ -100,7 +100,7 @@ class TestTypeMetadata(unittest.TestCase): def test_init_metadata(self): test_cases = { - "emtpy": (), + "empty": (), "with-single-data": self._DEFAULT_DATA, "with-multi-data": self._MULTI_ENTRY_DATA, } diff --git a/src/python/grpcio_tests/tests_aio/unit/_test_server.py b/src/python/grpcio_tests/tests_aio/unit/_test_server.py index 5d25272f300..662b5b3b98e 100644 --- a/src/python/grpcio_tests/tests_aio/unit/_test_server.py +++ b/src/python/grpcio_tests/tests_aio/unit/_test_server.py @@ -102,7 +102,7 @@ class TestServiceServicer(test_pb2_grpc.TestServiceServicer): else: yield messages_pb2.StreamingOutputCallResponse() - # Next methods are extra ones that are registred programatically + # Next methods are extra ones that are registered programmatically # when the sever is instantiated. They are not being provided by # the proto file. async def UnaryCallWithSleep(self, unused_request, unused_context): @@ -144,7 +144,7 @@ class TestServiceServicer(test_pb2_grpc.TestServiceServicer): def _create_extra_generic_handler(servicer: TestServiceServicer): - # Add programatically extra methods not provided by the proto file + # Add programmatically extra methods not provided by the proto file # that are used during the tests rpc_method_handlers = { "UnaryCallWithSleep": grpc.unary_unary_rpc_method_handler( diff --git a/src/python/grpcio_tests/tests_aio/unit/call_test.py b/src/python/grpcio_tests/tests_aio/unit/call_test.py index fba0a0840bf..bcbcbf555fa 100644 --- a/src/python/grpcio_tests/tests_aio/unit/call_test.py +++ b/src/python/grpcio_tests/tests_aio/unit/call_test.py @@ -411,7 +411,7 @@ class TestUnaryStreamCall(_MulticallableTestMixin, AioTestBase): Certain classes of error only appear for very specific interleavings of coroutines. Rather than inserting semi-private asyncio.Events throughout - the implementation on which to coordinate and explicilty waiting on those + the implementation on which to coordinate and explicitly waiting on those in tests, we instead search for bugs over the space of interleavings by stochastically varying the durations of certain events within the test. """ diff --git a/src/python/grpcio_tests/tests_aio/unit/client_stream_unary_interceptor_test.py b/src/python/grpcio_tests/tests_aio/unit/client_stream_unary_interceptor_test.py index 106be6cc349..42f49d04595 100644 --- a/src/python/grpcio_tests/tests_aio/unit/client_stream_unary_interceptor_test.py +++ b/src/python/grpcio_tests/tests_aio/unit/client_stream_unary_interceptor_test.py @@ -431,7 +431,7 @@ class TestStreamUnaryClientInterceptor(AioTestBase): await channel.close() async def test_cancel_while_writing(self): - # Test cancelation before making any write or after doing at least 1 + # Test cancellation before making any write or after doing at least 1 for num_writes_before_cancel in (0, 1): with self.subTest( name="Num writes before cancel: {}".format( diff --git a/src/python/grpcio_tests/tests_aio/unit/client_unary_unary_interceptor_test.py b/src/python/grpcio_tests/tests_aio/unit/client_unary_unary_interceptor_test.py index 4789b309504..2617da9dd97 100644 --- a/src/python/grpcio_tests/tests_aio/unit/client_unary_unary_interceptor_test.py +++ b/src/python/grpcio_tests/tests_aio/unit/client_unary_unary_interceptor_test.py @@ -225,7 +225,7 @@ class TestUnaryUnaryClientInterceptor(AioTestBase): self.assertEqual(grpc.StatusCode.OK, await call.code()) # Check that two calls were made, first one finishing with - # a deadline and second one finishing ok.. + # a deadline and second one finishing ok. self.assertEqual(len(interceptor.calls), 2) self.assertEqual( await interceptor.calls[0].code(), diff --git a/src/python/grpcio_tests/tests_aio/unit/connectivity_test.py b/src/python/grpcio_tests/tests_aio/unit/connectivity_test.py index 9e3ae3af7b4..058ed23c493 100644 --- a/src/python/grpcio_tests/tests_aio/unit/connectivity_test.py +++ b/src/python/grpcio_tests/tests_aio/unit/connectivity_test.py @@ -116,7 +116,7 @@ class TestConnectivityState(AioTestBase): # Make sure there isn't any exception in the task await pending_task - # It can raise exceptions since it is an usage error, but it should not + # It can raise exceptions since it is a usage error, but it should not # segfault or abort. with self.assertRaises(aio.UsageError): await channel.wait_for_state_change( diff --git a/src/python/grpcio_tests/tests_gevent/unit/_test_server.py b/src/python/grpcio_tests/tests_gevent/unit/_test_server.py index 68c36093151..daa1a2a0698 100644 --- a/src/python/grpcio_tests/tests_gevent/unit/_test_server.py +++ b/src/python/grpcio_tests/tests_gevent/unit/_test_server.py @@ -47,7 +47,7 @@ def start_test_server(port: int = 0) -> Tuple[str, Any]: def _create_extra_generic_handler(servicer: TestServiceServicer) -> Any: - # Add programatically extra methods not provided by the proto file + # Add programmatically extra methods not provided by the proto file # that are used during the tests rpc_method_handlers = { "UnaryCallWithSleep": grpc.unary_unary_rpc_method_handler( diff --git a/templates/src/python/_parallel_compile_patch.py.include b/templates/src/python/_parallel_compile_patch.py.include index 0f778643373..aced9bce238 100644 --- a/templates/src/python/_parallel_compile_patch.py.include +++ b/templates/src/python/_parallel_compile_patch.py.include @@ -1,4 +1,4 @@ -"""Patches the compile() to allow enable parallel compilation of C/C++. +"""Patches the compile() to enable parallel compilation of C/C++. build_ext has lots of C/C++ files and normally them one by one. Enabling parallel build helps a lot. diff --git a/test/core/end2end/fuzzers/BUILD b/test/core/end2end/fuzzers/BUILD index f376e69ef51..974c1bf392d 100644 --- a/test/core/end2end/fuzzers/BUILD +++ b/test/core/end2end/fuzzers/BUILD @@ -87,6 +87,7 @@ grpc_internal_proto_library( srcs = ["fuzzer_input.proto"], deps = [ "api_fuzzer_proto", + "//src/core:chaotic_good_frame_proto", "//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_proto", "//test/core/test_util:fuzz_config_vars_proto", "//test/core/test_util:fuzzing_channel_args_proto", diff --git a/test/core/end2end/fuzzers/fuzzer_input.proto b/test/core/end2end/fuzzers/fuzzer_input.proto index 0cab21cb4e5..33c3ec9c3fc 100644 --- a/test/core/end2end/fuzzers/fuzzer_input.proto +++ b/test/core/end2end/fuzzers/fuzzer_input.proto @@ -20,6 +20,7 @@ import "test/core/end2end/fuzzers/api_fuzzer.proto"; import "test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto"; import "test/core/test_util/fuzz_config_vars.proto"; import "test/core/test_util/fuzzing_channel_args.proto"; +import "src/core/ext/transport/chaotic_good/chaotic_good_frame.proto"; message Empty{}; @@ -145,37 +146,37 @@ message ChaoticGoodServerFragment { } } -message ChaoticGoodMessageData { - uint32 length = 1; - uint32 padding = 2; +message ChaoticGoodPayloadOtherConnection { + uint32 connection_id = 1; + uint32 length = 2; } message ChaoticGoodFrame { enum FrameType { SETTINGS = 0; - FRAGMENT = 1; - CANCEL = 2; + CLIENT_INITIAL_METADATA = 1; + MESSAGE = 2; + CLIENT_END_OF_STREAM = 3; + SERVER_INITIAL_METADATA = 4; + SERVER_TRAILING_METADATA = 5; + CANCEL = 6; }; uint32 stream_id = 1; - FrameType type = 2; - oneof headers { - Empty headers_none = 11; - bytes headers_raw_bytes = 12; - SimpleHeaders headers_simple_header = 13; - } - oneof data { - Empty data_none = 21; - ChaoticGoodMessageData data_sized = 23; + oneof frame_type { + FrameType known_type = 2; + uint32 unknown_type = 3; } - oneof trailers { - Empty trailers_none = 31; - bytes trailers_raw_bytes = 32; - SimpleHeaders trailers_simple_header = 33; + oneof payload { + ChaoticGoodPayloadOtherConnection payload_other_connection_id = 10; + Empty payload_none = 11; + bytes payload_raw_bytes = 12; + uint32 payload_empty_of_length = 13; + chaotic_good_frame.Settings settings = 14; + chaotic_good_frame.ClientMetadata client_metadata = 15; + chaotic_good_frame.ServerMetadata server_metadata = 16; } } -message ChaoticGoodSettings {} - message FakeTransportFrame { enum MessageString { CLIENT_INIT = 0; diff --git a/test/core/end2end/fuzzers/network_input.cc b/test/core/end2end/fuzzers/network_input.cc index c86b7c221fb..675b9e630da 100644 --- a/test/core/end2end/fuzzers/network_input.cc +++ b/test/core/end2end/fuzzers/network_input.cc @@ -198,69 +198,83 @@ SliceBuffer ChaoticGoodFrame(const fuzzer_input::ChaoticGoodFrame& frame) { chaotic_good::FrameHeader h; SliceBuffer suffix; h.stream_id = frame.stream_id(); - switch (frame.type()) { - case fuzzer_input::ChaoticGoodFrame::SETTINGS: - h.type = chaotic_good::FrameType::kSettings; - break; - case fuzzer_input::ChaoticGoodFrame::FRAGMENT: - h.type = chaotic_good::FrameType::kFragment; + switch (frame.frame_type_case()) { + case fuzzer_input::ChaoticGoodFrame::kKnownType: + switch (frame.known_type()) { + case fuzzer_input::ChaoticGoodFrame::SETTINGS: + h.type = chaotic_good::FrameType::kSettings; + break; + case fuzzer_input::ChaoticGoodFrame::CLIENT_INITIAL_METADATA: + h.type = chaotic_good::FrameType::kClientInitialMetadata; + break; + case fuzzer_input::ChaoticGoodFrame::MESSAGE: + h.type = chaotic_good::FrameType::kMessage; + break; + case fuzzer_input::ChaoticGoodFrame::CLIENT_END_OF_STREAM: + h.type = chaotic_good::FrameType::kClientEndOfStream; + break; + case fuzzer_input::ChaoticGoodFrame::SERVER_INITIAL_METADATA: + h.type = chaotic_good::FrameType::kServerInitialMetadata; + break; + case fuzzer_input::ChaoticGoodFrame::SERVER_TRAILING_METADATA: + h.type = chaotic_good::FrameType::kServerTrailingMetadata; + break; + case fuzzer_input::ChaoticGoodFrame::CANCEL: + h.type = chaotic_good::FrameType::kCancel; + break; + default: + break; + } break; - case fuzzer_input::ChaoticGoodFrame::CANCEL: - h.type = chaotic_good::FrameType::kCancel; + case fuzzer_input::ChaoticGoodFrame::kUnknownType: + h.type = static_cast(frame.unknown_type()); break; - default: + case fuzzer_input::ChaoticGoodFrame::FRAME_TYPE_NOT_SET: + h.type = chaotic_good::FrameType::kMessage; break; } - switch (frame.headers_case()) { - case fuzzer_input::ChaoticGoodFrame::kHeadersNone: - case fuzzer_input::ChaoticGoodFrame::HEADERS_NOT_SET: + h.stream_id = frame.stream_id(); + h.payload_connection_id = 0; + h.payload_length = 0; + auto proto_payload = [&](auto payload) { + std::string temp = payload.SerializeAsString(); + h.payload_length = temp.length(); + suffix.Append(Slice::FromCopiedString(temp)); + }; + switch (frame.payload_case()) { + case fuzzer_input::ChaoticGoodFrame::kPayloadNone: + case fuzzer_input::ChaoticGoodFrame::PAYLOAD_NOT_SET: break; - case fuzzer_input::ChaoticGoodFrame::kHeadersRawBytes: - if (frame.headers_raw_bytes().empty()) break; - h.header_length = frame.headers_raw_bytes().size(); - h.flags.Set(0, true); - suffix.Append(Slice::FromCopiedString(frame.headers_raw_bytes())); + case fuzzer_input::ChaoticGoodFrame::kPayloadRawBytes: + if (frame.payload_raw_bytes().empty()) break; + h.payload_length = frame.payload_raw_bytes().length(); + suffix.Append(Slice::FromCopiedString(frame.payload_raw_bytes())); break; - case fuzzer_input::ChaoticGoodFrame::kHeadersSimpleHeader: { - SliceBuffer append = - SliceBufferFromSimpleHeaders(frame.headers_simple_header()); - if (append.Length() == 0) break; - h.header_length = append.Length(); - h.flags.Set(0, true); - suffix.Append(append.JoinIntoSlice()); - } break; - } - switch (frame.data_case()) { - case fuzzer_input::ChaoticGoodFrame::kDataNone: - case fuzzer_input::ChaoticGoodFrame::DATA_NOT_SET: + case fuzzer_input::ChaoticGoodFrame::kPayloadEmptyOfLength: + h.payload_length = frame.payload_empty_of_length(); + suffix.Append(Slice::FromCopiedString( + std::string(frame.payload_empty_of_length(), 'a'))); break; - case fuzzer_input::ChaoticGoodFrame::kDataSized: - h.flags.Set(1, true); - h.message_length = frame.data_sized().length(); - h.message_padding = frame.data_sized().padding(); + case fuzzer_input::ChaoticGoodFrame::kPayloadOtherConnectionId: + h.payload_connection_id = + frame.payload_other_connection_id().connection_id(); + h.payload_length = frame.payload_other_connection_id().length(); break; - } - switch (frame.trailers_case()) { - case fuzzer_input::ChaoticGoodFrame::kTrailersNone: - case fuzzer_input::ChaoticGoodFrame::TRAILERS_NOT_SET: + case fuzzer_input::ChaoticGoodFrame::kSettings: + proto_payload(frame.settings()); break; - case fuzzer_input::ChaoticGoodFrame::kTrailersRawBytes: - h.trailer_length = frame.trailers_raw_bytes().size(); - h.flags.Set(2, true); - suffix.Append(Slice::FromCopiedString(frame.trailers_raw_bytes())); + case fuzzer_input::ChaoticGoodFrame::kClientMetadata: + proto_payload(frame.client_metadata()); + break; + case fuzzer_input::ChaoticGoodFrame::kServerMetadata: + proto_payload(frame.server_metadata()); break; - case fuzzer_input::ChaoticGoodFrame::kTrailersSimpleHeader: { - SliceBuffer append = - SliceBufferFromSimpleHeaders(frame.trailers_simple_header()); - h.trailer_length = append.Length(); - h.flags.Set(2, true); - suffix.Append(append.JoinIntoSlice()); - } break; } - uint8_t bytes[24]; + uint8_t bytes[chaotic_good::FrameHeader::kFrameHeaderSize]; h.Serialize(bytes); SliceBuffer out; - out.Append(Slice::FromCopiedBuffer(bytes, 24)); + out.Append(Slice::FromCopiedBuffer( + bytes, chaotic_good::FrameHeader::kFrameHeaderSize)); out.Append(suffix); return out; } diff --git a/test/core/end2end/tests/no_logging.cc b/test/core/end2end/tests/no_logging.cc index 0bae8cf6270..3944e82c0ff 100644 --- a/test/core/end2end/tests/no_logging.cc +++ b/test/core/end2end/tests/no_logging.cc @@ -121,7 +121,7 @@ class VerifyLogNoiseLogSink : public absl::LogSink { // If we reach here means we have log noise. log_noise_absent_ will make the // test fail. log_noise_absent_ = false; - LOG(ERROR) << "Unwanted log at location : " << entry.source_filename() + LOG(ERROR) << "🛑 Unwanted log at location : " << entry.source_filename() << ":" << entry.source_line() << " " << entry.text_message(); } diff --git a/test/core/http/httpcli_test.cc b/test/core/http/httpcli_test.cc index 0a3c508460d..ba3dc9d92f1 100644 --- a/test/core/http/httpcli_test.cc +++ b/test/core/http/httpcli_test.cc @@ -193,8 +193,10 @@ TEST_F(HttpRequestTest, Get) { std::string host = absl::StrFormat("localhost:%d", g_server_port); LOG(INFO) << "requesting from " << host; memset(&req, 0, sizeof(req)); - auto uri = grpc_core::URI::Create("http", host, "/get", {} /* query params */, - "" /* fragment */); + auto uri = grpc_core::URI::Create( + "http", host, "/get", + /*query_parameter_pairs=*/{{"foo", "bar"}, {"baz", "quux"}}, + /*fragment=*/""); CHECK(uri.ok()); grpc_core::OrphanablePtr http_request = grpc_core::HttpRequest::Get( @@ -219,8 +221,10 @@ TEST_F(HttpRequestTest, Post) { memset(&req, 0, sizeof(req)); req.body = const_cast("hello"); req.body_length = 5; - auto uri = grpc_core::URI::Create("http", host, "/post", - {} /* query params */, "" /* fragment */); + auto uri = grpc_core::URI::Create( + "http", host, "/post", + /*query_parameter_pairs=*/{{"foo", "bar"}, {"mumble", "frotz"}}, + /*fragment=*/""); CHECK(uri.ok()); grpc_core::OrphanablePtr http_request = grpc_core::HttpRequest::Post( diff --git a/test/core/http/httpscli_test.cc b/test/core/http/httpscli_test.cc index 88c764bae1c..8c8c8bf47fd 100644 --- a/test/core/http/httpscli_test.cc +++ b/test/core/http/httpscli_test.cc @@ -191,8 +191,10 @@ TEST_F(HttpsCliTest, Get) { const_cast(GRPC_SSL_TARGET_NAME_OVERRIDE_ARG), const_cast("foo.test.google.fr")); grpc_channel_args args = {1, &ssl_override_arg}; - auto uri = grpc_core::URI::Create("https", host, "/get", - {} /* query params */, "" /* fragment */); + auto uri = grpc_core::URI::Create( + "https", host, "/get", + /*query_parameter_pairs=*/{{"foo", "bar"}, {"baz", "quux"}}, + /*fragment=*/""); CHECK(uri.ok()); grpc_core::OrphanablePtr http_request = grpc_core::HttpRequest::Get( @@ -219,8 +221,10 @@ TEST_F(HttpsCliTest, Post) { const_cast(GRPC_SSL_TARGET_NAME_OVERRIDE_ARG), const_cast("foo.test.google.fr")); grpc_channel_args args = {1, &ssl_override_arg}; - auto uri = grpc_core::URI::Create("https", host, "/post", - {} /* query params */, "" /* fragment */); + auto uri = grpc_core::URI::Create( + "https", host, "/post", + /*query_parameter_pairs=*/{{"foo", "bar"}, {"mumble", "frotz"}}, + /*fragment=*/""); CHECK(uri.ok()); grpc_core::OrphanablePtr http_request = grpc_core::HttpRequest::Post( diff --git a/test/core/http/test_server.py b/test/core/http/test_server.py index 6da64fc84e9..34cb717bcbe 100755 --- a/test/core/http/test_server.py +++ b/test/core/http/test_server.py @@ -59,13 +59,13 @@ class Handler(BaseHTTPRequestHandler): ) def do_GET(self): - if self.path == "/get": + if self.path == "/get?foo=bar&baz=quux": self.good() def do_POST(self): content_len = self.headers.get("content-length") content = self.rfile.read(int(content_len)).decode("ascii") - if self.path == "/post" and content == "hello": + if self.path == "/post?foo=bar&mumble=frotz" and content == "hello": self.good() diff --git a/test/core/promise/switch_test.cc b/test/core/promise/switch_test.cc index ed18c1113ed..b4e4a4351a3 100644 --- a/test/core/promise/switch_test.cc +++ b/test/core/promise/switch_test.cc @@ -24,8 +24,9 @@ TEST(SwitchTest, JustDefault) { TEST(SwitchTest, ThreeCases) { auto test_switch = [](int d) { - return Switch(d, Case(1, [] { return 25; }), Case(2, [] { return 95; }), - Case(3, [] { return 68; }), Default([] { return 52; })); + return Switch(d, Case([] { return 25; }), + Case([] { return 95; }), + Case([] { return 68; }), Default([] { return 52; })); }; EXPECT_EQ(test_switch(0)(), Poll(52)); EXPECT_EQ(test_switch(1)(), Poll(25)); @@ -36,9 +37,10 @@ TEST(SwitchTest, ThreeCases) { TEST(SwitchTest, Pending) { auto test_switch = [](int d) { - return Switch(d, Case(42, []() -> Poll { return Pending{}; }), - Case(1, [] { return 25; }), Case(2, [] { return 95; }), - Case(3, [] { return 68; }), Default([] { return 52; })); + return Switch(d, Case([]() -> Poll { return Pending{}; }), + Case([] { return 25; }), + Case([] { return 95; }), + Case([] { return 68; }), Default([] { return 52; })); }; EXPECT_EQ(test_switch(0)(), Poll(52)); EXPECT_EQ(test_switch(1)(), Poll(25)); @@ -52,9 +54,9 @@ TEST(SwitchTest, ThreeCasesFromEnum) { enum class X : uint8_t { A, B, C }; auto test_switch = [](X d) { - return Switch(d, Case(X::A, [] { return 25; }), - Case(X::B, [] { return 95; }), Case(X::C, [] { return 68; }), - Default([] { return 52; })); + return Switch(d, Case([] { return 25; }), + Case([] { return 95; }), + Case([] { return 68; }), Default([] { return 52; })); }; EXPECT_EQ(test_switch(X::A)(), Poll(25)); EXPECT_EQ(test_switch(X::B)(), Poll(95)); diff --git a/test/core/transport/benchmarks/bm_chaotic_good.cc b/test/core/transport/benchmarks/bm_chaotic_good.cc index 6610e66e1aa..d2322badf35 100644 --- a/test/core/transport/benchmarks/bm_chaotic_good.cc +++ b/test/core/transport/benchmarks/bm_chaotic_good.cc @@ -41,13 +41,11 @@ class ChaoticGoodTraits { auto client = MakeOrphanable( PromiseEndpoint(std::move(control.client), SliceBuffer()), PromiseEndpoint(std::move(data.client), SliceBuffer()), channel_args, - grpc_event_engine::experimental::GetDefaultEventEngine(), HPackParser(), - HPackCompressor()); + grpc_event_engine::experimental::GetDefaultEventEngine()); auto server = MakeOrphanable( channel_args, PromiseEndpoint(std::move(control.server), SliceBuffer()), PromiseEndpoint(std::move(data.server), SliceBuffer()), - grpc_event_engine::experimental::GetDefaultEventEngine(), HPackParser(), - HPackCompressor()); + grpc_event_engine::experimental::GetDefaultEventEngine()); return {std::move(client), std::move(server)}; } diff --git a/test/core/transport/chaotic_good/BUILD b/test/core/transport/chaotic_good/BUILD index 1870c8d8be9..6eabb7e04f7 100644 --- a/test/core/transport/chaotic_good/BUILD +++ b/test/core/transport/chaotic_good/BUILD @@ -52,7 +52,10 @@ grpc_fuzzer( name = "frame_header_fuzzer", srcs = ["frame_header_fuzzer.cc"], corpus = "frame_header_fuzzer_corpus", - external_deps = ["absl/status:statusor"], + external_deps = [ + "absl/status:statusor", + "absl/strings", + ], language = "C++", tags = ["no_windows"], deps = [ diff --git a/test/core/transport/chaotic_good/client_transport_error_test.cc b/test/core/transport/chaotic_good/client_transport_error_test.cc index 99caac0602e..484ad593bdc 100644 --- a/test/core/transport/chaotic_good/client_transport_error_test.cc +++ b/test/core/transport/chaotic_good/client_transport_error_test.cc @@ -187,7 +187,7 @@ TEST_F(ClientTransportTest, AddOneStreamWithWriteFailed) { auto transport = MakeOrphanable( std::move(control_endpoint.promise_endpoint), std::move(data_endpoint.promise_endpoint), MakeChannelArgs(), - event_engine(), HPackParser(), HPackCompressor()); + event_engine()); auto call = MakeCall(TestInitialMetadata()); transport->StartCall(call.handler.StartCall()); call.initiator.SpawnGuarded("test-send", @@ -231,7 +231,7 @@ TEST_F(ClientTransportTest, AddOneStreamWithReadFailed) { auto transport = MakeOrphanable( std::move(control_endpoint.promise_endpoint), std::move(data_endpoint.promise_endpoint), MakeChannelArgs(), - event_engine(), HPackParser(), HPackCompressor()); + event_engine()); auto call = MakeCall(TestInitialMetadata()); transport->StartCall(call.handler.StartCall()); call.initiator.SpawnGuarded("test-send", @@ -283,7 +283,7 @@ TEST_F(ClientTransportTest, AddMultipleStreamWithWriteFailed) { auto transport = MakeOrphanable( std::move(control_endpoint.promise_endpoint), std::move(data_endpoint.promise_endpoint), MakeChannelArgs(), - event_engine(), HPackParser(), HPackCompressor()); + event_engine()); auto call1 = MakeCall(TestInitialMetadata()); transport->StartCall(call1.handler.StartCall()); auto call2 = MakeCall(TestInitialMetadata()); @@ -351,7 +351,7 @@ TEST_F(ClientTransportTest, AddMultipleStreamWithReadFailed) { auto transport = MakeOrphanable( std::move(control_endpoint.promise_endpoint), std::move(data_endpoint.promise_endpoint), MakeChannelArgs(), - event_engine(), HPackParser(), HPackCompressor()); + event_engine()); auto call1 = MakeCall(TestInitialMetadata()); transport->StartCall(call1.handler.StartCall()); auto call2 = MakeCall(TestInitialMetadata()); diff --git a/test/core/transport/chaotic_good/client_transport_test.cc b/test/core/transport/chaotic_good/client_transport_test.cc index f80cb13485a..3ee120ef332 100644 --- a/test/core/transport/chaotic_good/client_transport_test.cc +++ b/test/core/transport/chaotic_good/client_transport_test.cc @@ -36,6 +36,7 @@ #include "absl/types/optional.h" #include "gmock/gmock.h" #include "gtest/gtest.h" +#include "src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.h" #include "src/core/lib/config/core_configuration.h" #include "src/core/lib/promise/if.h" #include "src/core/lib/promise/loop.h" @@ -56,16 +57,6 @@ namespace grpc_core { namespace chaotic_good { namespace testing { -// Encoded string of header ":path: /demo.Service/Step". -const uint8_t kPathDemoServiceStep[] = { - 0x40, 0x05, 0x3a, 0x70, 0x61, 0x74, 0x68, 0x12, 0x2f, - 0x64, 0x65, 0x6d, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2f, 0x53, 0x74, 0x65, 0x70}; - -// Encoded string of trailer "grpc-status: 0". -const uint8_t kGrpcStatus0[] = {0x10, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x01, 0x30}; - ClientMetadataHandle TestInitialMetadata() { auto md = Arena::MakePooledForOverwrite(); md->Set(HttpPathMetadata(), Slice::FromStaticString("/demo.Service/Step")); @@ -103,37 +94,46 @@ ChannelArgs MakeChannelArgs() { TEST_F(TransportTest, AddOneStream) { MockPromiseEndpoint control_endpoint(1000); MockPromiseEndpoint data_endpoint(1001); + static const std::string many_as(1024 * 1024, 'a'); + const auto server_initial_metadata = + EncodeProto("message: 'hello'"); + const auto server_trailing_metadata = + EncodeProto("status: 0"); + const auto client_initial_metadata = + EncodeProto( + "path: '/demo.Service/Step'"); control_endpoint.ExpectRead( - {SerializedFrameHeader(FrameType::kFragment, 7, 1, 26, 8, 56, 15), - EventEngineSlice::FromCopiedBuffer(kPathDemoServiceStep, - sizeof(kPathDemoServiceStep)), - EventEngineSlice::FromCopiedBuffer(kGrpcStatus0, sizeof(kGrpcStatus0))}, + {SerializedFrameHeader(FrameType::kServerInitialMetadata, 0, 1, + server_initial_metadata.length()), + server_initial_metadata.Copy(), + SerializedFrameHeader(FrameType::kMessage, 1, 1, many_as.length()), + SerializedFrameHeader(FrameType::kServerTrailingMetadata, 0, 1, + server_trailing_metadata.length()), + server_trailing_metadata.Copy()}, event_engine().get()); data_endpoint.ExpectRead( - {EventEngineSlice::FromCopiedString("12345678"), Zeros(56)}, nullptr); + {EventEngineSlice::FromCopiedString(many_as), Zeros(56)}, nullptr); EXPECT_CALL(*control_endpoint.endpoint, Read) .InSequence(control_endpoint.read_sequence) .WillOnce(Return(false)); auto transport = MakeOrphanable( std::move(control_endpoint.promise_endpoint), std::move(data_endpoint.promise_endpoint), MakeChannelArgs(), - event_engine(), HPackParser(), HPackCompressor()); + event_engine()); auto call = MakeCall(TestInitialMetadata()); StrictMock> on_done; EXPECT_CALL(on_done, Call()); control_endpoint.ExpectWrite( - {SerializedFrameHeader(FrameType::kFragment, 1, 1, - sizeof(kPathDemoServiceStep), 0, 0, 0), - EventEngineSlice::FromCopiedBuffer(kPathDemoServiceStep, - sizeof(kPathDemoServiceStep))}, + {SerializedFrameHeader(FrameType::kClientInitialMetadata, 0, 1, + client_initial_metadata.length()), + client_initial_metadata.Copy()}, nullptr); control_endpoint.ExpectWrite( - {SerializedFrameHeader(FrameType::kFragment, 2, 1, 0, 1, 63, 0)}, + {SerializedFrameHeader(FrameType::kMessage, 0, 1, 1), + EventEngineSlice::FromCopiedString("0")}, nullptr); - data_endpoint.ExpectWrite( - {EventEngineSlice::FromCopiedString("0"), Zeros(63)}, nullptr); control_endpoint.ExpectWrite( - {SerializedFrameHeader(FrameType::kFragment, 4, 1, 0, 0, 0, 0)}, nullptr); + {SerializedFrameHeader(FrameType::kClientEndOfStream, 0, 1, 0)}, nullptr); transport->StartCall(call.handler.StartCall()); call.initiator.SpawnGuarded("test-send", [initiator = call.initiator]() mutable { @@ -148,16 +148,16 @@ TEST_F(TransportTest, AddOneStream) { EXPECT_TRUE(md.value().has_value()); EXPECT_EQ(md.value() .value() - ->get_pointer(HttpPathMetadata()) + ->get_pointer(GrpcMessageMetadata()) ->as_string_view(), - "/demo.Service/Step"); + "hello"); return Empty{}; }, [initiator]() mutable { return initiator.PullMessage(); }, [](ServerToClientNextMessage msg) { EXPECT_TRUE(msg.ok()); EXPECT_TRUE(msg.has_value()); - EXPECT_EQ(msg.value().payload()->JoinIntoString(), "12345678"); + EXPECT_EQ(msg.value().payload()->JoinIntoString(), many_as); return Empty{}; }, [initiator]() mutable { return initiator.PullMessage(); }, @@ -183,47 +183,50 @@ TEST_F(TransportTest, AddOneStream) { TEST_F(TransportTest, AddOneStreamMultipleMessages) { MockPromiseEndpoint control_endpoint(1000); MockPromiseEndpoint data_endpoint(1001); + const auto server_initial_metadata = + EncodeProto(""); + const auto server_trailing_metadata = + EncodeProto("status: 0"); + const auto client_initial_metadata = + EncodeProto( + "path: '/demo.Service/Step'"); control_endpoint.ExpectRead( - {SerializedFrameHeader(FrameType::kFragment, 3, 1, 26, 8, 56, 0), - EventEngineSlice::FromCopiedBuffer(kPathDemoServiceStep, - sizeof(kPathDemoServiceStep))}, - event_engine().get()); - control_endpoint.ExpectRead( - {SerializedFrameHeader(FrameType::kFragment, 6, 1, 0, 8, 56, 15), - EventEngineSlice::FromCopiedBuffer(kGrpcStatus0, sizeof(kGrpcStatus0))}, + {SerializedFrameHeader(FrameType::kServerInitialMetadata, 0, 1, + server_initial_metadata.length()), + server_initial_metadata.Copy(), + SerializedFrameHeader(FrameType::kMessage, 0, 1, 8), + EventEngineSlice::FromCopiedString("12345678"), + SerializedFrameHeader(FrameType::kMessage, 0, 1, 8), + EventEngineSlice::FromCopiedString("87654321"), + SerializedFrameHeader(FrameType::kServerTrailingMetadata, 0, 1, + server_trailing_metadata.length()), + server_trailing_metadata.Copy()}, event_engine().get()); - data_endpoint.ExpectRead( - {EventEngineSlice::FromCopiedString("12345678"), Zeros(56)}, nullptr); - data_endpoint.ExpectRead( - {EventEngineSlice::FromCopiedString("87654321"), Zeros(56)}, nullptr); EXPECT_CALL(*control_endpoint.endpoint, Read) .InSequence(control_endpoint.read_sequence) .WillOnce(Return(false)); auto transport = MakeOrphanable( std::move(control_endpoint.promise_endpoint), std::move(data_endpoint.promise_endpoint), MakeChannelArgs(), - event_engine(), HPackParser(), HPackCompressor()); + event_engine()); auto call = MakeCall(TestInitialMetadata()); StrictMock> on_done; EXPECT_CALL(on_done, Call()); control_endpoint.ExpectWrite( - {SerializedFrameHeader(FrameType::kFragment, 1, 1, - sizeof(kPathDemoServiceStep), 0, 0, 0), - EventEngineSlice::FromCopiedBuffer(kPathDemoServiceStep, - sizeof(kPathDemoServiceStep))}, + {SerializedFrameHeader(FrameType::kClientInitialMetadata, 0, 1, + client_initial_metadata.length()), + client_initial_metadata.Copy()}, nullptr); control_endpoint.ExpectWrite( - {SerializedFrameHeader(FrameType::kFragment, 2, 1, 0, 1, 63, 0)}, + {SerializedFrameHeader(FrameType::kMessage, 0, 1, 1), + EventEngineSlice::FromCopiedString("0")}, nullptr); - data_endpoint.ExpectWrite( - {EventEngineSlice::FromCopiedString("0"), Zeros(63)}, nullptr); control_endpoint.ExpectWrite( - {SerializedFrameHeader(FrameType::kFragment, 2, 1, 0, 1, 63, 0)}, + {SerializedFrameHeader(FrameType::kMessage, 0, 1, 1), + EventEngineSlice::FromCopiedString("1")}, nullptr); - data_endpoint.ExpectWrite( - {EventEngineSlice::FromCopiedString("1"), Zeros(63)}, nullptr); control_endpoint.ExpectWrite( - {SerializedFrameHeader(FrameType::kFragment, 4, 1, 0, 0, 0, 0)}, nullptr); + {SerializedFrameHeader(FrameType::kClientEndOfStream, 0, 1, 0)}, nullptr); transport->StartCall(call.handler.StartCall()); call.initiator.SpawnGuarded("test-send", [initiator = call.initiator]() mutable { @@ -236,11 +239,6 @@ TEST_F(TransportTest, AddOneStreamMultipleMessages) { [](ValueOrFailure> md) { EXPECT_TRUE(md.ok()); EXPECT_TRUE(md.value().has_value()); - EXPECT_EQ(md.value() - .value() - ->get_pointer(HttpPathMetadata()) - ->as_string_view(), - "/demo.Service/Step"); return Empty{}; }, initiator.PullMessage(), diff --git a/test/core/transport/chaotic_good/frame_fuzzer.cc b/test/core/transport/chaotic_good/frame_fuzzer.cc index 11d2e3f64c5..deb5af28a61 100644 --- a/test/core/transport/chaotic_good/frame_fuzzer.cc +++ b/test/core/transport/chaotic_good/frame_fuzzer.cc @@ -25,8 +25,6 @@ #include "absl/status/statusor.h" #include "src/core/ext/transport/chaotic_good/frame.h" #include "src/core/ext/transport/chaotic_good/frame_header.h" -#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h" -#include "src/core/ext/transport/chttp2/transport/hpack_parser.h" #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/resource_quota/arena.h" #include "src/core/lib/resource_quota/memory_quota.h" @@ -48,82 +46,62 @@ struct DeterministicBitGen : public std::numeric_limits { uint64_t operator()() { return 42; } }; -FrameLimits FuzzerFrameLimits() { return FrameLimits{1024 * 1024 * 1024, 63}; } - template void AssertRoundTrips(const T& input, FrameType expected_frame_type) { - HPackCompressor hpack_compressor; - bool saw_encoding_errors = false; - auto serialized = input.Serialize(&hpack_compressor, saw_encoding_errors); - CHECK(serialized.control.Length() >= - 24); // Initial output buffer size is 64 byte. - uint8_t header_bytes[24]; - serialized.control.MoveFirstNBytesIntoBuffer(24, header_bytes); - auto header = FrameHeader::Parse(header_bytes); - if (!header.ok()) { - if (!squelch) { - LOG(ERROR) << "Failed to parse header: " << header.status().ToString(); - } - Crash("Failed to parse header"); - } - CHECK_EQ(header->type, expected_frame_type); + FrameHeader hdr = input.MakeHeader(); + CHECK_EQ(hdr.type, expected_frame_type); + CHECK_EQ(hdr.payload_connection_id, 0); + SliceBuffer payload; + input.SerializePayload(payload); + CHECK_GE(hdr.payload_length, payload.Length()); T output; - HPackParser hpack_parser; - DeterministicBitGen bitgen; - auto deser = output.Deserialize(&hpack_parser, header.value(), - absl::BitGenRef(bitgen), GetContext(), - std::move(serialized), FuzzerFrameLimits()); + auto deser = output.Deserialize(hdr, std::move(payload)); CHECK_OK(deser); - if (!saw_encoding_errors) CHECK_EQ(input, output); + CHECK_EQ(input.ToString(), output.ToString()); } template -void FinishParseAndChecks(const FrameHeader& header, BufferPair buffers) { +void FinishParseAndChecks(const FrameHeader& header, SliceBuffer payload) { T parsed; ExecCtx exec_ctx; // Initialized to get this_cpu() info in global_stat(). - HPackParser hpack_parser; - DeterministicBitGen bitgen; - auto deser = parsed.Deserialize(&hpack_parser, header, - absl::BitGenRef(bitgen), GetContext(), - std::move(buffers), FuzzerFrameLimits()); + auto deser = parsed.Deserialize(header, std::move(payload)); if (!deser.ok()) return; - LOG(INFO) << "Read frame: " << parsed.ToString(); AssertRoundTrips(parsed, header.type); } void Run(const frame_fuzzer::Test& test) { - const uint8_t* control_data = - reinterpret_cast(test.control().data()); - size_t control_size = test.control().size(); - if (test.control().size() < 24) return; - auto r = FrameHeader::Parse(control_data); + if (test.header().size() != FrameHeader::kFrameHeaderSize) return; + auto r = FrameHeader::Parse( + reinterpret_cast(test.header().data())); if (!r.ok()) return; - if (test.data().size() != r->message_length) return; - LOG(INFO) << "Read frame header: " << r->ToString(); - control_data += 24; - control_size -= 24; + if (test.payload().size() != r->payload_length) return; auto arena = SimpleArenaAllocator()->MakeArena(); TestContext ctx(arena.get()); - BufferPair buffers{ - SliceBuffer(Slice::FromCopiedBuffer(control_data, control_size)), - SliceBuffer( - Slice::FromCopiedBuffer(test.data().data(), test.data().size())), - }; + SliceBuffer payload( + Slice::FromCopiedBuffer(test.payload().data(), test.payload().size())); switch (r->type) { default: return; // We don't know how to parse this frame type. case FrameType::kSettings: - FinishParseAndChecks(*r, std::move(buffers)); + FinishParseAndChecks(*r, std::move(payload)); + break; + case FrameType::kClientInitialMetadata: + FinishParseAndChecks(*r, std::move(payload)); + break; + case FrameType::kClientEndOfStream: + FinishParseAndChecks(*r, std::move(payload)); + break; + case FrameType::kServerInitialMetadata: + FinishParseAndChecks(*r, std::move(payload)); + break; + case FrameType::kServerTrailingMetadata: + FinishParseAndChecks(*r, std::move(payload)); break; - case FrameType::kFragment: - if (test.is_server()) { - FinishParseAndChecks(*r, std::move(buffers)); - } else { - FinishParseAndChecks(*r, std::move(buffers)); - } + case FrameType::kMessage: + FinishParseAndChecks(*r, std::move(payload)); break; case FrameType::kCancel: - FinishParseAndChecks(*r, std::move(buffers)); + FinishParseAndChecks(*r, std::move(payload)); break; } } diff --git a/test/core/transport/chaotic_good/frame_fuzzer.proto b/test/core/transport/chaotic_good/frame_fuzzer.proto index 4ae8657e588..17ea42f13e4 100644 --- a/test/core/transport/chaotic_good/frame_fuzzer.proto +++ b/test/core/transport/chaotic_good/frame_fuzzer.proto @@ -17,7 +17,6 @@ syntax = "proto3"; package frame_fuzzer; message Test { - bool is_server = 1; - bytes control = 2; - bytes data = 3; + bytes header = 1; + bytes payload = 2; } diff --git a/test/core/transport/chaotic_good/frame_header_fuzzer.cc b/test/core/transport/chaotic_good/frame_header_fuzzer.cc index 765f7c35f0e..e6702e86461 100644 --- a/test/core/transport/chaotic_good/frame_header_fuzzer.cc +++ b/test/core/transport/chaotic_good/frame_header_fuzzer.cc @@ -17,17 +17,28 @@ #include #include "absl/status/statusor.h" +#include "absl/strings/escaping.h" #include "src/core/ext/transport/chaotic_good/frame_header.h" bool squelch = false; +using grpc_core::chaotic_good::FrameHeader; + extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - if (size != 24) return 0; - auto r = grpc_core::chaotic_good::FrameHeader::Parse(data); + if (size != FrameHeader::kFrameHeaderSize) return 0; + auto r = FrameHeader::Parse(data); if (!r.ok()) return 0; - uint8_t reserialized[24]; + uint8_t reserialized[FrameHeader::kFrameHeaderSize]; r->Serialize(reserialized); // If it parses, we insist that the bytes reserialize to the same thing. - if (memcmp(data, reserialized, 24) != 0) abort(); + if (memcmp(data, reserialized, FrameHeader::kFrameHeaderSize) != 0) { + auto esc = [](const void* s) { + return absl::CEscape(absl::string_view(static_cast(s), + FrameHeader::kFrameHeaderSize)); + }; + fprintf(stderr, "Failed:\nin: %s\nout: %s\nser: %s\n", esc(data).c_str(), + esc(reserialized).c_str(), r->ToString().c_str()); + abort(); + } return 0; } diff --git a/test/core/transport/chaotic_good/frame_header_test.cc b/test/core/transport/chaotic_good/frame_header_test.cc index 54c122a4a92..c805728b232 100644 --- a/test/core/transport/chaotic_good/frame_header_test.cc +++ b/test/core/transport/chaotic_good/frame_header_test.cc @@ -25,71 +25,36 @@ namespace chaotic_good { namespace { std::vector Serialize(FrameHeader h) { - uint8_t buffer[24]; + uint8_t buffer[FrameHeader::kFrameHeaderSize]; h.Serialize(buffer); - return std::vector(buffer, buffer + 24); + return std::vector(buffer, buffer + FrameHeader::kFrameHeaderSize); } absl::StatusOr Deserialize(std::vector data) { - if (data.size() != 24) return absl::InvalidArgumentError("bad length"); + if (data.size() != FrameHeader::kFrameHeaderSize) { + return absl::InvalidArgumentError("bad length"); + } return FrameHeader::Parse(data.data()); } TEST(FrameHeaderTest, SimpleSerialize) { - EXPECT_EQ(Serialize(FrameHeader{FrameType::kCancel, BitSet<3>::FromInt(0), - 0x01020304, 0x05060708, 0x090a0b0c, - 0x00000034, 0x0d0e0f10}), - std::vector({ - 0x81, 0, 0, 0, // type, flags - 0x04, 0x03, 0x02, 0x01, // stream_id - 0x08, 0x07, 0x06, 0x05, // header_length - 0x0c, 0x0b, 0x0a, 0x09, // message_length - 0x34, 0x00, 0x00, 0x00, // message_padding - 0x10, 0x0f, 0x0e, 0x0d // trailer_length - })); + EXPECT_EQ( + Serialize(FrameHeader{FrameType::kCancel, 1, 0x01020304, 0x05060708}), + std::vector({ + 1, 0, 0xff, 0, // type, payload_connection_id + 0x04, 0x03, 0x02, 0x01, // stream_id + 0x08, 0x07, 0x06, 0x05, // payload_length + })); } TEST(FrameHeaderTest, SimpleDeserialize) { EXPECT_EQ(Deserialize(std::vector({ - 0x81, 0, 0, 0, // type, flags + 1, 0, 0xff, 0, // type, payload_connection_id 0x04, 0x03, 0x02, 0x01, // stream_id - 0x08, 0x07, 0x06, 0x05, // header_length - 0x0c, 0x0b, 0x0a, 0x09, // message_length - 0x34, 0x00, 0x00, 0x00, // message_padding - 0x10, 0x0f, 0x0e, 0x0d // trailer_length + 0x08, 0x07, 0x06, 0x05, // payload_length })), - absl::StatusOr(FrameHeader{ - FrameType::kCancel, BitSet<3>::FromInt(0), 0x01020304, - 0x05060708, 0x090a0b0c, 0x00000034, 0x0d0e0f10})); - EXPECT_EQ(Deserialize(std::vector({ - 0x81, 88, 88, 88, // type, flags - 0x04, 0x03, 0x02, 0x01, // stream_id - 0x08, 0x07, 0x06, 0x05, // header_length - 0x0c, 0x0b, 0x0a, 0x09, // message_length - 0x34, 0x00, 0x00, 0x00, // message_padding - 0x10, 0x0f, 0x0e, 0x0d // trailer_length - })) - .status(), - absl::InvalidArgumentError("Invalid flags")); -} - -TEST(FrameHeaderTest, GetFrameLength) { - EXPECT_EQ( - (FrameHeader{FrameType::kFragment, BitSet<3>::FromInt(5), 1, 0, 0, 0, 0}) - .GetFrameLength(), - 0); - EXPECT_EQ( - (FrameHeader{FrameType::kFragment, BitSet<3>::FromInt(5), 1, 14, 0, 0, 0}) - .GetFrameLength(), - 14); - EXPECT_EQ((FrameHeader{FrameType::kFragment, BitSet<3>::FromInt(5), 1, 0, 14, - 50, 0}) - .GetFrameLength(), - 0); - EXPECT_EQ( - (FrameHeader{FrameType::kFragment, BitSet<3>::FromInt(5), 1, 0, 0, 0, 14}) - .GetFrameLength(), - 14); + absl::StatusOr( + FrameHeader{FrameType::kCancel, 1, 0x01020304, 0x05060708})); } } // namespace diff --git a/test/core/transport/chaotic_good/frame_test.cc b/test/core/transport/chaotic_good/frame_test.cc index 2ca7a446e74..7b184f4d082 100644 --- a/test/core/transport/chaotic_good/frame_test.cc +++ b/test/core/transport/chaotic_good/frame_test.cc @@ -28,34 +28,20 @@ namespace grpc_core { namespace chaotic_good { namespace { -FrameLimits TestFrameLimits() { return FrameLimits{1024 * 1024 * 1024, 63}; } - template void AssertRoundTrips(const T& input, FrameType expected_frame_type) { - HPackCompressor hpack_compressor; - bool saw_encoding_errors = false; - auto serialized = input.Serialize(&hpack_compressor, saw_encoding_errors); - CHECK_GE(serialized.control.Length(), - 24); // Initial output buffer size is 64 byte. - uint8_t header_bytes[24]; - serialized.control.MoveFirstNBytesIntoBuffer(24, header_bytes); - auto header = FrameHeader::Parse(header_bytes); - if (!header.ok()) { - Crash("Failed to parse header"); - } - CHECK_EQ(header->type, expected_frame_type); + const auto hdr = input.MakeHeader(); + EXPECT_EQ(hdr.type, expected_frame_type); + // Frames should always set connection id 0, though the transport may adjust + // it. + EXPECT_EQ(hdr.payload_connection_id, 0); + SliceBuffer output_buffer; + input.SerializePayload(output_buffer); + EXPECT_EQ(hdr.payload_length, output_buffer.Length()); T output; - HPackParser hpack_parser; - absl::BitGen bitgen; - MemoryAllocator allocator = MakeResourceQuota("test-quota") - ->memory_quota() - ->CreateMemoryAllocator("test-allocator"); - RefCountedPtr arena = SimpleArenaAllocator()->MakeArena(); - auto deser = - output.Deserialize(&hpack_parser, header.value(), absl::BitGenRef(bitgen), - arena.get(), std::move(serialized), TestFrameLimits()); + auto deser = output.Deserialize(hdr, std::move(output_buffer)); CHECK_OK(deser); - if (!saw_encoding_errors) CHECK_EQ(output, input); + CHECK_EQ(output.ToString(), input.ToString()); } TEST(FrameTest, SettingsFrameRoundTrips) { diff --git a/test/core/transport/chaotic_good/server_transport_test.cc b/test/core/transport/chaotic_good/server_transport_test.cc index bc7eca243c0..a9944d96dab 100644 --- a/test/core/transport/chaotic_good/server_transport_test.cc +++ b/test/core/transport/chaotic_good/server_transport_test.cc @@ -59,19 +59,9 @@ namespace grpc_core { namespace chaotic_good { namespace testing { -// Encoded string of header ":path: /demo.Service/Step". -const uint8_t kPathDemoServiceStep[] = { - 0x40, 0x05, 0x3a, 0x70, 0x61, 0x74, 0x68, 0x12, 0x2f, - 0x64, 0x65, 0x6d, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2f, 0x53, 0x74, 0x65, 0x70}; - -// Encoded string of trailer "grpc-status: 0". -const uint8_t kGrpcStatus0[] = {0x40, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x01, 0x30}; - ServerMetadataHandle TestInitialMetadata() { auto md = Arena::MakePooledForOverwrite(); - md->Set(HttpPathMetadata(), Slice::FromStaticString("/demo.Service/Step")); + md->Set(GrpcMessageMetadata(), Slice::FromStaticString("hello")); return md; } @@ -99,24 +89,35 @@ TEST_F(TransportTest, ReadAndWriteOneMessage) { .channel_args_preconditioning() .PreconditionChannelArgs(nullptr), std::move(control_endpoint.promise_endpoint), - std::move(data_endpoint.promise_endpoint), event_engine(), HPackParser(), - HPackCompressor()); + std::move(data_endpoint.promise_endpoint), event_engine()); + const auto server_initial_metadata = + EncodeProto("message: 'hello'"); + const auto server_trailing_metadata = + EncodeProto("status: 0"); + const auto client_initial_metadata = + EncodeProto( + "path: '/demo.Service/Step'"); // Once we set the acceptor, expect to read some frames. // We'll return a new request with a payload of "12345678". control_endpoint.ExpectRead( - {SerializedFrameHeader(FrameType::kFragment, 7, 1, 26, 8, 56, 0), - EventEngineSlice::FromCopiedBuffer(kPathDemoServiceStep, - sizeof(kPathDemoServiceStep))}, + {SerializedFrameHeader(FrameType::kClientInitialMetadata, 0, 1, + client_initial_metadata.length()), + client_initial_metadata.Copy(), + SerializedFrameHeader(FrameType::kMessage, 0, 1, 8), + EventEngineSlice::FromCopiedString("12345678"), + SerializedFrameHeader(FrameType::kClientEndOfStream, 0, 1, 0)}, event_engine().get()); - data_endpoint.ExpectRead( - {EventEngineSlice::FromCopiedString("12345678"), Zeros(56)}, nullptr); // Once that's read we'll create a new call StrictMock> on_done; auto control_address = grpc_event_engine::experimental::URIToResolvedAddress("ipv4:1.2.3.4:5678") .value(); EXPECT_CALL(*control_endpoint.endpoint, GetPeerAddress) - .WillRepeatedly([&control_address]() { return control_address; }); + .WillRepeatedly( + [&control_address]() -> const grpc_event_engine::experimental:: + EventEngine::ResolvedAddress& { + return control_address; + }); EXPECT_CALL(*call_destination, StartCall(_)) .WillOnce(WithArgs<0>([&on_done]( UnstartedCallHandler unstarted_call_handler) { @@ -169,20 +170,18 @@ TEST_F(TransportTest, ReadAndWriteOneMessage) { .InSequence(control_endpoint.read_sequence) .WillOnce(Return(false)); control_endpoint.ExpectWrite( - {SerializedFrameHeader(FrameType::kFragment, 1, 1, - sizeof(kPathDemoServiceStep), 0, 0, 0), - EventEngineSlice::FromCopiedBuffer(kPathDemoServiceStep, - sizeof(kPathDemoServiceStep))}, + {SerializedFrameHeader(FrameType::kServerInitialMetadata, 0, 1, + server_initial_metadata.length()), + server_initial_metadata.Copy()}, nullptr); control_endpoint.ExpectWrite( - {SerializedFrameHeader(FrameType::kFragment, 2, 1, 0, 8, 56, 0)}, + {SerializedFrameHeader(FrameType::kMessage, 0, 1, 8), + EventEngineSlice::FromCopiedString("87654321")}, nullptr); - data_endpoint.ExpectWrite( - {EventEngineSlice::FromCopiedString("87654321"), Zeros(56)}, nullptr); control_endpoint.ExpectWrite( - {SerializedFrameHeader(FrameType::kFragment, 4, 1, 0, 0, 0, - sizeof(kGrpcStatus0)), - EventEngineSlice::FromCopiedBuffer(kGrpcStatus0, sizeof(kGrpcStatus0))}, + {SerializedFrameHeader(FrameType::kServerTrailingMetadata, 0, 1, + server_trailing_metadata.length()), + server_trailing_metadata.Copy()}, nullptr); // Wait until ClientTransport's internal activities to finish. event_engine()->TickUntilIdle(); diff --git a/test/core/transport/chaotic_good/transport_test.cc b/test/core/transport/chaotic_good/transport_test.cc index b43098fa7c7..2a5522b2cc9 100644 --- a/test/core/transport/chaotic_good/transport_test.cc +++ b/test/core/transport/chaotic_good/transport_test.cc @@ -19,34 +19,24 @@ namespace chaotic_good { namespace testing { grpc_event_engine::experimental::Slice SerializedFrameHeader( - FrameType type, uint8_t flags, uint32_t stream_id, uint32_t header_length, - uint32_t message_length, uint32_t message_padding, - uint32_t trailer_length) { - uint8_t buffer[24] = {static_cast(type), - flags, - 0, - 0, - static_cast(stream_id), - static_cast(stream_id >> 8), - static_cast(stream_id >> 16), - static_cast(stream_id >> 24), - static_cast(header_length), - static_cast(header_length >> 8), - static_cast(header_length >> 16), - static_cast(header_length >> 24), - static_cast(message_length), - static_cast(message_length >> 8), - static_cast(message_length >> 16), - static_cast(message_length >> 24), - static_cast(message_padding), - static_cast(message_padding >> 8), - static_cast(message_padding >> 16), - static_cast(message_padding >> 24), - static_cast(trailer_length), - static_cast(trailer_length >> 8), - static_cast(trailer_length >> 16), - static_cast(trailer_length >> 24)}; - return grpc_event_engine::experimental::Slice::FromCopiedBuffer(buffer, 24); + FrameType type, uint16_t payload_connection_id, uint32_t stream_id, + uint32_t payload_length) { + uint8_t buffer[FrameHeader::kFrameHeaderSize] = { + static_cast(payload_connection_id), + static_cast(payload_connection_id >> 16), + static_cast(type), + 0, + static_cast(stream_id), + static_cast(stream_id >> 8), + static_cast(stream_id >> 16), + static_cast(stream_id >> 24), + static_cast(payload_length), + static_cast(payload_length >> 8), + static_cast(payload_length >> 16), + static_cast(payload_length >> 24), + }; + return grpc_event_engine::experimental::Slice::FromCopiedBuffer( + buffer, sizeof(buffer)); } grpc_event_engine::experimental::Slice Zeros(uint32_t length) { diff --git a/test/core/transport/chaotic_good/transport_test.h b/test/core/transport/chaotic_good/transport_test.h index d6269c6e984..21c8623e862 100644 --- a/test/core/transport/chaotic_good/transport_test.h +++ b/test/core/transport/chaotic_good/transport_test.h @@ -15,6 +15,8 @@ #ifndef GRPC_TEST_CORE_TRANSPORT_CHAOTIC_GOOD_TRANSPORT_TEST_H #define GRPC_TEST_CORE_TRANSPORT_CHAOTIC_GOOD_TRANSPORT_TEST_H +#include + #include "gmock/gmock.h" #include "gtest/gtest.h" #include "src/core/ext/transport/chaotic_good/frame.h" @@ -22,6 +24,8 @@ #include "src/core/lib/iomgr/timer_manager.h" #include "src/core/lib/resource_quota/memory_quota.h" #include "src/core/lib/resource_quota/resource_quota.h" +#include "src/core/lib/transport/call_arena_allocator.h" +#include "src/core/lib/transport/call_spine.h" #include "test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h" #include "test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.h" @@ -71,11 +75,20 @@ class TransportTest : public ::testing::Test { }; grpc_event_engine::experimental::Slice SerializedFrameHeader( - FrameType type, uint8_t flags, uint32_t stream_id, uint32_t header_length, - uint32_t message_length, uint32_t message_padding, uint32_t trailer_length); + FrameType type, uint16_t payload_connection_id, uint32_t stream_id, + uint32_t payload_length); grpc_event_engine::experimental::Slice Zeros(uint32_t length); +template +grpc_event_engine::experimental::Slice EncodeProto(const std::string& fields) { + T msg; + CHECK(google::protobuf::TextFormat::ParseFromString(fields, &msg)); + std::string out; + CHECK(msg.SerializeToString(&out)); + return grpc_event_engine::experimental::Slice::FromCopiedString(out); +} + } // namespace testing } // namespace chaotic_good } // namespace grpc_core diff --git a/test/core/transport/test_suite/chaotic_good_fixture.cc b/test/core/transport/test_suite/chaotic_good_fixture.cc index d36e4b1a054..d7e0c776d16 100644 --- a/test/core/transport/test_suite/chaotic_good_fixture.cc +++ b/test/core/transport/test_suite/chaotic_good_fixture.cc @@ -104,13 +104,11 @@ TRANSPORT_FIXTURE(ChaoticGood) { auto client_transport = MakeOrphanable( std::move(control_endpoints.client), std::move(data_endpoints.client), - ChannelArgs().SetObject(resource_quota), event_engine, HPackParser(), - HPackCompressor()); + ChannelArgs().SetObject(resource_quota), event_engine); auto server_transport = MakeOrphanable( channel_args, std::move(control_endpoints.server), - std::move(data_endpoints.server), event_engine, HPackParser(), - HPackCompressor()); + std::move(data_endpoints.server), event_engine); return ClientAndServerTransportPair{std::move(client_transport), std::move(server_transport)}; } diff --git a/tools/distrib/fix_build_deps.py b/tools/distrib/fix_build_deps.py index 01d0704c7e4..c807082e429 100755 --- a/tools/distrib/fix_build_deps.py +++ b/tools/distrib/fix_build_deps.py @@ -458,6 +458,7 @@ for dirname in [ "platform": lambda name, **kwargs: None, "grpc_clang_cl_settings": lambda **kwargs: None, "grpc_benchmark_args": lambda **kwargs: [], + "LARGE_MACHINE": 1, }, {}, ) diff --git a/tools/distrib/python/grpcio_tools/_parallel_compile_patch.py b/tools/distrib/python/grpcio_tools/_parallel_compile_patch.py index 8852f54e944..4d333b318d9 100644 --- a/tools/distrib/python/grpcio_tools/_parallel_compile_patch.py +++ b/tools/distrib/python/grpcio_tools/_parallel_compile_patch.py @@ -18,7 +18,7 @@ # instead. This file can be regenerated from the template by running # `tools/buildgen/generate_projects.sh`. -"""Patches the compile() to allow enable parallel compilation of C/C++. +"""Patches the compile() to enable parallel compilation of C/C++. build_ext has lots of C/C++ files and normally them one by one. Enabling parallel build helps a lot. diff --git a/tools/distrib/python_tooling_tests.sh b/tools/distrib/python_tooling_tests.sh index 69007844241..af1102cd8ce 100755 --- a/tools/distrib/python_tooling_tests.sh +++ b/tools/distrib/python_tooling_tests.sh @@ -18,11 +18,12 @@ set -ex BASEDIR=$(dirname "$0")/../.. cd "$BASEDIR"; -# Run tests for grpcio_tests +# the test module +TEST_MODULE="tests.unit.test_all_modules_installed" + +# Run the specific test module pushd src/python/grpcio_tests; - python3 setup.py test_lite - python3 setup.py test_aio - python3 setup.py test_py3_only + python3 -m unittest "$TEST_MODULE" popd; chmod -R 755 src/ diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++ index f0dc270e58c..a10b5eab8c0 100644 --- a/tools/doxygen/Doxyfile.c++ +++ b/tools/doxygen/Doxyfile.c++ @@ -1028,6 +1028,7 @@ include/grpcpp/impl/codegen/time.h \ include/grpcpp/impl/completion_queue_tag.h \ include/grpcpp/impl/create_auth_context.h \ include/grpcpp/impl/delegating_channel.h \ +include/grpcpp/impl/generic_serialize.h \ include/grpcpp/impl/generic_stub_internal.h \ include/grpcpp/impl/grpc_library.h \ include/grpcpp/impl/intercepted_channel.h \ diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index b611cc7877a..87c21198fa7 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -1028,6 +1028,7 @@ include/grpcpp/impl/codegen/time.h \ include/grpcpp/impl/completion_queue_tag.h \ include/grpcpp/impl/create_auth_context.h \ include/grpcpp/impl/delegating_channel.h \ +include/grpcpp/impl/generic_serialize.h \ include/grpcpp/impl/generic_stub_internal.h \ include/grpcpp/impl/grpc_library.h \ include/grpcpp/impl/intercepted_channel.h \