diff --git a/BUILD b/BUILD index fc4dfe8d9acc25adae764c0daef3c52062cace77..fa9a1209899b08aa8f09f0308cfc2b55c78c6a90 100644 --- a/BUILD +++ b/BUILD @@ -103,20 +103,6 @@ cc_library( "src/core/lib/support/wrap_memcpy.c", ], hdrs = [ - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_win32.h", - "include/grpc/impl/codegen/time.h", "include/grpc/support/alloc.h", "include/grpc/support/atm.h", "include/grpc/support/atm_gcc_atomic.h", @@ -145,6 +131,20 @@ cc_library( "include/grpc/support/tls_msvc.h", "include/grpc/support/tls_pthread.h", "include/grpc/support/useful.h", + "include/grpc/impl/codegen/alloc.h", + "include/grpc/impl/codegen/atm.h", + "include/grpc/impl/codegen/atm_gcc_atomic.h", + "include/grpc/impl/codegen/atm_gcc_sync.h", + "include/grpc/impl/codegen/atm_win32.h", + "include/grpc/impl/codegen/log.h", + "include/grpc/impl/codegen/port_platform.h", + "include/grpc/impl/codegen/slice.h", + "include/grpc/impl/codegen/slice_buffer.h", + "include/grpc/impl/codegen/sync.h", + "include/grpc/impl/codegen/sync_generic.h", + "include/grpc/impl/codegen/sync_posix.h", + "include/grpc/impl/codegen/sync_win32.h", + "include/grpc/impl/codegen/time.h", ], includes = [ "include", @@ -159,60 +159,14 @@ cc_library( cc_library( name = "grpc", srcs = [ - "src/core/ext/transport/chttp2/transport/alpn.h", - "src/core/ext/transport/chttp2/transport/bin_encoder.h", - "src/core/ext/transport/chttp2/transport/chttp2_transport.h", - "src/core/ext/transport/chttp2/transport/frame.h", - "src/core/ext/transport/chttp2/transport/frame_data.h", - "src/core/ext/transport/chttp2/transport/frame_goaway.h", - "src/core/ext/transport/chttp2/transport/frame_ping.h", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", - "src/core/ext/transport/chttp2/transport/frame_settings.h", - "src/core/ext/transport/chttp2/transport/frame_window_update.h", - "src/core/ext/transport/chttp2/transport/hpack_encoder.h", - "src/core/ext/transport/chttp2/transport/hpack_parser.h", - "src/core/ext/transport/chttp2/transport/hpack_table.h", - "src/core/ext/transport/chttp2/transport/http2_errors.h", - "src/core/ext/transport/chttp2/transport/huffsyms.h", - "src/core/ext/transport/chttp2/transport/incoming_metadata.h", - "src/core/ext/transport/chttp2/transport/internal.h", - "src/core/ext/transport/chttp2/transport/status_conversion.h", - "src/core/ext/transport/chttp2/transport/stream_map.h", - "src/core/ext/transport/chttp2/transport/timeout_encoding.h", - "src/core/ext/transport/chttp2/transport/varint.h", - "src/core/lib/census/aggregation.h", - "src/core/lib/census/grpc_filter.h", - "src/core/lib/census/grpc_plugin.h", - "src/core/lib/census/mlog.h", - "src/core/lib/census/rpc_metric_id.h", "src/core/lib/channel/channel_args.h", "src/core/lib/channel/channel_stack.h", "src/core/lib/channel/channel_stack_builder.h", - "src/core/lib/channel/client_channel.h", "src/core/lib/channel/compress_filter.h", "src/core/lib/channel/connected_channel.h", "src/core/lib/channel/context.h", "src/core/lib/channel/http_client_filter.h", "src/core/lib/channel/http_server_filter.h", - "src/core/lib/channel/subchannel_call_holder.h", - "src/core/lib/client_config/client_config.h", - "src/core/lib/client_config/connector.h", - "src/core/lib/client_config/initial_connect_string.h", - "src/core/lib/client_config/lb_policies/load_balancer_api.h", - "src/core/lib/client_config/lb_policies/pick_first.h", - "src/core/lib/client_config/lb_policies/round_robin.h", - "src/core/lib/client_config/lb_policy.h", - "src/core/lib/client_config/lb_policy_factory.h", - "src/core/lib/client_config/lb_policy_registry.h", - "src/core/lib/client_config/resolver.h", - "src/core/lib/client_config/resolver_factory.h", - "src/core/lib/client_config/resolver_registry.h", - "src/core/lib/client_config/resolvers/dns_resolver.h", - "src/core/lib/client_config/resolvers/sockaddr_resolver.h", - "src/core/lib/client_config/subchannel.h", - "src/core/lib/client_config/subchannel_factory.h", - "src/core/lib/client_config/subchannel_index.h", - "src/core/lib/client_config/uri_parser.h", "src/core/lib/compression/algorithm_metadata.h", "src/core/lib/compression/message_compress.h", "src/core/lib/debug/trace.h", @@ -222,17 +176,16 @@ cc_library( "src/core/lib/iomgr/closure.h", "src/core/lib/iomgr/endpoint.h", "src/core/lib/iomgr/endpoint_pair.h", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.h", + "src/core/lib/iomgr/ev_posix.h", "src/core/lib/iomgr/exec_ctx.h", "src/core/lib/iomgr/executor.h", - "src/core/lib/iomgr/fd_posix.h", "src/core/lib/iomgr/iocp_windows.h", "src/core/lib/iomgr/iomgr.h", "src/core/lib/iomgr/iomgr_internal.h", "src/core/lib/iomgr/iomgr_posix.h", "src/core/lib/iomgr/pollset.h", - "src/core/lib/iomgr/pollset_posix.h", "src/core/lib/iomgr/pollset_set.h", - "src/core/lib/iomgr/pollset_set_posix.h", "src/core/lib/iomgr/pollset_set_windows.h", "src/core/lib/iomgr/pollset_windows.h", "src/core/lib/iomgr/resolve_address.h", @@ -260,18 +213,6 @@ cc_library( "src/core/lib/json/json_common.h", "src/core/lib/json/json_reader.h", "src/core/lib/json/json_writer.h", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h", - "src/core/lib/security/auth_filters.h", - "src/core/lib/security/b64.h", - "src/core/lib/security/credentials.h", - "src/core/lib/security/handshake.h", - "src/core/lib/security/json_token.h", - "src/core/lib/security/jwt_verifier.h", - "src/core/lib/security/secure_endpoint.h", - "src/core/lib/security/security_connector.h", - "src/core/lib/security/security_context.h", - "src/core/lib/statistics/census_interface.h", - "src/core/lib/statistics/census_rpc_stats.h", "src/core/lib/surface/api_trace.h", "src/core/lib/surface/call.h", "src/core/lib/surface/call_test_only.h", @@ -291,95 +232,89 @@ cc_library( "src/core/lib/transport/static_metadata.h", "src/core/lib/transport/transport.h", "src/core/lib/transport/transport_impl.h", + "src/core/ext/transport/chttp2/transport/bin_encoder.h", + "src/core/ext/transport/chttp2/transport/chttp2_transport.h", + "src/core/ext/transport/chttp2/transport/frame.h", + "src/core/ext/transport/chttp2/transport/frame_data.h", + "src/core/ext/transport/chttp2/transport/frame_goaway.h", + "src/core/ext/transport/chttp2/transport/frame_ping.h", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", + "src/core/ext/transport/chttp2/transport/frame_settings.h", + "src/core/ext/transport/chttp2/transport/frame_window_update.h", + "src/core/ext/transport/chttp2/transport/hpack_encoder.h", + "src/core/ext/transport/chttp2/transport/hpack_parser.h", + "src/core/ext/transport/chttp2/transport/hpack_table.h", + "src/core/ext/transport/chttp2/transport/http2_errors.h", + "src/core/ext/transport/chttp2/transport/huffsyms.h", + "src/core/ext/transport/chttp2/transport/incoming_metadata.h", + "src/core/ext/transport/chttp2/transport/internal.h", + "src/core/ext/transport/chttp2/transport/status_conversion.h", + "src/core/ext/transport/chttp2/transport/stream_map.h", + "src/core/ext/transport/chttp2/transport/timeout_encoding.h", + "src/core/ext/transport/chttp2/transport/varint.h", + "src/core/ext/transport/chttp2/alpn/alpn.h", + "src/core/lib/security/auth_filters.h", + "src/core/lib/security/b64.h", + "src/core/lib/security/credentials.h", + "src/core/lib/security/handshake.h", + "src/core/lib/security/json_token.h", + "src/core/lib/security/jwt_verifier.h", + "src/core/lib/security/secure_endpoint.h", + "src/core/lib/security/security_connector.h", + "src/core/lib/security/security_context.h", "src/core/lib/tsi/fake_transport_security.h", "src/core/lib/tsi/ssl_transport_security.h", "src/core/lib/tsi/ssl_types.h", "src/core/lib/tsi/transport_security.h", "src/core/lib/tsi/transport_security_interface.h", - "src/core/ext/transport/chttp2/client/insecure/channel_create.c", - "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c", - "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", - "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c", - "src/core/ext/transport/chttp2/transport/alpn.c", - "src/core/ext/transport/chttp2/transport/bin_encoder.c", - "src/core/ext/transport/chttp2/transport/chttp2_transport.c", - "src/core/ext/transport/chttp2/transport/frame_data.c", - "src/core/ext/transport/chttp2/transport/frame_goaway.c", - "src/core/ext/transport/chttp2/transport/frame_ping.c", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", - "src/core/ext/transport/chttp2/transport/frame_settings.c", - "src/core/ext/transport/chttp2/transport/frame_window_update.c", - "src/core/ext/transport/chttp2/transport/hpack_encoder.c", - "src/core/ext/transport/chttp2/transport/hpack_parser.c", - "src/core/ext/transport/chttp2/transport/hpack_table.c", - "src/core/ext/transport/chttp2/transport/huffsyms.c", - "src/core/ext/transport/chttp2/transport/incoming_metadata.c", - "src/core/ext/transport/chttp2/transport/parsing.c", - "src/core/ext/transport/chttp2/transport/status_conversion.c", - "src/core/ext/transport/chttp2/transport/stream_lists.c", - "src/core/ext/transport/chttp2/transport/stream_map.c", - "src/core/ext/transport/chttp2/transport/timeout_encoding.c", - "src/core/ext/transport/chttp2/transport/varint.c", - "src/core/ext/transport/chttp2/transport/writing.c", - "src/core/lib/census/context.c", - "src/core/lib/census/grpc_context.c", - "src/core/lib/census/grpc_filter.c", - "src/core/lib/census/grpc_plugin.c", - "src/core/lib/census/initialize.c", - "src/core/lib/census/mlog.c", - "src/core/lib/census/operation.c", - "src/core/lib/census/placeholders.c", - "src/core/lib/census/tracing.c", + "src/core/ext/client_config/client_channel.h", + "src/core/ext/client_config/client_channel_factory.h", + "src/core/ext/client_config/client_config.h", + "src/core/ext/client_config/connector.h", + "src/core/ext/client_config/initial_connect_string.h", + "src/core/ext/client_config/lb_policy.h", + "src/core/ext/client_config/lb_policy_factory.h", + "src/core/ext/client_config/lb_policy_registry.h", + "src/core/ext/client_config/resolver.h", + "src/core/ext/client_config/resolver_factory.h", + "src/core/ext/client_config/resolver_registry.h", + "src/core/ext/client_config/subchannel.h", + "src/core/ext/client_config/subchannel_call_holder.h", + "src/core/ext/client_config/subchannel_index.h", + "src/core/ext/client_config/uri_parser.h", + "src/core/ext/lb_policy/grpclb/load_balancer_api.h", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h", + "src/core/ext/census/aggregation.h", + "src/core/ext/census/census_interface.h", + "src/core/ext/census/census_rpc_stats.h", + "src/core/ext/census/grpc_filter.h", + "src/core/ext/census/mlog.h", + "src/core/ext/census/rpc_metric_id.h", "src/core/lib/channel/channel_args.c", "src/core/lib/channel/channel_stack.c", "src/core/lib/channel/channel_stack_builder.c", - "src/core/lib/channel/client_channel.c", "src/core/lib/channel/compress_filter.c", "src/core/lib/channel/connected_channel.c", "src/core/lib/channel/http_client_filter.c", "src/core/lib/channel/http_server_filter.c", - "src/core/lib/channel/subchannel_call_holder.c", - "src/core/lib/client_config/client_config.c", - "src/core/lib/client_config/connector.c", - "src/core/lib/client_config/default_initial_connect_string.c", - "src/core/lib/client_config/initial_connect_string.c", - "src/core/lib/client_config/lb_policies/load_balancer_api.c", - "src/core/lib/client_config/lb_policies/pick_first.c", - "src/core/lib/client_config/lb_policies/round_robin.c", - "src/core/lib/client_config/lb_policy.c", - "src/core/lib/client_config/lb_policy_factory.c", - "src/core/lib/client_config/lb_policy_registry.c", - "src/core/lib/client_config/resolver.c", - "src/core/lib/client_config/resolver_factory.c", - "src/core/lib/client_config/resolver_registry.c", - "src/core/lib/client_config/resolvers/dns_resolver.c", - "src/core/lib/client_config/resolvers/sockaddr_resolver.c", - "src/core/lib/client_config/subchannel.c", - "src/core/lib/client_config/subchannel_factory.c", - "src/core/lib/client_config/subchannel_index.c", - "src/core/lib/client_config/uri_parser.c", "src/core/lib/compression/compression_algorithm.c", "src/core/lib/compression/message_compress.c", "src/core/lib/debug/trace.c", "src/core/lib/http/format_request.c", "src/core/lib/http/httpcli.c", - "src/core/lib/http/httpcli_security_connector.c", "src/core/lib/http/parser.c", "src/core/lib/iomgr/closure.c", "src/core/lib/iomgr/endpoint.c", "src/core/lib/iomgr/endpoint_pair_posix.c", "src/core/lib/iomgr/endpoint_pair_windows.c", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.c", + "src/core/lib/iomgr/ev_posix.c", "src/core/lib/iomgr/exec_ctx.c", "src/core/lib/iomgr/executor.c", - "src/core/lib/iomgr/fd_posix.c", "src/core/lib/iomgr/iocp_windows.c", "src/core/lib/iomgr/iomgr.c", "src/core/lib/iomgr/iomgr_posix.c", "src/core/lib/iomgr/iomgr_windows.c", - "src/core/lib/iomgr/pollset_multipoller_with_epoll.c", - "src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c", - "src/core/lib/iomgr/pollset_posix.c", - "src/core/lib/iomgr/pollset_set_posix.c", "src/core/lib/iomgr/pollset_set_windows.c", "src/core/lib/iomgr/pollset_windows.c", "src/core/lib/iomgr/resolve_address_posix.c", @@ -411,21 +346,6 @@ cc_library( "src/core/lib/json/json_reader.c", "src/core/lib/json/json_string.c", "src/core/lib/json/json_writer.c", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c", - "src/core/lib/security/b64.c", - "src/core/lib/security/client_auth_filter.c", - "src/core/lib/security/credentials.c", - "src/core/lib/security/credentials_metadata.c", - "src/core/lib/security/credentials_posix.c", - "src/core/lib/security/credentials_win32.c", - "src/core/lib/security/google_default_credentials.c", - "src/core/lib/security/handshake.c", - "src/core/lib/security/json_token.c", - "src/core/lib/security/jwt_verifier.c", - "src/core/lib/security/secure_endpoint.c", - "src/core/lib/security/security_connector.c", - "src/core/lib/security/security_context.c", - "src/core/lib/security/server_auth_filter.c", "src/core/lib/surface/alarm.c", "src/core/lib/surface/api_trace.c", "src/core/lib/surface/byte_buffer.c", @@ -434,14 +354,12 @@ cc_library( "src/core/lib/surface/call_details.c", "src/core/lib/surface/call_log_batch.c", "src/core/lib/surface/channel.c", - "src/core/lib/surface/channel_connectivity.c", "src/core/lib/surface/channel_init.c", "src/core/lib/surface/channel_ping.c", "src/core/lib/surface/channel_stack_type.c", "src/core/lib/surface/completion_queue.c", "src/core/lib/surface/event_string.c", "src/core/lib/surface/init.c", - "src/core/lib/surface/init_secure.c", "src/core/lib/surface/lame_client.c", "src/core/lib/surface/metadata_array.c", "src/core/lib/surface/server.c", @@ -454,74 +372,127 @@ cc_library( "src/core/lib/transport/static_metadata.c", "src/core/lib/transport/transport.c", "src/core/lib/transport/transport_op_string.c", + "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c", + "src/core/ext/transport/chttp2/transport/bin_encoder.c", + "src/core/ext/transport/chttp2/transport/chttp2_plugin.c", + "src/core/ext/transport/chttp2/transport/chttp2_transport.c", + "src/core/ext/transport/chttp2/transport/frame_data.c", + "src/core/ext/transport/chttp2/transport/frame_goaway.c", + "src/core/ext/transport/chttp2/transport/frame_ping.c", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", + "src/core/ext/transport/chttp2/transport/frame_settings.c", + "src/core/ext/transport/chttp2/transport/frame_window_update.c", + "src/core/ext/transport/chttp2/transport/hpack_encoder.c", + "src/core/ext/transport/chttp2/transport/hpack_parser.c", + "src/core/ext/transport/chttp2/transport/hpack_table.c", + "src/core/ext/transport/chttp2/transport/huffsyms.c", + "src/core/ext/transport/chttp2/transport/incoming_metadata.c", + "src/core/ext/transport/chttp2/transport/parsing.c", + "src/core/ext/transport/chttp2/transport/status_conversion.c", + "src/core/ext/transport/chttp2/transport/stream_lists.c", + "src/core/ext/transport/chttp2/transport/stream_map.c", + "src/core/ext/transport/chttp2/transport/timeout_encoding.c", + "src/core/ext/transport/chttp2/transport/varint.c", + "src/core/ext/transport/chttp2/transport/writing.c", + "src/core/ext/transport/chttp2/alpn/alpn.c", + "src/core/lib/http/httpcli_security_connector.c", + "src/core/lib/security/b64.c", + "src/core/lib/security/client_auth_filter.c", + "src/core/lib/security/credentials.c", + "src/core/lib/security/credentials_metadata.c", + "src/core/lib/security/credentials_posix.c", + "src/core/lib/security/credentials_win32.c", + "src/core/lib/security/google_default_credentials.c", + "src/core/lib/security/handshake.c", + "src/core/lib/security/json_token.c", + "src/core/lib/security/jwt_verifier.c", + "src/core/lib/security/secure_endpoint.c", + "src/core/lib/security/security_connector.c", + "src/core/lib/security/security_context.c", + "src/core/lib/security/server_auth_filter.c", + "src/core/lib/surface/init_secure.c", "src/core/lib/tsi/fake_transport_security.c", "src/core/lib/tsi/ssl_transport_security.c", "src/core/lib/tsi/transport_security.c", + "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c", + "src/core/ext/client_config/channel_connectivity.c", + "src/core/ext/client_config/client_channel.c", + "src/core/ext/client_config/client_channel_factory.c", + "src/core/ext/client_config/client_config.c", + "src/core/ext/client_config/client_config_plugin.c", + "src/core/ext/client_config/connector.c", + "src/core/ext/client_config/default_initial_connect_string.c", + "src/core/ext/client_config/initial_connect_string.c", + "src/core/ext/client_config/lb_policy.c", + "src/core/ext/client_config/lb_policy_factory.c", + "src/core/ext/client_config/lb_policy_registry.c", + "src/core/ext/client_config/resolver.c", + "src/core/ext/client_config/resolver_factory.c", + "src/core/ext/client_config/resolver_registry.c", + "src/core/ext/client_config/subchannel.c", + "src/core/ext/client_config/subchannel_call_holder.c", + "src/core/ext/client_config/subchannel_index.c", + "src/core/ext/client_config/uri_parser.c", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", + "src/core/ext/transport/chttp2/client/insecure/channel_create.c", + "src/core/ext/lb_policy/grpclb/load_balancer_api.c", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c", + "src/core/ext/lb_policy/pick_first/pick_first.c", + "src/core/ext/lb_policy/round_robin/round_robin.c", + "src/core/ext/resolver/dns/native/dns_resolver.c", + "src/core/ext/resolver/sockaddr/sockaddr_resolver.c", + "src/core/ext/census/context.c", + "src/core/ext/census/grpc_context.c", + "src/core/ext/census/grpc_filter.c", + "src/core/ext/census/grpc_plugin.c", + "src/core/ext/census/initialize.c", + "src/core/ext/census/mlog.c", + "src/core/ext/census/operation.c", + "src/core/ext/census/placeholders.c", + "src/core/ext/census/tracing.c", + "src/core/plugin_registry/grpc_plugin_registry.c", ], hdrs = [ "include/grpc/byte_buffer.h", "include/grpc/byte_buffer_reader.h", - "include/grpc/census.h", "include/grpc/compression.h", "include/grpc/grpc.h", - "include/grpc/grpc_security.h", + "include/grpc/status.h", "include/grpc/impl/codegen/byte_buffer.h", "include/grpc/impl/codegen/compression_types.h", "include/grpc/impl/codegen/connectivity_state.h", "include/grpc/impl/codegen/grpc_types.h", "include/grpc/impl/codegen/propagation_bits.h", "include/grpc/impl/codegen/status.h", - "include/grpc/status.h", - ], - includes = [ - "include", - ".", - ], - deps = [ - "//external:libssl", - "//external:zlib", - ":gpr", - "//external:nanopb", - ], - copts = [ - "-std=gnu99", - ], -) - - - -cc_library( - name = "grpc_codegen_lib", - srcs = [ - ], - hdrs = [ "include/grpc/impl/codegen/alloc.h", "include/grpc/impl/codegen/atm.h", "include/grpc/impl/codegen/atm_gcc_atomic.h", "include/grpc/impl/codegen/atm_gcc_sync.h", "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/byte_buffer.h", - "include/grpc/impl/codegen/compression_types.h", - "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/grpc_types.h", "include/grpc/impl/codegen/log.h", "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/propagation_bits.h", "include/grpc/impl/codegen/slice.h", "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/status.h", "include/grpc/impl/codegen/sync.h", "include/grpc/impl/codegen/sync_generic.h", "include/grpc/impl/codegen/sync_posix.h", "include/grpc/impl/codegen/sync_win32.h", "include/grpc/impl/codegen/time.h", + "include/grpc/grpc_security.h", + "include/grpc/census.h", ], includes = [ "include", ".", ], deps = [ - "//external:protobuf_compiler", + "//external:libssl", + "//external:zlib", + ":gpr", + "//external:nanopb", + ], + copts = [ + "-std=gnu99", ], ) @@ -530,60 +501,14 @@ cc_library( cc_library( name = "grpc_unsecure", srcs = [ - "src/core/ext/transport/chttp2/transport/alpn.h", - "src/core/ext/transport/chttp2/transport/bin_encoder.h", - "src/core/ext/transport/chttp2/transport/chttp2_transport.h", - "src/core/ext/transport/chttp2/transport/frame.h", - "src/core/ext/transport/chttp2/transport/frame_data.h", - "src/core/ext/transport/chttp2/transport/frame_goaway.h", - "src/core/ext/transport/chttp2/transport/frame_ping.h", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", - "src/core/ext/transport/chttp2/transport/frame_settings.h", - "src/core/ext/transport/chttp2/transport/frame_window_update.h", - "src/core/ext/transport/chttp2/transport/hpack_encoder.h", - "src/core/ext/transport/chttp2/transport/hpack_parser.h", - "src/core/ext/transport/chttp2/transport/hpack_table.h", - "src/core/ext/transport/chttp2/transport/http2_errors.h", - "src/core/ext/transport/chttp2/transport/huffsyms.h", - "src/core/ext/transport/chttp2/transport/incoming_metadata.h", - "src/core/ext/transport/chttp2/transport/internal.h", - "src/core/ext/transport/chttp2/transport/status_conversion.h", - "src/core/ext/transport/chttp2/transport/stream_map.h", - "src/core/ext/transport/chttp2/transport/timeout_encoding.h", - "src/core/ext/transport/chttp2/transport/varint.h", - "src/core/lib/census/aggregation.h", - "src/core/lib/census/grpc_filter.h", - "src/core/lib/census/grpc_plugin.h", - "src/core/lib/census/mlog.h", - "src/core/lib/census/rpc_metric_id.h", "src/core/lib/channel/channel_args.h", "src/core/lib/channel/channel_stack.h", "src/core/lib/channel/channel_stack_builder.h", - "src/core/lib/channel/client_channel.h", "src/core/lib/channel/compress_filter.h", "src/core/lib/channel/connected_channel.h", "src/core/lib/channel/context.h", "src/core/lib/channel/http_client_filter.h", "src/core/lib/channel/http_server_filter.h", - "src/core/lib/channel/subchannel_call_holder.h", - "src/core/lib/client_config/client_config.h", - "src/core/lib/client_config/connector.h", - "src/core/lib/client_config/initial_connect_string.h", - "src/core/lib/client_config/lb_policies/load_balancer_api.h", - "src/core/lib/client_config/lb_policies/pick_first.h", - "src/core/lib/client_config/lb_policies/round_robin.h", - "src/core/lib/client_config/lb_policy.h", - "src/core/lib/client_config/lb_policy_factory.h", - "src/core/lib/client_config/lb_policy_registry.h", - "src/core/lib/client_config/resolver.h", - "src/core/lib/client_config/resolver_factory.h", - "src/core/lib/client_config/resolver_registry.h", - "src/core/lib/client_config/resolvers/dns_resolver.h", - "src/core/lib/client_config/resolvers/sockaddr_resolver.h", - "src/core/lib/client_config/subchannel.h", - "src/core/lib/client_config/subchannel_factory.h", - "src/core/lib/client_config/subchannel_index.h", - "src/core/lib/client_config/uri_parser.h", "src/core/lib/compression/algorithm_metadata.h", "src/core/lib/compression/message_compress.h", "src/core/lib/debug/trace.h", @@ -593,17 +518,16 @@ cc_library( "src/core/lib/iomgr/closure.h", "src/core/lib/iomgr/endpoint.h", "src/core/lib/iomgr/endpoint_pair.h", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.h", + "src/core/lib/iomgr/ev_posix.h", "src/core/lib/iomgr/exec_ctx.h", "src/core/lib/iomgr/executor.h", - "src/core/lib/iomgr/fd_posix.h", "src/core/lib/iomgr/iocp_windows.h", "src/core/lib/iomgr/iomgr.h", "src/core/lib/iomgr/iomgr_internal.h", "src/core/lib/iomgr/iomgr_posix.h", "src/core/lib/iomgr/pollset.h", - "src/core/lib/iomgr/pollset_posix.h", "src/core/lib/iomgr/pollset_set.h", - "src/core/lib/iomgr/pollset_set_posix.h", "src/core/lib/iomgr/pollset_set_windows.h", "src/core/lib/iomgr/pollset_windows.h", "src/core/lib/iomgr/resolve_address.h", @@ -631,9 +555,6 @@ cc_library( "src/core/lib/json/json_common.h", "src/core/lib/json/json_reader.h", "src/core/lib/json/json_writer.h", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h", - "src/core/lib/statistics/census_interface.h", - "src/core/lib/statistics/census_rpc_stats.h", "src/core/lib/surface/api_trace.h", "src/core/lib/surface/call.h", "src/core/lib/surface/call_test_only.h", @@ -653,66 +574,58 @@ cc_library( "src/core/lib/transport/static_metadata.h", "src/core/lib/transport/transport.h", "src/core/lib/transport/transport_impl.h", - "src/core/ext/transport/chttp2/client/insecure/channel_create.c", - "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", - "src/core/ext/transport/chttp2/transport/alpn.c", - "src/core/ext/transport/chttp2/transport/bin_encoder.c", - "src/core/ext/transport/chttp2/transport/chttp2_transport.c", - "src/core/ext/transport/chttp2/transport/frame_data.c", - "src/core/ext/transport/chttp2/transport/frame_goaway.c", - "src/core/ext/transport/chttp2/transport/frame_ping.c", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", - "src/core/ext/transport/chttp2/transport/frame_settings.c", - "src/core/ext/transport/chttp2/transport/frame_window_update.c", - "src/core/ext/transport/chttp2/transport/hpack_encoder.c", - "src/core/ext/transport/chttp2/transport/hpack_parser.c", - "src/core/ext/transport/chttp2/transport/hpack_table.c", - "src/core/ext/transport/chttp2/transport/huffsyms.c", - "src/core/ext/transport/chttp2/transport/incoming_metadata.c", - "src/core/ext/transport/chttp2/transport/parsing.c", - "src/core/ext/transport/chttp2/transport/status_conversion.c", - "src/core/ext/transport/chttp2/transport/stream_lists.c", - "src/core/ext/transport/chttp2/transport/stream_map.c", - "src/core/ext/transport/chttp2/transport/timeout_encoding.c", - "src/core/ext/transport/chttp2/transport/varint.c", - "src/core/ext/transport/chttp2/transport/writing.c", - "src/core/lib/census/context.c", - "src/core/lib/census/grpc_context.c", - "src/core/lib/census/grpc_filter.c", - "src/core/lib/census/grpc_plugin.c", - "src/core/lib/census/initialize.c", - "src/core/lib/census/mlog.c", - "src/core/lib/census/operation.c", - "src/core/lib/census/placeholders.c", - "src/core/lib/census/tracing.c", + "src/core/ext/transport/chttp2/transport/bin_encoder.h", + "src/core/ext/transport/chttp2/transport/chttp2_transport.h", + "src/core/ext/transport/chttp2/transport/frame.h", + "src/core/ext/transport/chttp2/transport/frame_data.h", + "src/core/ext/transport/chttp2/transport/frame_goaway.h", + "src/core/ext/transport/chttp2/transport/frame_ping.h", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", + "src/core/ext/transport/chttp2/transport/frame_settings.h", + "src/core/ext/transport/chttp2/transport/frame_window_update.h", + "src/core/ext/transport/chttp2/transport/hpack_encoder.h", + "src/core/ext/transport/chttp2/transport/hpack_parser.h", + "src/core/ext/transport/chttp2/transport/hpack_table.h", + "src/core/ext/transport/chttp2/transport/http2_errors.h", + "src/core/ext/transport/chttp2/transport/huffsyms.h", + "src/core/ext/transport/chttp2/transport/incoming_metadata.h", + "src/core/ext/transport/chttp2/transport/internal.h", + "src/core/ext/transport/chttp2/transport/status_conversion.h", + "src/core/ext/transport/chttp2/transport/stream_map.h", + "src/core/ext/transport/chttp2/transport/timeout_encoding.h", + "src/core/ext/transport/chttp2/transport/varint.h", + "src/core/ext/transport/chttp2/alpn/alpn.h", + "src/core/ext/client_config/client_channel.h", + "src/core/ext/client_config/client_channel_factory.h", + "src/core/ext/client_config/client_config.h", + "src/core/ext/client_config/connector.h", + "src/core/ext/client_config/initial_connect_string.h", + "src/core/ext/client_config/lb_policy.h", + "src/core/ext/client_config/lb_policy_factory.h", + "src/core/ext/client_config/lb_policy_registry.h", + "src/core/ext/client_config/resolver.h", + "src/core/ext/client_config/resolver_factory.h", + "src/core/ext/client_config/resolver_registry.h", + "src/core/ext/client_config/subchannel.h", + "src/core/ext/client_config/subchannel_call_holder.h", + "src/core/ext/client_config/subchannel_index.h", + "src/core/ext/client_config/uri_parser.h", + "src/core/ext/lb_policy/grpclb/load_balancer_api.h", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h", + "src/core/ext/census/aggregation.h", + "src/core/ext/census/census_interface.h", + "src/core/ext/census/census_rpc_stats.h", + "src/core/ext/census/grpc_filter.h", + "src/core/ext/census/mlog.h", + "src/core/ext/census/rpc_metric_id.h", + "src/core/lib/surface/init_unsecure.c", "src/core/lib/channel/channel_args.c", "src/core/lib/channel/channel_stack.c", "src/core/lib/channel/channel_stack_builder.c", - "src/core/lib/channel/client_channel.c", "src/core/lib/channel/compress_filter.c", "src/core/lib/channel/connected_channel.c", "src/core/lib/channel/http_client_filter.c", "src/core/lib/channel/http_server_filter.c", - "src/core/lib/channel/subchannel_call_holder.c", - "src/core/lib/client_config/client_config.c", - "src/core/lib/client_config/connector.c", - "src/core/lib/client_config/default_initial_connect_string.c", - "src/core/lib/client_config/initial_connect_string.c", - "src/core/lib/client_config/lb_policies/load_balancer_api.c", - "src/core/lib/client_config/lb_policies/pick_first.c", - "src/core/lib/client_config/lb_policies/round_robin.c", - "src/core/lib/client_config/lb_policy.c", - "src/core/lib/client_config/lb_policy_factory.c", - "src/core/lib/client_config/lb_policy_registry.c", - "src/core/lib/client_config/resolver.c", - "src/core/lib/client_config/resolver_factory.c", - "src/core/lib/client_config/resolver_registry.c", - "src/core/lib/client_config/resolvers/dns_resolver.c", - "src/core/lib/client_config/resolvers/sockaddr_resolver.c", - "src/core/lib/client_config/subchannel.c", - "src/core/lib/client_config/subchannel_factory.c", - "src/core/lib/client_config/subchannel_index.c", - "src/core/lib/client_config/uri_parser.c", "src/core/lib/compression/compression_algorithm.c", "src/core/lib/compression/message_compress.c", "src/core/lib/debug/trace.c", @@ -723,17 +636,14 @@ cc_library( "src/core/lib/iomgr/endpoint.c", "src/core/lib/iomgr/endpoint_pair_posix.c", "src/core/lib/iomgr/endpoint_pair_windows.c", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.c", + "src/core/lib/iomgr/ev_posix.c", "src/core/lib/iomgr/exec_ctx.c", "src/core/lib/iomgr/executor.c", - "src/core/lib/iomgr/fd_posix.c", "src/core/lib/iomgr/iocp_windows.c", "src/core/lib/iomgr/iomgr.c", "src/core/lib/iomgr/iomgr_posix.c", "src/core/lib/iomgr/iomgr_windows.c", - "src/core/lib/iomgr/pollset_multipoller_with_epoll.c", - "src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c", - "src/core/lib/iomgr/pollset_posix.c", - "src/core/lib/iomgr/pollset_set_posix.c", "src/core/lib/iomgr/pollset_set_windows.c", "src/core/lib/iomgr/pollset_windows.c", "src/core/lib/iomgr/resolve_address_posix.c", @@ -765,7 +675,6 @@ cc_library( "src/core/lib/json/json_reader.c", "src/core/lib/json/json_string.c", "src/core/lib/json/json_writer.c", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c", "src/core/lib/surface/alarm.c", "src/core/lib/surface/api_trace.c", "src/core/lib/surface/byte_buffer.c", @@ -774,14 +683,12 @@ cc_library( "src/core/lib/surface/call_details.c", "src/core/lib/surface/call_log_batch.c", "src/core/lib/surface/channel.c", - "src/core/lib/surface/channel_connectivity.c", "src/core/lib/surface/channel_init.c", "src/core/lib/surface/channel_ping.c", "src/core/lib/surface/channel_stack_type.c", "src/core/lib/surface/completion_queue.c", "src/core/lib/surface/event_string.c", "src/core/lib/surface/init.c", - "src/core/lib/surface/init_unsecure.c", "src/core/lib/surface/lame_client.c", "src/core/lib/surface/metadata_array.c", "src/core/lib/surface/server.c", @@ -794,20 +701,92 @@ cc_library( "src/core/lib/transport/static_metadata.c", "src/core/lib/transport/transport.c", "src/core/lib/transport/transport_op_string.c", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", + "src/core/ext/transport/chttp2/transport/bin_encoder.c", + "src/core/ext/transport/chttp2/transport/chttp2_plugin.c", + "src/core/ext/transport/chttp2/transport/chttp2_transport.c", + "src/core/ext/transport/chttp2/transport/frame_data.c", + "src/core/ext/transport/chttp2/transport/frame_goaway.c", + "src/core/ext/transport/chttp2/transport/frame_ping.c", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", + "src/core/ext/transport/chttp2/transport/frame_settings.c", + "src/core/ext/transport/chttp2/transport/frame_window_update.c", + "src/core/ext/transport/chttp2/transport/hpack_encoder.c", + "src/core/ext/transport/chttp2/transport/hpack_parser.c", + "src/core/ext/transport/chttp2/transport/hpack_table.c", + "src/core/ext/transport/chttp2/transport/huffsyms.c", + "src/core/ext/transport/chttp2/transport/incoming_metadata.c", + "src/core/ext/transport/chttp2/transport/parsing.c", + "src/core/ext/transport/chttp2/transport/status_conversion.c", + "src/core/ext/transport/chttp2/transport/stream_lists.c", + "src/core/ext/transport/chttp2/transport/stream_map.c", + "src/core/ext/transport/chttp2/transport/timeout_encoding.c", + "src/core/ext/transport/chttp2/transport/varint.c", + "src/core/ext/transport/chttp2/transport/writing.c", + "src/core/ext/transport/chttp2/alpn/alpn.c", + "src/core/ext/transport/chttp2/client/insecure/channel_create.c", + "src/core/ext/client_config/channel_connectivity.c", + "src/core/ext/client_config/client_channel.c", + "src/core/ext/client_config/client_channel_factory.c", + "src/core/ext/client_config/client_config.c", + "src/core/ext/client_config/client_config_plugin.c", + "src/core/ext/client_config/connector.c", + "src/core/ext/client_config/default_initial_connect_string.c", + "src/core/ext/client_config/initial_connect_string.c", + "src/core/ext/client_config/lb_policy.c", + "src/core/ext/client_config/lb_policy_factory.c", + "src/core/ext/client_config/lb_policy_registry.c", + "src/core/ext/client_config/resolver.c", + "src/core/ext/client_config/resolver_factory.c", + "src/core/ext/client_config/resolver_registry.c", + "src/core/ext/client_config/subchannel.c", + "src/core/ext/client_config/subchannel_call_holder.c", + "src/core/ext/client_config/subchannel_index.c", + "src/core/ext/client_config/uri_parser.c", + "src/core/ext/resolver/dns/native/dns_resolver.c", + "src/core/ext/resolver/sockaddr/sockaddr_resolver.c", + "src/core/ext/lb_policy/grpclb/load_balancer_api.c", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c", + "src/core/ext/lb_policy/pick_first/pick_first.c", + "src/core/ext/lb_policy/round_robin/round_robin.c", + "src/core/ext/census/context.c", + "src/core/ext/census/grpc_context.c", + "src/core/ext/census/grpc_filter.c", + "src/core/ext/census/grpc_plugin.c", + "src/core/ext/census/initialize.c", + "src/core/ext/census/mlog.c", + "src/core/ext/census/operation.c", + "src/core/ext/census/placeholders.c", + "src/core/ext/census/tracing.c", + "src/core/plugin_registry/grpc_unsecure_plugin_registry.c", ], hdrs = [ "include/grpc/byte_buffer.h", "include/grpc/byte_buffer_reader.h", - "include/grpc/census.h", "include/grpc/compression.h", "include/grpc/grpc.h", + "include/grpc/status.h", "include/grpc/impl/codegen/byte_buffer.h", "include/grpc/impl/codegen/compression_types.h", "include/grpc/impl/codegen/connectivity_state.h", "include/grpc/impl/codegen/grpc_types.h", "include/grpc/impl/codegen/propagation_bits.h", "include/grpc/impl/codegen/status.h", - "include/grpc/status.h", + "include/grpc/impl/codegen/alloc.h", + "include/grpc/impl/codegen/atm.h", + "include/grpc/impl/codegen/atm_gcc_atomic.h", + "include/grpc/impl/codegen/atm_gcc_sync.h", + "include/grpc/impl/codegen/atm_win32.h", + "include/grpc/impl/codegen/log.h", + "include/grpc/impl/codegen/port_platform.h", + "include/grpc/impl/codegen/slice.h", + "include/grpc/impl/codegen/slice_buffer.h", + "include/grpc/impl/codegen/sync.h", + "include/grpc/impl/codegen/sync_generic.h", + "include/grpc/impl/codegen/sync_posix.h", + "include/grpc/impl/codegen/sync_win32.h", + "include/grpc/impl/codegen/time.h", + "include/grpc/census.h", ], includes = [ "include", @@ -827,8 +806,7 @@ cc_library( cc_library( name = "grpc_zookeeper", srcs = [ - "src/core/lib/client_config/resolvers/zookeeper_resolver.h", - "src/core/lib/client_config/resolvers/zookeeper_resolver.c", + "src/core/ext/resolver/zookeeper/zookeeper_resolver.c", ], hdrs = [ "include/grpc/grpc_zookeeper.h", @@ -848,14 +826,20 @@ cc_library( cc_library( name = "grpc++", srcs = [ - "src/cpp/client/create_channel_internal.h", "src/cpp/client/secure_credentials.h", "src/cpp/common/core_codegen.h", - "src/cpp/common/create_auth_context.h", "src/cpp/common/secure_auth_context.h", - "src/cpp/server/dynamic_thread_pool.h", "src/cpp/server/secure_server_credentials.h", + "src/cpp/client/create_channel_internal.h", + "src/cpp/common/create_auth_context.h", + "src/cpp/server/dynamic_thread_pool.h", "src/cpp/server/thread_pool_interface.h", + "src/cpp/client/secure_credentials.cc", + "src/cpp/common/auth_property_iterator.cc", + "src/cpp/common/secure_auth_context.cc", + "src/cpp/common/secure_channel_arguments.cc", + "src/cpp/common/secure_create_auth_context.cc", + "src/cpp/server/secure_server_credentials.cc", "src/cpp/client/channel.cc", "src/cpp/client/client_context.cc", "src/cpp/client/create_channel.cc", @@ -863,21 +847,14 @@ cc_library( "src/cpp/client/credentials.cc", "src/cpp/client/generic_stub.cc", "src/cpp/client/insecure_credentials.cc", - "src/cpp/client/secure_credentials.cc", - "src/cpp/codegen/codegen_init.cc", - "src/cpp/common/auth_property_iterator.cc", "src/cpp/common/channel_arguments.cc", "src/cpp/common/completion_queue.cc", "src/cpp/common/core_codegen.cc", "src/cpp/common/rpc_method.cc", - "src/cpp/common/secure_auth_context.cc", - "src/cpp/common/secure_channel_arguments.cc", - "src/cpp/common/secure_create_auth_context.cc", "src/cpp/server/async_generic_service.cc", "src/cpp/server/create_default_thread_pool.cc", "src/cpp/server/dynamic_thread_pool.cc", "src/cpp/server/insecure_server_credentials.cc", - "src/cpp/server/secure_server_credentials.cc", "src/cpp/server/server.cc", "src/cpp/server/server_builder.cc", "src/cpp/server/server_context.cc", @@ -887,6 +864,7 @@ cc_library( "src/cpp/util/status.cc", "src/cpp/util/string_ref.cc", "src/cpp/util/time.cc", + "src/cpp/codegen/codegen_init.cc", ], hdrs = [ "include/grpc++/alarm.h", @@ -899,37 +877,6 @@ cc_library( "include/grpc++/grpc++.h", "include/grpc++/impl/call.h", "include/grpc++/impl/client_unary_call.h", - "include/grpc++/impl/codegen/async_stream.h", - "include/grpc++/impl/codegen/async_unary_call.h", - "include/grpc++/impl/codegen/call.h", - "include/grpc++/impl/codegen/call_hook.h", - "include/grpc++/impl/codegen/channel_interface.h", - "include/grpc++/impl/codegen/client_context.h", - "include/grpc++/impl/codegen/client_unary_call.h", - "include/grpc++/impl/codegen/completion_queue.h", - "include/grpc++/impl/codegen/completion_queue_tag.h", - "include/grpc++/impl/codegen/config.h", - "include/grpc++/impl/codegen/config_protobuf.h", - "include/grpc++/impl/codegen/core_codegen_interface.h", - "include/grpc++/impl/codegen/grpc_library.h", - "include/grpc++/impl/codegen/method_handler_impl.h", - "include/grpc++/impl/codegen/proto_utils.h", - "include/grpc++/impl/codegen/rpc_method.h", - "include/grpc++/impl/codegen/rpc_service_method.h", - "include/grpc++/impl/codegen/security/auth_context.h", - "include/grpc++/impl/codegen/serialization_traits.h", - "include/grpc++/impl/codegen/server_context.h", - "include/grpc++/impl/codegen/server_interface.h", - "include/grpc++/impl/codegen/service_type.h", - "include/grpc++/impl/codegen/status.h", - "include/grpc++/impl/codegen/status_code_enum.h", - "include/grpc++/impl/codegen/string_ref.h", - "include/grpc++/impl/codegen/stub_options.h", - "include/grpc++/impl/codegen/sync.h", - "include/grpc++/impl/codegen/sync_cxx11.h", - "include/grpc++/impl/codegen/sync_no_cxx11.h", - "include/grpc++/impl/codegen/sync_stream.h", - "include/grpc++/impl/codegen/time.h", "include/grpc++/impl/grpc_library.h", "include/grpc++/impl/method_handler_impl.h", "include/grpc++/impl/proto_utils.h", @@ -955,8 +902,6 @@ cc_library( "include/grpc++/support/async_unary_call.h", "include/grpc++/support/byte_buffer.h", "include/grpc++/support/channel_arguments.h", - "include/grpc++/support/config.h", - "include/grpc++/support/config_protobuf.h", "include/grpc++/support/slice.h", "include/grpc++/support/status.h", "include/grpc++/support/status_code_enum.h", @@ -964,26 +909,6 @@ cc_library( "include/grpc++/support/stub_options.h", "include/grpc++/support/sync_stream.h", "include/grpc++/support/time.h", - ], - includes = [ - "include", - ".", - ], - deps = [ - "//external:libssl", - "//external:protobuf_clib", - ":grpc", - ], -) - - - -cc_library( - name = "grpc++_codegen_lib", - srcs = [ - "src/cpp/codegen/codegen_init.cc", - ], - hdrs = [ "include/grpc++/impl/codegen/async_stream.h", "include/grpc++/impl/codegen/async_unary_call.h", "include/grpc++/impl/codegen/call.h", @@ -993,8 +918,6 @@ cc_library( "include/grpc++/impl/codegen/client_unary_call.h", "include/grpc++/impl/codegen/completion_queue.h", "include/grpc++/impl/codegen/completion_queue_tag.h", - "include/grpc++/impl/codegen/config.h", - "include/grpc++/impl/codegen/config_protobuf.h", "include/grpc++/impl/codegen/core_codegen_interface.h", "include/grpc++/impl/codegen/grpc_library.h", "include/grpc++/impl/codegen/method_handler_impl.h", @@ -1015,33 +938,39 @@ cc_library( "include/grpc++/impl/codegen/sync_no_cxx11.h", "include/grpc++/impl/codegen/sync_stream.h", "include/grpc++/impl/codegen/time.h", + "include/grpc/impl/codegen/byte_buffer.h", + "include/grpc/impl/codegen/compression_types.h", + "include/grpc/impl/codegen/connectivity_state.h", + "include/grpc/impl/codegen/grpc_types.h", + "include/grpc/impl/codegen/propagation_bits.h", + "include/grpc/impl/codegen/status.h", "include/grpc/impl/codegen/alloc.h", "include/grpc/impl/codegen/atm.h", "include/grpc/impl/codegen/atm_gcc_atomic.h", "include/grpc/impl/codegen/atm_gcc_sync.h", "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/byte_buffer.h", - "include/grpc/impl/codegen/compression_types.h", - "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/grpc_types.h", "include/grpc/impl/codegen/log.h", "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/propagation_bits.h", "include/grpc/impl/codegen/slice.h", "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/status.h", "include/grpc/impl/codegen/sync.h", "include/grpc/impl/codegen/sync_generic.h", "include/grpc/impl/codegen/sync_posix.h", "include/grpc/impl/codegen/sync_win32.h", "include/grpc/impl/codegen/time.h", + "include/grpc++/impl/codegen/config.h", + "include/grpc++/impl/codegen/config_protobuf.h", + "include/grpc++/support/config.h", + "include/grpc++/support/config_protobuf.h", ], includes = [ "include", ".", ], deps = [ + "//external:libssl", "//external:protobuf_clib", + ":grpc", ], ) @@ -1055,6 +984,7 @@ cc_library( "src/cpp/common/create_auth_context.h", "src/cpp/server/dynamic_thread_pool.h", "src/cpp/server/thread_pool_interface.h", + "src/cpp/common/insecure_create_auth_context.cc", "src/cpp/client/channel.cc", "src/cpp/client/client_context.cc", "src/cpp/client/create_channel.cc", @@ -1062,11 +992,9 @@ cc_library( "src/cpp/client/credentials.cc", "src/cpp/client/generic_stub.cc", "src/cpp/client/insecure_credentials.cc", - "src/cpp/codegen/codegen_init.cc", "src/cpp/common/channel_arguments.cc", "src/cpp/common/completion_queue.cc", "src/cpp/common/core_codegen.cc", - "src/cpp/common/insecure_create_auth_context.cc", "src/cpp/common/rpc_method.cc", "src/cpp/server/async_generic_service.cc", "src/cpp/server/create_default_thread_pool.cc", @@ -1081,6 +1009,7 @@ cc_library( "src/cpp/util/status.cc", "src/cpp/util/string_ref.cc", "src/cpp/util/time.cc", + "src/cpp/codegen/codegen_init.cc", ], hdrs = [ "include/grpc++/alarm.h", @@ -1093,37 +1022,6 @@ cc_library( "include/grpc++/grpc++.h", "include/grpc++/impl/call.h", "include/grpc++/impl/client_unary_call.h", - "include/grpc++/impl/codegen/async_stream.h", - "include/grpc++/impl/codegen/async_unary_call.h", - "include/grpc++/impl/codegen/call.h", - "include/grpc++/impl/codegen/call_hook.h", - "include/grpc++/impl/codegen/channel_interface.h", - "include/grpc++/impl/codegen/client_context.h", - "include/grpc++/impl/codegen/client_unary_call.h", - "include/grpc++/impl/codegen/completion_queue.h", - "include/grpc++/impl/codegen/completion_queue_tag.h", - "include/grpc++/impl/codegen/config.h", - "include/grpc++/impl/codegen/config_protobuf.h", - "include/grpc++/impl/codegen/core_codegen_interface.h", - "include/grpc++/impl/codegen/grpc_library.h", - "include/grpc++/impl/codegen/method_handler_impl.h", - "include/grpc++/impl/codegen/proto_utils.h", - "include/grpc++/impl/codegen/rpc_method.h", - "include/grpc++/impl/codegen/rpc_service_method.h", - "include/grpc++/impl/codegen/security/auth_context.h", - "include/grpc++/impl/codegen/serialization_traits.h", - "include/grpc++/impl/codegen/server_context.h", - "include/grpc++/impl/codegen/server_interface.h", - "include/grpc++/impl/codegen/service_type.h", - "include/grpc++/impl/codegen/status.h", - "include/grpc++/impl/codegen/status_code_enum.h", - "include/grpc++/impl/codegen/string_ref.h", - "include/grpc++/impl/codegen/stub_options.h", - "include/grpc++/impl/codegen/sync.h", - "include/grpc++/impl/codegen/sync_cxx11.h", - "include/grpc++/impl/codegen/sync_no_cxx11.h", - "include/grpc++/impl/codegen/sync_stream.h", - "include/grpc++/impl/codegen/time.h", "include/grpc++/impl/grpc_library.h", "include/grpc++/impl/method_handler_impl.h", "include/grpc++/impl/proto_utils.h", @@ -1149,15 +1047,66 @@ cc_library( "include/grpc++/support/async_unary_call.h", "include/grpc++/support/byte_buffer.h", "include/grpc++/support/channel_arguments.h", + "include/grpc++/support/slice.h", + "include/grpc++/support/status.h", + "include/grpc++/support/status_code_enum.h", + "include/grpc++/support/string_ref.h", + "include/grpc++/support/stub_options.h", + "include/grpc++/support/sync_stream.h", + "include/grpc++/support/time.h", + "include/grpc++/impl/codegen/async_stream.h", + "include/grpc++/impl/codegen/async_unary_call.h", + "include/grpc++/impl/codegen/call.h", + "include/grpc++/impl/codegen/call_hook.h", + "include/grpc++/impl/codegen/channel_interface.h", + "include/grpc++/impl/codegen/client_context.h", + "include/grpc++/impl/codegen/client_unary_call.h", + "include/grpc++/impl/codegen/completion_queue.h", + "include/grpc++/impl/codegen/completion_queue_tag.h", + "include/grpc++/impl/codegen/core_codegen_interface.h", + "include/grpc++/impl/codegen/grpc_library.h", + "include/grpc++/impl/codegen/method_handler_impl.h", + "include/grpc++/impl/codegen/proto_utils.h", + "include/grpc++/impl/codegen/rpc_method.h", + "include/grpc++/impl/codegen/rpc_service_method.h", + "include/grpc++/impl/codegen/security/auth_context.h", + "include/grpc++/impl/codegen/serialization_traits.h", + "include/grpc++/impl/codegen/server_context.h", + "include/grpc++/impl/codegen/server_interface.h", + "include/grpc++/impl/codegen/service_type.h", + "include/grpc++/impl/codegen/status.h", + "include/grpc++/impl/codegen/status_code_enum.h", + "include/grpc++/impl/codegen/string_ref.h", + "include/grpc++/impl/codegen/stub_options.h", + "include/grpc++/impl/codegen/sync.h", + "include/grpc++/impl/codegen/sync_cxx11.h", + "include/grpc++/impl/codegen/sync_no_cxx11.h", + "include/grpc++/impl/codegen/sync_stream.h", + "include/grpc++/impl/codegen/time.h", + "include/grpc/impl/codegen/byte_buffer.h", + "include/grpc/impl/codegen/compression_types.h", + "include/grpc/impl/codegen/connectivity_state.h", + "include/grpc/impl/codegen/grpc_types.h", + "include/grpc/impl/codegen/propagation_bits.h", + "include/grpc/impl/codegen/status.h", + "include/grpc/impl/codegen/alloc.h", + "include/grpc/impl/codegen/atm.h", + "include/grpc/impl/codegen/atm_gcc_atomic.h", + "include/grpc/impl/codegen/atm_gcc_sync.h", + "include/grpc/impl/codegen/atm_win32.h", + "include/grpc/impl/codegen/log.h", + "include/grpc/impl/codegen/port_platform.h", + "include/grpc/impl/codegen/slice.h", + "include/grpc/impl/codegen/slice_buffer.h", + "include/grpc/impl/codegen/sync.h", + "include/grpc/impl/codegen/sync_generic.h", + "include/grpc/impl/codegen/sync_posix.h", + "include/grpc/impl/codegen/sync_win32.h", + "include/grpc/impl/codegen/time.h", + "include/grpc++/impl/codegen/config.h", + "include/grpc++/impl/codegen/config_protobuf.h", "include/grpc++/support/config.h", "include/grpc++/support/config_protobuf.h", - "include/grpc++/support/slice.h", - "include/grpc++/support/status.h", - "include/grpc++/support/status_code_enum.h", - "include/grpc++/support/string_ref.h", - "include/grpc++/support/stub_options.h", - "include/grpc++/support/sync_stream.h", - "include/grpc++/support/time.h", ], includes = [ "include", @@ -1167,6 +1116,7 @@ cc_library( "//external:protobuf_clib", ":gpr", ":grpc_unsecure", + ":grpc", ], ) @@ -1175,8 +1125,6 @@ cc_library( cc_library( name = "grpc_plugin_support", srcs = [ - "include/grpc++/support/config.h", - "include/grpc++/support/config_protobuf.h", "src/compiler/config.h", "src/compiler/cpp_generator.h", "src/compiler/cpp_generator_helpers.h", @@ -1197,20 +1145,10 @@ cc_library( "src/compiler/ruby_generator.cc", ], hdrs = [ - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_win32.h", - "include/grpc/impl/codegen/time.h", + "include/grpc++/support/config.h", + "include/grpc++/support/config_protobuf.h", + "include/grpc++/impl/codegen/config.h", + "include/grpc++/impl/codegen/config_protobuf.h", ], includes = [ "include", @@ -1218,7 +1156,6 @@ cc_library( ], deps = [ "//external:protobuf_compiler", - ":grpc++_codegen_lib", ], ) @@ -1293,20 +1230,6 @@ objc_library( "src/core/lib/support/wrap_memcpy.c", ], hdrs = [ - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_win32.h", - "include/grpc/impl/codegen/time.h", "include/grpc/support/alloc.h", "include/grpc/support/atm.h", "include/grpc/support/atm_gcc_atomic.h", @@ -1335,6 +1258,20 @@ objc_library( "include/grpc/support/tls_msvc.h", "include/grpc/support/tls_pthread.h", "include/grpc/support/useful.h", + "include/grpc/impl/codegen/alloc.h", + "include/grpc/impl/codegen/atm.h", + "include/grpc/impl/codegen/atm_gcc_atomic.h", + "include/grpc/impl/codegen/atm_gcc_sync.h", + "include/grpc/impl/codegen/atm_win32.h", + "include/grpc/impl/codegen/log.h", + "include/grpc/impl/codegen/port_platform.h", + "include/grpc/impl/codegen/slice.h", + "include/grpc/impl/codegen/slice_buffer.h", + "include/grpc/impl/codegen/sync.h", + "include/grpc/impl/codegen/sync_generic.h", + "include/grpc/impl/codegen/sync_posix.h", + "include/grpc/impl/codegen/sync_win32.h", + "include/grpc/impl/codegen/time.h", "src/core/lib/profiling/timers.h", "src/core/lib/support/backoff.h", "src/core/lib/support/block_annotate.h", @@ -1361,90 +1298,31 @@ objc_library( objc_library( name = "grpc_objc", srcs = [ - "src/core/ext/transport/chttp2/client/insecure/channel_create.c", - "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c", - "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", - "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c", - "src/core/ext/transport/chttp2/transport/alpn.c", - "src/core/ext/transport/chttp2/transport/bin_encoder.c", - "src/core/ext/transport/chttp2/transport/chttp2_transport.c", - "src/core/ext/transport/chttp2/transport/frame_data.c", - "src/core/ext/transport/chttp2/transport/frame_goaway.c", - "src/core/ext/transport/chttp2/transport/frame_ping.c", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", - "src/core/ext/transport/chttp2/transport/frame_settings.c", - "src/core/ext/transport/chttp2/transport/frame_window_update.c", - "src/core/ext/transport/chttp2/transport/hpack_encoder.c", - "src/core/ext/transport/chttp2/transport/hpack_parser.c", - "src/core/ext/transport/chttp2/transport/hpack_table.c", - "src/core/ext/transport/chttp2/transport/huffsyms.c", - "src/core/ext/transport/chttp2/transport/incoming_metadata.c", - "src/core/ext/transport/chttp2/transport/parsing.c", - "src/core/ext/transport/chttp2/transport/status_conversion.c", - "src/core/ext/transport/chttp2/transport/stream_lists.c", - "src/core/ext/transport/chttp2/transport/stream_map.c", - "src/core/ext/transport/chttp2/transport/timeout_encoding.c", - "src/core/ext/transport/chttp2/transport/varint.c", - "src/core/ext/transport/chttp2/transport/writing.c", - "src/core/lib/census/context.c", - "src/core/lib/census/grpc_context.c", - "src/core/lib/census/grpc_filter.c", - "src/core/lib/census/grpc_plugin.c", - "src/core/lib/census/initialize.c", - "src/core/lib/census/mlog.c", - "src/core/lib/census/operation.c", - "src/core/lib/census/placeholders.c", - "src/core/lib/census/tracing.c", "src/core/lib/channel/channel_args.c", "src/core/lib/channel/channel_stack.c", "src/core/lib/channel/channel_stack_builder.c", - "src/core/lib/channel/client_channel.c", "src/core/lib/channel/compress_filter.c", "src/core/lib/channel/connected_channel.c", "src/core/lib/channel/http_client_filter.c", "src/core/lib/channel/http_server_filter.c", - "src/core/lib/channel/subchannel_call_holder.c", - "src/core/lib/client_config/client_config.c", - "src/core/lib/client_config/connector.c", - "src/core/lib/client_config/default_initial_connect_string.c", - "src/core/lib/client_config/initial_connect_string.c", - "src/core/lib/client_config/lb_policies/load_balancer_api.c", - "src/core/lib/client_config/lb_policies/pick_first.c", - "src/core/lib/client_config/lb_policies/round_robin.c", - "src/core/lib/client_config/lb_policy.c", - "src/core/lib/client_config/lb_policy_factory.c", - "src/core/lib/client_config/lb_policy_registry.c", - "src/core/lib/client_config/resolver.c", - "src/core/lib/client_config/resolver_factory.c", - "src/core/lib/client_config/resolver_registry.c", - "src/core/lib/client_config/resolvers/dns_resolver.c", - "src/core/lib/client_config/resolvers/sockaddr_resolver.c", - "src/core/lib/client_config/subchannel.c", - "src/core/lib/client_config/subchannel_factory.c", - "src/core/lib/client_config/subchannel_index.c", - "src/core/lib/client_config/uri_parser.c", "src/core/lib/compression/compression_algorithm.c", "src/core/lib/compression/message_compress.c", "src/core/lib/debug/trace.c", "src/core/lib/http/format_request.c", "src/core/lib/http/httpcli.c", - "src/core/lib/http/httpcli_security_connector.c", "src/core/lib/http/parser.c", "src/core/lib/iomgr/closure.c", "src/core/lib/iomgr/endpoint.c", "src/core/lib/iomgr/endpoint_pair_posix.c", "src/core/lib/iomgr/endpoint_pair_windows.c", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.c", + "src/core/lib/iomgr/ev_posix.c", "src/core/lib/iomgr/exec_ctx.c", "src/core/lib/iomgr/executor.c", - "src/core/lib/iomgr/fd_posix.c", "src/core/lib/iomgr/iocp_windows.c", "src/core/lib/iomgr/iomgr.c", "src/core/lib/iomgr/iomgr_posix.c", "src/core/lib/iomgr/iomgr_windows.c", - "src/core/lib/iomgr/pollset_multipoller_with_epoll.c", - "src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c", - "src/core/lib/iomgr/pollset_posix.c", - "src/core/lib/iomgr/pollset_set_posix.c", "src/core/lib/iomgr/pollset_set_windows.c", "src/core/lib/iomgr/pollset_windows.c", "src/core/lib/iomgr/resolve_address_posix.c", @@ -1476,21 +1354,6 @@ objc_library( "src/core/lib/json/json_reader.c", "src/core/lib/json/json_string.c", "src/core/lib/json/json_writer.c", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c", - "src/core/lib/security/b64.c", - "src/core/lib/security/client_auth_filter.c", - "src/core/lib/security/credentials.c", - "src/core/lib/security/credentials_metadata.c", - "src/core/lib/security/credentials_posix.c", - "src/core/lib/security/credentials_win32.c", - "src/core/lib/security/google_default_credentials.c", - "src/core/lib/security/handshake.c", - "src/core/lib/security/json_token.c", - "src/core/lib/security/jwt_verifier.c", - "src/core/lib/security/secure_endpoint.c", - "src/core/lib/security/security_connector.c", - "src/core/lib/security/security_context.c", - "src/core/lib/security/server_auth_filter.c", "src/core/lib/surface/alarm.c", "src/core/lib/surface/api_trace.c", "src/core/lib/surface/byte_buffer.c", @@ -1499,14 +1362,12 @@ objc_library( "src/core/lib/surface/call_details.c", "src/core/lib/surface/call_log_batch.c", "src/core/lib/surface/channel.c", - "src/core/lib/surface/channel_connectivity.c", "src/core/lib/surface/channel_init.c", "src/core/lib/surface/channel_ping.c", "src/core/lib/surface/channel_stack_type.c", "src/core/lib/surface/completion_queue.c", "src/core/lib/surface/event_string.c", "src/core/lib/surface/init.c", - "src/core/lib/surface/init_secure.c", "src/core/lib/surface/lame_client.c", "src/core/lib/surface/metadata_array.c", "src/core/lib/surface/server.c", @@ -1519,78 +1380,122 @@ objc_library( "src/core/lib/transport/static_metadata.c", "src/core/lib/transport/transport.c", "src/core/lib/transport/transport_op_string.c", + "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c", + "src/core/ext/transport/chttp2/transport/bin_encoder.c", + "src/core/ext/transport/chttp2/transport/chttp2_plugin.c", + "src/core/ext/transport/chttp2/transport/chttp2_transport.c", + "src/core/ext/transport/chttp2/transport/frame_data.c", + "src/core/ext/transport/chttp2/transport/frame_goaway.c", + "src/core/ext/transport/chttp2/transport/frame_ping.c", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", + "src/core/ext/transport/chttp2/transport/frame_settings.c", + "src/core/ext/transport/chttp2/transport/frame_window_update.c", + "src/core/ext/transport/chttp2/transport/hpack_encoder.c", + "src/core/ext/transport/chttp2/transport/hpack_parser.c", + "src/core/ext/transport/chttp2/transport/hpack_table.c", + "src/core/ext/transport/chttp2/transport/huffsyms.c", + "src/core/ext/transport/chttp2/transport/incoming_metadata.c", + "src/core/ext/transport/chttp2/transport/parsing.c", + "src/core/ext/transport/chttp2/transport/status_conversion.c", + "src/core/ext/transport/chttp2/transport/stream_lists.c", + "src/core/ext/transport/chttp2/transport/stream_map.c", + "src/core/ext/transport/chttp2/transport/timeout_encoding.c", + "src/core/ext/transport/chttp2/transport/varint.c", + "src/core/ext/transport/chttp2/transport/writing.c", + "src/core/ext/transport/chttp2/alpn/alpn.c", + "src/core/lib/http/httpcli_security_connector.c", + "src/core/lib/security/b64.c", + "src/core/lib/security/client_auth_filter.c", + "src/core/lib/security/credentials.c", + "src/core/lib/security/credentials_metadata.c", + "src/core/lib/security/credentials_posix.c", + "src/core/lib/security/credentials_win32.c", + "src/core/lib/security/google_default_credentials.c", + "src/core/lib/security/handshake.c", + "src/core/lib/security/json_token.c", + "src/core/lib/security/jwt_verifier.c", + "src/core/lib/security/secure_endpoint.c", + "src/core/lib/security/security_connector.c", + "src/core/lib/security/security_context.c", + "src/core/lib/security/server_auth_filter.c", + "src/core/lib/surface/init_secure.c", "src/core/lib/tsi/fake_transport_security.c", "src/core/lib/tsi/ssl_transport_security.c", "src/core/lib/tsi/transport_security.c", + "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c", + "src/core/ext/client_config/channel_connectivity.c", + "src/core/ext/client_config/client_channel.c", + "src/core/ext/client_config/client_channel_factory.c", + "src/core/ext/client_config/client_config.c", + "src/core/ext/client_config/client_config_plugin.c", + "src/core/ext/client_config/connector.c", + "src/core/ext/client_config/default_initial_connect_string.c", + "src/core/ext/client_config/initial_connect_string.c", + "src/core/ext/client_config/lb_policy.c", + "src/core/ext/client_config/lb_policy_factory.c", + "src/core/ext/client_config/lb_policy_registry.c", + "src/core/ext/client_config/resolver.c", + "src/core/ext/client_config/resolver_factory.c", + "src/core/ext/client_config/resolver_registry.c", + "src/core/ext/client_config/subchannel.c", + "src/core/ext/client_config/subchannel_call_holder.c", + "src/core/ext/client_config/subchannel_index.c", + "src/core/ext/client_config/uri_parser.c", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", + "src/core/ext/transport/chttp2/client/insecure/channel_create.c", + "src/core/ext/lb_policy/grpclb/load_balancer_api.c", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c", + "src/core/ext/lb_policy/pick_first/pick_first.c", + "src/core/ext/lb_policy/round_robin/round_robin.c", + "src/core/ext/resolver/dns/native/dns_resolver.c", + "src/core/ext/resolver/sockaddr/sockaddr_resolver.c", + "src/core/ext/census/context.c", + "src/core/ext/census/grpc_context.c", + "src/core/ext/census/grpc_filter.c", + "src/core/ext/census/grpc_plugin.c", + "src/core/ext/census/initialize.c", + "src/core/ext/census/mlog.c", + "src/core/ext/census/operation.c", + "src/core/ext/census/placeholders.c", + "src/core/ext/census/tracing.c", + "src/core/plugin_registry/grpc_plugin_registry.c", ], hdrs = [ "include/grpc/byte_buffer.h", "include/grpc/byte_buffer_reader.h", - "include/grpc/census.h", "include/grpc/compression.h", "include/grpc/grpc.h", - "include/grpc/grpc_security.h", + "include/grpc/status.h", "include/grpc/impl/codegen/byte_buffer.h", "include/grpc/impl/codegen/compression_types.h", "include/grpc/impl/codegen/connectivity_state.h", "include/grpc/impl/codegen/grpc_types.h", "include/grpc/impl/codegen/propagation_bits.h", "include/grpc/impl/codegen/status.h", - "include/grpc/status.h", - "src/core/ext/transport/chttp2/transport/alpn.h", - "src/core/ext/transport/chttp2/transport/bin_encoder.h", - "src/core/ext/transport/chttp2/transport/chttp2_transport.h", - "src/core/ext/transport/chttp2/transport/frame.h", - "src/core/ext/transport/chttp2/transport/frame_data.h", - "src/core/ext/transport/chttp2/transport/frame_goaway.h", - "src/core/ext/transport/chttp2/transport/frame_ping.h", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", - "src/core/ext/transport/chttp2/transport/frame_settings.h", - "src/core/ext/transport/chttp2/transport/frame_window_update.h", - "src/core/ext/transport/chttp2/transport/hpack_encoder.h", - "src/core/ext/transport/chttp2/transport/hpack_parser.h", - "src/core/ext/transport/chttp2/transport/hpack_table.h", - "src/core/ext/transport/chttp2/transport/http2_errors.h", - "src/core/ext/transport/chttp2/transport/huffsyms.h", - "src/core/ext/transport/chttp2/transport/incoming_metadata.h", - "src/core/ext/transport/chttp2/transport/internal.h", - "src/core/ext/transport/chttp2/transport/status_conversion.h", - "src/core/ext/transport/chttp2/transport/stream_map.h", - "src/core/ext/transport/chttp2/transport/timeout_encoding.h", - "src/core/ext/transport/chttp2/transport/varint.h", - "src/core/lib/census/aggregation.h", - "src/core/lib/census/grpc_filter.h", - "src/core/lib/census/grpc_plugin.h", - "src/core/lib/census/mlog.h", - "src/core/lib/census/rpc_metric_id.h", + "include/grpc/impl/codegen/alloc.h", + "include/grpc/impl/codegen/atm.h", + "include/grpc/impl/codegen/atm_gcc_atomic.h", + "include/grpc/impl/codegen/atm_gcc_sync.h", + "include/grpc/impl/codegen/atm_win32.h", + "include/grpc/impl/codegen/log.h", + "include/grpc/impl/codegen/port_platform.h", + "include/grpc/impl/codegen/slice.h", + "include/grpc/impl/codegen/slice_buffer.h", + "include/grpc/impl/codegen/sync.h", + "include/grpc/impl/codegen/sync_generic.h", + "include/grpc/impl/codegen/sync_posix.h", + "include/grpc/impl/codegen/sync_win32.h", + "include/grpc/impl/codegen/time.h", + "include/grpc/grpc_security.h", + "include/grpc/census.h", "src/core/lib/channel/channel_args.h", "src/core/lib/channel/channel_stack.h", "src/core/lib/channel/channel_stack_builder.h", - "src/core/lib/channel/client_channel.h", "src/core/lib/channel/compress_filter.h", "src/core/lib/channel/connected_channel.h", "src/core/lib/channel/context.h", "src/core/lib/channel/http_client_filter.h", "src/core/lib/channel/http_server_filter.h", - "src/core/lib/channel/subchannel_call_holder.h", - "src/core/lib/client_config/client_config.h", - "src/core/lib/client_config/connector.h", - "src/core/lib/client_config/initial_connect_string.h", - "src/core/lib/client_config/lb_policies/load_balancer_api.h", - "src/core/lib/client_config/lb_policies/pick_first.h", - "src/core/lib/client_config/lb_policies/round_robin.h", - "src/core/lib/client_config/lb_policy.h", - "src/core/lib/client_config/lb_policy_factory.h", - "src/core/lib/client_config/lb_policy_registry.h", - "src/core/lib/client_config/resolver.h", - "src/core/lib/client_config/resolver_factory.h", - "src/core/lib/client_config/resolver_registry.h", - "src/core/lib/client_config/resolvers/dns_resolver.h", - "src/core/lib/client_config/resolvers/sockaddr_resolver.h", - "src/core/lib/client_config/subchannel.h", - "src/core/lib/client_config/subchannel_factory.h", - "src/core/lib/client_config/subchannel_index.h", - "src/core/lib/client_config/uri_parser.h", "src/core/lib/compression/algorithm_metadata.h", "src/core/lib/compression/message_compress.h", "src/core/lib/debug/trace.h", @@ -1600,17 +1505,16 @@ objc_library( "src/core/lib/iomgr/closure.h", "src/core/lib/iomgr/endpoint.h", "src/core/lib/iomgr/endpoint_pair.h", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.h", + "src/core/lib/iomgr/ev_posix.h", "src/core/lib/iomgr/exec_ctx.h", "src/core/lib/iomgr/executor.h", - "src/core/lib/iomgr/fd_posix.h", "src/core/lib/iomgr/iocp_windows.h", "src/core/lib/iomgr/iomgr.h", "src/core/lib/iomgr/iomgr_internal.h", "src/core/lib/iomgr/iomgr_posix.h", "src/core/lib/iomgr/pollset.h", - "src/core/lib/iomgr/pollset_posix.h", "src/core/lib/iomgr/pollset_set.h", - "src/core/lib/iomgr/pollset_set_posix.h", "src/core/lib/iomgr/pollset_set_windows.h", "src/core/lib/iomgr/pollset_windows.h", "src/core/lib/iomgr/resolve_address.h", @@ -1638,18 +1542,6 @@ objc_library( "src/core/lib/json/json_common.h", "src/core/lib/json/json_reader.h", "src/core/lib/json/json_writer.h", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h", - "src/core/lib/security/auth_filters.h", - "src/core/lib/security/b64.h", - "src/core/lib/security/credentials.h", - "src/core/lib/security/handshake.h", - "src/core/lib/security/json_token.h", - "src/core/lib/security/jwt_verifier.h", - "src/core/lib/security/secure_endpoint.h", - "src/core/lib/security/security_connector.h", - "src/core/lib/security/security_context.h", - "src/core/lib/statistics/census_interface.h", - "src/core/lib/statistics/census_rpc_stats.h", "src/core/lib/surface/api_trace.h", "src/core/lib/surface/call.h", "src/core/lib/surface/call_test_only.h", @@ -1669,11 +1561,64 @@ objc_library( "src/core/lib/transport/static_metadata.h", "src/core/lib/transport/transport.h", "src/core/lib/transport/transport_impl.h", + "src/core/ext/transport/chttp2/transport/bin_encoder.h", + "src/core/ext/transport/chttp2/transport/chttp2_transport.h", + "src/core/ext/transport/chttp2/transport/frame.h", + "src/core/ext/transport/chttp2/transport/frame_data.h", + "src/core/ext/transport/chttp2/transport/frame_goaway.h", + "src/core/ext/transport/chttp2/transport/frame_ping.h", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", + "src/core/ext/transport/chttp2/transport/frame_settings.h", + "src/core/ext/transport/chttp2/transport/frame_window_update.h", + "src/core/ext/transport/chttp2/transport/hpack_encoder.h", + "src/core/ext/transport/chttp2/transport/hpack_parser.h", + "src/core/ext/transport/chttp2/transport/hpack_table.h", + "src/core/ext/transport/chttp2/transport/http2_errors.h", + "src/core/ext/transport/chttp2/transport/huffsyms.h", + "src/core/ext/transport/chttp2/transport/incoming_metadata.h", + "src/core/ext/transport/chttp2/transport/internal.h", + "src/core/ext/transport/chttp2/transport/status_conversion.h", + "src/core/ext/transport/chttp2/transport/stream_map.h", + "src/core/ext/transport/chttp2/transport/timeout_encoding.h", + "src/core/ext/transport/chttp2/transport/varint.h", + "src/core/ext/transport/chttp2/alpn/alpn.h", + "src/core/lib/security/auth_filters.h", + "src/core/lib/security/b64.h", + "src/core/lib/security/credentials.h", + "src/core/lib/security/handshake.h", + "src/core/lib/security/json_token.h", + "src/core/lib/security/jwt_verifier.h", + "src/core/lib/security/secure_endpoint.h", + "src/core/lib/security/security_connector.h", + "src/core/lib/security/security_context.h", "src/core/lib/tsi/fake_transport_security.h", "src/core/lib/tsi/ssl_transport_security.h", "src/core/lib/tsi/ssl_types.h", "src/core/lib/tsi/transport_security.h", "src/core/lib/tsi/transport_security_interface.h", + "src/core/ext/client_config/client_channel.h", + "src/core/ext/client_config/client_channel_factory.h", + "src/core/ext/client_config/client_config.h", + "src/core/ext/client_config/connector.h", + "src/core/ext/client_config/initial_connect_string.h", + "src/core/ext/client_config/lb_policy.h", + "src/core/ext/client_config/lb_policy_factory.h", + "src/core/ext/client_config/lb_policy_registry.h", + "src/core/ext/client_config/resolver.h", + "src/core/ext/client_config/resolver_factory.h", + "src/core/ext/client_config/resolver_registry.h", + "src/core/ext/client_config/subchannel.h", + "src/core/ext/client_config/subchannel_call_holder.h", + "src/core/ext/client_config/subchannel_index.h", + "src/core/ext/client_config/uri_parser.h", + "src/core/ext/lb_policy/grpclb/load_balancer_api.h", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h", + "src/core/ext/census/aggregation.h", + "src/core/ext/census/census_interface.h", + "src/core/ext/census/census_rpc_stats.h", + "src/core/ext/census/grpc_filter.h", + "src/core/ext/census/mlog.h", + "src/core/ext/census/rpc_metric_id.h", ], includes = [ "include", diff --git a/LICENSE b/LICENSE index ac4b207af71bbe1a2c8b68729e6b0c47574b766b..0209b570e10da54c158654433c5d3212b548c352 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2015-2016, Google Inc. +Copyright 2015, Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Makefile b/Makefile index 2286abe6259f6a0be48dcee5de4b848a9ca5bc2a..6b2b9eb2deedbb57846b48b22f35ced9abcf16fe 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ # This file can be regenerated from the template by running # tools/buildgen/generate_projects.sh -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -902,6 +902,7 @@ fling_stream_test: $(BINDIR)/$(CONFIG)/fling_stream_test fling_test: $(BINDIR)/$(CONFIG)/fling_test gen_hpack_tables: $(BINDIR)/$(CONFIG)/gen_hpack_tables gen_legal_metadata_characters: $(BINDIR)/$(CONFIG)/gen_legal_metadata_characters +goaway_server_test: $(BINDIR)/$(CONFIG)/goaway_server_test gpr_avl_test: $(BINDIR)/$(CONFIG)/gpr_avl_test gpr_backoff_test: $(BINDIR)/$(CONFIG)/gpr_backoff_test gpr_cmdline_test: $(BINDIR)/$(CONFIG)/gpr_cmdline_test @@ -944,6 +945,9 @@ httpcli_format_request_test: $(BINDIR)/$(CONFIG)/httpcli_format_request_test httpcli_test: $(BINDIR)/$(CONFIG)/httpcli_test httpscli_test: $(BINDIR)/$(CONFIG)/httpscli_test init_test: $(BINDIR)/$(CONFIG)/init_test +internal_api_canary_iomgr_test: $(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test +internal_api_canary_support_test: $(BINDIR)/$(CONFIG)/internal_api_canary_support_test +internal_api_canary_transport_test: $(BINDIR)/$(CONFIG)/internal_api_canary_transport_test invalid_call_argument_test: $(BINDIR)/$(CONFIG)/invalid_call_argument_test json_fuzzer_test: $(BINDIR)/$(CONFIG)/json_fuzzer_test json_rewrite: $(BINDIR)/$(CONFIG)/json_rewrite @@ -957,11 +961,14 @@ message_compress_test: $(BINDIR)/$(CONFIG)/message_compress_test mlog_test: $(BINDIR)/$(CONFIG)/mlog_test multiple_server_queues_test: $(BINDIR)/$(CONFIG)/multiple_server_queues_test murmur_hash_test: $(BINDIR)/$(CONFIG)/murmur_hash_test +nanopb_fuzzer_response_test: $(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test +nanopb_fuzzer_serverlist_test: $(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test no_server_test: $(BINDIR)/$(CONFIG)/no_server_test resolve_address_test: $(BINDIR)/$(CONFIG)/resolve_address_test secure_channel_create_test: $(BINDIR)/$(CONFIG)/secure_channel_create_test secure_endpoint_test: $(BINDIR)/$(CONFIG)/secure_endpoint_test server_chttp2_test: $(BINDIR)/$(CONFIG)/server_chttp2_test +server_fuzzer: $(BINDIR)/$(CONFIG)/server_fuzzer server_test: $(BINDIR)/$(CONFIG)/server_test set_initial_connect_string_test: $(BINDIR)/$(CONFIG)/set_initial_connect_string_test sockaddr_resolver_test: $(BINDIR)/$(CONFIG)/sockaddr_resolver_test @@ -1011,10 +1018,12 @@ hybrid_end2end_test: $(BINDIR)/$(CONFIG)/hybrid_end2end_test interop_client: $(BINDIR)/$(CONFIG)/interop_client interop_server: $(BINDIR)/$(CONFIG)/interop_server interop_test: $(BINDIR)/$(CONFIG)/interop_test +json_run_localhost: $(BINDIR)/$(CONFIG)/json_run_localhost metrics_client: $(BINDIR)/$(CONFIG)/metrics_client mock_test: $(BINDIR)/$(CONFIG)/mock_test qps_driver: $(BINDIR)/$(CONFIG)/qps_driver qps_interarrival_test: $(BINDIR)/$(CONFIG)/qps_interarrival_test +qps_json_driver: $(BINDIR)/$(CONFIG)/qps_json_driver qps_openloop_test: $(BINDIR)/$(CONFIG)/qps_openloop_test qps_test: $(BINDIR)/$(CONFIG)/qps_test qps_worker: $(BINDIR)/$(CONFIG)/qps_worker @@ -1072,6 +1081,7 @@ boringssl_pqueue_test: $(BINDIR)/$(CONFIG)/boringssl_pqueue_test boringssl_ssl_test: $(BINDIR)/$(CONFIG)/boringssl_ssl_test badreq_bad_client_test: $(BINDIR)/$(CONFIG)/badreq_bad_client_test connection_prefix_bad_client_test: $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test +head_of_line_blocking_bad_client_test: $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test headers_bad_client_test: $(BINDIR)/$(CONFIG)/headers_bad_client_test initial_settings_frame_bad_client_test: $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test server_registered_method_bad_client_test: $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test @@ -1087,8 +1097,6 @@ h2_compress_test: $(BINDIR)/$(CONFIG)/h2_compress_test h2_fakesec_test: $(BINDIR)/$(CONFIG)/h2_fakesec_test h2_full_test: $(BINDIR)/$(CONFIG)/h2_full_test h2_full+pipe_test: $(BINDIR)/$(CONFIG)/h2_full+pipe_test -h2_full+poll_test: $(BINDIR)/$(CONFIG)/h2_full+poll_test -h2_full+poll+pipe_test: $(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test h2_full+trace_test: $(BINDIR)/$(CONFIG)/h2_full+trace_test h2_oauth2_test: $(BINDIR)/$(CONFIG)/h2_oauth2_test h2_proxy_test: $(BINDIR)/$(CONFIG)/h2_proxy_test @@ -1096,23 +1104,25 @@ h2_sockpair_test: $(BINDIR)/$(CONFIG)/h2_sockpair_test h2_sockpair+trace_test: $(BINDIR)/$(CONFIG)/h2_sockpair+trace_test h2_sockpair_1byte_test: $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test h2_ssl_test: $(BINDIR)/$(CONFIG)/h2_ssl_test -h2_ssl+poll_test: $(BINDIR)/$(CONFIG)/h2_ssl+poll_test h2_ssl_proxy_test: $(BINDIR)/$(CONFIG)/h2_ssl_proxy_test h2_uds_test: $(BINDIR)/$(CONFIG)/h2_uds_test -h2_uds+poll_test: $(BINDIR)/$(CONFIG)/h2_uds+poll_test h2_census_nosec_test: $(BINDIR)/$(CONFIG)/h2_census_nosec_test h2_compress_nosec_test: $(BINDIR)/$(CONFIG)/h2_compress_nosec_test h2_full_nosec_test: $(BINDIR)/$(CONFIG)/h2_full_nosec_test h2_full+pipe_nosec_test: $(BINDIR)/$(CONFIG)/h2_full+pipe_nosec_test -h2_full+poll_nosec_test: $(BINDIR)/$(CONFIG)/h2_full+poll_nosec_test -h2_full+poll+pipe_nosec_test: $(BINDIR)/$(CONFIG)/h2_full+poll+pipe_nosec_test h2_full+trace_nosec_test: $(BINDIR)/$(CONFIG)/h2_full+trace_nosec_test h2_proxy_nosec_test: $(BINDIR)/$(CONFIG)/h2_proxy_nosec_test h2_sockpair_nosec_test: $(BINDIR)/$(CONFIG)/h2_sockpair_nosec_test h2_sockpair+trace_nosec_test: $(BINDIR)/$(CONFIG)/h2_sockpair+trace_nosec_test h2_sockpair_1byte_nosec_test: $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_nosec_test h2_uds_nosec_test: $(BINDIR)/$(CONFIG)/h2_uds_nosec_test -h2_uds+poll_nosec_test: $(BINDIR)/$(CONFIG)/h2_uds+poll_nosec_test +hpack_parser_fuzzer_test_one_entry: $(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test_one_entry +http_fuzzer_test_one_entry: $(BINDIR)/$(CONFIG)/http_fuzzer_test_one_entry +json_fuzzer_test_one_entry: $(BINDIR)/$(CONFIG)/json_fuzzer_test_one_entry +nanopb_fuzzer_response_test_one_entry: $(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test_one_entry +nanopb_fuzzer_serverlist_test_one_entry: $(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test_one_entry +server_fuzzer_one_entry: $(BINDIR)/$(CONFIG)/server_fuzzer_one_entry +uri_fuzzer_test_one_entry: $(BINDIR)/$(CONFIG)/uri_fuzzer_test_one_entry run_dep_checks: $(OPENSSL_ALPN_CHECK_CMD) || true @@ -1143,13 +1153,13 @@ static: static_c static_cxx static_c: pc_c pc_c_unsecure cache.mk pc_c_zookeeper $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a static_zookeeper_libs -static_cxx: pc_cxx pc_cxx_unsecure cache.mk $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a +static_cxx: pc_cxx pc_cxx_unsecure cache.mk $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a shared: shared_c shared_cxx shared_c: pc_c pc_c_unsecure cache.mk pc_c_zookeeper $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) shared_zookeeper_libs -shared_cxx: pc_cxx pc_cxx_unsecure cache.mk $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) +shared_cxx: pc_cxx pc_cxx_unsecure cache.mk $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) shared_csharp: shared_c $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION).$(SHARED_EXT) ifeq ($(HAS_ZOOKEEPER),true) @@ -1169,7 +1179,7 @@ plugins: $(PROTOC_PLUGINS) privatelibs: privatelibs_c privatelibs_cxx -privatelibs_c: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libz.a $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a +privatelibs_c: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libz.a $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a pc_c: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc pc_c_unsecure: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc @@ -1219,6 +1229,7 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/fling_server \ $(BINDIR)/$(CONFIG)/fling_stream_test \ $(BINDIR)/$(CONFIG)/fling_test \ + $(BINDIR)/$(CONFIG)/goaway_server_test \ $(BINDIR)/$(CONFIG)/gpr_avl_test \ $(BINDIR)/$(CONFIG)/gpr_backoff_test \ $(BINDIR)/$(CONFIG)/gpr_cmdline_test \ @@ -1255,6 +1266,9 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/httpcli_test \ $(BINDIR)/$(CONFIG)/httpscli_test \ $(BINDIR)/$(CONFIG)/init_test \ + $(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test \ + $(BINDIR)/$(CONFIG)/internal_api_canary_support_test \ + $(BINDIR)/$(CONFIG)/internal_api_canary_transport_test \ $(BINDIR)/$(CONFIG)/invalid_call_argument_test \ $(BINDIR)/$(CONFIG)/json_rewrite \ $(BINDIR)/$(CONFIG)/json_rewrite_test \ @@ -1293,6 +1307,7 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/public_headers_must_be_c89 \ $(BINDIR)/$(CONFIG)/badreq_bad_client_test \ $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test \ + $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test \ $(BINDIR)/$(CONFIG)/headers_bad_client_test \ $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test \ $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test \ @@ -1308,8 +1323,6 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/h2_fakesec_test \ $(BINDIR)/$(CONFIG)/h2_full_test \ $(BINDIR)/$(CONFIG)/h2_full+pipe_test \ - $(BINDIR)/$(CONFIG)/h2_full+poll_test \ - $(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test \ $(BINDIR)/$(CONFIG)/h2_full+trace_test \ $(BINDIR)/$(CONFIG)/h2_oauth2_test \ $(BINDIR)/$(CONFIG)/h2_proxy_test \ @@ -1317,23 +1330,25 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/h2_sockpair+trace_test \ $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test \ $(BINDIR)/$(CONFIG)/h2_ssl_test \ - $(BINDIR)/$(CONFIG)/h2_ssl+poll_test \ $(BINDIR)/$(CONFIG)/h2_ssl_proxy_test \ $(BINDIR)/$(CONFIG)/h2_uds_test \ - $(BINDIR)/$(CONFIG)/h2_uds+poll_test \ $(BINDIR)/$(CONFIG)/h2_census_nosec_test \ $(BINDIR)/$(CONFIG)/h2_compress_nosec_test \ $(BINDIR)/$(CONFIG)/h2_full_nosec_test \ $(BINDIR)/$(CONFIG)/h2_full+pipe_nosec_test \ - $(BINDIR)/$(CONFIG)/h2_full+poll_nosec_test \ - $(BINDIR)/$(CONFIG)/h2_full+poll+pipe_nosec_test \ $(BINDIR)/$(CONFIG)/h2_full+trace_nosec_test \ $(BINDIR)/$(CONFIG)/h2_proxy_nosec_test \ $(BINDIR)/$(CONFIG)/h2_sockpair_nosec_test \ $(BINDIR)/$(CONFIG)/h2_sockpair+trace_nosec_test \ $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_nosec_test \ $(BINDIR)/$(CONFIG)/h2_uds_nosec_test \ - $(BINDIR)/$(CONFIG)/h2_uds+poll_nosec_test \ + $(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test_one_entry \ + $(BINDIR)/$(CONFIG)/http_fuzzer_test_one_entry \ + $(BINDIR)/$(CONFIG)/json_fuzzer_test_one_entry \ + $(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test_one_entry \ + $(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test_one_entry \ + $(BINDIR)/$(CONFIG)/server_fuzzer_one_entry \ + $(BINDIR)/$(CONFIG)/uri_fuzzer_test_one_entry \ buildtests_cxx: buildtests_zookeeper privatelibs_cxx \ @@ -1361,11 +1376,14 @@ buildtests_cxx: buildtests_zookeeper privatelibs_cxx \ $(BINDIR)/$(CONFIG)/interop_client \ $(BINDIR)/$(CONFIG)/interop_server \ $(BINDIR)/$(CONFIG)/interop_test \ + $(BINDIR)/$(CONFIG)/json_run_localhost \ $(BINDIR)/$(CONFIG)/metrics_client \ $(BINDIR)/$(CONFIG)/mock_test \ $(BINDIR)/$(CONFIG)/qps_interarrival_test \ + $(BINDIR)/$(CONFIG)/qps_json_driver \ $(BINDIR)/$(CONFIG)/qps_openloop_test \ $(BINDIR)/$(CONFIG)/qps_test \ + $(BINDIR)/$(CONFIG)/qps_worker \ $(BINDIR)/$(CONFIG)/reconnect_interop_client \ $(BINDIR)/$(CONFIG)/reconnect_interop_server \ $(BINDIR)/$(CONFIG)/secure_auth_context_test \ @@ -1474,6 +1492,8 @@ test_c: buildtests_c $(Q) $(BINDIR)/$(CONFIG)/fling_stream_test || ( echo test fling_stream_test failed ; exit 1 ) $(E) "[RUN] Testing fling_test" $(Q) $(BINDIR)/$(CONFIG)/fling_test || ( echo test fling_test failed ; exit 1 ) + $(E) "[RUN] Testing goaway_server_test" + $(Q) $(BINDIR)/$(CONFIG)/goaway_server_test || ( echo test goaway_server_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_avl_test" $(Q) $(BINDIR)/$(CONFIG)/gpr_avl_test || ( echo test gpr_avl_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_backoff_test" @@ -1616,6 +1636,8 @@ test_c: buildtests_c $(Q) $(BINDIR)/$(CONFIG)/badreq_bad_client_test || ( echo test badreq_bad_client_test failed ; exit 1 ) $(E) "[RUN] Testing connection_prefix_bad_client_test" $(Q) $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test || ( echo test connection_prefix_bad_client_test failed ; exit 1 ) + $(E) "[RUN] Testing head_of_line_blocking_bad_client_test" + $(Q) $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test || ( echo test head_of_line_blocking_bad_client_test failed ; exit 1 ) $(E) "[RUN] Testing headers_bad_client_test" $(Q) $(BINDIR)/$(CONFIG)/headers_bad_client_test || ( echo test headers_bad_client_test failed ; exit 1 ) $(E) "[RUN] Testing initial_settings_frame_bad_client_test" @@ -1735,7 +1757,7 @@ tools_c: privatelibs_c $(BINDIR)/$(CONFIG)/gen_hpack_tables $(BINDIR)/$(CONFIG)/ tools_cxx: privatelibs_cxx -buildbenchmarks: privatelibs $(BINDIR)/$(CONFIG)/low_level_ping_pong_benchmark $(BINDIR)/$(CONFIG)/qps_driver $(BINDIR)/$(CONFIG)/qps_worker +buildbenchmarks: privatelibs $(BINDIR)/$(CONFIG)/low_level_ping_pong_benchmark $(BINDIR)/$(CONFIG)/qps_driver benchmarks: buildbenchmarks @@ -1768,8 +1790,6 @@ strip-static_cxx: static_cxx ifeq ($(CONFIG),opt) $(E) "[STRIP] Stripping libgrpc++.a" $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/libgrpc++.a - $(E) "[STRIP] Stripping libgrpc++_codegen_lib.a" - $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a $(E) "[STRIP] Stripping libgrpc++_unsecure.a" $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a endif @@ -1792,8 +1812,6 @@ strip-shared_cxx: shared_cxx ifeq ($(CONFIG),opt) $(E) "[STRIP] Stripping $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT)" $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) - $(E) "[STRIP] Stripping $(SHARED_PREFIX)grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT)" - $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT) $(E) "[STRIP] Stripping $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT)" $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) endif @@ -2105,9 +2123,6 @@ install-static_cxx: static_cxx strip-static_cxx install-pkg-config_cxx $(E) "[INSTALL] Installing libgrpc++.a" $(Q) $(INSTALL) -d $(prefix)/lib $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(prefix)/lib/libgrpc++.a - $(E) "[INSTALL] Installing libgrpc++_codegen_lib.a" - $(Q) $(INSTALL) -d $(prefix)/lib - $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a $(prefix)/lib/libgrpc++_codegen_lib.a $(E) "[INSTALL] Installing libgrpc++_unsecure.a" $(Q) $(INSTALL) -d $(prefix)/lib $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(prefix)/lib/libgrpc++_unsecure.a @@ -2169,15 +2184,6 @@ ifeq ($(SYSTEM),MINGW32) else ifneq ($(SYSTEM),Darwin) $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(prefix)/lib/libgrpc++.so.0 $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(prefix)/lib/libgrpc++.so -endif - $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT)" - $(Q) $(INSTALL) -d $(prefix)/lib - $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT) $(prefix)/lib/$(SHARED_PREFIX)grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT) -ifeq ($(SYSTEM),MINGW32) - $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib-imp.a $(prefix)/lib/libgrpc++_codegen_lib-imp.a -else ifneq ($(SYSTEM),Darwin) - $(Q) ln -sf $(SHARED_PREFIX)grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT) $(prefix)/lib/libgrpc++_codegen_lib.so.0 - $(Q) ln -sf $(SHARED_PREFIX)grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT) $(prefix)/lib/libgrpc++_codegen_lib.so endif $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT)" $(Q) $(INSTALL) -d $(prefix)/lib @@ -2328,20 +2334,6 @@ LIBGPR_SRC = \ src/core/lib/support/wrap_memcpy.c \ PUBLIC_HEADERS_C += \ - include/grpc/impl/codegen/alloc.h \ - include/grpc/impl/codegen/atm.h \ - include/grpc/impl/codegen/atm_gcc_atomic.h \ - include/grpc/impl/codegen/atm_gcc_sync.h \ - include/grpc/impl/codegen/atm_win32.h \ - include/grpc/impl/codegen/log.h \ - include/grpc/impl/codegen/port_platform.h \ - include/grpc/impl/codegen/slice.h \ - include/grpc/impl/codegen/slice_buffer.h \ - include/grpc/impl/codegen/sync.h \ - include/grpc/impl/codegen/sync_generic.h \ - include/grpc/impl/codegen/sync_posix.h \ - include/grpc/impl/codegen/sync_win32.h \ - include/grpc/impl/codegen/time.h \ include/grpc/support/alloc.h \ include/grpc/support/atm.h \ include/grpc/support/atm_gcc_atomic.h \ @@ -2370,6 +2362,20 @@ PUBLIC_HEADERS_C += \ include/grpc/support/tls_msvc.h \ include/grpc/support/tls_pthread.h \ include/grpc/support/useful.h \ + include/grpc/impl/codegen/alloc.h \ + include/grpc/impl/codegen/atm.h \ + include/grpc/impl/codegen/atm_gcc_atomic.h \ + include/grpc/impl/codegen/atm_gcc_sync.h \ + include/grpc/impl/codegen/atm_win32.h \ + include/grpc/impl/codegen/log.h \ + include/grpc/impl/codegen/port_platform.h \ + include/grpc/impl/codegen/slice.h \ + include/grpc/impl/codegen/slice_buffer.h \ + include/grpc/impl/codegen/sync.h \ + include/grpc/impl/codegen/sync_generic.h \ + include/grpc/impl/codegen/sync_posix.h \ + include/grpc/impl/codegen/sync_win32.h \ + include/grpc/impl/codegen/time.h \ LIBGPR_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_SRC)))) @@ -2434,90 +2440,31 @@ endif LIBGRPC_SRC = \ - src/core/ext/transport/chttp2/client/insecure/channel_create.c \ - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c \ - src/core/ext/transport/chttp2/transport/alpn.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/status_conversion.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/timeout_encoding.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/lib/census/context.c \ - src/core/lib/census/grpc_context.c \ - src/core/lib/census/grpc_filter.c \ - src/core/lib/census/grpc_plugin.c \ - src/core/lib/census/initialize.c \ - src/core/lib/census/mlog.c \ - src/core/lib/census/operation.c \ - src/core/lib/census/placeholders.c \ - src/core/lib/census/tracing.c \ src/core/lib/channel/channel_args.c \ src/core/lib/channel/channel_stack.c \ src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/client_channel.c \ src/core/lib/channel/compress_filter.c \ src/core/lib/channel/connected_channel.c \ src/core/lib/channel/http_client_filter.c \ src/core/lib/channel/http_server_filter.c \ - src/core/lib/channel/subchannel_call_holder.c \ - src/core/lib/client_config/client_config.c \ - src/core/lib/client_config/connector.c \ - src/core/lib/client_config/default_initial_connect_string.c \ - src/core/lib/client_config/initial_connect_string.c \ - src/core/lib/client_config/lb_policies/load_balancer_api.c \ - src/core/lib/client_config/lb_policies/pick_first.c \ - src/core/lib/client_config/lb_policies/round_robin.c \ - src/core/lib/client_config/lb_policy.c \ - src/core/lib/client_config/lb_policy_factory.c \ - src/core/lib/client_config/lb_policy_registry.c \ - src/core/lib/client_config/resolver.c \ - src/core/lib/client_config/resolver_factory.c \ - src/core/lib/client_config/resolver_registry.c \ - src/core/lib/client_config/resolvers/dns_resolver.c \ - src/core/lib/client_config/resolvers/sockaddr_resolver.c \ - src/core/lib/client_config/subchannel.c \ - src/core/lib/client_config/subchannel_factory.c \ - src/core/lib/client_config/subchannel_index.c \ - src/core/lib/client_config/uri_parser.c \ src/core/lib/compression/compression_algorithm.c \ src/core/lib/compression/message_compress.c \ src/core/lib/debug/trace.c \ src/core/lib/http/format_request.c \ src/core/lib/http/httpcli.c \ - src/core/lib/http/httpcli_security_connector.c \ src/core/lib/http/parser.c \ src/core/lib/iomgr/closure.c \ src/core/lib/iomgr/endpoint.c \ src/core/lib/iomgr/endpoint_pair_posix.c \ src/core/lib/iomgr/endpoint_pair_windows.c \ + src/core/lib/iomgr/ev_poll_and_epoll_posix.c \ + src/core/lib/iomgr/ev_posix.c \ src/core/lib/iomgr/exec_ctx.c \ src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/fd_posix.c \ src/core/lib/iomgr/iocp_windows.c \ src/core/lib/iomgr/iomgr.c \ src/core/lib/iomgr/iomgr_posix.c \ src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/pollset_multipoller_with_epoll.c \ - src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c \ - src/core/lib/iomgr/pollset_posix.c \ - src/core/lib/iomgr/pollset_set_posix.c \ src/core/lib/iomgr/pollset_set_windows.c \ src/core/lib/iomgr/pollset_windows.c \ src/core/lib/iomgr/resolve_address_posix.c \ @@ -2549,21 +2496,6 @@ LIBGRPC_SRC = \ src/core/lib/json/json_reader.c \ src/core/lib/json/json_string.c \ src/core/lib/json/json_writer.c \ - src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c \ - src/core/lib/security/b64.c \ - src/core/lib/security/client_auth_filter.c \ - src/core/lib/security/credentials.c \ - src/core/lib/security/credentials_metadata.c \ - src/core/lib/security/credentials_posix.c \ - src/core/lib/security/credentials_win32.c \ - src/core/lib/security/google_default_credentials.c \ - src/core/lib/security/handshake.c \ - src/core/lib/security/json_token.c \ - src/core/lib/security/jwt_verifier.c \ - src/core/lib/security/secure_endpoint.c \ - src/core/lib/security/security_connector.c \ - src/core/lib/security/security_context.c \ - src/core/lib/security/server_auth_filter.c \ src/core/lib/surface/alarm.c \ src/core/lib/surface/api_trace.c \ src/core/lib/surface/byte_buffer.c \ @@ -2572,14 +2504,12 @@ LIBGRPC_SRC = \ src/core/lib/surface/call_details.c \ src/core/lib/surface/call_log_batch.c \ src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_connectivity.c \ src/core/lib/surface/channel_init.c \ src/core/lib/surface/channel_ping.c \ src/core/lib/surface/channel_stack_type.c \ src/core/lib/surface/completion_queue.c \ src/core/lib/surface/event_string.c \ src/core/lib/surface/init.c \ - src/core/lib/surface/init_secure.c \ src/core/lib/surface/lame_client.c \ src/core/lib/surface/metadata_array.c \ src/core/lib/surface/server.c \ @@ -2592,27 +2522,117 @@ LIBGRPC_SRC = \ src/core/lib/transport/static_metadata.c \ src/core/lib/transport/transport.c \ src/core/lib/transport/transport_op_string.c \ + src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c \ + src/core/ext/transport/chttp2/transport/bin_encoder.c \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ + src/core/ext/transport/chttp2/transport/chttp2_transport.c \ + src/core/ext/transport/chttp2/transport/frame_data.c \ + src/core/ext/transport/chttp2/transport/frame_goaway.c \ + src/core/ext/transport/chttp2/transport/frame_ping.c \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ + src/core/ext/transport/chttp2/transport/frame_settings.c \ + src/core/ext/transport/chttp2/transport/frame_window_update.c \ + src/core/ext/transport/chttp2/transport/hpack_encoder.c \ + src/core/ext/transport/chttp2/transport/hpack_parser.c \ + src/core/ext/transport/chttp2/transport/hpack_table.c \ + src/core/ext/transport/chttp2/transport/huffsyms.c \ + src/core/ext/transport/chttp2/transport/incoming_metadata.c \ + src/core/ext/transport/chttp2/transport/parsing.c \ + src/core/ext/transport/chttp2/transport/status_conversion.c \ + src/core/ext/transport/chttp2/transport/stream_lists.c \ + src/core/ext/transport/chttp2/transport/stream_map.c \ + src/core/ext/transport/chttp2/transport/timeout_encoding.c \ + src/core/ext/transport/chttp2/transport/varint.c \ + src/core/ext/transport/chttp2/transport/writing.c \ + src/core/ext/transport/chttp2/alpn/alpn.c \ + src/core/lib/http/httpcli_security_connector.c \ + src/core/lib/security/b64.c \ + src/core/lib/security/client_auth_filter.c \ + src/core/lib/security/credentials.c \ + src/core/lib/security/credentials_metadata.c \ + src/core/lib/security/credentials_posix.c \ + src/core/lib/security/credentials_win32.c \ + src/core/lib/security/google_default_credentials.c \ + src/core/lib/security/handshake.c \ + src/core/lib/security/json_token.c \ + src/core/lib/security/jwt_verifier.c \ + src/core/lib/security/secure_endpoint.c \ + src/core/lib/security/security_connector.c \ + src/core/lib/security/security_context.c \ + src/core/lib/security/server_auth_filter.c \ + src/core/lib/surface/init_secure.c \ src/core/lib/tsi/fake_transport_security.c \ src/core/lib/tsi/ssl_transport_security.c \ src/core/lib/tsi/transport_security.c \ + src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ + src/core/ext/client_config/channel_connectivity.c \ + src/core/ext/client_config/client_channel.c \ + src/core/ext/client_config/client_channel_factory.c \ + src/core/ext/client_config/client_config.c \ + src/core/ext/client_config/client_config_plugin.c \ + src/core/ext/client_config/connector.c \ + src/core/ext/client_config/default_initial_connect_string.c \ + src/core/ext/client_config/initial_connect_string.c \ + src/core/ext/client_config/lb_policy.c \ + src/core/ext/client_config/lb_policy_factory.c \ + src/core/ext/client_config/lb_policy_registry.c \ + src/core/ext/client_config/resolver.c \ + src/core/ext/client_config/resolver_factory.c \ + src/core/ext/client_config/resolver_registry.c \ + src/core/ext/client_config/subchannel.c \ + src/core/ext/client_config/subchannel_call_holder.c \ + src/core/ext/client_config/subchannel_index.c \ + src/core/ext/client_config/uri_parser.c \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ + src/core/ext/transport/chttp2/client/insecure/channel_create.c \ + src/core/ext/lb_policy/grpclb/load_balancer_api.c \ + src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c \ third_party/nanopb/pb_common.c \ third_party/nanopb/pb_decode.c \ third_party/nanopb/pb_encode.c \ + src/core/ext/lb_policy/pick_first/pick_first.c \ + src/core/ext/lb_policy/round_robin/round_robin.c \ + src/core/ext/resolver/dns/native/dns_resolver.c \ + src/core/ext/resolver/sockaddr/sockaddr_resolver.c \ + src/core/ext/census/context.c \ + src/core/ext/census/grpc_context.c \ + src/core/ext/census/grpc_filter.c \ + src/core/ext/census/grpc_plugin.c \ + src/core/ext/census/initialize.c \ + src/core/ext/census/mlog.c \ + src/core/ext/census/operation.c \ + src/core/ext/census/placeholders.c \ + src/core/ext/census/tracing.c \ + src/core/plugin_registry/grpc_plugin_registry.c \ PUBLIC_HEADERS_C += \ include/grpc/byte_buffer.h \ include/grpc/byte_buffer_reader.h \ - include/grpc/census.h \ include/grpc/compression.h \ include/grpc/grpc.h \ - include/grpc/grpc_security.h \ + include/grpc/status.h \ include/grpc/impl/codegen/byte_buffer.h \ include/grpc/impl/codegen/compression_types.h \ include/grpc/impl/codegen/connectivity_state.h \ include/grpc/impl/codegen/grpc_types.h \ include/grpc/impl/codegen/propagation_bits.h \ include/grpc/impl/codegen/status.h \ - include/grpc/status.h \ + include/grpc/impl/codegen/alloc.h \ + include/grpc/impl/codegen/atm.h \ + include/grpc/impl/codegen/atm_gcc_atomic.h \ + include/grpc/impl/codegen/atm_gcc_sync.h \ + include/grpc/impl/codegen/atm_win32.h \ + include/grpc/impl/codegen/log.h \ + include/grpc/impl/codegen/port_platform.h \ + include/grpc/impl/codegen/slice.h \ + include/grpc/impl/codegen/slice_buffer.h \ + include/grpc/impl/codegen/sync.h \ + include/grpc/impl/codegen/sync_generic.h \ + include/grpc/impl/codegen/sync_posix.h \ + include/grpc/impl/codegen/sync_win32.h \ + include/grpc/impl/codegen/time.h \ + include/grpc/grpc_security.h \ + include/grpc/census.h \ LIBGRPC_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_SRC)))) @@ -2666,59 +2686,16 @@ endif endif -LIBGRPC_CODEGEN_LIB_SRC = \ - -PUBLIC_HEADERS_C += \ - include/grpc/impl/codegen/alloc.h \ - include/grpc/impl/codegen/atm.h \ - include/grpc/impl/codegen/atm_gcc_atomic.h \ - include/grpc/impl/codegen/atm_gcc_sync.h \ - include/grpc/impl/codegen/atm_win32.h \ - include/grpc/impl/codegen/byte_buffer.h \ - include/grpc/impl/codegen/compression_types.h \ - include/grpc/impl/codegen/connectivity_state.h \ - include/grpc/impl/codegen/grpc_types.h \ - include/grpc/impl/codegen/log.h \ - include/grpc/impl/codegen/port_platform.h \ - include/grpc/impl/codegen/propagation_bits.h \ - include/grpc/impl/codegen/slice.h \ - include/grpc/impl/codegen/slice_buffer.h \ - include/grpc/impl/codegen/status.h \ - include/grpc/impl/codegen/sync.h \ - include/grpc/impl/codegen/sync_generic.h \ - include/grpc/impl/codegen/sync_posix.h \ - include/grpc/impl/codegen/sync_win32.h \ - include/grpc/impl/codegen/time.h \ - -LIBGRPC_CODEGEN_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_CODEGEN_LIB_SRC)))) - - -$(LIBDIR)/$(CONFIG)/libgrpc_codegen_lib.a: $(ZLIB_DEP) $(LIBGRPC_CODEGEN_LIB_OBJS) - $(E) "[AR] Creating $@" - $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_codegen_lib.a - $(Q) $(AR) $(LIBDIR)/$(CONFIG)/libgrpc_codegen_lib.a $(LIBGRPC_CODEGEN_LIB_OBJS) -ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_codegen_lib.a -endif - - - - -ifneq ($(NO_DEPS),true) --include $(LIBGRPC_CODEGEN_LIB_OBJS:.o=.dep) -endif - - LIBGRPC_TEST_UTIL_SRC = \ - test/core/end2end/cq_verifier.c \ test/core/end2end/data/server1_cert.c \ test/core/end2end/data/server1_key.c \ test/core/end2end/data/test_root_cert.c \ + test/core/security/oauth2_utils.c \ + test/core/end2end/cq_verifier.c \ test/core/end2end/fixtures/proxy.c \ test/core/iomgr/endpoint_tests.c \ - test/core/security/oauth2_utils.c \ test/core/util/grpc_profiler.c \ + test/core/util/mock_endpoint.c \ test/core/util/parse_hexstring.c \ test/core/util/port_posix.c \ test/core/util/port_server_client.c \ @@ -2766,6 +2743,7 @@ LIBGRPC_TEST_UTIL_UNSECURE_SRC = \ test/core/end2end/fixtures/proxy.c \ test/core/iomgr/endpoint_tests.c \ test/core/util/grpc_profiler.c \ + test/core/util/mock_endpoint.c \ test/core/util/parse_hexstring.c \ test/core/util/port_posix.c \ test/core/util/port_server_client.c \ @@ -2795,66 +2773,14 @@ endif LIBGRPC_UNSECURE_SRC = \ - src/core/ext/transport/chttp2/client/insecure/channel_create.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ - src/core/ext/transport/chttp2/transport/alpn.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/status_conversion.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/timeout_encoding.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/lib/census/context.c \ - src/core/lib/census/grpc_context.c \ - src/core/lib/census/grpc_filter.c \ - src/core/lib/census/grpc_plugin.c \ - src/core/lib/census/initialize.c \ - src/core/lib/census/mlog.c \ - src/core/lib/census/operation.c \ - src/core/lib/census/placeholders.c \ - src/core/lib/census/tracing.c \ + src/core/lib/surface/init_unsecure.c \ src/core/lib/channel/channel_args.c \ src/core/lib/channel/channel_stack.c \ src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/client_channel.c \ src/core/lib/channel/compress_filter.c \ src/core/lib/channel/connected_channel.c \ src/core/lib/channel/http_client_filter.c \ src/core/lib/channel/http_server_filter.c \ - src/core/lib/channel/subchannel_call_holder.c \ - src/core/lib/client_config/client_config.c \ - src/core/lib/client_config/connector.c \ - src/core/lib/client_config/default_initial_connect_string.c \ - src/core/lib/client_config/initial_connect_string.c \ - src/core/lib/client_config/lb_policies/load_balancer_api.c \ - src/core/lib/client_config/lb_policies/pick_first.c \ - src/core/lib/client_config/lb_policies/round_robin.c \ - src/core/lib/client_config/lb_policy.c \ - src/core/lib/client_config/lb_policy_factory.c \ - src/core/lib/client_config/lb_policy_registry.c \ - src/core/lib/client_config/resolver.c \ - src/core/lib/client_config/resolver_factory.c \ - src/core/lib/client_config/resolver_registry.c \ - src/core/lib/client_config/resolvers/dns_resolver.c \ - src/core/lib/client_config/resolvers/sockaddr_resolver.c \ - src/core/lib/client_config/subchannel.c \ - src/core/lib/client_config/subchannel_factory.c \ - src/core/lib/client_config/subchannel_index.c \ - src/core/lib/client_config/uri_parser.c \ src/core/lib/compression/compression_algorithm.c \ src/core/lib/compression/message_compress.c \ src/core/lib/debug/trace.c \ @@ -2865,17 +2791,14 @@ LIBGRPC_UNSECURE_SRC = \ src/core/lib/iomgr/endpoint.c \ src/core/lib/iomgr/endpoint_pair_posix.c \ src/core/lib/iomgr/endpoint_pair_windows.c \ + src/core/lib/iomgr/ev_poll_and_epoll_posix.c \ + src/core/lib/iomgr/ev_posix.c \ src/core/lib/iomgr/exec_ctx.c \ src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/fd_posix.c \ src/core/lib/iomgr/iocp_windows.c \ src/core/lib/iomgr/iomgr.c \ src/core/lib/iomgr/iomgr_posix.c \ src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/pollset_multipoller_with_epoll.c \ - src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c \ - src/core/lib/iomgr/pollset_posix.c \ - src/core/lib/iomgr/pollset_set_posix.c \ src/core/lib/iomgr/pollset_set_windows.c \ src/core/lib/iomgr/pollset_windows.c \ src/core/lib/iomgr/resolve_address_posix.c \ @@ -2907,7 +2830,6 @@ LIBGRPC_UNSECURE_SRC = \ src/core/lib/json/json_reader.c \ src/core/lib/json/json_string.c \ src/core/lib/json/json_writer.c \ - src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c \ src/core/lib/surface/alarm.c \ src/core/lib/surface/api_trace.c \ src/core/lib/surface/byte_buffer.c \ @@ -2916,14 +2838,12 @@ LIBGRPC_UNSECURE_SRC = \ src/core/lib/surface/call_details.c \ src/core/lib/surface/call_log_batch.c \ src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_connectivity.c \ src/core/lib/surface/channel_init.c \ src/core/lib/surface/channel_ping.c \ src/core/lib/surface/channel_stack_type.c \ src/core/lib/surface/completion_queue.c \ src/core/lib/surface/event_string.c \ src/core/lib/surface/init.c \ - src/core/lib/surface/init_unsecure.c \ src/core/lib/surface/lame_client.c \ src/core/lib/surface/metadata_array.c \ src/core/lib/surface/server.c \ @@ -2936,23 +2856,95 @@ LIBGRPC_UNSECURE_SRC = \ src/core/lib/transport/static_metadata.c \ src/core/lib/transport/transport.c \ src/core/lib/transport/transport_op_string.c \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ + src/core/ext/transport/chttp2/transport/bin_encoder.c \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ + src/core/ext/transport/chttp2/transport/chttp2_transport.c \ + src/core/ext/transport/chttp2/transport/frame_data.c \ + src/core/ext/transport/chttp2/transport/frame_goaway.c \ + src/core/ext/transport/chttp2/transport/frame_ping.c \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ + src/core/ext/transport/chttp2/transport/frame_settings.c \ + src/core/ext/transport/chttp2/transport/frame_window_update.c \ + src/core/ext/transport/chttp2/transport/hpack_encoder.c \ + src/core/ext/transport/chttp2/transport/hpack_parser.c \ + src/core/ext/transport/chttp2/transport/hpack_table.c \ + src/core/ext/transport/chttp2/transport/huffsyms.c \ + src/core/ext/transport/chttp2/transport/incoming_metadata.c \ + src/core/ext/transport/chttp2/transport/parsing.c \ + src/core/ext/transport/chttp2/transport/status_conversion.c \ + src/core/ext/transport/chttp2/transport/stream_lists.c \ + src/core/ext/transport/chttp2/transport/stream_map.c \ + src/core/ext/transport/chttp2/transport/timeout_encoding.c \ + src/core/ext/transport/chttp2/transport/varint.c \ + src/core/ext/transport/chttp2/transport/writing.c \ + src/core/ext/transport/chttp2/alpn/alpn.c \ + src/core/ext/transport/chttp2/client/insecure/channel_create.c \ + src/core/ext/client_config/channel_connectivity.c \ + src/core/ext/client_config/client_channel.c \ + src/core/ext/client_config/client_channel_factory.c \ + src/core/ext/client_config/client_config.c \ + src/core/ext/client_config/client_config_plugin.c \ + src/core/ext/client_config/connector.c \ + src/core/ext/client_config/default_initial_connect_string.c \ + src/core/ext/client_config/initial_connect_string.c \ + src/core/ext/client_config/lb_policy.c \ + src/core/ext/client_config/lb_policy_factory.c \ + src/core/ext/client_config/lb_policy_registry.c \ + src/core/ext/client_config/resolver.c \ + src/core/ext/client_config/resolver_factory.c \ + src/core/ext/client_config/resolver_registry.c \ + src/core/ext/client_config/subchannel.c \ + src/core/ext/client_config/subchannel_call_holder.c \ + src/core/ext/client_config/subchannel_index.c \ + src/core/ext/client_config/uri_parser.c \ + src/core/ext/resolver/dns/native/dns_resolver.c \ + src/core/ext/resolver/sockaddr/sockaddr_resolver.c \ + src/core/ext/lb_policy/grpclb/load_balancer_api.c \ + src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c \ third_party/nanopb/pb_common.c \ third_party/nanopb/pb_decode.c \ third_party/nanopb/pb_encode.c \ + src/core/ext/lb_policy/pick_first/pick_first.c \ + src/core/ext/lb_policy/round_robin/round_robin.c \ + src/core/ext/census/context.c \ + src/core/ext/census/grpc_context.c \ + src/core/ext/census/grpc_filter.c \ + src/core/ext/census/grpc_plugin.c \ + src/core/ext/census/initialize.c \ + src/core/ext/census/mlog.c \ + src/core/ext/census/operation.c \ + src/core/ext/census/placeholders.c \ + src/core/ext/census/tracing.c \ + src/core/plugin_registry/grpc_unsecure_plugin_registry.c \ PUBLIC_HEADERS_C += \ include/grpc/byte_buffer.h \ include/grpc/byte_buffer_reader.h \ - include/grpc/census.h \ include/grpc/compression.h \ include/grpc/grpc.h \ + include/grpc/status.h \ include/grpc/impl/codegen/byte_buffer.h \ include/grpc/impl/codegen/compression_types.h \ include/grpc/impl/codegen/connectivity_state.h \ include/grpc/impl/codegen/grpc_types.h \ include/grpc/impl/codegen/propagation_bits.h \ include/grpc/impl/codegen/status.h \ - include/grpc/status.h \ + include/grpc/impl/codegen/alloc.h \ + include/grpc/impl/codegen/atm.h \ + include/grpc/impl/codegen/atm_gcc_atomic.h \ + include/grpc/impl/codegen/atm_gcc_sync.h \ + include/grpc/impl/codegen/atm_win32.h \ + include/grpc/impl/codegen/log.h \ + include/grpc/impl/codegen/port_platform.h \ + include/grpc/impl/codegen/slice.h \ + include/grpc/impl/codegen/slice_buffer.h \ + include/grpc/impl/codegen/sync.h \ + include/grpc/impl/codegen/sync_generic.h \ + include/grpc/impl/codegen/sync_posix.h \ + include/grpc/impl/codegen/sync_win32.h \ + include/grpc/impl/codegen/time.h \ + include/grpc/census.h \ LIBGRPC_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_UNSECURE_SRC)))) @@ -2992,7 +2984,7 @@ endif LIBGRPC_ZOOKEEPER_SRC = \ - src/core/lib/client_config/resolvers/zookeeper_resolver.c \ + src/core/ext/resolver/zookeeper/zookeeper_resolver.c \ PUBLIC_HEADERS_C += \ include/grpc/grpc_zookeeper.h \ @@ -3034,6 +3026,31 @@ ifneq ($(NO_DEPS),true) endif +LIBONE_INPUT_FUZZER_SRC = \ + test/core/util/one_corpus_entry_fuzzer.c \ + +PUBLIC_HEADERS_C += \ + +LIBONE_INPUT_FUZZER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBONE_INPUT_FUZZER_SRC)))) + + +$(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a: $(ZLIB_DEP) $(LIBONE_INPUT_FUZZER_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a + $(Q) $(AR) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBONE_INPUT_FUZZER_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a +endif + + + + +ifneq ($(NO_DEPS),true) +-include $(LIBONE_INPUT_FUZZER_OBJS:.o=.dep) +endif + + LIBRECONNECT_SERVER_SRC = \ test/core/util/reconnect_server.c \ @@ -3113,28 +3130,27 @@ endif LIBGRPC++_SRC = \ - src/cpp/client/channel.cc \ + src/cpp/client/secure_credentials.cc \ + src/cpp/common/auth_property_iterator.cc \ + src/cpp/common/secure_auth_context.cc \ + src/cpp/common/secure_channel_arguments.cc \ + src/cpp/common/secure_create_auth_context.cc \ + src/cpp/server/secure_server_credentials.cc \ + src/cpp/client/channel.cc \ src/cpp/client/client_context.cc \ src/cpp/client/create_channel.cc \ src/cpp/client/create_channel_internal.cc \ src/cpp/client/credentials.cc \ src/cpp/client/generic_stub.cc \ src/cpp/client/insecure_credentials.cc \ - src/cpp/client/secure_credentials.cc \ - src/cpp/codegen/codegen_init.cc \ - src/cpp/common/auth_property_iterator.cc \ src/cpp/common/channel_arguments.cc \ src/cpp/common/completion_queue.cc \ src/cpp/common/core_codegen.cc \ src/cpp/common/rpc_method.cc \ - src/cpp/common/secure_auth_context.cc \ - src/cpp/common/secure_channel_arguments.cc \ - src/cpp/common/secure_create_auth_context.cc \ src/cpp/server/async_generic_service.cc \ src/cpp/server/create_default_thread_pool.cc \ src/cpp/server/dynamic_thread_pool.cc \ src/cpp/server/insecure_server_credentials.cc \ - src/cpp/server/secure_server_credentials.cc \ src/cpp/server/server.cc \ src/cpp/server/server_builder.cc \ src/cpp/server/server_context.cc \ @@ -3144,6 +3160,7 @@ LIBGRPC++_SRC = \ src/cpp/util/status.cc \ src/cpp/util/string_ref.cc \ src/cpp/util/time.cc \ + src/cpp/codegen/codegen_init.cc \ PUBLIC_HEADERS_CXX += \ include/grpc++/alarm.h \ @@ -3156,37 +3173,6 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/grpc++.h \ include/grpc++/impl/call.h \ include/grpc++/impl/client_unary_call.h \ - include/grpc++/impl/codegen/async_stream.h \ - include/grpc++/impl/codegen/async_unary_call.h \ - include/grpc++/impl/codegen/call.h \ - include/grpc++/impl/codegen/call_hook.h \ - include/grpc++/impl/codegen/channel_interface.h \ - include/grpc++/impl/codegen/client_context.h \ - include/grpc++/impl/codegen/client_unary_call.h \ - include/grpc++/impl/codegen/completion_queue.h \ - include/grpc++/impl/codegen/completion_queue_tag.h \ - include/grpc++/impl/codegen/config.h \ - include/grpc++/impl/codegen/config_protobuf.h \ - include/grpc++/impl/codegen/core_codegen_interface.h \ - include/grpc++/impl/codegen/grpc_library.h \ - include/grpc++/impl/codegen/method_handler_impl.h \ - include/grpc++/impl/codegen/proto_utils.h \ - include/grpc++/impl/codegen/rpc_method.h \ - include/grpc++/impl/codegen/rpc_service_method.h \ - include/grpc++/impl/codegen/security/auth_context.h \ - include/grpc++/impl/codegen/serialization_traits.h \ - include/grpc++/impl/codegen/server_context.h \ - include/grpc++/impl/codegen/server_interface.h \ - include/grpc++/impl/codegen/service_type.h \ - include/grpc++/impl/codegen/status.h \ - include/grpc++/impl/codegen/status_code_enum.h \ - include/grpc++/impl/codegen/string_ref.h \ - include/grpc++/impl/codegen/stub_options.h \ - include/grpc++/impl/codegen/sync.h \ - include/grpc++/impl/codegen/sync_cxx11.h \ - include/grpc++/impl/codegen/sync_no_cxx11.h \ - include/grpc++/impl/codegen/sync_stream.h \ - include/grpc++/impl/codegen/time.h \ include/grpc++/impl/grpc_library.h \ include/grpc++/impl/method_handler_impl.h \ include/grpc++/impl/proto_utils.h \ @@ -3212,8 +3198,6 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/support/async_unary_call.h \ include/grpc++/support/byte_buffer.h \ include/grpc++/support/channel_arguments.h \ - include/grpc++/support/config.h \ - include/grpc++/support/config_protobuf.h \ include/grpc++/support/slice.h \ include/grpc++/support/status.h \ include/grpc++/support/status_code_enum.h \ @@ -3221,74 +3205,6 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/support/stub_options.h \ include/grpc++/support/sync_stream.h \ include/grpc++/support/time.h \ - -LIBGRPC++_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_SRC)))) - - -ifeq ($(NO_SECURE),true) - -# You can't build secure libraries if you don't have OpenSSL. - -$(LIBDIR)/$(CONFIG)/libgrpc++.a: openssl_dep_error - -$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT): openssl_dep_error - -else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. - -$(LIBDIR)/$(CONFIG)/libgrpc++.a: protobuf_dep_error - -$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT): protobuf_dep_error - -else - -$(LIBDIR)/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) - $(E) "[AR] Creating $@" - $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++.a - $(Q) $(AR) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBGRPC++_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) -ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++.a -endif - - - -ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/grpc.$(SHARED_EXT) $(OPENSSL_DEP) - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc++.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc-imp -else -$(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT) $(OPENSSL_DEP) - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` -ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc -else - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++.so.0 -o $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc - $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).so.0 - $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).so -endif -endif - -endif - -endif - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_OBJS:.o=.dep) -endif -endif - - -LIBGRPC++_CODEGEN_LIB_SRC = \ - src/cpp/codegen/codegen_init.cc \ - -PUBLIC_HEADERS_CXX += \ include/grpc++/impl/codegen/async_stream.h \ include/grpc++/impl/codegen/async_unary_call.h \ include/grpc++/impl/codegen/call.h \ @@ -3298,8 +3214,6 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/impl/codegen/client_unary_call.h \ include/grpc++/impl/codegen/completion_queue.h \ include/grpc++/impl/codegen/completion_queue_tag.h \ - include/grpc++/impl/codegen/config.h \ - include/grpc++/impl/codegen/config_protobuf.h \ include/grpc++/impl/codegen/core_codegen_interface.h \ include/grpc++/impl/codegen/grpc_library.h \ include/grpc++/impl/codegen/method_handler_impl.h \ @@ -3320,73 +3234,91 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/impl/codegen/sync_no_cxx11.h \ include/grpc++/impl/codegen/sync_stream.h \ include/grpc++/impl/codegen/time.h \ + include/grpc/impl/codegen/byte_buffer.h \ + include/grpc/impl/codegen/compression_types.h \ + include/grpc/impl/codegen/connectivity_state.h \ + include/grpc/impl/codegen/grpc_types.h \ + include/grpc/impl/codegen/propagation_bits.h \ + include/grpc/impl/codegen/status.h \ include/grpc/impl/codegen/alloc.h \ include/grpc/impl/codegen/atm.h \ include/grpc/impl/codegen/atm_gcc_atomic.h \ include/grpc/impl/codegen/atm_gcc_sync.h \ include/grpc/impl/codegen/atm_win32.h \ - include/grpc/impl/codegen/byte_buffer.h \ - include/grpc/impl/codegen/compression_types.h \ - include/grpc/impl/codegen/connectivity_state.h \ - include/grpc/impl/codegen/grpc_types.h \ include/grpc/impl/codegen/log.h \ include/grpc/impl/codegen/port_platform.h \ - include/grpc/impl/codegen/propagation_bits.h \ include/grpc/impl/codegen/slice.h \ include/grpc/impl/codegen/slice_buffer.h \ - include/grpc/impl/codegen/status.h \ include/grpc/impl/codegen/sync.h \ include/grpc/impl/codegen/sync_generic.h \ include/grpc/impl/codegen/sync_posix.h \ include/grpc/impl/codegen/sync_win32.h \ include/grpc/impl/codegen/time.h \ + include/grpc++/impl/codegen/config.h \ + include/grpc++/impl/codegen/config_protobuf.h \ + include/grpc++/support/config.h \ + include/grpc++/support/config_protobuf.h \ + +LIBGRPC++_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_SRC)))) -LIBGRPC++_CODEGEN_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_CODEGEN_LIB_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL. + +$(LIBDIR)/$(CONFIG)/libgrpc++.a: openssl_dep_error + +$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT): openssl_dep_error + +else ifeq ($(NO_PROTOBUF),true) # You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. -$(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a: protobuf_dep_error +$(LIBDIR)/$(CONFIG)/libgrpc++.a: protobuf_dep_error -$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT): protobuf_dep_error +$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT): protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a: $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_CODEGEN_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a - $(Q) $(AR) $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a $(LIBGRPC++_CODEGEN_LIB_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++.a + $(Q) $(AR) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBGRPC++_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++.a endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_CODEGEN_LIB_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) +$(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/grpc.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc++_codegen_lib.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_codegen_lib$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_CODEGEN_LIB_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc++.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc-imp else -$(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_CODEGEN_LIB_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) +$(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_CODEGEN_LIB_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc else - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_codegen_lib.so.0 -o $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_CODEGEN_LIB_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) - $(Q) ln -sf $(SHARED_PREFIX)grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib$(SHARED_VERSION).so.0 - $(Q) ln -sf $(SHARED_PREFIX)grpc++_codegen_lib$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib$(SHARED_VERSION).so + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++.so.0 -o $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc + $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).so.0 + $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).so endif endif endif +endif + +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_CODEGEN_LIB_OBJS:.o=.dep) +-include $(LIBGRPC++_OBJS:.o=.dep) +endif endif @@ -3440,9 +3372,9 @@ endif LIBGRPC++_TEST_UTIL_SRC = \ - $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc \ $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc \ test/cpp/end2end/test_service_impl.cc \ test/cpp/util/byte_buffer_proto_helper.cc \ test/cpp/util/cli_call.cc \ @@ -3495,16 +3427,17 @@ ifneq ($(NO_DEPS),true) -include $(LIBGRPC++_TEST_UTIL_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/test_service_impl.o: $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/byte_buffer_proto_helper.o: $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/cli_call.o: $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/create_test_channel.o: $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/string_ref_helper.o: $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/subprocess.o: $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/test_credentials_provider.o: $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/test_service_impl.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/util/byte_buffer_proto_helper.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/util/cli_call.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/util/create_test_channel.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/util/string_ref_helper.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/util/subprocess.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/util/test_credentials_provider.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc LIBGRPC++_UNSECURE_SRC = \ + src/cpp/common/insecure_create_auth_context.cc \ src/cpp/client/channel.cc \ src/cpp/client/client_context.cc \ src/cpp/client/create_channel.cc \ @@ -3512,11 +3445,9 @@ LIBGRPC++_UNSECURE_SRC = \ src/cpp/client/credentials.cc \ src/cpp/client/generic_stub.cc \ src/cpp/client/insecure_credentials.cc \ - src/cpp/codegen/codegen_init.cc \ src/cpp/common/channel_arguments.cc \ src/cpp/common/completion_queue.cc \ src/cpp/common/core_codegen.cc \ - src/cpp/common/insecure_create_auth_context.cc \ src/cpp/common/rpc_method.cc \ src/cpp/server/async_generic_service.cc \ src/cpp/server/create_default_thread_pool.cc \ @@ -3531,6 +3462,7 @@ LIBGRPC++_UNSECURE_SRC = \ src/cpp/util/status.cc \ src/cpp/util/string_ref.cc \ src/cpp/util/time.cc \ + src/cpp/codegen/codegen_init.cc \ PUBLIC_HEADERS_CXX += \ include/grpc++/alarm.h \ @@ -3543,37 +3475,6 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/grpc++.h \ include/grpc++/impl/call.h \ include/grpc++/impl/client_unary_call.h \ - include/grpc++/impl/codegen/async_stream.h \ - include/grpc++/impl/codegen/async_unary_call.h \ - include/grpc++/impl/codegen/call.h \ - include/grpc++/impl/codegen/call_hook.h \ - include/grpc++/impl/codegen/channel_interface.h \ - include/grpc++/impl/codegen/client_context.h \ - include/grpc++/impl/codegen/client_unary_call.h \ - include/grpc++/impl/codegen/completion_queue.h \ - include/grpc++/impl/codegen/completion_queue_tag.h \ - include/grpc++/impl/codegen/config.h \ - include/grpc++/impl/codegen/config_protobuf.h \ - include/grpc++/impl/codegen/core_codegen_interface.h \ - include/grpc++/impl/codegen/grpc_library.h \ - include/grpc++/impl/codegen/method_handler_impl.h \ - include/grpc++/impl/codegen/proto_utils.h \ - include/grpc++/impl/codegen/rpc_method.h \ - include/grpc++/impl/codegen/rpc_service_method.h \ - include/grpc++/impl/codegen/security/auth_context.h \ - include/grpc++/impl/codegen/serialization_traits.h \ - include/grpc++/impl/codegen/server_context.h \ - include/grpc++/impl/codegen/server_interface.h \ - include/grpc++/impl/codegen/service_type.h \ - include/grpc++/impl/codegen/status.h \ - include/grpc++/impl/codegen/status_code_enum.h \ - include/grpc++/impl/codegen/string_ref.h \ - include/grpc++/impl/codegen/stub_options.h \ - include/grpc++/impl/codegen/sync.h \ - include/grpc++/impl/codegen/sync_cxx11.h \ - include/grpc++/impl/codegen/sync_no_cxx11.h \ - include/grpc++/impl/codegen/sync_stream.h \ - include/grpc++/impl/codegen/time.h \ include/grpc++/impl/grpc_library.h \ include/grpc++/impl/method_handler_impl.h \ include/grpc++/impl/proto_utils.h \ @@ -3599,8 +3500,6 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/support/async_unary_call.h \ include/grpc++/support/byte_buffer.h \ include/grpc++/support/channel_arguments.h \ - include/grpc++/support/config.h \ - include/grpc++/support/config_protobuf.h \ include/grpc++/support/slice.h \ include/grpc++/support/status.h \ include/grpc++/support/status_code_enum.h \ @@ -3608,6 +3507,59 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/support/stub_options.h \ include/grpc++/support/sync_stream.h \ include/grpc++/support/time.h \ + include/grpc++/impl/codegen/async_stream.h \ + include/grpc++/impl/codegen/async_unary_call.h \ + include/grpc++/impl/codegen/call.h \ + include/grpc++/impl/codegen/call_hook.h \ + include/grpc++/impl/codegen/channel_interface.h \ + include/grpc++/impl/codegen/client_context.h \ + include/grpc++/impl/codegen/client_unary_call.h \ + include/grpc++/impl/codegen/completion_queue.h \ + include/grpc++/impl/codegen/completion_queue_tag.h \ + include/grpc++/impl/codegen/core_codegen_interface.h \ + include/grpc++/impl/codegen/grpc_library.h \ + include/grpc++/impl/codegen/method_handler_impl.h \ + include/grpc++/impl/codegen/proto_utils.h \ + include/grpc++/impl/codegen/rpc_method.h \ + include/grpc++/impl/codegen/rpc_service_method.h \ + include/grpc++/impl/codegen/security/auth_context.h \ + include/grpc++/impl/codegen/serialization_traits.h \ + include/grpc++/impl/codegen/server_context.h \ + include/grpc++/impl/codegen/server_interface.h \ + include/grpc++/impl/codegen/service_type.h \ + include/grpc++/impl/codegen/status.h \ + include/grpc++/impl/codegen/status_code_enum.h \ + include/grpc++/impl/codegen/string_ref.h \ + include/grpc++/impl/codegen/stub_options.h \ + include/grpc++/impl/codegen/sync.h \ + include/grpc++/impl/codegen/sync_cxx11.h \ + include/grpc++/impl/codegen/sync_no_cxx11.h \ + include/grpc++/impl/codegen/sync_stream.h \ + include/grpc++/impl/codegen/time.h \ + include/grpc/impl/codegen/byte_buffer.h \ + include/grpc/impl/codegen/compression_types.h \ + include/grpc/impl/codegen/connectivity_state.h \ + include/grpc/impl/codegen/grpc_types.h \ + include/grpc/impl/codegen/propagation_bits.h \ + include/grpc/impl/codegen/status.h \ + include/grpc/impl/codegen/alloc.h \ + include/grpc/impl/codegen/atm.h \ + include/grpc/impl/codegen/atm_gcc_atomic.h \ + include/grpc/impl/codegen/atm_gcc_sync.h \ + include/grpc/impl/codegen/atm_win32.h \ + include/grpc/impl/codegen/log.h \ + include/grpc/impl/codegen/port_platform.h \ + include/grpc/impl/codegen/slice.h \ + include/grpc/impl/codegen/slice_buffer.h \ + include/grpc/impl/codegen/sync.h \ + include/grpc/impl/codegen/sync_generic.h \ + include/grpc/impl/codegen/sync_posix.h \ + include/grpc/impl/codegen/sync_win32.h \ + include/grpc/impl/codegen/time.h \ + include/grpc++/impl/codegen/config.h \ + include/grpc++/impl/codegen/config_protobuf.h \ + include/grpc++/support/config.h \ + include/grpc++/support/config_protobuf.h \ LIBGRPC++_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_UNSECURE_SRC)))) @@ -3634,18 +3586,18 @@ endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/gpr.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/grpc_unsecure.$(SHARED_EXT) +$(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/gpr.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/grpc_unsecure.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/grpc.$(SHARED_EXT) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc++_unsecure.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_UNSECURE_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgpr-imp -lgrpc_unsecure-imp + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc++_unsecure.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_UNSECURE_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgpr-imp -lgrpc_unsecure-imp -lgrpc-imp else -$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgpr.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT) +$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgpr.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_UNSECURE_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgpr -lgrpc_unsecure + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_UNSECURE_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgpr -lgrpc_unsecure -lgrpc else - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_unsecure.so.0 -o $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_UNSECURE_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgpr -lgrpc_unsecure + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_unsecure.so.0 -o $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_UNSECURE_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgpr -lgrpc_unsecure -lgrpc $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).so.0 $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).so endif @@ -3666,20 +3618,10 @@ LIBGRPC_PLUGIN_SUPPORT_SRC = \ src/compiler/ruby_generator.cc \ PUBLIC_HEADERS_CXX += \ - include/grpc/impl/codegen/alloc.h \ - include/grpc/impl/codegen/atm.h \ - include/grpc/impl/codegen/atm_gcc_atomic.h \ - include/grpc/impl/codegen/atm_gcc_sync.h \ - include/grpc/impl/codegen/atm_win32.h \ - include/grpc/impl/codegen/log.h \ - include/grpc/impl/codegen/port_platform.h \ - include/grpc/impl/codegen/slice.h \ - include/grpc/impl/codegen/slice_buffer.h \ - include/grpc/impl/codegen/sync.h \ - include/grpc/impl/codegen/sync_generic.h \ - include/grpc/impl/codegen/sync_posix.h \ - include/grpc/impl/codegen/sync_win32.h \ - include/grpc/impl/codegen/time.h \ + include/grpc++/support/config.h \ + include/grpc++/support/config_protobuf.h \ + include/grpc++/impl/codegen/config.h \ + include/grpc++/impl/codegen/config_protobuf.h \ LIBGRPC_PLUGIN_SUPPORT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_PLUGIN_SUPPORT_SRC)))) @@ -3921,12 +3863,12 @@ $(OBJDIR)/$(CONFIG)/test/cpp/interop/server_main.o: $(GENDIR)/src/proto/grpc/tes LIBQPS_SRC = \ - $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc \ $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc \ $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc \ test/cpp/qps/client_async.cc \ test/cpp/qps/client_sync.cc \ test/cpp/qps/driver.cc \ @@ -3983,17 +3925,17 @@ ifneq ($(NO_DEPS),true) -include $(LIBQPS_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_async.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_sync.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/driver.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/limit_cores.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/perf_db_client.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_worker.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/report.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_async.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_sync.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/usage_timer.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/benchmark_config.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_async.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_sync.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/driver.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/limit_cores.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/perf_db_client.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_worker.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/report.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_async.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_sync.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/usage_timer.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/util/benchmark_config.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc LIBGRPC_CSHARP_EXT_SRC = \ @@ -5821,9 +5763,11 @@ LIBEND2END_TESTS_SRC = \ test/core/end2end/tests/default_host.c \ test/core/end2end/tests/disappearing_server.c \ test/core/end2end/tests/empty_batch.c \ + test/core/end2end/tests/filter_causes_close.c \ test/core/end2end/tests/graceful_server_shutdown.c \ test/core/end2end/tests/high_initial_seqno.c \ test/core/end2end/tests/hpack_size.c \ + test/core/end2end/tests/idempotent_request.c \ test/core/end2end/tests/invoke_large_request.c \ test/core/end2end/tests/large_metadata.c \ test/core/end2end/tests/max_concurrent_streams.c \ @@ -5895,9 +5839,11 @@ LIBEND2END_NOSEC_TESTS_SRC = \ test/core/end2end/tests/default_host.c \ test/core/end2end/tests/disappearing_server.c \ test/core/end2end/tests/empty_batch.c \ + test/core/end2end/tests/filter_causes_close.c \ test/core/end2end/tests/graceful_server_shutdown.c \ test/core/end2end/tests/high_initial_seqno.c \ test/core/end2end/tests/hpack_size.c \ + test/core/end2end/tests/idempotent_request.c \ test/core/end2end/tests/invoke_large_request.c \ test/core/end2end/tests/large_metadata.c \ test/core/end2end/tests/max_concurrent_streams.c \ @@ -6744,6 +6690,38 @@ endif endif +GOAWAY_SERVER_TEST_SRC = \ + test/core/end2end/goaway_server_test.c \ + +GOAWAY_SERVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GOAWAY_SERVER_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/goaway_server_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/goaway_server_test: $(GOAWAY_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(GOAWAY_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/goaway_server_test + +endif + +$(OBJDIR)/$(CONFIG)/test/core/end2end/goaway_server_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_goaway_server_test: $(GOAWAY_SERVER_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(GOAWAY_SERVER_TEST_OBJS:.o=.dep) +endif +endif + + GPR_AVL_TEST_SRC = \ test/core/support/avl_test.c \ @@ -7963,127 +7941,223 @@ endif HTTPCLI_FORMAT_REQUEST_TEST_SRC = \ test/core/http/format_request_test.c \ -HTTPCLI_FORMAT_REQUEST_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_FORMAT_REQUEST_TEST_SRC)))) +HTTPCLI_FORMAT_REQUEST_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_FORMAT_REQUEST_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/httpcli_format_request_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/httpcli_format_request_test: $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/httpcli_format_request_test + +endif + +$(OBJDIR)/$(CONFIG)/test/core/http/format_request_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_httpcli_format_request_test: $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS:.o=.dep) +endif +endif + + +HTTPCLI_TEST_SRC = \ + test/core/http/httpcli_test.c \ + +HTTPCLI_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/httpcli_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/httpcli_test: $(HTTPCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(HTTPCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/httpcli_test + +endif + +$(OBJDIR)/$(CONFIG)/test/core/http/httpcli_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_httpcli_test: $(HTTPCLI_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(HTTPCLI_TEST_OBJS:.o=.dep) +endif +endif + + +HTTPSCLI_TEST_SRC = \ + test/core/http/httpscli_test.c \ + +HTTPSCLI_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPSCLI_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/httpscli_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/httpscli_test: $(HTTPSCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(HTTPSCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/httpscli_test + +endif + +$(OBJDIR)/$(CONFIG)/test/core/http/httpscli_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_httpscli_test: $(HTTPSCLI_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(HTTPSCLI_TEST_OBJS:.o=.dep) +endif +endif + + +INIT_TEST_SRC = \ + test/core/surface/init_test.c \ + +INIT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INIT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/httpcli_format_request_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/init_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/httpcli_format_request_test: $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/init_test: $(INIT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/httpcli_format_request_test + $(Q) $(LD) $(LDFLAGS) $(INIT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/init_test endif -$(OBJDIR)/$(CONFIG)/test/core/http/format_request_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/surface/init_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_httpcli_format_request_test: $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS:.o=.dep) +deps_init_test: $(INIT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS:.o=.dep) +-include $(INIT_TEST_OBJS:.o=.dep) endif endif -HTTPCLI_TEST_SRC = \ - test/core/http/httpcli_test.c \ +INTERNAL_API_CANARY_IOMGR_TEST_SRC = \ + test/core/internal_api_canaries/iomgr.c \ -HTTPCLI_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_TEST_SRC)))) +INTERNAL_API_CANARY_IOMGR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTERNAL_API_CANARY_IOMGR_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/httpcli_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/httpcli_test: $(HTTPCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test: $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(HTTPCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/httpcli_test + $(Q) $(LD) $(LDFLAGS) $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test endif -$(OBJDIR)/$(CONFIG)/test/core/http/httpcli_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/internal_api_canaries/iomgr.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_httpcli_test: $(HTTPCLI_TEST_OBJS:.o=.dep) +deps_internal_api_canary_iomgr_test: $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HTTPCLI_TEST_OBJS:.o=.dep) +-include $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS:.o=.dep) endif endif -HTTPSCLI_TEST_SRC = \ - test/core/http/httpscli_test.c \ +INTERNAL_API_CANARY_SUPPORT_TEST_SRC = \ + test/core/internal_api_canaries/iomgr.c \ -HTTPSCLI_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPSCLI_TEST_SRC)))) +INTERNAL_API_CANARY_SUPPORT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTERNAL_API_CANARY_SUPPORT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/httpscli_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/internal_api_canary_support_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/httpscli_test: $(HTTPSCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/internal_api_canary_support_test: $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(HTTPSCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/httpscli_test + $(Q) $(LD) $(LDFLAGS) $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/internal_api_canary_support_test endif -$(OBJDIR)/$(CONFIG)/test/core/http/httpscli_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/internal_api_canaries/iomgr.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_httpscli_test: $(HTTPSCLI_TEST_OBJS:.o=.dep) +deps_internal_api_canary_support_test: $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HTTPSCLI_TEST_OBJS:.o=.dep) +-include $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS:.o=.dep) endif endif -INIT_TEST_SRC = \ - test/core/surface/init_test.c \ +INTERNAL_API_CANARY_TRANSPORT_TEST_SRC = \ + test/core/internal_api_canaries/iomgr.c \ -INIT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INIT_TEST_SRC)))) +INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTERNAL_API_CANARY_TRANSPORT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/init_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/internal_api_canary_transport_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/init_test: $(INIT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/internal_api_canary_transport_test: $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(INIT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/init_test + $(Q) $(LD) $(LDFLAGS) $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/internal_api_canary_transport_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/init_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/internal_api_canaries/iomgr.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_init_test: $(INIT_TEST_OBJS:.o=.dep) +deps_internal_api_canary_transport_test: $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(INIT_TEST_OBJS:.o=.dep) +-include $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS:.o=.dep) endif endif @@ -8504,6 +8578,70 @@ endif endif +NANOPB_FUZZER_RESPONSE_TEST_SRC = \ + test/core/nanopb/fuzzer_response.c \ + +NANOPB_FUZZER_RESPONSE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(NANOPB_FUZZER_RESPONSE_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test: $(NANOPB_FUZZER_RESPONSE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(NANOPB_FUZZER_RESPONSE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test + +endif + +$(OBJDIR)/$(CONFIG)/test/core/nanopb/fuzzer_response.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_nanopb_fuzzer_response_test: $(NANOPB_FUZZER_RESPONSE_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(NANOPB_FUZZER_RESPONSE_TEST_OBJS:.o=.dep) +endif +endif + + +NANOPB_FUZZER_SERVERLIST_TEST_SRC = \ + test/core/nanopb/fuzzer_serverlist.c \ + +NANOPB_FUZZER_SERVERLIST_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(NANOPB_FUZZER_SERVERLIST_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test: $(NANOPB_FUZZER_SERVERLIST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(NANOPB_FUZZER_SERVERLIST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test + +endif + +$(OBJDIR)/$(CONFIG)/test/core/nanopb/fuzzer_serverlist.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_nanopb_fuzzer_serverlist_test: $(NANOPB_FUZZER_SERVERLIST_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(NANOPB_FUZZER_SERVERLIST_TEST_OBJS:.o=.dep) +endif +endif + + NO_SERVER_TEST_SRC = \ test/core/end2end/no_server_test.c \ @@ -8664,6 +8802,38 @@ endif endif +SERVER_FUZZER_SRC = \ + test/core/end2end/fuzzers/server_fuzzer.c \ + +SERVER_FUZZER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_FUZZER_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/server_fuzzer: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/server_fuzzer: $(SERVER_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(SERVER_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/server_fuzzer + +endif + +$(OBJDIR)/$(CONFIG)/test/core/end2end/fuzzers/server_fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_server_fuzzer: $(SERVER_FUZZER_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(SERVER_FUZZER_OBJS:.o=.dep) +endif +endif + + SERVER_TEST_SRC = \ test/core/surface/server_test.c \ @@ -9699,6 +9869,7 @@ CODEGEN_TEST_SRC = \ $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc \ $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc \ test/cpp/codegen/codegen_test.cc \ + src/cpp/codegen/codegen_init.cc \ CODEGEN_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CODEGEN_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9720,28 +9891,30 @@ $(BINDIR)/$(CONFIG)/codegen_test: protobuf_dep_error else -$(BINDIR)/$(CONFIG)/codegen_test: $(PROTOBUF_DEP) $(CODEGEN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a +$(BINDIR)/$(CONFIG)/codegen_test: $(PROTOBUF_DEP) $(CODEGEN_TEST_OBJS) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CODEGEN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/codegen_test + $(Q) $(LDXX) $(LDFLAGS) $(CODEGEN_TEST_OBJS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/codegen_test endif endif -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/control.o: $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/control.o: -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/messages.o: $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/messages.o: -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/payloads.o: $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/payloads.o: -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/perf_db.o: $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/perf_db.o: -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/services.o: $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/services.o: -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/stats.o: $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/stats.o: -$(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_codegen_lib.a +$(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test.o: + +$(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: deps_codegen_test: $(CODEGEN_TEST_OBJS:.o=.dep) @@ -9751,6 +9924,7 @@ ifneq ($(NO_DEPS),true) endif endif $(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc CREDENTIALS_TEST_SRC = \ @@ -10490,6 +10664,49 @@ endif endif +JSON_RUN_LOCALHOST_SRC = \ + test/cpp/qps/json_run_localhost.cc \ + +JSON_RUN_LOCALHOST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_RUN_LOCALHOST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/json_run_localhost: openssl_dep_error + +else + + + + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/json_run_localhost: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/json_run_localhost: $(PROTOBUF_DEP) $(JSON_RUN_LOCALHOST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(JSON_RUN_LOCALHOST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/json_run_localhost + +endif + +endif + +$(OBJDIR)/$(CONFIG)/test/cpp/qps/json_run_localhost.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_json_run_localhost: $(JSON_RUN_LOCALHOST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(JSON_RUN_LOCALHOST_OBJS:.o=.dep) +endif +endif + + METRICS_CLIENT_SRC = \ $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc \ test/cpp/interop/metrics_client.cc \ @@ -10666,6 +10883,49 @@ endif endif +QPS_JSON_DRIVER_SRC = \ + test/cpp/qps/qps_json_driver.cc \ + +QPS_JSON_DRIVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_JSON_DRIVER_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/qps_json_driver: openssl_dep_error + +else + + + + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/qps_json_driver: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/qps_json_driver: $(PROTOBUF_DEP) $(QPS_JSON_DRIVER_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(QPS_JSON_DRIVER_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/qps_json_driver + +endif + +endif + +$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_json_driver.o: $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_qps_json_driver: $(QPS_JSON_DRIVER_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(QPS_JSON_DRIVER_OBJS:.o=.dep) +endif +endif + + QPS_OPENLOOP_TEST_SRC = \ test/cpp/qps/qps_openloop_test.cc \ @@ -12521,6 +12781,26 @@ ifneq ($(NO_DEPS),true) endif +HEAD_OF_LINE_BLOCKING_BAD_CLIENT_TEST_SRC = \ + test/core/bad_client/tests/head_of_line_blocking.c \ + +HEAD_OF_LINE_BLOCKING_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HEAD_OF_LINE_BLOCKING_BAD_CLIENT_TEST_SRC)))) + + +$(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test: $(HEAD_OF_LINE_BLOCKING_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(HEAD_OF_LINE_BLOCKING_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test + +$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/head_of_line_blocking.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_head_of_line_blocking_bad_client_test: $(HEAD_OF_LINE_BLOCKING_BAD_CLIENT_TEST_OBJS:.o=.dep) + +ifneq ($(NO_DEPS),true) +-include $(HEAD_OF_LINE_BLOCKING_BAD_CLIENT_TEST_OBJS:.o=.dep) +endif + + HEADERS_BAD_CLIENT_TEST_SRC = \ test/core/bad_client/tests/headers.c \ @@ -12834,161 +13114,97 @@ endif H2_FAKESEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_fakesec.c \ - -H2_FAKESEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FAKESEC_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/h2_fakesec_test: openssl_dep_error - -else - - - -$(BINDIR)/$(CONFIG)/h2_fakesec_test: $(H2_FAKESEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FAKESEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_fakesec_test - -endif - -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_fakesec.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -deps_h2_fakesec_test: $(H2_FAKESEC_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(H2_FAKESEC_TEST_OBJS:.o=.dep) -endif -endif - - -H2_FULL_TEST_SRC = \ - test/core/end2end/fixtures/h2_full.c \ - -H2_FULL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/h2_full_test: openssl_dep_error - -else - - - -$(BINDIR)/$(CONFIG)/h2_full_test: $(H2_FULL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full_test - -endif - -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -deps_h2_full_test: $(H2_FULL_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(H2_FULL_TEST_OBJS:.o=.dep) -endif -endif - - -H2_FULL+PIPE_TEST_SRC = \ - test/core/end2end/fixtures/h2_full+pipe.c \ + test/core/end2end/fixtures/h2_fakesec.c \ -H2_FULL+PIPE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+PIPE_TEST_SRC)))) +H2_FAKESEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FAKESEC_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_full+pipe_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/h2_fakesec_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_full+pipe_test: $(H2_FULL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_fakesec_test: $(H2_FAKESEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full+pipe_test + $(Q) $(LD) $(LDFLAGS) $(H2_FAKESEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_fakesec_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+pipe.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_fakesec.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_full+pipe_test: $(H2_FULL+PIPE_TEST_OBJS:.o=.dep) +deps_h2_fakesec_test: $(H2_FAKESEC_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_FULL+PIPE_TEST_OBJS:.o=.dep) +-include $(H2_FAKESEC_TEST_OBJS:.o=.dep) endif endif -H2_FULL+POLL_TEST_SRC = \ - test/core/end2end/fixtures/h2_full+poll.c \ +H2_FULL_TEST_SRC = \ + test/core/end2end/fixtures/h2_full.c \ -H2_FULL+POLL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+POLL_TEST_SRC)))) +H2_FULL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_full+poll_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/h2_full_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_full+poll_test: $(H2_FULL+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_full_test: $(H2_FULL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full+poll_test + $(Q) $(LD) $(LDFLAGS) $(H2_FULL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_full+poll_test: $(H2_FULL+POLL_TEST_OBJS:.o=.dep) +deps_h2_full_test: $(H2_FULL_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_FULL+POLL_TEST_OBJS:.o=.dep) +-include $(H2_FULL_TEST_OBJS:.o=.dep) endif endif -H2_FULL+POLL+PIPE_TEST_SRC = \ - test/core/end2end/fixtures/h2_full+poll+pipe.c \ +H2_FULL+PIPE_TEST_SRC = \ + test/core/end2end/fixtures/h2_full+pipe.c \ -H2_FULL+POLL+PIPE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+POLL+PIPE_TEST_SRC)))) +H2_FULL+PIPE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+PIPE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/h2_full+pipe_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test: $(H2_FULL+POLL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_full+pipe_test: $(H2_FULL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL+POLL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test + $(Q) $(LD) $(LDFLAGS) $(H2_FULL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full+pipe_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+poll+pipe.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+pipe.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_full+poll+pipe_test: $(H2_FULL+POLL+PIPE_TEST_OBJS:.o=.dep) +deps_h2_full+pipe_test: $(H2_FULL+PIPE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_FULL+POLL+PIPE_TEST_OBJS:.o=.dep) +-include $(H2_FULL+PIPE_TEST_OBJS:.o=.dep) endif endif @@ -13217,38 +13433,6 @@ endif endif -H2_SSL+POLL_TEST_SRC = \ - test/core/end2end/fixtures/h2_ssl+poll.c \ - -H2_SSL+POLL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SSL+POLL_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/h2_ssl+poll_test: openssl_dep_error - -else - - - -$(BINDIR)/$(CONFIG)/h2_ssl+poll_test: $(H2_SSL+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_SSL+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_ssl+poll_test - -endif - -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_ssl+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -deps_h2_ssl+poll_test: $(H2_SSL+POLL_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(H2_SSL+POLL_TEST_OBJS:.o=.dep) -endif -endif - - H2_SSL_PROXY_TEST_SRC = \ test/core/end2end/fixtures/h2_ssl_proxy.c \ @@ -13313,38 +13497,6 @@ endif endif -H2_UDS+POLL_TEST_SRC = \ - test/core/end2end/fixtures/h2_uds+poll.c \ - -H2_UDS+POLL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UDS+POLL_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/h2_uds+poll_test: openssl_dep_error - -else - - - -$(BINDIR)/$(CONFIG)/h2_uds+poll_test: $(H2_UDS+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_UDS+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_uds+poll_test - -endif - -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uds+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -deps_h2_uds+poll_test: $(H2_UDS+POLL_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(H2_UDS+POLL_TEST_OBJS:.o=.dep) -endif -endif - - H2_CENSUS_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_census.c \ @@ -13425,46 +13577,6 @@ ifneq ($(NO_DEPS),true) endif -H2_FULL+POLL_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_full+poll.c \ - -H2_FULL+POLL_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+POLL_NOSEC_TEST_SRC)))) - - -$(BINDIR)/$(CONFIG)/h2_full+poll_nosec_test: $(H2_FULL+POLL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL+POLL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_full+poll_nosec_test - -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -deps_h2_full+poll_nosec_test: $(H2_FULL+POLL_NOSEC_TEST_OBJS:.o=.dep) - -ifneq ($(NO_DEPS),true) --include $(H2_FULL+POLL_NOSEC_TEST_OBJS:.o=.dep) -endif - - -H2_FULL+POLL+PIPE_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_full+poll+pipe.c \ - -H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+POLL+PIPE_NOSEC_TEST_SRC)))) - - -$(BINDIR)/$(CONFIG)/h2_full+poll+pipe_nosec_test: $(H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_full+poll+pipe_nosec_test - -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+poll+pipe.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -deps_h2_full+poll+pipe_nosec_test: $(H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS:.o=.dep) - -ifneq ($(NO_DEPS),true) --include $(H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS:.o=.dep) -endif - - H2_FULL+TRACE_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_full+trace.c \ @@ -13585,23 +13697,227 @@ ifneq ($(NO_DEPS),true) endif -H2_UDS+POLL_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_uds+poll.c \ +HPACK_PARSER_FUZZER_TEST_ONE_ENTRY_SRC = \ + test/core/transport/chttp2/hpack_parser_fuzzer_test.c \ + +HPACK_PARSER_FUZZER_TEST_ONE_ENTRY_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_PARSER_FUZZER_TEST_ONE_ENTRY_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test_one_entry: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test_one_entry: $(HPACK_PARSER_FUZZER_TEST_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(HPACK_PARSER_FUZZER_TEST_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test_one_entry + +endif + +$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/hpack_parser_fuzzer_test.o: $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_hpack_parser_fuzzer_test_one_entry: $(HPACK_PARSER_FUZZER_TEST_ONE_ENTRY_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(HPACK_PARSER_FUZZER_TEST_ONE_ENTRY_OBJS:.o=.dep) +endif +endif + + +HTTP_FUZZER_TEST_ONE_ENTRY_SRC = \ + test/core/http/fuzzer.c \ + +HTTP_FUZZER_TEST_ONE_ENTRY_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTP_FUZZER_TEST_ONE_ENTRY_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/http_fuzzer_test_one_entry: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/http_fuzzer_test_one_entry: $(HTTP_FUZZER_TEST_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(HTTP_FUZZER_TEST_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/http_fuzzer_test_one_entry + +endif + +$(OBJDIR)/$(CONFIG)/test/core/http/fuzzer.o: $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_http_fuzzer_test_one_entry: $(HTTP_FUZZER_TEST_ONE_ENTRY_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(HTTP_FUZZER_TEST_ONE_ENTRY_OBJS:.o=.dep) +endif +endif + + +JSON_FUZZER_TEST_ONE_ENTRY_SRC = \ + test/core/json/fuzzer.c \ + +JSON_FUZZER_TEST_ONE_ENTRY_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_FUZZER_TEST_ONE_ENTRY_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/json_fuzzer_test_one_entry: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/json_fuzzer_test_one_entry: $(JSON_FUZZER_TEST_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(JSON_FUZZER_TEST_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/json_fuzzer_test_one_entry + +endif + +$(OBJDIR)/$(CONFIG)/test/core/json/fuzzer.o: $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_json_fuzzer_test_one_entry: $(JSON_FUZZER_TEST_ONE_ENTRY_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(JSON_FUZZER_TEST_ONE_ENTRY_OBJS:.o=.dep) +endif +endif + + +NANOPB_FUZZER_RESPONSE_TEST_ONE_ENTRY_SRC = \ + test/core/nanopb/fuzzer_response.c \ + +NANOPB_FUZZER_RESPONSE_TEST_ONE_ENTRY_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(NANOPB_FUZZER_RESPONSE_TEST_ONE_ENTRY_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test_one_entry: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test_one_entry: $(NANOPB_FUZZER_RESPONSE_TEST_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(NANOPB_FUZZER_RESPONSE_TEST_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test_one_entry + +endif + +$(OBJDIR)/$(CONFIG)/test/core/nanopb/fuzzer_response.o: $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_nanopb_fuzzer_response_test_one_entry: $(NANOPB_FUZZER_RESPONSE_TEST_ONE_ENTRY_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(NANOPB_FUZZER_RESPONSE_TEST_ONE_ENTRY_OBJS:.o=.dep) +endif +endif + + +NANOPB_FUZZER_SERVERLIST_TEST_ONE_ENTRY_SRC = \ + test/core/nanopb/fuzzer_serverlist.c \ + +NANOPB_FUZZER_SERVERLIST_TEST_ONE_ENTRY_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(NANOPB_FUZZER_SERVERLIST_TEST_ONE_ENTRY_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test_one_entry: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test_one_entry: $(NANOPB_FUZZER_SERVERLIST_TEST_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(NANOPB_FUZZER_SERVERLIST_TEST_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test_one_entry + +endif + +$(OBJDIR)/$(CONFIG)/test/core/nanopb/fuzzer_serverlist.o: $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_nanopb_fuzzer_serverlist_test_one_entry: $(NANOPB_FUZZER_SERVERLIST_TEST_ONE_ENTRY_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(NANOPB_FUZZER_SERVERLIST_TEST_ONE_ENTRY_OBJS:.o=.dep) +endif +endif + + +SERVER_FUZZER_ONE_ENTRY_SRC = \ + test/core/end2end/fuzzers/server_fuzzer.c \ + +SERVER_FUZZER_ONE_ENTRY_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_FUZZER_ONE_ENTRY_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/server_fuzzer_one_entry: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/server_fuzzer_one_entry: $(SERVER_FUZZER_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(SERVER_FUZZER_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/server_fuzzer_one_entry + +endif + +$(OBJDIR)/$(CONFIG)/test/core/end2end/fuzzers/server_fuzzer.o: $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_server_fuzzer_one_entry: $(SERVER_FUZZER_ONE_ENTRY_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(SERVER_FUZZER_ONE_ENTRY_OBJS:.o=.dep) +endif +endif + + +URI_FUZZER_TEST_ONE_ENTRY_SRC = \ + test/core/client_config/uri_fuzzer_test.c \ + +URI_FUZZER_TEST_ONE_ENTRY_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(URI_FUZZER_TEST_ONE_ENTRY_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/uri_fuzzer_test_one_entry: openssl_dep_error + +else -H2_UDS+POLL_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UDS+POLL_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/h2_uds+poll_nosec_test: $(H2_UDS+POLL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/uri_fuzzer_test_one_entry: $(URI_FUZZER_TEST_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_UDS+POLL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_uds+poll_nosec_test + $(Q) $(LD) $(LDFLAGS) $(URI_FUZZER_TEST_ONE_ENTRY_OBJS) $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/uri_fuzzer_test_one_entry -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uds+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif + +$(OBJDIR)/$(CONFIG)/test/core/client_config/uri_fuzzer_test.o: $(LIBDIR)/$(CONFIG)/libone_input_fuzzer.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_uds+poll_nosec_test: $(H2_UDS+POLL_NOSEC_TEST_OBJS:.o=.dep) +deps_uri_fuzzer_test_one_entry: $(URI_FUZZER_TEST_ONE_ENTRY_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_UDS+POLL_NOSEC_TEST_OBJS:.o=.dep) +-include $(URI_FUZZER_TEST_ONE_ENTRY_OBJS:.o=.dep) +endif endif @@ -13634,6 +13950,7 @@ src/core/lib/surface/init_secure.c: $(OPENSSL_DEP) src/core/lib/tsi/fake_transport_security.c: $(OPENSSL_DEP) src/core/lib/tsi/ssl_transport_security.c: $(OPENSSL_DEP) src/core/lib/tsi/transport_security.c: $(OPENSSL_DEP) +src/core/plugin_registry/grpc_plugin_registry.c: $(OPENSSL_DEP) src/cpp/client/secure_credentials.cc: $(OPENSSL_DEP) src/cpp/common/auth_property_iterator.cc: $(OPENSSL_DEP) src/cpp/common/secure_auth_context.cc: $(OPENSSL_DEP) diff --git a/PYTHON-MANIFEST.in b/PYTHON-MANIFEST.in index 25aba87c187d22c3f7ff10b434339ecc6d84c6f2..534f4c1251a47de23fb37017a563e9b4060b35fb 100644 --- a/PYTHON-MANIFEST.in +++ b/PYTHON-MANIFEST.in @@ -2,8 +2,10 @@ recursive-include src/python/grpcio/grpc *.c *.h *.py *.pyx *.pxd *.pxi *.python recursive-exclude src/python/grpcio/grpc/_cython *.so *.pyd graft src/python/grpcio/tests graft src/core +graft src/boringssl graft include/grpc graft third_party/boringssl +graft third_party/nanopb graft third_party/zlib include src/python/grpcio/commands.py include src/python/grpcio/grpc_version.py diff --git a/README.md b/README.md index abb4905392cdc96f0b41e88e74308c5189d0be3b..3ee2b9f5caab187f62271517fd9d350a42b7bc16 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [](https://gitter.im/grpc/grpc?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -Copyright 2015-2016 Google Inc. +Copyright 2015 Google Inc. #Documentation diff --git a/binding.gyp b/binding.gyp index a1cdf2ec3669317e6f3d89077392a4b767d4bd11..8efc8a2b8e6493b4d9533a640f95d1a825ca96a4 100644 --- a/binding.gyp +++ b/binding.gyp @@ -5,7 +5,7 @@ # This file can be regenerated from the template by running # tools/buildgen/generate_projects.sh -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -558,90 +558,31 @@ 'gpr', ], 'sources': [ - 'src/core/ext/transport/chttp2/client/insecure/channel_create.c', - 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.c', - 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c', - 'src/core/ext/transport/chttp2/transport/alpn.c', - 'src/core/ext/transport/chttp2/transport/bin_encoder.c', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', - 'src/core/ext/transport/chttp2/transport/frame_data.c', - 'src/core/ext/transport/chttp2/transport/frame_goaway.c', - 'src/core/ext/transport/chttp2/transport/frame_ping.c', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', - 'src/core/ext/transport/chttp2/transport/frame_settings.c', - 'src/core/ext/transport/chttp2/transport/frame_window_update.c', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', - 'src/core/ext/transport/chttp2/transport/hpack_parser.c', - 'src/core/ext/transport/chttp2/transport/hpack_table.c', - 'src/core/ext/transport/chttp2/transport/huffsyms.c', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', - 'src/core/ext/transport/chttp2/transport/parsing.c', - 'src/core/ext/transport/chttp2/transport/status_conversion.c', - 'src/core/ext/transport/chttp2/transport/stream_lists.c', - 'src/core/ext/transport/chttp2/transport/stream_map.c', - 'src/core/ext/transport/chttp2/transport/timeout_encoding.c', - 'src/core/ext/transport/chttp2/transport/varint.c', - 'src/core/ext/transport/chttp2/transport/writing.c', - 'src/core/lib/census/context.c', - 'src/core/lib/census/grpc_context.c', - 'src/core/lib/census/grpc_filter.c', - 'src/core/lib/census/grpc_plugin.c', - 'src/core/lib/census/initialize.c', - 'src/core/lib/census/mlog.c', - 'src/core/lib/census/operation.c', - 'src/core/lib/census/placeholders.c', - 'src/core/lib/census/tracing.c', 'src/core/lib/channel/channel_args.c', 'src/core/lib/channel/channel_stack.c', 'src/core/lib/channel/channel_stack_builder.c', - 'src/core/lib/channel/client_channel.c', 'src/core/lib/channel/compress_filter.c', 'src/core/lib/channel/connected_channel.c', 'src/core/lib/channel/http_client_filter.c', 'src/core/lib/channel/http_server_filter.c', - 'src/core/lib/channel/subchannel_call_holder.c', - 'src/core/lib/client_config/client_config.c', - 'src/core/lib/client_config/connector.c', - 'src/core/lib/client_config/default_initial_connect_string.c', - 'src/core/lib/client_config/initial_connect_string.c', - 'src/core/lib/client_config/lb_policies/load_balancer_api.c', - 'src/core/lib/client_config/lb_policies/pick_first.c', - 'src/core/lib/client_config/lb_policies/round_robin.c', - 'src/core/lib/client_config/lb_policy.c', - 'src/core/lib/client_config/lb_policy_factory.c', - 'src/core/lib/client_config/lb_policy_registry.c', - 'src/core/lib/client_config/resolver.c', - 'src/core/lib/client_config/resolver_factory.c', - 'src/core/lib/client_config/resolver_registry.c', - 'src/core/lib/client_config/resolvers/dns_resolver.c', - 'src/core/lib/client_config/resolvers/sockaddr_resolver.c', - 'src/core/lib/client_config/subchannel.c', - 'src/core/lib/client_config/subchannel_factory.c', - 'src/core/lib/client_config/subchannel_index.c', - 'src/core/lib/client_config/uri_parser.c', 'src/core/lib/compression/compression_algorithm.c', 'src/core/lib/compression/message_compress.c', 'src/core/lib/debug/trace.c', 'src/core/lib/http/format_request.c', 'src/core/lib/http/httpcli.c', - 'src/core/lib/http/httpcli_security_connector.c', 'src/core/lib/http/parser.c', 'src/core/lib/iomgr/closure.c', 'src/core/lib/iomgr/endpoint.c', 'src/core/lib/iomgr/endpoint_pair_posix.c', 'src/core/lib/iomgr/endpoint_pair_windows.c', + 'src/core/lib/iomgr/ev_poll_and_epoll_posix.c', + 'src/core/lib/iomgr/ev_posix.c', 'src/core/lib/iomgr/exec_ctx.c', 'src/core/lib/iomgr/executor.c', - 'src/core/lib/iomgr/fd_posix.c', 'src/core/lib/iomgr/iocp_windows.c', 'src/core/lib/iomgr/iomgr.c', 'src/core/lib/iomgr/iomgr_posix.c', 'src/core/lib/iomgr/iomgr_windows.c', - 'src/core/lib/iomgr/pollset_multipoller_with_epoll.c', - 'src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c', - 'src/core/lib/iomgr/pollset_posix.c', - 'src/core/lib/iomgr/pollset_set_posix.c', 'src/core/lib/iomgr/pollset_set_windows.c', 'src/core/lib/iomgr/pollset_windows.c', 'src/core/lib/iomgr/resolve_address_posix.c', @@ -673,21 +614,6 @@ 'src/core/lib/json/json_reader.c', 'src/core/lib/json/json_string.c', 'src/core/lib/json/json_writer.c', - 'src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c', - 'src/core/lib/security/b64.c', - 'src/core/lib/security/client_auth_filter.c', - 'src/core/lib/security/credentials.c', - 'src/core/lib/security/credentials_metadata.c', - 'src/core/lib/security/credentials_posix.c', - 'src/core/lib/security/credentials_win32.c', - 'src/core/lib/security/google_default_credentials.c', - 'src/core/lib/security/handshake.c', - 'src/core/lib/security/json_token.c', - 'src/core/lib/security/jwt_verifier.c', - 'src/core/lib/security/secure_endpoint.c', - 'src/core/lib/security/security_connector.c', - 'src/core/lib/security/security_context.c', - 'src/core/lib/security/server_auth_filter.c', 'src/core/lib/surface/alarm.c', 'src/core/lib/surface/api_trace.c', 'src/core/lib/surface/byte_buffer.c', @@ -696,14 +622,12 @@ 'src/core/lib/surface/call_details.c', 'src/core/lib/surface/call_log_batch.c', 'src/core/lib/surface/channel.c', - 'src/core/lib/surface/channel_connectivity.c', 'src/core/lib/surface/channel_init.c', 'src/core/lib/surface/channel_ping.c', 'src/core/lib/surface/channel_stack_type.c', 'src/core/lib/surface/completion_queue.c', 'src/core/lib/surface/event_string.c', 'src/core/lib/surface/init.c', - 'src/core/lib/surface/init_secure.c', 'src/core/lib/surface/lame_client.c', 'src/core/lib/surface/metadata_array.c', 'src/core/lib/surface/server.c', @@ -716,12 +640,88 @@ 'src/core/lib/transport/static_metadata.c', 'src/core/lib/transport/transport.c', 'src/core/lib/transport/transport_op_string.c', + 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c', + 'src/core/ext/transport/chttp2/transport/bin_encoder.c', + 'src/core/ext/transport/chttp2/transport/chttp2_plugin.c', + 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', + 'src/core/ext/transport/chttp2/transport/frame_data.c', + 'src/core/ext/transport/chttp2/transport/frame_goaway.c', + 'src/core/ext/transport/chttp2/transport/frame_ping.c', + 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', + 'src/core/ext/transport/chttp2/transport/frame_settings.c', + 'src/core/ext/transport/chttp2/transport/frame_window_update.c', + 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', + 'src/core/ext/transport/chttp2/transport/hpack_parser.c', + 'src/core/ext/transport/chttp2/transport/hpack_table.c', + 'src/core/ext/transport/chttp2/transport/huffsyms.c', + 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', + 'src/core/ext/transport/chttp2/transport/parsing.c', + 'src/core/ext/transport/chttp2/transport/status_conversion.c', + 'src/core/ext/transport/chttp2/transport/stream_lists.c', + 'src/core/ext/transport/chttp2/transport/stream_map.c', + 'src/core/ext/transport/chttp2/transport/timeout_encoding.c', + 'src/core/ext/transport/chttp2/transport/varint.c', + 'src/core/ext/transport/chttp2/transport/writing.c', + 'src/core/ext/transport/chttp2/alpn/alpn.c', + 'src/core/lib/http/httpcli_security_connector.c', + 'src/core/lib/security/b64.c', + 'src/core/lib/security/client_auth_filter.c', + 'src/core/lib/security/credentials.c', + 'src/core/lib/security/credentials_metadata.c', + 'src/core/lib/security/credentials_posix.c', + 'src/core/lib/security/credentials_win32.c', + 'src/core/lib/security/google_default_credentials.c', + 'src/core/lib/security/handshake.c', + 'src/core/lib/security/json_token.c', + 'src/core/lib/security/jwt_verifier.c', + 'src/core/lib/security/secure_endpoint.c', + 'src/core/lib/security/security_connector.c', + 'src/core/lib/security/security_context.c', + 'src/core/lib/security/server_auth_filter.c', + 'src/core/lib/surface/init_secure.c', 'src/core/lib/tsi/fake_transport_security.c', 'src/core/lib/tsi/ssl_transport_security.c', 'src/core/lib/tsi/transport_security.c', + 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.c', + 'src/core/ext/client_config/channel_connectivity.c', + 'src/core/ext/client_config/client_channel.c', + 'src/core/ext/client_config/client_channel_factory.c', + 'src/core/ext/client_config/client_config.c', + 'src/core/ext/client_config/client_config_plugin.c', + 'src/core/ext/client_config/connector.c', + 'src/core/ext/client_config/default_initial_connect_string.c', + 'src/core/ext/client_config/initial_connect_string.c', + 'src/core/ext/client_config/lb_policy.c', + 'src/core/ext/client_config/lb_policy_factory.c', + 'src/core/ext/client_config/lb_policy_registry.c', + 'src/core/ext/client_config/resolver.c', + 'src/core/ext/client_config/resolver_factory.c', + 'src/core/ext/client_config/resolver_registry.c', + 'src/core/ext/client_config/subchannel.c', + 'src/core/ext/client_config/subchannel_call_holder.c', + 'src/core/ext/client_config/subchannel_index.c', + 'src/core/ext/client_config/uri_parser.c', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.c', + 'src/core/ext/transport/chttp2/client/insecure/channel_create.c', + 'src/core/ext/lb_policy/grpclb/load_balancer_api.c', + 'src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c', 'third_party/nanopb/pb_common.c', 'third_party/nanopb/pb_decode.c', 'third_party/nanopb/pb_encode.c', + 'src/core/ext/lb_policy/pick_first/pick_first.c', + 'src/core/ext/lb_policy/round_robin/round_robin.c', + 'src/core/ext/resolver/dns/native/dns_resolver.c', + 'src/core/ext/resolver/sockaddr/sockaddr_resolver.c', + 'src/core/ext/census/context.c', + 'src/core/ext/census/grpc_context.c', + 'src/core/ext/census/grpc_filter.c', + 'src/core/ext/census/grpc_plugin.c', + 'src/core/ext/census/initialize.c', + 'src/core/ext/census/mlog.c', + 'src/core/ext/census/operation.c', + 'src/core/ext/census/placeholders.c', + 'src/core/ext/census/tracing.c', + 'src/core/plugin_registry/grpc_plugin_registry.c', ], "conditions": [ ['OS == "mac"', { diff --git a/build.yaml b/build.yaml index 43d3c680b8d140c160b252ec974302a4522e109d..cbbc3d224646ca99486a2995dab67a3f232add1e 100644 --- a/build.yaml +++ b/build.yaml @@ -13,17 +13,26 @@ filegroups: public_headers: - include/grpc/census.h headers: - - src/core/lib/census/aggregation.h - - src/core/lib/census/mlog.h - - src/core/lib/census/rpc_metric_id.h - src: - - src/core/lib/census/context.c - - src/core/lib/census/initialize.c - - src/core/lib/census/mlog.c - - src/core/lib/census/operation.c - - src/core/lib/census/placeholders.c - - src/core/lib/census/tracing.c -- name: gpr + - src/core/ext/census/aggregation.h + - src/core/ext/census/census_interface.h + - src/core/ext/census/census_rpc_stats.h + - src/core/ext/census/grpc_filter.h + - src/core/ext/census/mlog.h + - src/core/ext/census/rpc_metric_id.h + src: + - src/core/ext/census/context.c + - src/core/ext/census/grpc_context.c + - src/core/ext/census/grpc_filter.c + - src/core/ext/census/grpc_plugin.c + - src/core/ext/census/initialize.c + - src/core/ext/census/mlog.c + - src/core/ext/census/operation.c + - src/core/ext/census/placeholders.c + - src/core/ext/census/tracing.c + plugin: census_grpc_plugin + uses: + - grpc_base +- name: gpr_base public_headers: - include/grpc/support/alloc.h - include/grpc/support/atm.h @@ -111,6 +120,8 @@ filegroups: - src/core/lib/support/tmpfile_posix.c - src/core/lib/support/tmpfile_win32.c - src/core/lib/support/wrap_memcpy.c + uses: + - gpr_codegen - name: gpr_codegen public_headers: - include/grpc/impl/codegen/alloc.h @@ -164,8 +175,6 @@ filegroups: - include/grpc++/support/async_unary_call.h - include/grpc++/support/byte_buffer.h - include/grpc++/support/channel_arguments.h - - include/grpc++/support/config.h - - include/grpc++/support/config_protobuf.h - include/grpc++/support/slice.h - include/grpc++/support/status.h - include/grpc++/support/status_code_enum.h @@ -204,6 +213,11 @@ filegroups: - src/cpp/util/status.cc - src/cpp/util/string_ref.cc - src/cpp/util/time.cc + deps: + - grpc + uses: + - grpc++_codegen + - grpc++_config - name: grpc++_codegen public_headers: - include/grpc++/impl/codegen/async_stream.h @@ -215,8 +229,6 @@ filegroups: - include/grpc++/impl/codegen/client_unary_call.h - include/grpc++/impl/codegen/completion_queue.h - include/grpc++/impl/codegen/completion_queue_tag.h - - include/grpc++/impl/codegen/config.h - - include/grpc++/impl/codegen/config_protobuf.h - include/grpc++/impl/codegen/core_codegen_interface.h - include/grpc++/impl/codegen/grpc_library.h - include/grpc++/impl/codegen/method_handler_impl.h @@ -239,6 +251,19 @@ filegroups: - include/grpc++/impl/codegen/time.h src: - src/cpp/codegen/codegen_init.cc + uses: + - grpc_codegen + - grpc++_config_codegen +- name: grpc++_config + public_headers: + - include/grpc++/support/config.h + - include/grpc++/support/config_protobuf.h + uses: + - grpc++_config_codegen +- name: grpc++_config_codegen + public_headers: + - include/grpc++/impl/codegen/config.h + - include/grpc++/impl/codegen/config_protobuf.h - name: grpc_base public_headers: - include/grpc/byte_buffer.h @@ -247,36 +272,14 @@ filegroups: - include/grpc/grpc.h - include/grpc/status.h headers: - - src/core/lib/census/grpc_filter.h - - src/core/lib/census/grpc_plugin.h - src/core/lib/channel/channel_args.h - src/core/lib/channel/channel_stack.h - src/core/lib/channel/channel_stack_builder.h - - src/core/lib/channel/client_channel.h - src/core/lib/channel/compress_filter.h - src/core/lib/channel/connected_channel.h - src/core/lib/channel/context.h - src/core/lib/channel/http_client_filter.h - src/core/lib/channel/http_server_filter.h - - src/core/lib/channel/subchannel_call_holder.h - - src/core/lib/client_config/client_config.h - - src/core/lib/client_config/connector.h - - src/core/lib/client_config/initial_connect_string.h - - src/core/lib/client_config/lb_policies/load_balancer_api.h - - src/core/lib/client_config/lb_policies/pick_first.h - - src/core/lib/client_config/lb_policies/round_robin.h - - src/core/lib/client_config/lb_policy.h - - src/core/lib/client_config/lb_policy_factory.h - - src/core/lib/client_config/lb_policy_registry.h - - src/core/lib/client_config/resolver.h - - src/core/lib/client_config/resolver_factory.h - - src/core/lib/client_config/resolver_registry.h - - src/core/lib/client_config/resolvers/dns_resolver.h - - src/core/lib/client_config/resolvers/sockaddr_resolver.h - - src/core/lib/client_config/subchannel.h - - src/core/lib/client_config/subchannel_factory.h - - src/core/lib/client_config/subchannel_index.h - - src/core/lib/client_config/uri_parser.h - src/core/lib/compression/algorithm_metadata.h - src/core/lib/compression/message_compress.h - src/core/lib/debug/trace.h @@ -286,17 +289,16 @@ filegroups: - src/core/lib/iomgr/closure.h - src/core/lib/iomgr/endpoint.h - src/core/lib/iomgr/endpoint_pair.h + - src/core/lib/iomgr/ev_poll_and_epoll_posix.h + - src/core/lib/iomgr/ev_posix.h - src/core/lib/iomgr/exec_ctx.h - src/core/lib/iomgr/executor.h - - src/core/lib/iomgr/fd_posix.h - src/core/lib/iomgr/iocp_windows.h - src/core/lib/iomgr/iomgr.h - src/core/lib/iomgr/iomgr_internal.h - src/core/lib/iomgr/iomgr_posix.h - src/core/lib/iomgr/pollset.h - - src/core/lib/iomgr/pollset_posix.h - src/core/lib/iomgr/pollset_set.h - - src/core/lib/iomgr/pollset_set_posix.h - src/core/lib/iomgr/pollset_set_windows.h - src/core/lib/iomgr/pollset_windows.h - src/core/lib/iomgr/resolve_address.h @@ -324,9 +326,6 @@ filegroups: - src/core/lib/json/json_common.h - src/core/lib/json/json_reader.h - src/core/lib/json/json_writer.h - - src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h - - src/core/lib/statistics/census_interface.h - - src/core/lib/statistics/census_rpc_stats.h - src/core/lib/surface/api_trace.h - src/core/lib/surface/call.h - src/core/lib/surface/call_test_only.h @@ -347,37 +346,13 @@ filegroups: - src/core/lib/transport/transport.h - src/core/lib/transport/transport_impl.h src: - - src/core/lib/census/grpc_context.c - - src/core/lib/census/grpc_filter.c - - src/core/lib/census/grpc_plugin.c - src/core/lib/channel/channel_args.c - src/core/lib/channel/channel_stack.c - src/core/lib/channel/channel_stack_builder.c - - src/core/lib/channel/client_channel.c - src/core/lib/channel/compress_filter.c - src/core/lib/channel/connected_channel.c - src/core/lib/channel/http_client_filter.c - src/core/lib/channel/http_server_filter.c - - src/core/lib/channel/subchannel_call_holder.c - - src/core/lib/client_config/client_config.c - - src/core/lib/client_config/connector.c - - src/core/lib/client_config/default_initial_connect_string.c - - src/core/lib/client_config/initial_connect_string.c - - src/core/lib/client_config/lb_policies/load_balancer_api.c - - src/core/lib/client_config/lb_policies/pick_first.c - - src/core/lib/client_config/lb_policies/round_robin.c - - src/core/lib/client_config/lb_policy.c - - src/core/lib/client_config/lb_policy_factory.c - - src/core/lib/client_config/lb_policy_registry.c - - src/core/lib/client_config/resolver.c - - src/core/lib/client_config/resolver_factory.c - - src/core/lib/client_config/resolver_registry.c - - src/core/lib/client_config/resolvers/dns_resolver.c - - src/core/lib/client_config/resolvers/sockaddr_resolver.c - - src/core/lib/client_config/subchannel.c - - src/core/lib/client_config/subchannel_factory.c - - src/core/lib/client_config/subchannel_index.c - - src/core/lib/client_config/uri_parser.c - src/core/lib/compression/compression_algorithm.c - src/core/lib/compression/message_compress.c - src/core/lib/debug/trace.c @@ -388,17 +363,14 @@ filegroups: - src/core/lib/iomgr/endpoint.c - src/core/lib/iomgr/endpoint_pair_posix.c - src/core/lib/iomgr/endpoint_pair_windows.c + - src/core/lib/iomgr/ev_poll_and_epoll_posix.c + - src/core/lib/iomgr/ev_posix.c - src/core/lib/iomgr/exec_ctx.c - src/core/lib/iomgr/executor.c - - src/core/lib/iomgr/fd_posix.c - src/core/lib/iomgr/iocp_windows.c - src/core/lib/iomgr/iomgr.c - src/core/lib/iomgr/iomgr_posix.c - src/core/lib/iomgr/iomgr_windows.c - - src/core/lib/iomgr/pollset_multipoller_with_epoll.c - - src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c - - src/core/lib/iomgr/pollset_posix.c - - src/core/lib/iomgr/pollset_set_posix.c - src/core/lib/iomgr/pollset_set_windows.c - src/core/lib/iomgr/pollset_windows.c - src/core/lib/iomgr/resolve_address_posix.c @@ -430,7 +402,6 @@ filegroups: - src/core/lib/json/json_reader.c - src/core/lib/json/json_string.c - src/core/lib/json/json_writer.c - - src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c - src/core/lib/surface/alarm.c - src/core/lib/surface/api_trace.c - src/core/lib/surface/byte_buffer.c @@ -439,7 +410,6 @@ filegroups: - src/core/lib/surface/call_details.c - src/core/lib/surface/call_log_batch.c - src/core/lib/surface/channel.c - - src/core/lib/surface/channel_connectivity.c - src/core/lib/surface/channel_init.c - src/core/lib/surface/channel_ping.c - src/core/lib/surface/channel_stack_type.c @@ -458,6 +428,49 @@ filegroups: - src/core/lib/transport/static_metadata.c - src/core/lib/transport/transport.c - src/core/lib/transport/transport_op_string.c + deps: + - gpr + uses: + - grpc_codegen +- name: grpc_client_config + headers: + - src/core/ext/client_config/client_channel.h + - src/core/ext/client_config/client_channel_factory.h + - src/core/ext/client_config/client_config.h + - src/core/ext/client_config/connector.h + - src/core/ext/client_config/initial_connect_string.h + - src/core/ext/client_config/lb_policy.h + - src/core/ext/client_config/lb_policy_factory.h + - src/core/ext/client_config/lb_policy_registry.h + - src/core/ext/client_config/resolver.h + - src/core/ext/client_config/resolver_factory.h + - src/core/ext/client_config/resolver_registry.h + - src/core/ext/client_config/subchannel.h + - src/core/ext/client_config/subchannel_call_holder.h + - src/core/ext/client_config/subchannel_index.h + - src/core/ext/client_config/uri_parser.h + src: + - src/core/ext/client_config/channel_connectivity.c + - src/core/ext/client_config/client_channel.c + - src/core/ext/client_config/client_channel_factory.c + - src/core/ext/client_config/client_config.c + - src/core/ext/client_config/client_config_plugin.c + - src/core/ext/client_config/connector.c + - src/core/ext/client_config/default_initial_connect_string.c + - src/core/ext/client_config/initial_connect_string.c + - src/core/ext/client_config/lb_policy.c + - src/core/ext/client_config/lb_policy_factory.c + - src/core/ext/client_config/lb_policy_registry.c + - src/core/ext/client_config/resolver.c + - src/core/ext/client_config/resolver_factory.c + - src/core/ext/client_config/resolver_registry.c + - src/core/ext/client_config/subchannel.c + - src/core/ext/client_config/subchannel_call_holder.c + - src/core/ext/client_config/subchannel_index.c + - src/core/ext/client_config/uri_parser.c + plugin: grpc_client_config + uses: + - grpc_base - name: grpc_codegen public_headers: - include/grpc/impl/codegen/byte_buffer.h @@ -466,7 +479,50 @@ filegroups: - include/grpc/impl/codegen/grpc_types.h - include/grpc/impl/codegen/propagation_bits.h - include/grpc/impl/codegen/status.h + uses: + - gpr_codegen +- name: grpc_lb_policy_grpclb + headers: + - src/core/ext/lb_policy/grpclb/load_balancer_api.h + - src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h + src: + - src/core/ext/lb_policy/grpclb/load_balancer_api.c + - src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c + uses: + - grpc_base + - grpc_client_config + - nanopb +- name: grpc_lb_policy_pick_first + src: + - src/core/ext/lb_policy/pick_first/pick_first.c + plugin: grpc_lb_policy_pick_first + uses: + - grpc_base + - grpc_client_config +- name: grpc_lb_policy_round_robin + src: + - src/core/ext/lb_policy/round_robin/round_robin.c + plugin: grpc_lb_policy_round_robin + uses: + - grpc_base + - grpc_client_config +- name: grpc_resolver_dns_native + src: + - src/core/ext/resolver/dns/native/dns_resolver.c + plugin: grpc_resolver_dns_native + uses: + - grpc_base + - grpc_client_config +- name: grpc_resolver_sockaddr + src: + - src/core/ext/resolver/sockaddr/sockaddr_resolver.c + plugin: grpc_resolver_sockaddr + uses: + - grpc_base + - grpc_client_config - name: grpc_secure + public_headers: + - include/grpc/grpc_security.h headers: - src/core/lib/security/auth_filters.h - src/core/lib/security/b64.h @@ -502,12 +558,16 @@ filegroups: - src/core/lib/tsi/fake_transport_security.c - src/core/lib/tsi/ssl_transport_security.c - src/core/lib/tsi/transport_security.c + uses: + - grpc_base + - grpc_transport_chttp2_alpn - name: grpc_test_util_base headers: - test/core/end2end/cq_verifier.h - test/core/end2end/fixtures/proxy.h - test/core/iomgr/endpoint_tests.h - test/core/util/grpc_profiler.h + - test/core/util/mock_endpoint.h - test/core/util/parse_hexstring.h - test/core/util/port.h - test/core/util/port_server_client.h @@ -517,14 +577,17 @@ filegroups: - test/core/end2end/fixtures/proxy.c - test/core/iomgr/endpoint_tests.c - test/core/util/grpc_profiler.c + - test/core/util/mock_endpoint.c - test/core/util/parse_hexstring.c - test/core/util/port_posix.c - test/core/util/port_server_client.c - test/core/util/port_windows.c - test/core/util/slice_splitter.c + deps: + - grpc + - gpr_test_util - name: grpc_transport_chttp2 headers: - - src/core/ext/transport/chttp2/transport/alpn.h - src/core/ext/transport/chttp2/transport/bin_encoder.h - src/core/ext/transport/chttp2/transport/chttp2_transport.h - src/core/ext/transport/chttp2/transport/frame.h @@ -546,8 +609,8 @@ filegroups: - src/core/ext/transport/chttp2/transport/timeout_encoding.h - src/core/ext/transport/chttp2/transport/varint.h src: - - src/core/ext/transport/chttp2/transport/alpn.c - src/core/ext/transport/chttp2/transport/bin_encoder.c + - src/core/ext/transport/chttp2/transport/chttp2_plugin.c - src/core/ext/transport/chttp2/transport/chttp2_transport.c - src/core/ext/transport/chttp2/transport/frame_data.c - src/core/ext/transport/chttp2/transport/frame_goaway.c @@ -567,20 +630,32 @@ filegroups: - src/core/ext/transport/chttp2/transport/timeout_encoding.c - src/core/ext/transport/chttp2/transport/varint.c - src/core/ext/transport/chttp2/transport/writing.c + plugin: grpc_chttp2_plugin uses: - grpc_base + - grpc_transport_chttp2_alpn +- name: grpc_transport_chttp2_alpn + headers: + - src/core/ext/transport/chttp2/alpn/alpn.h + src: + - src/core/ext/transport/chttp2/alpn/alpn.c + deps: + - gpr - name: grpc_transport_chttp2_client_insecure src: - src/core/ext/transport/chttp2/client/insecure/channel_create.c uses: - grpc_transport_chttp2 - grpc_base + - grpc_client_config - name: grpc_transport_chttp2_client_secure src: - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c uses: - grpc_transport_chttp2 - grpc_base + - grpc_client_config + - grpc_secure - name: grpc_transport_chttp2_server_insecure src: - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c @@ -593,6 +668,7 @@ filegroups: uses: - grpc_transport_chttp2 - grpc_base + - grpc_secure - name: nanopb headers: - third_party/nanopb/pb.h @@ -608,8 +684,7 @@ libs: build: all language: c filegroups: - - gpr - - gpr_codegen + - gpr_base secure: false vs_project_guid: '{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}' - name: gpr_test_util @@ -626,10 +701,6 @@ libs: - name: grpc build: all language: c - public_headers: - - include/grpc/grpc_security.h - deps: - - gpr baselib: true deps_linkage: static dll: true @@ -639,25 +710,19 @@ libs: - grpc_transport_chttp2_client_secure - grpc_transport_chttp2_server_insecure - grpc_transport_chttp2_client_insecure + - grpc_lb_policy_grpclb + - grpc_lb_policy_pick_first + - grpc_lb_policy_round_robin + - grpc_resolver_dns_native + - grpc_resolver_sockaddr - grpc_secure - - grpc_codegen - census - - nanopb + generate_plugin_registry: true secure: true vs_packages: - grpc.dependencies.openssl - grpc.dependencies.zlib vs_project_guid: '{29D16885-7228-4C31-81ED-5F9187C7F2A9}' -- name: grpc_codegen_lib - build: protoc - language: c - headers: [] - src: [] - filegroups: - - gpr_codegen - - grpc_codegen - secure: false - vs_project_guid: '{A828FD72-44CE-4EA5-8966-6E4624458D58}' - name: grpc_dll build: private language: c @@ -713,8 +778,6 @@ libs: language: c src: - src/core/lib/surface/init_unsecure.c - deps: - - gpr baselib: true deps_linkage: static dll: true @@ -722,9 +785,13 @@ libs: - grpc_base - grpc_transport_chttp2_server_insecure - grpc_transport_chttp2_client_insecure - - grpc_codegen + - grpc_resolver_dns_native + - grpc_resolver_sockaddr + - grpc_lb_policy_grpclb + - grpc_lb_policy_pick_first + - grpc_lb_policy_round_robin - census - - nanopb + generate_plugin_registry: true secure: false vs_project_guid: '{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}' - name: grpc_zookeeper @@ -732,10 +799,8 @@ libs: language: c public_headers: - include/grpc/grpc_zookeeper.h - headers: - - src/core/lib/client_config/resolvers/zookeeper_resolver.h src: - - src/core/lib/client_config/resolvers/zookeeper_resolver.c + - src/core/ext/resolver/zookeeper/zookeeper_resolver.c deps: - gpr - grpc @@ -744,6 +809,14 @@ libs: platforms: - linux secure: false +- name: one_input_fuzzer + build: private + language: c + src: + - test/core/util/one_corpus_entry_fuzzer.c + deps: + - gpr + secure: false - name: reconnect_server build: private language: c @@ -793,17 +866,6 @@ libs: - grpc++_codegen secure: check vs_project_guid: '{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}' -- name: grpc++_codegen_lib - build: all - language: c++ - headers: [] - src: [] - filegroups: - - gpr_codegen - - grpc_codegen - - grpc++_codegen - secure: false - vs_project_guid: '{AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}' - name: grpc++_test_config build: private language: c++ @@ -855,8 +917,6 @@ libs: build: protoc language: c++ headers: - - include/grpc++/support/config.h - - include/grpc++/support/config_protobuf.h - src/compiler/config.h - src/compiler/cpp_generator.h - src/compiler/cpp_generator_helpers.h @@ -876,10 +936,8 @@ libs: - src/compiler/objective_c_generator.cc - src/compiler/python_generator.cc - src/compiler/ruby_generator.cc - deps: - - grpc++_codegen_lib filegroups: - - gpr_codegen + - grpc++_config secure: false vs_project_guid: '{B6E81D84-2ACB-41B8-8781-493A944C7817}' vs_props: @@ -1273,6 +1331,21 @@ targets: src: - tools/codegen/core/gen_legal_metadata_characters.c deps: [] +- name: goaway_server_test + cpu_cost: 0.1 + build: test + language: c + src: + - test/core/end2end/goaway_server_test.c + deps: + - grpc_test_util + - grpc + - gpr_test_util + - gpr + platforms: + - mac + - linux + - posix - name: gpr_avl_test build: test language: c @@ -1586,6 +1659,7 @@ targets: - gpr corpus_dirs: - test/core/transport/chttp2/hpack_parser_corpus + maxlen: 512 - name: hpack_parser_test build: test language: c @@ -1618,6 +1692,7 @@ targets: - gpr corpus_dirs: - test/core/http/corpus + maxlen: 2048 - name: http_parser_test build: test language: c @@ -1676,6 +1751,39 @@ targets: - grpc - gpr_test_util - gpr +- name: internal_api_canary_iomgr_test + build: test + run: false + language: c + src: + - test/core/internal_api_canaries/iomgr.c + deps: + - grpc_test_util + - grpc + - gpr_test_util + - gpr +- name: internal_api_canary_support_test + build: test + run: false + language: c + src: + - test/core/internal_api_canaries/iomgr.c + deps: + - grpc_test_util + - grpc + - gpr_test_util + - gpr +- name: internal_api_canary_transport_test + build: test + run: false + language: c + src: + - test/core/internal_api_canaries/iomgr.c + deps: + - grpc_test_util + - grpc + - gpr_test_util + - gpr - name: invalid_call_argument_test build: test language: c @@ -1698,6 +1806,7 @@ targets: - gpr corpus_dirs: - test/core/json/corpus + maxlen: 512 - name: json_rewrite build: test run: false @@ -1812,6 +1921,32 @@ targets: deps: - gpr_test_util - gpr +- name: nanopb_fuzzer_response_test + build: fuzzer + language: c + src: + - test/core/nanopb/fuzzer_response.c + deps: + - grpc_test_util + - grpc + - gpr_test_util + - gpr + corpus_dirs: + - test/core/nanopb/corpus_response + maxlen: 128 +- name: nanopb_fuzzer_serverlist_test + build: fuzzer + language: c + src: + - test/core/nanopb/fuzzer_serverlist.c + deps: + - grpc_test_util + - grpc + - gpr_test_util + - gpr + corpus_dirs: + - test/core/nanopb/corpus_serverlist + maxlen: 128 - name: no_server_test cpu_cost: 0.1 build: test @@ -1863,6 +1998,19 @@ targets: - grpc - gpr_test_util - gpr +- name: server_fuzzer + build: fuzzer + language: c + src: + - test/core/end2end/fuzzers/server_fuzzer.c + deps: + - grpc_test_util + - grpc + - gpr_test_util + - gpr + corpus_dirs: + - test/core/end2end/fuzzers/server_fuzzer_corpus + maxlen: 2048 - name: server_test build: test language: c @@ -2073,6 +2221,7 @@ targets: - gpr corpus_dirs: - test/core/client_config/uri_corpus + maxlen: 128 - name: uri_parser_test build: test language: c @@ -2236,8 +2385,8 @@ targets: - src/proto/grpc/testing/services.proto - src/proto/grpc/testing/stats.proto - test/cpp/codegen/codegen_test.cc - deps: - - grpc++_codegen_lib + filegroups: + - grpc++_codegen - name: credentials_test gtest: true build: test @@ -2478,6 +2627,20 @@ targets: - mac - linux - posix +- name: json_run_localhost + build: test + run: false + language: c++ + src: + - test/cpp/qps/json_run_localhost.cc + deps: + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc + - gpr_test_util + - gpr + - grpc++_test_config - name: metrics_client build: test run: false @@ -2537,6 +2700,21 @@ targets: - mac - linux - posix +- name: qps_json_driver + build: test + run: false + language: c++ + src: + - test/cpp/qps/qps_json_driver.cc + deps: + - qps + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc + - gpr_test_util + - gpr + - grpc++_test_config - name: qps_openloop_test cpu_cost: 0.5 build: test @@ -2576,7 +2754,8 @@ targets: - linux - posix - name: qps_worker - build: benchmark + build: test + run: false language: c++ headers: - test/cpp/qps/client.h diff --git a/config.m4 b/config.m4 index 653b2870677dc9c5708c2086ac82b7d282b08804..7d3d899a405366e2643b7b69e5b3ee7f4118c37c 100644 --- a/config.m4 +++ b/config.m4 @@ -80,90 +80,31 @@ if test "$PHP_GRPC" != "no"; then src/core/lib/support/tmpfile_posix.c \ src/core/lib/support/tmpfile_win32.c \ src/core/lib/support/wrap_memcpy.c \ - src/core/ext/transport/chttp2/client/insecure/channel_create.c \ - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c \ - src/core/ext/transport/chttp2/transport/alpn.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/status_conversion.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/timeout_encoding.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/lib/census/context.c \ - src/core/lib/census/grpc_context.c \ - src/core/lib/census/grpc_filter.c \ - src/core/lib/census/grpc_plugin.c \ - src/core/lib/census/initialize.c \ - src/core/lib/census/mlog.c \ - src/core/lib/census/operation.c \ - src/core/lib/census/placeholders.c \ - src/core/lib/census/tracing.c \ src/core/lib/channel/channel_args.c \ src/core/lib/channel/channel_stack.c \ src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/client_channel.c \ src/core/lib/channel/compress_filter.c \ src/core/lib/channel/connected_channel.c \ src/core/lib/channel/http_client_filter.c \ src/core/lib/channel/http_server_filter.c \ - src/core/lib/channel/subchannel_call_holder.c \ - src/core/lib/client_config/client_config.c \ - src/core/lib/client_config/connector.c \ - src/core/lib/client_config/default_initial_connect_string.c \ - src/core/lib/client_config/initial_connect_string.c \ - src/core/lib/client_config/lb_policies/load_balancer_api.c \ - src/core/lib/client_config/lb_policies/pick_first.c \ - src/core/lib/client_config/lb_policies/round_robin.c \ - src/core/lib/client_config/lb_policy.c \ - src/core/lib/client_config/lb_policy_factory.c \ - src/core/lib/client_config/lb_policy_registry.c \ - src/core/lib/client_config/resolver.c \ - src/core/lib/client_config/resolver_factory.c \ - src/core/lib/client_config/resolver_registry.c \ - src/core/lib/client_config/resolvers/dns_resolver.c \ - src/core/lib/client_config/resolvers/sockaddr_resolver.c \ - src/core/lib/client_config/subchannel.c \ - src/core/lib/client_config/subchannel_factory.c \ - src/core/lib/client_config/subchannel_index.c \ - src/core/lib/client_config/uri_parser.c \ src/core/lib/compression/compression_algorithm.c \ src/core/lib/compression/message_compress.c \ src/core/lib/debug/trace.c \ src/core/lib/http/format_request.c \ src/core/lib/http/httpcli.c \ - src/core/lib/http/httpcli_security_connector.c \ src/core/lib/http/parser.c \ src/core/lib/iomgr/closure.c \ src/core/lib/iomgr/endpoint.c \ src/core/lib/iomgr/endpoint_pair_posix.c \ src/core/lib/iomgr/endpoint_pair_windows.c \ + src/core/lib/iomgr/ev_poll_and_epoll_posix.c \ + src/core/lib/iomgr/ev_posix.c \ src/core/lib/iomgr/exec_ctx.c \ src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/fd_posix.c \ src/core/lib/iomgr/iocp_windows.c \ src/core/lib/iomgr/iomgr.c \ src/core/lib/iomgr/iomgr_posix.c \ src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/pollset_multipoller_with_epoll.c \ - src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c \ - src/core/lib/iomgr/pollset_posix.c \ - src/core/lib/iomgr/pollset_set_posix.c \ src/core/lib/iomgr/pollset_set_windows.c \ src/core/lib/iomgr/pollset_windows.c \ src/core/lib/iomgr/resolve_address_posix.c \ @@ -195,21 +136,6 @@ if test "$PHP_GRPC" != "no"; then src/core/lib/json/json_reader.c \ src/core/lib/json/json_string.c \ src/core/lib/json/json_writer.c \ - src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c \ - src/core/lib/security/b64.c \ - src/core/lib/security/client_auth_filter.c \ - src/core/lib/security/credentials.c \ - src/core/lib/security/credentials_metadata.c \ - src/core/lib/security/credentials_posix.c \ - src/core/lib/security/credentials_win32.c \ - src/core/lib/security/google_default_credentials.c \ - src/core/lib/security/handshake.c \ - src/core/lib/security/json_token.c \ - src/core/lib/security/jwt_verifier.c \ - src/core/lib/security/secure_endpoint.c \ - src/core/lib/security/security_connector.c \ - src/core/lib/security/security_context.c \ - src/core/lib/security/server_auth_filter.c \ src/core/lib/surface/alarm.c \ src/core/lib/surface/api_trace.c \ src/core/lib/surface/byte_buffer.c \ @@ -218,14 +144,12 @@ if test "$PHP_GRPC" != "no"; then src/core/lib/surface/call_details.c \ src/core/lib/surface/call_log_batch.c \ src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_connectivity.c \ src/core/lib/surface/channel_init.c \ src/core/lib/surface/channel_ping.c \ src/core/lib/surface/channel_stack_type.c \ src/core/lib/surface/completion_queue.c \ src/core/lib/surface/event_string.c \ src/core/lib/surface/init.c \ - src/core/lib/surface/init_secure.c \ src/core/lib/surface/lame_client.c \ src/core/lib/surface/metadata_array.c \ src/core/lib/surface/server.c \ @@ -238,12 +162,88 @@ if test "$PHP_GRPC" != "no"; then src/core/lib/transport/static_metadata.c \ src/core/lib/transport/transport.c \ src/core/lib/transport/transport_op_string.c \ + src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c \ + src/core/ext/transport/chttp2/transport/bin_encoder.c \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ + src/core/ext/transport/chttp2/transport/chttp2_transport.c \ + src/core/ext/transport/chttp2/transport/frame_data.c \ + src/core/ext/transport/chttp2/transport/frame_goaway.c \ + src/core/ext/transport/chttp2/transport/frame_ping.c \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ + src/core/ext/transport/chttp2/transport/frame_settings.c \ + src/core/ext/transport/chttp2/transport/frame_window_update.c \ + src/core/ext/transport/chttp2/transport/hpack_encoder.c \ + src/core/ext/transport/chttp2/transport/hpack_parser.c \ + src/core/ext/transport/chttp2/transport/hpack_table.c \ + src/core/ext/transport/chttp2/transport/huffsyms.c \ + src/core/ext/transport/chttp2/transport/incoming_metadata.c \ + src/core/ext/transport/chttp2/transport/parsing.c \ + src/core/ext/transport/chttp2/transport/status_conversion.c \ + src/core/ext/transport/chttp2/transport/stream_lists.c \ + src/core/ext/transport/chttp2/transport/stream_map.c \ + src/core/ext/transport/chttp2/transport/timeout_encoding.c \ + src/core/ext/transport/chttp2/transport/varint.c \ + src/core/ext/transport/chttp2/transport/writing.c \ + src/core/ext/transport/chttp2/alpn/alpn.c \ + src/core/lib/http/httpcli_security_connector.c \ + src/core/lib/security/b64.c \ + src/core/lib/security/client_auth_filter.c \ + src/core/lib/security/credentials.c \ + src/core/lib/security/credentials_metadata.c \ + src/core/lib/security/credentials_posix.c \ + src/core/lib/security/credentials_win32.c \ + src/core/lib/security/google_default_credentials.c \ + src/core/lib/security/handshake.c \ + src/core/lib/security/json_token.c \ + src/core/lib/security/jwt_verifier.c \ + src/core/lib/security/secure_endpoint.c \ + src/core/lib/security/security_connector.c \ + src/core/lib/security/security_context.c \ + src/core/lib/security/server_auth_filter.c \ + src/core/lib/surface/init_secure.c \ src/core/lib/tsi/fake_transport_security.c \ src/core/lib/tsi/ssl_transport_security.c \ src/core/lib/tsi/transport_security.c \ + src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ + src/core/ext/client_config/channel_connectivity.c \ + src/core/ext/client_config/client_channel.c \ + src/core/ext/client_config/client_channel_factory.c \ + src/core/ext/client_config/client_config.c \ + src/core/ext/client_config/client_config_plugin.c \ + src/core/ext/client_config/connector.c \ + src/core/ext/client_config/default_initial_connect_string.c \ + src/core/ext/client_config/initial_connect_string.c \ + src/core/ext/client_config/lb_policy.c \ + src/core/ext/client_config/lb_policy_factory.c \ + src/core/ext/client_config/lb_policy_registry.c \ + src/core/ext/client_config/resolver.c \ + src/core/ext/client_config/resolver_factory.c \ + src/core/ext/client_config/resolver_registry.c \ + src/core/ext/client_config/subchannel.c \ + src/core/ext/client_config/subchannel_call_holder.c \ + src/core/ext/client_config/subchannel_index.c \ + src/core/ext/client_config/uri_parser.c \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ + src/core/ext/transport/chttp2/client/insecure/channel_create.c \ + src/core/ext/lb_policy/grpclb/load_balancer_api.c \ + src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c \ third_party/nanopb/pb_common.c \ third_party/nanopb/pb_decode.c \ third_party/nanopb/pb_encode.c \ + src/core/ext/lb_policy/pick_first/pick_first.c \ + src/core/ext/lb_policy/round_robin/round_robin.c \ + src/core/ext/resolver/dns/native/dns_resolver.c \ + src/core/ext/resolver/sockaddr/sockaddr_resolver.c \ + src/core/ext/census/context.c \ + src/core/ext/census/grpc_context.c \ + src/core/ext/census/grpc_filter.c \ + src/core/ext/census/grpc_plugin.c \ + src/core/ext/census/initialize.c \ + src/core/ext/census/mlog.c \ + src/core/ext/census/operation.c \ + src/core/ext/census/placeholders.c \ + src/core/ext/census/tracing.c \ + src/core/plugin_registry/grpc_plugin_registry.c \ src/boringssl/err_data.c \ third_party/boringssl/crypto/aes/aes.c \ third_party/boringssl/crypto/aes/mode_wrappers.c \ @@ -546,28 +546,33 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_BUILD_DIR($ext_builddir/src/php/ext/grpc) PHP_ADD_BUILD_DIR($ext_builddir/src/boringssl) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/census) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/client_config) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/lb_policy/grpclb) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/lb_policy/pick_first) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/lb_policy/round_robin) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/resolver/dns/native) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/resolver/sockaddr) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/alpn) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/client/insecure) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/client/secure) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/server/insecure) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/server/secure) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/transport) - PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/census) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/channel) - PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/client_config) - PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/client_config/lb_policies) - PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/client_config/resolvers) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/compression) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/debug) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/http) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/json) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/profiling) - PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/proto/grpc/lb/v0) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/security) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/support) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/surface) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/transport) PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/tsi) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/plugin_registry) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl/crypto) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl/crypto/aes) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl/crypto/asn1) diff --git a/examples/cpp/helloworld/Makefile b/examples/cpp/helloworld/Makefile index b785612935aa2b8abed65558ee0fe6e711215120..4b1867e2920545c15571839fd9ff355be6e51e62 100644 --- a/examples/cpp/helloworld/Makefile +++ b/examples/cpp/helloworld/Makefile @@ -1,5 +1,5 @@ # -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/examples/cpp/helloworld/greeter_async_server.cc b/examples/cpp/helloworld/greeter_async_server.cc index c9b1a67e9515ed9a161ab57e89a787aa6ac06f45..64e065b1e404c4b0832cf01119ac91356e711e9d 100644 --- a/examples/cpp/helloworld/greeter_async_server.cc +++ b/examples/cpp/helloworld/greeter_async_server.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/examples/cpp/route_guide/Makefile b/examples/cpp/route_guide/Makefile index 3f8a5982b40ec8dfe2640830e597449d999445c7..0fbb0a89298d249a359a4a15b312aee4af215e81 100644 --- a/examples/cpp/route_guide/Makefile +++ b/examples/cpp/route_guide/Makefile @@ -1,5 +1,5 @@ # -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/examples/csharp/helloworld/GreeterClient/Program.cs b/examples/csharp/helloworld/GreeterClient/Program.cs index ffc7fabbf12ac68ef39474203dcc261c08ddbe4c..4393f2f3c2916a03a0702cb331e0d7463196d441 100644 --- a/examples/csharp/helloworld/GreeterClient/Program.cs +++ b/examples/csharp/helloworld/GreeterClient/Program.cs @@ -1,4 +1,4 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/examples/csharp/route_guide/RouteGuideClient/Program.cs b/examples/csharp/route_guide/RouteGuideClient/Program.cs index 22395dd21d523e46b3c6314a41e6a55a0ae934e3..c561a9f7aacfc6340ee13e09e075792c51f95d46 100644 --- a/examples/csharp/route_guide/RouteGuideClient/Program.cs +++ b/examples/csharp/route_guide/RouteGuideClient/Program.cs @@ -1,4 +1,4 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/examples/node/greeter_client.js b/examples/node/greeter_client.js index ca5781514d80ff1e62c5bc1e162ebbf1ffbd158e..2820acbbb719e9e4c1d8c4891010cd3aec277fa8 100644 --- a/examples/node/greeter_client.js +++ b/examples/node/greeter_client.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/examples/node/greeter_server.js b/examples/node/greeter_server.js index 47d9892816759c00cae682a58a591b7dde4712a8..e7ad51f600989d080624c0f95998f8aaa4fccec6 100644 --- a/examples/node/greeter_server.js +++ b/examples/node/greeter_server.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/examples/node/route_guide/route_guide_client.js b/examples/node/route_guide/route_guide_client.js index 6ff0279184e25322409522a2898506655ed961d2..fd05a59b63a4493b4696237585f437c70538dfd8 100644 --- a/examples/node/route_guide/route_guide_client.js +++ b/examples/node/route_guide/route_guide_client.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/examples/node/route_guide/route_guide_server.js b/examples/node/route_guide/route_guide_server.js index 9fa98279911e6b6f21e7670f86a66fb63a6f13bf..6c01fac2465be1add0a2cb57b0b017008d5c4b4c 100644 --- a/examples/node/route_guide/route_guide_server.js +++ b/examples/node/route_guide/route_guide_server.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/examples/objective-c/auth_sample/MakeRPCViewController.m b/examples/objective-c/auth_sample/MakeRPCViewController.m index 108eda45ba528c483c73270373d6937f3e2b0cfb..6013186b99493f9a43096a4e19f62ba342113202 100644 --- a/examples/objective-c/auth_sample/MakeRPCViewController.m +++ b/examples/objective-c/auth_sample/MakeRPCViewController.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/examples/objective-c/helloworld/main.m b/examples/objective-c/helloworld/main.m index bf357990a5679c94d6058b4c9e37a3d87accb40c..755dce33df9dd09dc3dbbb417239c4c7467999fd 100644 --- a/examples/objective-c/helloworld/main.m +++ b/examples/objective-c/helloworld/main.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/examples/php/greeter_client.php b/examples/php/greeter_client.php index 3fab14f33e168f0ee90dcae9458f3d1de39bf071..718ef88c644ad4938f41104ed4cbc6b184c4e804 100644 --- a/examples/php/greeter_client.php +++ b/examples/php/greeter_client.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/examples/php/route_guide/route_guide_client.php b/examples/php/route_guide/route_guide_client.php index cc8640cf702879a65081402e79d67ed1996b0d72..2f9533be4b77503db61baa60e024b5dc6cd67af8 100644 --- a/examples/php/route_guide/route_guide_client.php +++ b/examples/php/route_guide/route_guide_client.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/examples/protos/helloworld.proto b/examples/protos/helloworld.proto index e670503b09e55fbde93f1d9bef5a762c9b1c1839..0bee1fcfcfbb92c0ced2f8967addfa065cc74752 100644 --- a/examples/protos/helloworld.proto +++ b/examples/protos/helloworld.proto @@ -1,4 +1,4 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/examples/protos/route_guide.proto b/examples/protos/route_guide.proto index b3553ee536614a1d13ff5208dba6cede26e272fe..12c4495ffab13cb8faaf079f5cd6b89c42afb1c2 100644 --- a/examples/protos/route_guide.proto +++ b/examples/protos/route_guide.proto @@ -1,4 +1,4 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/examples/python/helloworld/greeter_client.py b/examples/python/helloworld/greeter_client.py index 9c18b41d25ce6eec19de0e5bb5d9896ee0a0d420..40d637fb7b4792ced6c1e72361ad74acabcfbd25 100644 --- a/examples/python/helloworld/greeter_client.py +++ b/examples/python/helloworld/greeter_client.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/examples/python/route_guide/route_guide_client.py b/examples/python/route_guide/route_guide_client.py index 9d6f865a331d88e365ae68c2ea3e7da53e624b05..ffcbd061d6e14d267a1382781e0e06b458ecac1a 100644 --- a/examples/python/route_guide/route_guide_client.py +++ b/examples/python/route_guide/route_guide_client.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/examples/python/route_guide/route_guide_server.py b/examples/python/route_guide/route_guide_server.py index f95b36b07366c9378d7730cbdf293be1ffcc6284..24f948c42c591b1b1e451cfde9e065221563327b 100644 --- a/examples/python/route_guide/route_guide_server.py +++ b/examples/python/route_guide/route_guide_server.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/examples/ruby/greeter_client.rb b/examples/ruby/greeter_client.rb index 2a243168709d21b88fd9b738bea83a703f94d184..cb4aa195e7741ff5fbcb1c25d44bb9bfb5f55dfe 100755 --- a/examples/ruby/greeter_client.rb +++ b/examples/ruby/greeter_client.rb @@ -1,6 +1,6 @@ #!/usr/bin/env ruby -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/examples/ruby/route_guide/route_guide_client.rb b/examples/ruby/route_guide/route_guide_client.rb index 86dd1fe6cafdb827f625dd4450f5d2f4af98f7e2..e7f802c21e618018cf1c4238efee9e8b4dca6b7d 100755 --- a/examples/ruby/route_guide/route_guide_client.rb +++ b/examples/ruby/route_guide/route_guide_client.rb @@ -1,6 +1,6 @@ #!/usr/bin/env ruby -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/gRPC.podspec b/gRPC.podspec index 08330eb8e180adea7f39516844f6da0ef906ca78..82c5eaac411476b990e99a81fb563645b5886dea 100644 --- a/gRPC.podspec +++ b/gRPC.podspec @@ -75,20 +75,6 @@ Pod::Spec.new do |s| 'src/core/lib/support/thd_internal.h', 'src/core/lib/support/time_precise.h', 'src/core/lib/support/tmpfile.h', - 'include/grpc/impl/codegen/alloc.h', - 'include/grpc/impl/codegen/atm.h', - 'include/grpc/impl/codegen/atm_gcc_atomic.h', - 'include/grpc/impl/codegen/atm_gcc_sync.h', - 'include/grpc/impl/codegen/atm_win32.h', - 'include/grpc/impl/codegen/log.h', - 'include/grpc/impl/codegen/port_platform.h', - 'include/grpc/impl/codegen/slice.h', - 'include/grpc/impl/codegen/slice_buffer.h', - 'include/grpc/impl/codegen/sync.h', - 'include/grpc/impl/codegen/sync_generic.h', - 'include/grpc/impl/codegen/sync_posix.h', - 'include/grpc/impl/codegen/sync_win32.h', - 'include/grpc/impl/codegen/time.h', 'include/grpc/support/alloc.h', 'include/grpc/support/atm.h', 'include/grpc/support/atm_gcc_atomic.h', @@ -117,6 +103,20 @@ Pod::Spec.new do |s| 'include/grpc/support/tls_msvc.h', 'include/grpc/support/tls_pthread.h', 'include/grpc/support/useful.h', + 'include/grpc/impl/codegen/alloc.h', + 'include/grpc/impl/codegen/atm.h', + 'include/grpc/impl/codegen/atm_gcc_atomic.h', + 'include/grpc/impl/codegen/atm_gcc_sync.h', + 'include/grpc/impl/codegen/atm_win32.h', + 'include/grpc/impl/codegen/log.h', + 'include/grpc/impl/codegen/port_platform.h', + 'include/grpc/impl/codegen/slice.h', + 'include/grpc/impl/codegen/slice_buffer.h', + 'include/grpc/impl/codegen/sync.h', + 'include/grpc/impl/codegen/sync_generic.h', + 'include/grpc/impl/codegen/sync_posix.h', + 'include/grpc/impl/codegen/sync_win32.h', + 'include/grpc/impl/codegen/time.h', 'src/core/lib/profiling/basic_timers.c', 'src/core/lib/profiling/stap_timers.c', 'src/core/lib/support/alloc.c', @@ -161,60 +161,14 @@ Pod::Spec.new do |s| 'src/core/lib/support/tmpfile_posix.c', 'src/core/lib/support/tmpfile_win32.c', 'src/core/lib/support/wrap_memcpy.c', - 'src/core/ext/transport/chttp2/transport/alpn.h', - 'src/core/ext/transport/chttp2/transport/bin_encoder.h', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.h', - 'src/core/ext/transport/chttp2/transport/frame.h', - 'src/core/ext/transport/chttp2/transport/frame_data.h', - 'src/core/ext/transport/chttp2/transport/frame_goaway.h', - 'src/core/ext/transport/chttp2/transport/frame_ping.h', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.h', - 'src/core/ext/transport/chttp2/transport/frame_settings.h', - 'src/core/ext/transport/chttp2/transport/frame_window_update.h', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.h', - 'src/core/ext/transport/chttp2/transport/hpack_parser.h', - 'src/core/ext/transport/chttp2/transport/hpack_table.h', - 'src/core/ext/transport/chttp2/transport/http2_errors.h', - 'src/core/ext/transport/chttp2/transport/huffsyms.h', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.h', - 'src/core/ext/transport/chttp2/transport/internal.h', - 'src/core/ext/transport/chttp2/transport/status_conversion.h', - 'src/core/ext/transport/chttp2/transport/stream_map.h', - 'src/core/ext/transport/chttp2/transport/timeout_encoding.h', - 'src/core/ext/transport/chttp2/transport/varint.h', - 'src/core/lib/census/aggregation.h', - 'src/core/lib/census/grpc_filter.h', - 'src/core/lib/census/grpc_plugin.h', - 'src/core/lib/census/mlog.h', - 'src/core/lib/census/rpc_metric_id.h', 'src/core/lib/channel/channel_args.h', 'src/core/lib/channel/channel_stack.h', 'src/core/lib/channel/channel_stack_builder.h', - 'src/core/lib/channel/client_channel.h', 'src/core/lib/channel/compress_filter.h', 'src/core/lib/channel/connected_channel.h', 'src/core/lib/channel/context.h', 'src/core/lib/channel/http_client_filter.h', 'src/core/lib/channel/http_server_filter.h', - 'src/core/lib/channel/subchannel_call_holder.h', - 'src/core/lib/client_config/client_config.h', - 'src/core/lib/client_config/connector.h', - 'src/core/lib/client_config/initial_connect_string.h', - 'src/core/lib/client_config/lb_policies/load_balancer_api.h', - 'src/core/lib/client_config/lb_policies/pick_first.h', - 'src/core/lib/client_config/lb_policies/round_robin.h', - 'src/core/lib/client_config/lb_policy.h', - 'src/core/lib/client_config/lb_policy_factory.h', - 'src/core/lib/client_config/lb_policy_registry.h', - 'src/core/lib/client_config/resolver.h', - 'src/core/lib/client_config/resolver_factory.h', - 'src/core/lib/client_config/resolver_registry.h', - 'src/core/lib/client_config/resolvers/dns_resolver.h', - 'src/core/lib/client_config/resolvers/sockaddr_resolver.h', - 'src/core/lib/client_config/subchannel.h', - 'src/core/lib/client_config/subchannel_factory.h', - 'src/core/lib/client_config/subchannel_index.h', - 'src/core/lib/client_config/uri_parser.h', 'src/core/lib/compression/algorithm_metadata.h', 'src/core/lib/compression/message_compress.h', 'src/core/lib/debug/trace.h', @@ -224,17 +178,16 @@ Pod::Spec.new do |s| 'src/core/lib/iomgr/closure.h', 'src/core/lib/iomgr/endpoint.h', 'src/core/lib/iomgr/endpoint_pair.h', + 'src/core/lib/iomgr/ev_poll_and_epoll_posix.h', + 'src/core/lib/iomgr/ev_posix.h', 'src/core/lib/iomgr/exec_ctx.h', 'src/core/lib/iomgr/executor.h', - 'src/core/lib/iomgr/fd_posix.h', 'src/core/lib/iomgr/iocp_windows.h', 'src/core/lib/iomgr/iomgr.h', 'src/core/lib/iomgr/iomgr_internal.h', 'src/core/lib/iomgr/iomgr_posix.h', 'src/core/lib/iomgr/pollset.h', - 'src/core/lib/iomgr/pollset_posix.h', 'src/core/lib/iomgr/pollset_set.h', - 'src/core/lib/iomgr/pollset_set_posix.h', 'src/core/lib/iomgr/pollset_set_windows.h', 'src/core/lib/iomgr/pollset_windows.h', 'src/core/lib/iomgr/resolve_address.h', @@ -262,18 +215,6 @@ Pod::Spec.new do |s| 'src/core/lib/json/json_common.h', 'src/core/lib/json/json_reader.h', 'src/core/lib/json/json_writer.h', - 'src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h', - 'src/core/lib/security/auth_filters.h', - 'src/core/lib/security/b64.h', - 'src/core/lib/security/credentials.h', - 'src/core/lib/security/handshake.h', - 'src/core/lib/security/json_token.h', - 'src/core/lib/security/jwt_verifier.h', - 'src/core/lib/security/secure_endpoint.h', - 'src/core/lib/security/security_connector.h', - 'src/core/lib/security/security_context.h', - 'src/core/lib/statistics/census_interface.h', - 'src/core/lib/statistics/census_rpc_stats.h', 'src/core/lib/surface/api_trace.h', 'src/core/lib/surface/call.h', 'src/core/lib/surface/call_test_only.h', @@ -293,112 +234,120 @@ Pod::Spec.new do |s| 'src/core/lib/transport/static_metadata.h', 'src/core/lib/transport/transport.h', 'src/core/lib/transport/transport_impl.h', + 'src/core/ext/transport/chttp2/transport/bin_encoder.h', + 'src/core/ext/transport/chttp2/transport/chttp2_transport.h', + 'src/core/ext/transport/chttp2/transport/frame.h', + 'src/core/ext/transport/chttp2/transport/frame_data.h', + 'src/core/ext/transport/chttp2/transport/frame_goaway.h', + 'src/core/ext/transport/chttp2/transport/frame_ping.h', + 'src/core/ext/transport/chttp2/transport/frame_rst_stream.h', + 'src/core/ext/transport/chttp2/transport/frame_settings.h', + 'src/core/ext/transport/chttp2/transport/frame_window_update.h', + 'src/core/ext/transport/chttp2/transport/hpack_encoder.h', + 'src/core/ext/transport/chttp2/transport/hpack_parser.h', + 'src/core/ext/transport/chttp2/transport/hpack_table.h', + 'src/core/ext/transport/chttp2/transport/http2_errors.h', + 'src/core/ext/transport/chttp2/transport/huffsyms.h', + 'src/core/ext/transport/chttp2/transport/incoming_metadata.h', + 'src/core/ext/transport/chttp2/transport/internal.h', + 'src/core/ext/transport/chttp2/transport/status_conversion.h', + 'src/core/ext/transport/chttp2/transport/stream_map.h', + 'src/core/ext/transport/chttp2/transport/timeout_encoding.h', + 'src/core/ext/transport/chttp2/transport/varint.h', + 'src/core/ext/transport/chttp2/alpn/alpn.h', + 'src/core/lib/security/auth_filters.h', + 'src/core/lib/security/b64.h', + 'src/core/lib/security/credentials.h', + 'src/core/lib/security/handshake.h', + 'src/core/lib/security/json_token.h', + 'src/core/lib/security/jwt_verifier.h', + 'src/core/lib/security/secure_endpoint.h', + 'src/core/lib/security/security_connector.h', + 'src/core/lib/security/security_context.h', 'src/core/lib/tsi/fake_transport_security.h', 'src/core/lib/tsi/ssl_transport_security.h', 'src/core/lib/tsi/ssl_types.h', 'src/core/lib/tsi/transport_security.h', 'src/core/lib/tsi/transport_security_interface.h', + 'src/core/ext/client_config/client_channel.h', + 'src/core/ext/client_config/client_channel_factory.h', + 'src/core/ext/client_config/client_config.h', + 'src/core/ext/client_config/connector.h', + 'src/core/ext/client_config/initial_connect_string.h', + 'src/core/ext/client_config/lb_policy.h', + 'src/core/ext/client_config/lb_policy_factory.h', + 'src/core/ext/client_config/lb_policy_registry.h', + 'src/core/ext/client_config/resolver.h', + 'src/core/ext/client_config/resolver_factory.h', + 'src/core/ext/client_config/resolver_registry.h', + 'src/core/ext/client_config/subchannel.h', + 'src/core/ext/client_config/subchannel_call_holder.h', + 'src/core/ext/client_config/subchannel_index.h', + 'src/core/ext/client_config/uri_parser.h', + 'src/core/ext/lb_policy/grpclb/load_balancer_api.h', + 'src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h', 'third_party/nanopb/pb.h', 'third_party/nanopb/pb_common.h', 'third_party/nanopb/pb_decode.h', 'third_party/nanopb/pb_encode.h', + 'src/core/ext/census/aggregation.h', + 'src/core/ext/census/census_interface.h', + 'src/core/ext/census/census_rpc_stats.h', + 'src/core/ext/census/grpc_filter.h', + 'src/core/ext/census/mlog.h', + 'src/core/ext/census/rpc_metric_id.h', 'include/grpc/byte_buffer.h', 'include/grpc/byte_buffer_reader.h', - 'include/grpc/census.h', 'include/grpc/compression.h', 'include/grpc/grpc.h', - 'include/grpc/grpc_security.h', + 'include/grpc/status.h', 'include/grpc/impl/codegen/byte_buffer.h', 'include/grpc/impl/codegen/compression_types.h', 'include/grpc/impl/codegen/connectivity_state.h', 'include/grpc/impl/codegen/grpc_types.h', 'include/grpc/impl/codegen/propagation_bits.h', 'include/grpc/impl/codegen/status.h', - 'include/grpc/status.h', - 'src/core/ext/transport/chttp2/client/insecure/channel_create.c', - 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.c', - 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c', - 'src/core/ext/transport/chttp2/transport/alpn.c', - 'src/core/ext/transport/chttp2/transport/bin_encoder.c', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', - 'src/core/ext/transport/chttp2/transport/frame_data.c', - 'src/core/ext/transport/chttp2/transport/frame_goaway.c', - 'src/core/ext/transport/chttp2/transport/frame_ping.c', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', - 'src/core/ext/transport/chttp2/transport/frame_settings.c', - 'src/core/ext/transport/chttp2/transport/frame_window_update.c', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', - 'src/core/ext/transport/chttp2/transport/hpack_parser.c', - 'src/core/ext/transport/chttp2/transport/hpack_table.c', - 'src/core/ext/transport/chttp2/transport/huffsyms.c', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', - 'src/core/ext/transport/chttp2/transport/parsing.c', - 'src/core/ext/transport/chttp2/transport/status_conversion.c', - 'src/core/ext/transport/chttp2/transport/stream_lists.c', - 'src/core/ext/transport/chttp2/transport/stream_map.c', - 'src/core/ext/transport/chttp2/transport/timeout_encoding.c', - 'src/core/ext/transport/chttp2/transport/varint.c', - 'src/core/ext/transport/chttp2/transport/writing.c', - 'src/core/lib/census/context.c', - 'src/core/lib/census/grpc_context.c', - 'src/core/lib/census/grpc_filter.c', - 'src/core/lib/census/grpc_plugin.c', - 'src/core/lib/census/initialize.c', - 'src/core/lib/census/mlog.c', - 'src/core/lib/census/operation.c', - 'src/core/lib/census/placeholders.c', - 'src/core/lib/census/tracing.c', + 'include/grpc/impl/codegen/alloc.h', + 'include/grpc/impl/codegen/atm.h', + 'include/grpc/impl/codegen/atm_gcc_atomic.h', + 'include/grpc/impl/codegen/atm_gcc_sync.h', + 'include/grpc/impl/codegen/atm_win32.h', + 'include/grpc/impl/codegen/log.h', + 'include/grpc/impl/codegen/port_platform.h', + 'include/grpc/impl/codegen/slice.h', + 'include/grpc/impl/codegen/slice_buffer.h', + 'include/grpc/impl/codegen/sync.h', + 'include/grpc/impl/codegen/sync_generic.h', + 'include/grpc/impl/codegen/sync_posix.h', + 'include/grpc/impl/codegen/sync_win32.h', + 'include/grpc/impl/codegen/time.h', + 'include/grpc/grpc_security.h', + 'include/grpc/census.h', 'src/core/lib/channel/channel_args.c', 'src/core/lib/channel/channel_stack.c', 'src/core/lib/channel/channel_stack_builder.c', - 'src/core/lib/channel/client_channel.c', 'src/core/lib/channel/compress_filter.c', 'src/core/lib/channel/connected_channel.c', 'src/core/lib/channel/http_client_filter.c', 'src/core/lib/channel/http_server_filter.c', - 'src/core/lib/channel/subchannel_call_holder.c', - 'src/core/lib/client_config/client_config.c', - 'src/core/lib/client_config/connector.c', - 'src/core/lib/client_config/default_initial_connect_string.c', - 'src/core/lib/client_config/initial_connect_string.c', - 'src/core/lib/client_config/lb_policies/load_balancer_api.c', - 'src/core/lib/client_config/lb_policies/pick_first.c', - 'src/core/lib/client_config/lb_policies/round_robin.c', - 'src/core/lib/client_config/lb_policy.c', - 'src/core/lib/client_config/lb_policy_factory.c', - 'src/core/lib/client_config/lb_policy_registry.c', - 'src/core/lib/client_config/resolver.c', - 'src/core/lib/client_config/resolver_factory.c', - 'src/core/lib/client_config/resolver_registry.c', - 'src/core/lib/client_config/resolvers/dns_resolver.c', - 'src/core/lib/client_config/resolvers/sockaddr_resolver.c', - 'src/core/lib/client_config/subchannel.c', - 'src/core/lib/client_config/subchannel_factory.c', - 'src/core/lib/client_config/subchannel_index.c', - 'src/core/lib/client_config/uri_parser.c', 'src/core/lib/compression/compression_algorithm.c', 'src/core/lib/compression/message_compress.c', 'src/core/lib/debug/trace.c', 'src/core/lib/http/format_request.c', 'src/core/lib/http/httpcli.c', - 'src/core/lib/http/httpcli_security_connector.c', 'src/core/lib/http/parser.c', 'src/core/lib/iomgr/closure.c', 'src/core/lib/iomgr/endpoint.c', 'src/core/lib/iomgr/endpoint_pair_posix.c', 'src/core/lib/iomgr/endpoint_pair_windows.c', + 'src/core/lib/iomgr/ev_poll_and_epoll_posix.c', + 'src/core/lib/iomgr/ev_posix.c', 'src/core/lib/iomgr/exec_ctx.c', 'src/core/lib/iomgr/executor.c', - 'src/core/lib/iomgr/fd_posix.c', 'src/core/lib/iomgr/iocp_windows.c', 'src/core/lib/iomgr/iomgr.c', 'src/core/lib/iomgr/iomgr_posix.c', 'src/core/lib/iomgr/iomgr_windows.c', - 'src/core/lib/iomgr/pollset_multipoller_with_epoll.c', - 'src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c', - 'src/core/lib/iomgr/pollset_posix.c', - 'src/core/lib/iomgr/pollset_set_posix.c', 'src/core/lib/iomgr/pollset_set_windows.c', 'src/core/lib/iomgr/pollset_windows.c', 'src/core/lib/iomgr/resolve_address_posix.c', @@ -430,21 +379,6 @@ Pod::Spec.new do |s| 'src/core/lib/json/json_reader.c', 'src/core/lib/json/json_string.c', 'src/core/lib/json/json_writer.c', - 'src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c', - 'src/core/lib/security/b64.c', - 'src/core/lib/security/client_auth_filter.c', - 'src/core/lib/security/credentials.c', - 'src/core/lib/security/credentials_metadata.c', - 'src/core/lib/security/credentials_posix.c', - 'src/core/lib/security/credentials_win32.c', - 'src/core/lib/security/google_default_credentials.c', - 'src/core/lib/security/handshake.c', - 'src/core/lib/security/json_token.c', - 'src/core/lib/security/jwt_verifier.c', - 'src/core/lib/security/secure_endpoint.c', - 'src/core/lib/security/security_connector.c', - 'src/core/lib/security/security_context.c', - 'src/core/lib/security/server_auth_filter.c', 'src/core/lib/surface/alarm.c', 'src/core/lib/surface/api_trace.c', 'src/core/lib/surface/byte_buffer.c', @@ -453,14 +387,12 @@ Pod::Spec.new do |s| 'src/core/lib/surface/call_details.c', 'src/core/lib/surface/call_log_batch.c', 'src/core/lib/surface/channel.c', - 'src/core/lib/surface/channel_connectivity.c', 'src/core/lib/surface/channel_init.c', 'src/core/lib/surface/channel_ping.c', 'src/core/lib/surface/channel_stack_type.c', 'src/core/lib/surface/completion_queue.c', 'src/core/lib/surface/event_string.c', 'src/core/lib/surface/init.c', - 'src/core/lib/surface/init_secure.c', 'src/core/lib/surface/lame_client.c', 'src/core/lib/surface/metadata_array.c', 'src/core/lib/surface/server.c', @@ -473,12 +405,88 @@ Pod::Spec.new do |s| 'src/core/lib/transport/static_metadata.c', 'src/core/lib/transport/transport.c', 'src/core/lib/transport/transport_op_string.c', + 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c', + 'src/core/ext/transport/chttp2/transport/bin_encoder.c', + 'src/core/ext/transport/chttp2/transport/chttp2_plugin.c', + 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', + 'src/core/ext/transport/chttp2/transport/frame_data.c', + 'src/core/ext/transport/chttp2/transport/frame_goaway.c', + 'src/core/ext/transport/chttp2/transport/frame_ping.c', + 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', + 'src/core/ext/transport/chttp2/transport/frame_settings.c', + 'src/core/ext/transport/chttp2/transport/frame_window_update.c', + 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', + 'src/core/ext/transport/chttp2/transport/hpack_parser.c', + 'src/core/ext/transport/chttp2/transport/hpack_table.c', + 'src/core/ext/transport/chttp2/transport/huffsyms.c', + 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', + 'src/core/ext/transport/chttp2/transport/parsing.c', + 'src/core/ext/transport/chttp2/transport/status_conversion.c', + 'src/core/ext/transport/chttp2/transport/stream_lists.c', + 'src/core/ext/transport/chttp2/transport/stream_map.c', + 'src/core/ext/transport/chttp2/transport/timeout_encoding.c', + 'src/core/ext/transport/chttp2/transport/varint.c', + 'src/core/ext/transport/chttp2/transport/writing.c', + 'src/core/ext/transport/chttp2/alpn/alpn.c', + 'src/core/lib/http/httpcli_security_connector.c', + 'src/core/lib/security/b64.c', + 'src/core/lib/security/client_auth_filter.c', + 'src/core/lib/security/credentials.c', + 'src/core/lib/security/credentials_metadata.c', + 'src/core/lib/security/credentials_posix.c', + 'src/core/lib/security/credentials_win32.c', + 'src/core/lib/security/google_default_credentials.c', + 'src/core/lib/security/handshake.c', + 'src/core/lib/security/json_token.c', + 'src/core/lib/security/jwt_verifier.c', + 'src/core/lib/security/secure_endpoint.c', + 'src/core/lib/security/security_connector.c', + 'src/core/lib/security/security_context.c', + 'src/core/lib/security/server_auth_filter.c', + 'src/core/lib/surface/init_secure.c', 'src/core/lib/tsi/fake_transport_security.c', 'src/core/lib/tsi/ssl_transport_security.c', 'src/core/lib/tsi/transport_security.c', + 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.c', + 'src/core/ext/client_config/channel_connectivity.c', + 'src/core/ext/client_config/client_channel.c', + 'src/core/ext/client_config/client_channel_factory.c', + 'src/core/ext/client_config/client_config.c', + 'src/core/ext/client_config/client_config_plugin.c', + 'src/core/ext/client_config/connector.c', + 'src/core/ext/client_config/default_initial_connect_string.c', + 'src/core/ext/client_config/initial_connect_string.c', + 'src/core/ext/client_config/lb_policy.c', + 'src/core/ext/client_config/lb_policy_factory.c', + 'src/core/ext/client_config/lb_policy_registry.c', + 'src/core/ext/client_config/resolver.c', + 'src/core/ext/client_config/resolver_factory.c', + 'src/core/ext/client_config/resolver_registry.c', + 'src/core/ext/client_config/subchannel.c', + 'src/core/ext/client_config/subchannel_call_holder.c', + 'src/core/ext/client_config/subchannel_index.c', + 'src/core/ext/client_config/uri_parser.c', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.c', + 'src/core/ext/transport/chttp2/client/insecure/channel_create.c', + 'src/core/ext/lb_policy/grpclb/load_balancer_api.c', + 'src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c', 'third_party/nanopb/pb_common.c', 'third_party/nanopb/pb_decode.c', - 'third_party/nanopb/pb_encode.c' + 'third_party/nanopb/pb_encode.c', + 'src/core/ext/lb_policy/pick_first/pick_first.c', + 'src/core/ext/lb_policy/round_robin/round_robin.c', + 'src/core/ext/resolver/dns/native/dns_resolver.c', + 'src/core/ext/resolver/sockaddr/sockaddr_resolver.c', + 'src/core/ext/census/context.c', + 'src/core/ext/census/grpc_context.c', + 'src/core/ext/census/grpc_filter.c', + 'src/core/ext/census/grpc_plugin.c', + 'src/core/ext/census/initialize.c', + 'src/core/ext/census/mlog.c', + 'src/core/ext/census/operation.c', + 'src/core/ext/census/placeholders.c', + 'src/core/ext/census/tracing.c', + 'src/core/plugin_registry/grpc_plugin_registry.c' ss.private_header_files = 'src/core/lib/profiling/timers.h', 'src/core/lib/support/backoff.h', @@ -492,60 +500,14 @@ Pod::Spec.new do |s| 'src/core/lib/support/thd_internal.h', 'src/core/lib/support/time_precise.h', 'src/core/lib/support/tmpfile.h', - 'src/core/ext/transport/chttp2/transport/alpn.h', - 'src/core/ext/transport/chttp2/transport/bin_encoder.h', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.h', - 'src/core/ext/transport/chttp2/transport/frame.h', - 'src/core/ext/transport/chttp2/transport/frame_data.h', - 'src/core/ext/transport/chttp2/transport/frame_goaway.h', - 'src/core/ext/transport/chttp2/transport/frame_ping.h', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.h', - 'src/core/ext/transport/chttp2/transport/frame_settings.h', - 'src/core/ext/transport/chttp2/transport/frame_window_update.h', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.h', - 'src/core/ext/transport/chttp2/transport/hpack_parser.h', - 'src/core/ext/transport/chttp2/transport/hpack_table.h', - 'src/core/ext/transport/chttp2/transport/http2_errors.h', - 'src/core/ext/transport/chttp2/transport/huffsyms.h', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.h', - 'src/core/ext/transport/chttp2/transport/internal.h', - 'src/core/ext/transport/chttp2/transport/status_conversion.h', - 'src/core/ext/transport/chttp2/transport/stream_map.h', - 'src/core/ext/transport/chttp2/transport/timeout_encoding.h', - 'src/core/ext/transport/chttp2/transport/varint.h', - 'src/core/lib/census/aggregation.h', - 'src/core/lib/census/grpc_filter.h', - 'src/core/lib/census/grpc_plugin.h', - 'src/core/lib/census/mlog.h', - 'src/core/lib/census/rpc_metric_id.h', 'src/core/lib/channel/channel_args.h', 'src/core/lib/channel/channel_stack.h', 'src/core/lib/channel/channel_stack_builder.h', - 'src/core/lib/channel/client_channel.h', 'src/core/lib/channel/compress_filter.h', 'src/core/lib/channel/connected_channel.h', 'src/core/lib/channel/context.h', 'src/core/lib/channel/http_client_filter.h', 'src/core/lib/channel/http_server_filter.h', - 'src/core/lib/channel/subchannel_call_holder.h', - 'src/core/lib/client_config/client_config.h', - 'src/core/lib/client_config/connector.h', - 'src/core/lib/client_config/initial_connect_string.h', - 'src/core/lib/client_config/lb_policies/load_balancer_api.h', - 'src/core/lib/client_config/lb_policies/pick_first.h', - 'src/core/lib/client_config/lb_policies/round_robin.h', - 'src/core/lib/client_config/lb_policy.h', - 'src/core/lib/client_config/lb_policy_factory.h', - 'src/core/lib/client_config/lb_policy_registry.h', - 'src/core/lib/client_config/resolver.h', - 'src/core/lib/client_config/resolver_factory.h', - 'src/core/lib/client_config/resolver_registry.h', - 'src/core/lib/client_config/resolvers/dns_resolver.h', - 'src/core/lib/client_config/resolvers/sockaddr_resolver.h', - 'src/core/lib/client_config/subchannel.h', - 'src/core/lib/client_config/subchannel_factory.h', - 'src/core/lib/client_config/subchannel_index.h', - 'src/core/lib/client_config/uri_parser.h', 'src/core/lib/compression/algorithm_metadata.h', 'src/core/lib/compression/message_compress.h', 'src/core/lib/debug/trace.h', @@ -555,17 +517,16 @@ Pod::Spec.new do |s| 'src/core/lib/iomgr/closure.h', 'src/core/lib/iomgr/endpoint.h', 'src/core/lib/iomgr/endpoint_pair.h', + 'src/core/lib/iomgr/ev_poll_and_epoll_posix.h', + 'src/core/lib/iomgr/ev_posix.h', 'src/core/lib/iomgr/exec_ctx.h', 'src/core/lib/iomgr/executor.h', - 'src/core/lib/iomgr/fd_posix.h', 'src/core/lib/iomgr/iocp_windows.h', 'src/core/lib/iomgr/iomgr.h', 'src/core/lib/iomgr/iomgr_internal.h', 'src/core/lib/iomgr/iomgr_posix.h', 'src/core/lib/iomgr/pollset.h', - 'src/core/lib/iomgr/pollset_posix.h', 'src/core/lib/iomgr/pollset_set.h', - 'src/core/lib/iomgr/pollset_set_posix.h', 'src/core/lib/iomgr/pollset_set_windows.h', 'src/core/lib/iomgr/pollset_windows.h', 'src/core/lib/iomgr/resolve_address.h', @@ -593,18 +554,6 @@ Pod::Spec.new do |s| 'src/core/lib/json/json_common.h', 'src/core/lib/json/json_reader.h', 'src/core/lib/json/json_writer.h', - 'src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h', - 'src/core/lib/security/auth_filters.h', - 'src/core/lib/security/b64.h', - 'src/core/lib/security/credentials.h', - 'src/core/lib/security/handshake.h', - 'src/core/lib/security/json_token.h', - 'src/core/lib/security/jwt_verifier.h', - 'src/core/lib/security/secure_endpoint.h', - 'src/core/lib/security/security_connector.h', - 'src/core/lib/security/security_context.h', - 'src/core/lib/statistics/census_interface.h', - 'src/core/lib/statistics/census_rpc_stats.h', 'src/core/lib/surface/api_trace.h', 'src/core/lib/surface/call.h', 'src/core/lib/surface/call_test_only.h', @@ -624,15 +573,68 @@ Pod::Spec.new do |s| 'src/core/lib/transport/static_metadata.h', 'src/core/lib/transport/transport.h', 'src/core/lib/transport/transport_impl.h', + 'src/core/ext/transport/chttp2/transport/bin_encoder.h', + 'src/core/ext/transport/chttp2/transport/chttp2_transport.h', + 'src/core/ext/transport/chttp2/transport/frame.h', + 'src/core/ext/transport/chttp2/transport/frame_data.h', + 'src/core/ext/transport/chttp2/transport/frame_goaway.h', + 'src/core/ext/transport/chttp2/transport/frame_ping.h', + 'src/core/ext/transport/chttp2/transport/frame_rst_stream.h', + 'src/core/ext/transport/chttp2/transport/frame_settings.h', + 'src/core/ext/transport/chttp2/transport/frame_window_update.h', + 'src/core/ext/transport/chttp2/transport/hpack_encoder.h', + 'src/core/ext/transport/chttp2/transport/hpack_parser.h', + 'src/core/ext/transport/chttp2/transport/hpack_table.h', + 'src/core/ext/transport/chttp2/transport/http2_errors.h', + 'src/core/ext/transport/chttp2/transport/huffsyms.h', + 'src/core/ext/transport/chttp2/transport/incoming_metadata.h', + 'src/core/ext/transport/chttp2/transport/internal.h', + 'src/core/ext/transport/chttp2/transport/status_conversion.h', + 'src/core/ext/transport/chttp2/transport/stream_map.h', + 'src/core/ext/transport/chttp2/transport/timeout_encoding.h', + 'src/core/ext/transport/chttp2/transport/varint.h', + 'src/core/ext/transport/chttp2/alpn/alpn.h', + 'src/core/lib/security/auth_filters.h', + 'src/core/lib/security/b64.h', + 'src/core/lib/security/credentials.h', + 'src/core/lib/security/handshake.h', + 'src/core/lib/security/json_token.h', + 'src/core/lib/security/jwt_verifier.h', + 'src/core/lib/security/secure_endpoint.h', + 'src/core/lib/security/security_connector.h', + 'src/core/lib/security/security_context.h', 'src/core/lib/tsi/fake_transport_security.h', 'src/core/lib/tsi/ssl_transport_security.h', 'src/core/lib/tsi/ssl_types.h', 'src/core/lib/tsi/transport_security.h', 'src/core/lib/tsi/transport_security_interface.h', + 'src/core/ext/client_config/client_channel.h', + 'src/core/ext/client_config/client_channel_factory.h', + 'src/core/ext/client_config/client_config.h', + 'src/core/ext/client_config/connector.h', + 'src/core/ext/client_config/initial_connect_string.h', + 'src/core/ext/client_config/lb_policy.h', + 'src/core/ext/client_config/lb_policy_factory.h', + 'src/core/ext/client_config/lb_policy_registry.h', + 'src/core/ext/client_config/resolver.h', + 'src/core/ext/client_config/resolver_factory.h', + 'src/core/ext/client_config/resolver_registry.h', + 'src/core/ext/client_config/subchannel.h', + 'src/core/ext/client_config/subchannel_call_holder.h', + 'src/core/ext/client_config/subchannel_index.h', + 'src/core/ext/client_config/uri_parser.h', + 'src/core/ext/lb_policy/grpclb/load_balancer_api.h', + 'src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h', 'third_party/nanopb/pb.h', 'third_party/nanopb/pb_common.h', 'third_party/nanopb/pb_decode.h', - 'third_party/nanopb/pb_encode.h' + 'third_party/nanopb/pb_encode.h', + 'src/core/ext/census/aggregation.h', + 'src/core/ext/census/census_interface.h', + 'src/core/ext/census/census_rpc_stats.h', + 'src/core/ext/census/grpc_filter.h', + 'src/core/ext/census/mlog.h', + 'src/core/ext/census/rpc_metric_id.h' ss.header_mappings_dir = '.' # This isn't officially supported in Cocoapods. We've asked for an alternative: diff --git a/grpc.gemspec b/grpc.gemspec index c516f5278f22a9c10782f60552f61655a2e8a613..b05f238c43ea3267032202483de9688ff4da421d 100755 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -46,20 +46,6 @@ Gem::Specification.new do |s| s.extensions = %w(src/ruby/ext/grpc/extconf.rb) - s.files += %w( include/grpc/impl/codegen/alloc.h ) - s.files += %w( include/grpc/impl/codegen/atm.h ) - s.files += %w( include/grpc/impl/codegen/atm_gcc_atomic.h ) - s.files += %w( include/grpc/impl/codegen/atm_gcc_sync.h ) - s.files += %w( include/grpc/impl/codegen/atm_win32.h ) - s.files += %w( include/grpc/impl/codegen/log.h ) - s.files += %w( include/grpc/impl/codegen/port_platform.h ) - s.files += %w( include/grpc/impl/codegen/slice.h ) - s.files += %w( include/grpc/impl/codegen/slice_buffer.h ) - s.files += %w( include/grpc/impl/codegen/sync.h ) - s.files += %w( include/grpc/impl/codegen/sync_generic.h ) - s.files += %w( include/grpc/impl/codegen/sync_posix.h ) - s.files += %w( include/grpc/impl/codegen/sync_win32.h ) - s.files += %w( include/grpc/impl/codegen/time.h ) s.files += %w( include/grpc/support/alloc.h ) s.files += %w( include/grpc/support/atm.h ) s.files += %w( include/grpc/support/atm_gcc_atomic.h ) @@ -88,6 +74,20 @@ Gem::Specification.new do |s| s.files += %w( include/grpc/support/tls_msvc.h ) s.files += %w( include/grpc/support/tls_pthread.h ) s.files += %w( include/grpc/support/useful.h ) + s.files += %w( include/grpc/impl/codegen/alloc.h ) + s.files += %w( include/grpc/impl/codegen/atm.h ) + s.files += %w( include/grpc/impl/codegen/atm_gcc_atomic.h ) + s.files += %w( include/grpc/impl/codegen/atm_gcc_sync.h ) + s.files += %w( include/grpc/impl/codegen/atm_win32.h ) + s.files += %w( include/grpc/impl/codegen/log.h ) + s.files += %w( include/grpc/impl/codegen/port_platform.h ) + s.files += %w( include/grpc/impl/codegen/slice.h ) + s.files += %w( include/grpc/impl/codegen/slice_buffer.h ) + s.files += %w( include/grpc/impl/codegen/sync.h ) + s.files += %w( include/grpc/impl/codegen/sync_generic.h ) + s.files += %w( include/grpc/impl/codegen/sync_posix.h ) + s.files += %w( include/grpc/impl/codegen/sync_win32.h ) + s.files += %w( include/grpc/impl/codegen/time.h ) s.files += %w( src/core/lib/profiling/timers.h ) s.files += %w( src/core/lib/support/backoff.h ) s.files += %w( src/core/lib/support/block_annotate.h ) @@ -146,71 +146,39 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/support/wrap_memcpy.c ) s.files += %w( include/grpc/byte_buffer.h ) s.files += %w( include/grpc/byte_buffer_reader.h ) - s.files += %w( include/grpc/census.h ) s.files += %w( include/grpc/compression.h ) s.files += %w( include/grpc/grpc.h ) - s.files += %w( include/grpc/grpc_security.h ) + s.files += %w( include/grpc/status.h ) s.files += %w( include/grpc/impl/codegen/byte_buffer.h ) s.files += %w( include/grpc/impl/codegen/compression_types.h ) s.files += %w( include/grpc/impl/codegen/connectivity_state.h ) s.files += %w( include/grpc/impl/codegen/grpc_types.h ) s.files += %w( include/grpc/impl/codegen/propagation_bits.h ) s.files += %w( include/grpc/impl/codegen/status.h ) - s.files += %w( include/grpc/status.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/alpn.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/bin_encoder.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/chttp2_transport.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_data.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_goaway.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_ping.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_rst_stream.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_settings.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_window_update.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/hpack_encoder.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/hpack_parser.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/hpack_table.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/http2_errors.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/huffsyms.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/incoming_metadata.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/internal.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/status_conversion.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/stream_map.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/timeout_encoding.h ) - s.files += %w( src/core/ext/transport/chttp2/transport/varint.h ) - s.files += %w( src/core/lib/census/aggregation.h ) - s.files += %w( src/core/lib/census/grpc_filter.h ) - s.files += %w( src/core/lib/census/grpc_plugin.h ) - s.files += %w( src/core/lib/census/mlog.h ) - s.files += %w( src/core/lib/census/rpc_metric_id.h ) + s.files += %w( include/grpc/impl/codegen/alloc.h ) + s.files += %w( include/grpc/impl/codegen/atm.h ) + s.files += %w( include/grpc/impl/codegen/atm_gcc_atomic.h ) + s.files += %w( include/grpc/impl/codegen/atm_gcc_sync.h ) + s.files += %w( include/grpc/impl/codegen/atm_win32.h ) + s.files += %w( include/grpc/impl/codegen/log.h ) + s.files += %w( include/grpc/impl/codegen/port_platform.h ) + s.files += %w( include/grpc/impl/codegen/slice.h ) + s.files += %w( include/grpc/impl/codegen/slice_buffer.h ) + s.files += %w( include/grpc/impl/codegen/sync.h ) + s.files += %w( include/grpc/impl/codegen/sync_generic.h ) + s.files += %w( include/grpc/impl/codegen/sync_posix.h ) + s.files += %w( include/grpc/impl/codegen/sync_win32.h ) + s.files += %w( include/grpc/impl/codegen/time.h ) + s.files += %w( include/grpc/grpc_security.h ) + s.files += %w( include/grpc/census.h ) s.files += %w( src/core/lib/channel/channel_args.h ) s.files += %w( src/core/lib/channel/channel_stack.h ) s.files += %w( src/core/lib/channel/channel_stack_builder.h ) - s.files += %w( src/core/lib/channel/client_channel.h ) s.files += %w( src/core/lib/channel/compress_filter.h ) s.files += %w( src/core/lib/channel/connected_channel.h ) s.files += %w( src/core/lib/channel/context.h ) s.files += %w( src/core/lib/channel/http_client_filter.h ) s.files += %w( src/core/lib/channel/http_server_filter.h ) - s.files += %w( src/core/lib/channel/subchannel_call_holder.h ) - s.files += %w( src/core/lib/client_config/client_config.h ) - s.files += %w( src/core/lib/client_config/connector.h ) - s.files += %w( src/core/lib/client_config/initial_connect_string.h ) - s.files += %w( src/core/lib/client_config/lb_policies/load_balancer_api.h ) - s.files += %w( src/core/lib/client_config/lb_policies/pick_first.h ) - s.files += %w( src/core/lib/client_config/lb_policies/round_robin.h ) - s.files += %w( src/core/lib/client_config/lb_policy.h ) - s.files += %w( src/core/lib/client_config/lb_policy_factory.h ) - s.files += %w( src/core/lib/client_config/lb_policy_registry.h ) - s.files += %w( src/core/lib/client_config/resolver.h ) - s.files += %w( src/core/lib/client_config/resolver_factory.h ) - s.files += %w( src/core/lib/client_config/resolver_registry.h ) - s.files += %w( src/core/lib/client_config/resolvers/dns_resolver.h ) - s.files += %w( src/core/lib/client_config/resolvers/sockaddr_resolver.h ) - s.files += %w( src/core/lib/client_config/subchannel.h ) - s.files += %w( src/core/lib/client_config/subchannel_factory.h ) - s.files += %w( src/core/lib/client_config/subchannel_index.h ) - s.files += %w( src/core/lib/client_config/uri_parser.h ) s.files += %w( src/core/lib/compression/algorithm_metadata.h ) s.files += %w( src/core/lib/compression/message_compress.h ) s.files += %w( src/core/lib/debug/trace.h ) @@ -220,17 +188,16 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/iomgr/closure.h ) s.files += %w( src/core/lib/iomgr/endpoint.h ) s.files += %w( src/core/lib/iomgr/endpoint_pair.h ) + s.files += %w( src/core/lib/iomgr/ev_poll_and_epoll_posix.h ) + s.files += %w( src/core/lib/iomgr/ev_posix.h ) s.files += %w( src/core/lib/iomgr/exec_ctx.h ) s.files += %w( src/core/lib/iomgr/executor.h ) - s.files += %w( src/core/lib/iomgr/fd_posix.h ) s.files += %w( src/core/lib/iomgr/iocp_windows.h ) s.files += %w( src/core/lib/iomgr/iomgr.h ) s.files += %w( src/core/lib/iomgr/iomgr_internal.h ) s.files += %w( src/core/lib/iomgr/iomgr_posix.h ) s.files += %w( src/core/lib/iomgr/pollset.h ) - s.files += %w( src/core/lib/iomgr/pollset_posix.h ) s.files += %w( src/core/lib/iomgr/pollset_set.h ) - s.files += %w( src/core/lib/iomgr/pollset_set_posix.h ) s.files += %w( src/core/lib/iomgr/pollset_set_windows.h ) s.files += %w( src/core/lib/iomgr/pollset_windows.h ) s.files += %w( src/core/lib/iomgr/resolve_address.h ) @@ -258,18 +225,6 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/json/json_common.h ) s.files += %w( src/core/lib/json/json_reader.h ) s.files += %w( src/core/lib/json/json_writer.h ) - s.files += %w( src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h ) - s.files += %w( src/core/lib/security/auth_filters.h ) - s.files += %w( src/core/lib/security/b64.h ) - s.files += %w( src/core/lib/security/credentials.h ) - s.files += %w( src/core/lib/security/handshake.h ) - s.files += %w( src/core/lib/security/json_token.h ) - s.files += %w( src/core/lib/security/jwt_verifier.h ) - s.files += %w( src/core/lib/security/secure_endpoint.h ) - s.files += %w( src/core/lib/security/security_connector.h ) - s.files += %w( src/core/lib/security/security_context.h ) - s.files += %w( src/core/lib/statistics/census_interface.h ) - s.files += %w( src/core/lib/statistics/census_rpc_stats.h ) s.files += %w( src/core/lib/surface/api_trace.h ) s.files += %w( src/core/lib/surface/call.h ) s.files += %w( src/core/lib/surface/call_test_only.h ) @@ -289,99 +244,93 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/transport/static_metadata.h ) s.files += %w( src/core/lib/transport/transport.h ) s.files += %w( src/core/lib/transport/transport_impl.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/bin_encoder.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/chttp2_transport.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_data.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_goaway.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_ping.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_rst_stream.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_settings.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_window_update.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/hpack_encoder.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/hpack_parser.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/hpack_table.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/http2_errors.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/huffsyms.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/incoming_metadata.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/internal.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/status_conversion.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/stream_map.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/timeout_encoding.h ) + s.files += %w( src/core/ext/transport/chttp2/transport/varint.h ) + s.files += %w( src/core/ext/transport/chttp2/alpn/alpn.h ) + s.files += %w( src/core/lib/security/auth_filters.h ) + s.files += %w( src/core/lib/security/b64.h ) + s.files += %w( src/core/lib/security/credentials.h ) + s.files += %w( src/core/lib/security/handshake.h ) + s.files += %w( src/core/lib/security/json_token.h ) + s.files += %w( src/core/lib/security/jwt_verifier.h ) + s.files += %w( src/core/lib/security/secure_endpoint.h ) + s.files += %w( src/core/lib/security/security_connector.h ) + s.files += %w( src/core/lib/security/security_context.h ) s.files += %w( src/core/lib/tsi/fake_transport_security.h ) s.files += %w( src/core/lib/tsi/ssl_transport_security.h ) s.files += %w( src/core/lib/tsi/ssl_types.h ) s.files += %w( src/core/lib/tsi/transport_security.h ) s.files += %w( src/core/lib/tsi/transport_security_interface.h ) + s.files += %w( src/core/ext/client_config/client_channel.h ) + s.files += %w( src/core/ext/client_config/client_channel_factory.h ) + s.files += %w( src/core/ext/client_config/client_config.h ) + s.files += %w( src/core/ext/client_config/connector.h ) + s.files += %w( src/core/ext/client_config/initial_connect_string.h ) + s.files += %w( src/core/ext/client_config/lb_policy.h ) + s.files += %w( src/core/ext/client_config/lb_policy_factory.h ) + s.files += %w( src/core/ext/client_config/lb_policy_registry.h ) + s.files += %w( src/core/ext/client_config/resolver.h ) + s.files += %w( src/core/ext/client_config/resolver_factory.h ) + s.files += %w( src/core/ext/client_config/resolver_registry.h ) + s.files += %w( src/core/ext/client_config/subchannel.h ) + s.files += %w( src/core/ext/client_config/subchannel_call_holder.h ) + s.files += %w( src/core/ext/client_config/subchannel_index.h ) + s.files += %w( src/core/ext/client_config/uri_parser.h ) + s.files += %w( src/core/ext/lb_policy/grpclb/load_balancer_api.h ) + s.files += %w( src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h ) s.files += %w( third_party/nanopb/pb.h ) s.files += %w( third_party/nanopb/pb_common.h ) s.files += %w( third_party/nanopb/pb_decode.h ) s.files += %w( third_party/nanopb/pb_encode.h ) - s.files += %w( src/core/ext/transport/chttp2/client/insecure/channel_create.c ) - s.files += %w( src/core/ext/transport/chttp2/client/secure/secure_channel_create.c ) - s.files += %w( src/core/ext/transport/chttp2/server/insecure/server_chttp2.c ) - s.files += %w( src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/alpn.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/bin_encoder.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/chttp2_transport.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_data.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_goaway.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_ping.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_rst_stream.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_settings.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/frame_window_update.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/hpack_encoder.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/hpack_parser.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/hpack_table.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/huffsyms.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/incoming_metadata.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/parsing.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/status_conversion.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/stream_lists.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/stream_map.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/timeout_encoding.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/varint.c ) - s.files += %w( src/core/ext/transport/chttp2/transport/writing.c ) - s.files += %w( src/core/lib/census/context.c ) - s.files += %w( src/core/lib/census/grpc_context.c ) - s.files += %w( src/core/lib/census/grpc_filter.c ) - s.files += %w( src/core/lib/census/grpc_plugin.c ) - s.files += %w( src/core/lib/census/initialize.c ) - s.files += %w( src/core/lib/census/mlog.c ) - s.files += %w( src/core/lib/census/operation.c ) - s.files += %w( src/core/lib/census/placeholders.c ) - s.files += %w( src/core/lib/census/tracing.c ) + s.files += %w( src/core/ext/census/aggregation.h ) + s.files += %w( src/core/ext/census/census_interface.h ) + s.files += %w( src/core/ext/census/census_rpc_stats.h ) + s.files += %w( src/core/ext/census/grpc_filter.h ) + s.files += %w( src/core/ext/census/mlog.h ) + s.files += %w( src/core/ext/census/rpc_metric_id.h ) s.files += %w( src/core/lib/channel/channel_args.c ) s.files += %w( src/core/lib/channel/channel_stack.c ) s.files += %w( src/core/lib/channel/channel_stack_builder.c ) - s.files += %w( src/core/lib/channel/client_channel.c ) s.files += %w( src/core/lib/channel/compress_filter.c ) s.files += %w( src/core/lib/channel/connected_channel.c ) s.files += %w( src/core/lib/channel/http_client_filter.c ) s.files += %w( src/core/lib/channel/http_server_filter.c ) - s.files += %w( src/core/lib/channel/subchannel_call_holder.c ) - s.files += %w( src/core/lib/client_config/client_config.c ) - s.files += %w( src/core/lib/client_config/connector.c ) - s.files += %w( src/core/lib/client_config/default_initial_connect_string.c ) - s.files += %w( src/core/lib/client_config/initial_connect_string.c ) - s.files += %w( src/core/lib/client_config/lb_policies/load_balancer_api.c ) - s.files += %w( src/core/lib/client_config/lb_policies/pick_first.c ) - s.files += %w( src/core/lib/client_config/lb_policies/round_robin.c ) - s.files += %w( src/core/lib/client_config/lb_policy.c ) - s.files += %w( src/core/lib/client_config/lb_policy_factory.c ) - s.files += %w( src/core/lib/client_config/lb_policy_registry.c ) - s.files += %w( src/core/lib/client_config/resolver.c ) - s.files += %w( src/core/lib/client_config/resolver_factory.c ) - s.files += %w( src/core/lib/client_config/resolver_registry.c ) - s.files += %w( src/core/lib/client_config/resolvers/dns_resolver.c ) - s.files += %w( src/core/lib/client_config/resolvers/sockaddr_resolver.c ) - s.files += %w( src/core/lib/client_config/subchannel.c ) - s.files += %w( src/core/lib/client_config/subchannel_factory.c ) - s.files += %w( src/core/lib/client_config/subchannel_index.c ) - s.files += %w( src/core/lib/client_config/uri_parser.c ) s.files += %w( src/core/lib/compression/compression_algorithm.c ) s.files += %w( src/core/lib/compression/message_compress.c ) s.files += %w( src/core/lib/debug/trace.c ) s.files += %w( src/core/lib/http/format_request.c ) s.files += %w( src/core/lib/http/httpcli.c ) - s.files += %w( src/core/lib/http/httpcli_security_connector.c ) s.files += %w( src/core/lib/http/parser.c ) s.files += %w( src/core/lib/iomgr/closure.c ) s.files += %w( src/core/lib/iomgr/endpoint.c ) s.files += %w( src/core/lib/iomgr/endpoint_pair_posix.c ) s.files += %w( src/core/lib/iomgr/endpoint_pair_windows.c ) + s.files += %w( src/core/lib/iomgr/ev_poll_and_epoll_posix.c ) + s.files += %w( src/core/lib/iomgr/ev_posix.c ) s.files += %w( src/core/lib/iomgr/exec_ctx.c ) s.files += %w( src/core/lib/iomgr/executor.c ) - s.files += %w( src/core/lib/iomgr/fd_posix.c ) s.files += %w( src/core/lib/iomgr/iocp_windows.c ) s.files += %w( src/core/lib/iomgr/iomgr.c ) s.files += %w( src/core/lib/iomgr/iomgr_posix.c ) s.files += %w( src/core/lib/iomgr/iomgr_windows.c ) - s.files += %w( src/core/lib/iomgr/pollset_multipoller_with_epoll.c ) - s.files += %w( src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c ) - s.files += %w( src/core/lib/iomgr/pollset_posix.c ) - s.files += %w( src/core/lib/iomgr/pollset_set_posix.c ) s.files += %w( src/core/lib/iomgr/pollset_set_windows.c ) s.files += %w( src/core/lib/iomgr/pollset_windows.c ) s.files += %w( src/core/lib/iomgr/resolve_address_posix.c ) @@ -413,21 +362,6 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/json/json_reader.c ) s.files += %w( src/core/lib/json/json_string.c ) s.files += %w( src/core/lib/json/json_writer.c ) - s.files += %w( src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c ) - s.files += %w( src/core/lib/security/b64.c ) - s.files += %w( src/core/lib/security/client_auth_filter.c ) - s.files += %w( src/core/lib/security/credentials.c ) - s.files += %w( src/core/lib/security/credentials_metadata.c ) - s.files += %w( src/core/lib/security/credentials_posix.c ) - s.files += %w( src/core/lib/security/credentials_win32.c ) - s.files += %w( src/core/lib/security/google_default_credentials.c ) - s.files += %w( src/core/lib/security/handshake.c ) - s.files += %w( src/core/lib/security/json_token.c ) - s.files += %w( src/core/lib/security/jwt_verifier.c ) - s.files += %w( src/core/lib/security/secure_endpoint.c ) - s.files += %w( src/core/lib/security/security_connector.c ) - s.files += %w( src/core/lib/security/security_context.c ) - s.files += %w( src/core/lib/security/server_auth_filter.c ) s.files += %w( src/core/lib/surface/alarm.c ) s.files += %w( src/core/lib/surface/api_trace.c ) s.files += %w( src/core/lib/surface/byte_buffer.c ) @@ -436,14 +370,12 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/surface/call_details.c ) s.files += %w( src/core/lib/surface/call_log_batch.c ) s.files += %w( src/core/lib/surface/channel.c ) - s.files += %w( src/core/lib/surface/channel_connectivity.c ) s.files += %w( src/core/lib/surface/channel_init.c ) s.files += %w( src/core/lib/surface/channel_ping.c ) s.files += %w( src/core/lib/surface/channel_stack_type.c ) s.files += %w( src/core/lib/surface/completion_queue.c ) s.files += %w( src/core/lib/surface/event_string.c ) s.files += %w( src/core/lib/surface/init.c ) - s.files += %w( src/core/lib/surface/init_secure.c ) s.files += %w( src/core/lib/surface/lame_client.c ) s.files += %w( src/core/lib/surface/metadata_array.c ) s.files += %w( src/core/lib/surface/server.c ) @@ -456,12 +388,88 @@ Gem::Specification.new do |s| s.files += %w( src/core/lib/transport/static_metadata.c ) s.files += %w( src/core/lib/transport/transport.c ) s.files += %w( src/core/lib/transport/transport_op_string.c ) + s.files += %w( src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/bin_encoder.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/chttp2_plugin.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/chttp2_transport.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_data.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_goaway.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_ping.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_rst_stream.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_settings.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/frame_window_update.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/hpack_encoder.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/hpack_parser.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/hpack_table.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/huffsyms.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/incoming_metadata.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/parsing.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/status_conversion.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/stream_lists.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/stream_map.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/timeout_encoding.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/varint.c ) + s.files += %w( src/core/ext/transport/chttp2/transport/writing.c ) + s.files += %w( src/core/ext/transport/chttp2/alpn/alpn.c ) + s.files += %w( src/core/lib/http/httpcli_security_connector.c ) + s.files += %w( src/core/lib/security/b64.c ) + s.files += %w( src/core/lib/security/client_auth_filter.c ) + s.files += %w( src/core/lib/security/credentials.c ) + s.files += %w( src/core/lib/security/credentials_metadata.c ) + s.files += %w( src/core/lib/security/credentials_posix.c ) + s.files += %w( src/core/lib/security/credentials_win32.c ) + s.files += %w( src/core/lib/security/google_default_credentials.c ) + s.files += %w( src/core/lib/security/handshake.c ) + s.files += %w( src/core/lib/security/json_token.c ) + s.files += %w( src/core/lib/security/jwt_verifier.c ) + s.files += %w( src/core/lib/security/secure_endpoint.c ) + s.files += %w( src/core/lib/security/security_connector.c ) + s.files += %w( src/core/lib/security/security_context.c ) + s.files += %w( src/core/lib/security/server_auth_filter.c ) + s.files += %w( src/core/lib/surface/init_secure.c ) s.files += %w( src/core/lib/tsi/fake_transport_security.c ) s.files += %w( src/core/lib/tsi/ssl_transport_security.c ) s.files += %w( src/core/lib/tsi/transport_security.c ) + s.files += %w( src/core/ext/transport/chttp2/client/secure/secure_channel_create.c ) + s.files += %w( src/core/ext/client_config/channel_connectivity.c ) + s.files += %w( src/core/ext/client_config/client_channel.c ) + s.files += %w( src/core/ext/client_config/client_channel_factory.c ) + s.files += %w( src/core/ext/client_config/client_config.c ) + s.files += %w( src/core/ext/client_config/client_config_plugin.c ) + s.files += %w( src/core/ext/client_config/connector.c ) + s.files += %w( src/core/ext/client_config/default_initial_connect_string.c ) + s.files += %w( src/core/ext/client_config/initial_connect_string.c ) + s.files += %w( src/core/ext/client_config/lb_policy.c ) + s.files += %w( src/core/ext/client_config/lb_policy_factory.c ) + s.files += %w( src/core/ext/client_config/lb_policy_registry.c ) + s.files += %w( src/core/ext/client_config/resolver.c ) + s.files += %w( src/core/ext/client_config/resolver_factory.c ) + s.files += %w( src/core/ext/client_config/resolver_registry.c ) + s.files += %w( src/core/ext/client_config/subchannel.c ) + s.files += %w( src/core/ext/client_config/subchannel_call_holder.c ) + s.files += %w( src/core/ext/client_config/subchannel_index.c ) + s.files += %w( src/core/ext/client_config/uri_parser.c ) + s.files += %w( src/core/ext/transport/chttp2/server/insecure/server_chttp2.c ) + s.files += %w( src/core/ext/transport/chttp2/client/insecure/channel_create.c ) + s.files += %w( src/core/ext/lb_policy/grpclb/load_balancer_api.c ) + s.files += %w( src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c ) s.files += %w( third_party/nanopb/pb_common.c ) s.files += %w( third_party/nanopb/pb_decode.c ) s.files += %w( third_party/nanopb/pb_encode.c ) + s.files += %w( src/core/ext/lb_policy/pick_first/pick_first.c ) + s.files += %w( src/core/ext/lb_policy/round_robin/round_robin.c ) + s.files += %w( src/core/ext/resolver/dns/native/dns_resolver.c ) + s.files += %w( src/core/ext/resolver/sockaddr/sockaddr_resolver.c ) + s.files += %w( src/core/ext/census/context.c ) + s.files += %w( src/core/ext/census/grpc_context.c ) + s.files += %w( src/core/ext/census/grpc_filter.c ) + s.files += %w( src/core/ext/census/grpc_plugin.c ) + s.files += %w( src/core/ext/census/initialize.c ) + s.files += %w( src/core/ext/census/mlog.c ) + s.files += %w( src/core/ext/census/operation.c ) + s.files += %w( src/core/ext/census/placeholders.c ) + s.files += %w( src/core/ext/census/tracing.c ) + s.files += %w( src/core/plugin_registry/grpc_plugin_registry.c ) s.files += %w( third_party/boringssl/crypto/aes/internal.h ) s.files += %w( third_party/boringssl/crypto/asn1/asn1_locl.h ) s.files += %w( third_party/boringssl/crypto/bio/internal.h ) diff --git a/include/grpc++/alarm.h b/include/grpc++/alarm.h index 764837a958908845a8ce882d8bf1ca84e891d7e2..1470fe8d97bac58ec35a039d4568c2b655c3494b 100644 --- a/include/grpc++/alarm.h +++ b/include/grpc++/alarm.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/channel.h b/include/grpc++/channel.h index 679d473204d62a24d82d96843932dbfa616f6805..c535d57bffba5f3943be5b1badb18ad18ace3ea9 100644 --- a/include/grpc++/channel.h +++ b/include/grpc++/channel.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/client_context.h b/include/grpc++/client_context.h index 3fbe6d1be80a6163dd47823e563f05c8cc2bdf6c..38bee830e25ac88be4961c9e454f4fedf18e5655 100644 --- a/include/grpc++/client_context.h +++ b/include/grpc++/client_context.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/completion_queue.h b/include/grpc++/completion_queue.h index f53f5ee56c0e16f4e70465215652c21dce180b95..2a5a18bee08d5294590ab0c2aaf0d566bb252762 100644 --- a/include/grpc++/completion_queue.h +++ b/include/grpc++/completion_queue.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/create_channel.h b/include/grpc++/create_channel.h index 80eed067b7dd55e5cf4dd58db6531444318dd585..e9ccb5150396929bf7fa427fada3dab1f03c2e53 100644 --- a/include/grpc++/create_channel.h +++ b/include/grpc++/create_channel.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/generic/async_generic_service.h b/include/grpc++/generic/async_generic_service.h index b87b17ee0deabc185c5c7a8348d70ead0fef2f60..24bae5214522e20edfd6006204661434af388274 100644 --- a/include/grpc++/generic/async_generic_service.h +++ b/include/grpc++/generic/async_generic_service.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/generic/generic_stub.h b/include/grpc++/generic/generic_stub.h index 5ac0371efb72d9db6e499b26748182af5d08a98b..d27deae33a54be60d3a3b549564918deeed09eb0 100644 --- a/include/grpc++/generic/generic_stub.h +++ b/include/grpc++/generic/generic_stub.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/call.h b/include/grpc++/impl/call.h index 64b6563574d56196ea40d6e457a042effac928aa..882710babbe88b87cace99321f97c5b89c6d5d53 100644 --- a/include/grpc++/impl/call.h +++ b/include/grpc++/impl/call.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/client_unary_call.h b/include/grpc++/impl/client_unary_call.h index abe321eaccd718f3f02b16296f9881838cddd5e0..ea42674e55b5eff91a27e28b3bc15cf53c441705 100644 --- a/include/grpc++/impl/client_unary_call.h +++ b/include/grpc++/impl/client_unary_call.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/async_stream.h b/include/grpc++/impl/codegen/async_stream.h index cac345e0dc4f128b00073abf7f96e4cd0b0c009f..a607a4710605f1028e4e7a17cdf67b49411979bc 100644 --- a/include/grpc++/impl/codegen/async_stream.h +++ b/include/grpc++/impl/codegen/async_stream.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -108,7 +108,8 @@ class ClientAsyncReader GRPC_FINAL : public ClientAsyncReaderInterface<R> { const W& request, void* tag) : context_(context), call_(channel->CreateCall(method, context, cq)) { init_ops_.set_output_tag(tag); - init_ops_.SendInitialMetadata(context->send_initial_metadata_); + init_ops_.SendInitialMetadata(context->send_initial_metadata_, + context->initial_metadata_flags()); // TODO(ctiller): don't assert GPR_CODEGEN_ASSERT(init_ops_.SendMessage(request).ok()); init_ops_.ClientSendClose(); @@ -173,7 +174,8 @@ class ClientAsyncWriter GRPC_FINAL : public ClientAsyncWriterInterface<W> { finish_ops_.RecvMessage(response); init_ops_.set_output_tag(tag); - init_ops_.SendInitialMetadata(context->send_initial_metadata_); + init_ops_.SendInitialMetadata(context->send_initial_metadata_, + context->initial_metadata_flags()); call_.PerformOps(&init_ops_); } @@ -240,7 +242,8 @@ class ClientAsyncReaderWriter GRPC_FINAL void* tag) : context_(context), call_(channel->CreateCall(method, context, cq)) { init_ops_.set_output_tag(tag); - init_ops_.SendInitialMetadata(context->send_initial_metadata_); + init_ops_.SendInitialMetadata(context->send_initial_metadata_, + context->initial_metadata_flags()); call_.PerformOps(&init_ops_); } @@ -305,7 +308,8 @@ class ServerAsyncReader GRPC_FINAL : public ServerAsyncStreamingInterface, GPR_CODEGEN_ASSERT(!ctx_->sent_initial_metadata_); meta_ops_.set_output_tag(tag); - meta_ops_.SendInitialMetadata(ctx_->initial_metadata_); + meta_ops_.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; call_.PerformOps(&meta_ops_); } @@ -319,7 +323,8 @@ class ServerAsyncReader GRPC_FINAL : public ServerAsyncStreamingInterface, void Finish(const W& msg, const Status& status, void* tag) { finish_ops_.set_output_tag(tag); if (!ctx_->sent_initial_metadata_) { - finish_ops_.SendInitialMetadata(ctx_->initial_metadata_); + finish_ops_.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; } // The response is dropped if the status is not OK. @@ -336,7 +341,8 @@ class ServerAsyncReader GRPC_FINAL : public ServerAsyncStreamingInterface, GPR_CODEGEN_ASSERT(!status.ok()); finish_ops_.set_output_tag(tag); if (!ctx_->sent_initial_metadata_) { - finish_ops_.SendInitialMetadata(ctx_->initial_metadata_); + finish_ops_.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; } finish_ops_.ServerSendStatus(ctx_->trailing_metadata_, status); @@ -366,7 +372,8 @@ class ServerAsyncWriter GRPC_FINAL : public ServerAsyncStreamingInterface, GPR_CODEGEN_ASSERT(!ctx_->sent_initial_metadata_); meta_ops_.set_output_tag(tag); - meta_ops_.SendInitialMetadata(ctx_->initial_metadata_); + meta_ops_.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; call_.PerformOps(&meta_ops_); } @@ -374,7 +381,8 @@ class ServerAsyncWriter GRPC_FINAL : public ServerAsyncStreamingInterface, void Write(const W& msg, void* tag) GRPC_OVERRIDE { write_ops_.set_output_tag(tag); if (!ctx_->sent_initial_metadata_) { - write_ops_.SendInitialMetadata(ctx_->initial_metadata_); + write_ops_.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; } // TODO(ctiller): don't assert @@ -385,7 +393,8 @@ class ServerAsyncWriter GRPC_FINAL : public ServerAsyncStreamingInterface, void Finish(const Status& status, void* tag) { finish_ops_.set_output_tag(tag); if (!ctx_->sent_initial_metadata_) { - finish_ops_.SendInitialMetadata(ctx_->initial_metadata_); + finish_ops_.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; } finish_ops_.ServerSendStatus(ctx_->trailing_metadata_, status); @@ -415,7 +424,8 @@ class ServerAsyncReaderWriter GRPC_FINAL : public ServerAsyncStreamingInterface, GPR_CODEGEN_ASSERT(!ctx_->sent_initial_metadata_); meta_ops_.set_output_tag(tag); - meta_ops_.SendInitialMetadata(ctx_->initial_metadata_); + meta_ops_.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; call_.PerformOps(&meta_ops_); } @@ -429,7 +439,8 @@ class ServerAsyncReaderWriter GRPC_FINAL : public ServerAsyncStreamingInterface, void Write(const W& msg, void* tag) GRPC_OVERRIDE { write_ops_.set_output_tag(tag); if (!ctx_->sent_initial_metadata_) { - write_ops_.SendInitialMetadata(ctx_->initial_metadata_); + write_ops_.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; } // TODO(ctiller): don't assert @@ -440,7 +451,8 @@ class ServerAsyncReaderWriter GRPC_FINAL : public ServerAsyncStreamingInterface, void Finish(const Status& status, void* tag) { finish_ops_.set_output_tag(tag); if (!ctx_->sent_initial_metadata_) { - finish_ops_.SendInitialMetadata(ctx_->initial_metadata_); + finish_ops_.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; } finish_ops_.ServerSendStatus(ctx_->trailing_metadata_, status); diff --git a/include/grpc++/impl/codegen/async_unary_call.h b/include/grpc++/impl/codegen/async_unary_call.h index 1526debf545ba15bc7af663e72d658c8700c4b02..55c9788fbd4c754e3ff96c2cb95293f91e3f0b15 100644 --- a/include/grpc++/impl/codegen/async_unary_call.h +++ b/include/grpc++/impl/codegen/async_unary_call.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -67,7 +67,8 @@ class ClientAsyncResponseReader GRPC_FINAL call_(channel->CreateCall(method, context, cq)), collection_(new CallOpSetCollection) { collection_->init_buf_.SetCollection(collection_); - collection_->init_buf_.SendInitialMetadata(context->send_initial_metadata_); + collection_->init_buf_.SendInitialMetadata( + context->send_initial_metadata_, context->initial_metadata_flags()); // TODO(ctiller): don't assert GPR_CODEGEN_ASSERT(collection_->init_buf_.SendMessage(request).ok()); collection_->init_buf_.ClientSendClose(); @@ -122,7 +123,8 @@ class ServerAsyncResponseWriter GRPC_FINAL GPR_CODEGEN_ASSERT(!ctx_->sent_initial_metadata_); meta_buf_.set_output_tag(tag); - meta_buf_.SendInitialMetadata(ctx_->initial_metadata_); + meta_buf_.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; call_.PerformOps(&meta_buf_); } @@ -130,7 +132,8 @@ class ServerAsyncResponseWriter GRPC_FINAL void Finish(const W& msg, const Status& status, void* tag) { finish_buf_.set_output_tag(tag); if (!ctx_->sent_initial_metadata_) { - finish_buf_.SendInitialMetadata(ctx_->initial_metadata_); + finish_buf_.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; } // The response is dropped if the status is not OK. @@ -147,7 +150,8 @@ class ServerAsyncResponseWriter GRPC_FINAL GPR_CODEGEN_ASSERT(!status.ok()); finish_buf_.set_output_tag(tag); if (!ctx_->sent_initial_metadata_) { - finish_buf_.SendInitialMetadata(ctx_->initial_metadata_); + finish_buf_.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; } finish_buf_.ServerSendStatus(ctx_->trailing_metadata_, status); diff --git a/include/grpc++/impl/codegen/call.h b/include/grpc++/impl/codegen/call.h index 50f5a75191975dd6f6fcc5c22ddbb5635bb15993..aea1a6acec7b5e0cafc6357aa165b4a7cd6ce58e 100644 --- a/include/grpc++/impl/codegen/call.h +++ b/include/grpc++/impl/codegen/call.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -181,8 +181,10 @@ class CallOpSendInitialMetadata { CallOpSendInitialMetadata() : send_(false) {} void SendInitialMetadata( - const std::multimap<grpc::string, grpc::string>& metadata) { + const std::multimap<grpc::string, grpc::string>& metadata, + uint32_t flags) { send_ = true; + flags_ = flags; initial_metadata_count_ = metadata.size(); initial_metadata_ = FillMetadataArray(metadata); } @@ -192,7 +194,7 @@ class CallOpSendInitialMetadata { if (!send_) return; grpc_op* op = &ops[(*nops)++]; op->op = GRPC_OP_SEND_INITIAL_METADATA; - op->flags = 0; + op->flags = flags_; op->reserved = NULL; op->data.send_initial_metadata.count = initial_metadata_count_; op->data.send_initial_metadata.metadata = initial_metadata_; @@ -204,6 +206,7 @@ class CallOpSendInitialMetadata { } bool send_; + uint32_t flags_; size_t initial_metadata_count_; grpc_metadata* initial_metadata_; }; diff --git a/include/grpc++/impl/codegen/call_hook.h b/include/grpc++/impl/codegen/call_hook.h index 0b6027293a37a30572c54f9b5866ec62cbe6c362..6a8258233db54b94a42c2ba67bd0d077c12f3b7b 100644 --- a/include/grpc++/impl/codegen/call_hook.h +++ b/include/grpc++/impl/codegen/call_hook.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/client_context.h b/include/grpc++/impl/codegen/client_context.h index 271d464583fa6f86d5d55512692313bf23349a40..aed12767a7099de2e459be37129c791ee8918553 100644 --- a/include/grpc++/impl/codegen/client_context.h +++ b/include/grpc++/impl/codegen/client_context.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -221,6 +221,12 @@ class ClientContext { deadline_ = deadline_tp.raw_time(); } + /// EXPERIMENTAL: Set this request to be idempotent + void set_idempotent(bool idempotent) { idempotent_ = idempotent; } + + /// EXPERIMENTAL: Trigger fail-fast or not on this request + void set_fail_fast(bool fail_fast) { fail_fast_ = fail_fast; } + #ifndef GRPC_CXX0X_NO_CHRONO /// Return the deadline for the client call. std::chrono::system_clock::time_point deadline() { @@ -328,9 +334,16 @@ class ClientContext { grpc_call* call() { return call_; } void set_call(grpc_call* call, const std::shared_ptr<Channel>& channel); + uint32_t initial_metadata_flags() const { + return (idempotent_ ? GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST : 0) | + (fail_fast_ ? 0 : GRPC_INITIAL_METADATA_IGNORE_CONNECTIVITY); + } + grpc::string authority() { return authority_; } bool initial_metadata_received_; + bool fail_fast_; + bool idempotent_; std::shared_ptr<Channel> channel_; grpc::mutex mu_; grpc_call* call_; diff --git a/include/grpc++/impl/codegen/client_unary_call.h b/include/grpc++/impl/codegen/client_unary_call.h index 6c35a957651a65a24c06f4bc697b434c4e3b354f..70d65549c80e9c2184aaf107f4a8bde55a97a9c1 100644 --- a/include/grpc++/impl/codegen/client_unary_call.h +++ b/include/grpc++/impl/codegen/client_unary_call.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -62,7 +62,8 @@ Status BlockingUnaryCall(ChannelInterface* channel, const RpcMethod& method, if (!status.ok()) { return status; } - ops.SendInitialMetadata(context->send_initial_metadata_); + ops.SendInitialMetadata(context->send_initial_metadata_, + context->initial_metadata_flags()); ops.RecvInitialMetadata(context); ops.RecvMessage(result); ops.ClientSendClose(); diff --git a/include/grpc++/impl/codegen/completion_queue.h b/include/grpc++/impl/codegen/completion_queue.h index 42ec287e65e449cf44297afa277911d97de67a25..56864d6d53633d2761b128daee13c19d9891f3aa 100644 --- a/include/grpc++/impl/codegen/completion_queue.h +++ b/include/grpc++/impl/codegen/completion_queue.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/completion_queue_tag.h b/include/grpc++/impl/codegen/completion_queue_tag.h index e904f73e96258ff54181197c1c1d4dae7443bf96..19a08500cf8ee6e6925f379c0db94e5ebb94f2d6 100644 --- a/include/grpc++/impl/codegen/completion_queue_tag.h +++ b/include/grpc++/impl/codegen/completion_queue_tag.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/config_protobuf.h b/include/grpc++/impl/codegen/config_protobuf.h index 3b9f05cdff5b48241cd678fb461bd4617a5c34b9..f1b6beaca73b0fc8dbbb985111d62c572e23a9b4 100644 --- a/include/grpc++/impl/codegen/config_protobuf.h +++ b/include/grpc++/impl/codegen/config_protobuf.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/core_codegen_interface.h b/include/grpc++/impl/codegen/core_codegen_interface.h index a23031fe651da26aecdd31fdae92ab3c194da762..16424bab3584c18207c75a355743c3c53d42ea4f 100644 --- a/include/grpc++/impl/codegen/core_codegen_interface.h +++ b/include/grpc++/impl/codegen/core_codegen_interface.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/impl/async_stream.h b/include/grpc++/impl/codegen/impl/async_stream.h index 95c844723ab8ef5fe1d2aeb2658f1a29cd7a0d44..8f99e7eea43f695ea4deca22be5ecd9c19e71a27 100644 --- a/include/grpc++/impl/codegen/impl/async_stream.h +++ b/include/grpc++/impl/codegen/impl/async_stream.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/impl/sync.h b/include/grpc++/impl/codegen/impl/sync.h index 68fd0c4f2dc01440da30395cdd6ef498466908a9..88951de6d0d42845a62e42d0f853c7b165251ca8 100644 --- a/include/grpc++/impl/codegen/impl/sync.h +++ b/include/grpc++/impl/codegen/impl/sync.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/method_handler_impl.h b/include/grpc++/impl/codegen/method_handler_impl.h index 0ab2ae466add68e0db8f8a3f41aeed52d3ae9384..ad74efabc4ba1f595ec2d9c2ca44ab10188afcbe 100644 --- a/include/grpc++/impl/codegen/method_handler_impl.h +++ b/include/grpc++/impl/codegen/method_handler_impl.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -63,7 +63,8 @@ class RpcMethodHandler : public MethodHandler { CallOpSet<CallOpSendInitialMetadata, CallOpSendMessage, CallOpServerSendStatus> ops; - ops.SendInitialMetadata(param.server_context->initial_metadata_); + ops.SendInitialMetadata(param.server_context->initial_metadata_, + param.server_context->initial_metadata_flags()); if (status.ok()) { status = ops.SendMessage(rsp); } @@ -100,7 +101,8 @@ class ClientStreamingHandler : public MethodHandler { CallOpSet<CallOpSendInitialMetadata, CallOpSendMessage, CallOpServerSendStatus> ops; - ops.SendInitialMetadata(param.server_context->initial_metadata_); + ops.SendInitialMetadata(param.server_context->initial_metadata_, + param.server_context->initial_metadata_flags()); if (status.ok()) { status = ops.SendMessage(rsp); } @@ -138,7 +140,8 @@ class ServerStreamingHandler : public MethodHandler { CallOpSet<CallOpSendInitialMetadata, CallOpServerSendStatus> ops; if (!param.server_context->sent_initial_metadata_) { - ops.SendInitialMetadata(param.server_context->initial_metadata_); + ops.SendInitialMetadata(param.server_context->initial_metadata_, + param.server_context->initial_metadata_flags()); } ops.ServerSendStatus(param.server_context->trailing_metadata_, status); param.call->PerformOps(&ops); @@ -170,7 +173,8 @@ class BidiStreamingHandler : public MethodHandler { CallOpSet<CallOpSendInitialMetadata, CallOpServerSendStatus> ops; if (!param.server_context->sent_initial_metadata_) { - ops.SendInitialMetadata(param.server_context->initial_metadata_); + ops.SendInitialMetadata(param.server_context->initial_metadata_, + param.server_context->initial_metadata_flags()); } ops.ServerSendStatus(param.server_context->trailing_metadata_, status); param.call->PerformOps(&ops); @@ -191,7 +195,8 @@ class UnknownMethodHandler : public MethodHandler { static void FillOps(ServerContext* context, T* ops) { Status status(StatusCode::UNIMPLEMENTED, ""); if (!context->sent_initial_metadata_) { - ops->SendInitialMetadata(context->initial_metadata_); + ops->SendInitialMetadata(context->initial_metadata_, + context->initial_metadata_flags()); context->sent_initial_metadata_ = true; } ops->ServerSendStatus(context->trailing_metadata_, status); diff --git a/include/grpc++/impl/codegen/proto_utils.h b/include/grpc++/impl/codegen/proto_utils.h index f77f8eebb379d17ea921f4b75c34dc1d1c799a02..2aaa3c3b300d58b5c60c5f799248c690f72730a1 100644 --- a/include/grpc++/impl/codegen/proto_utils.h +++ b/include/grpc++/impl/codegen/proto_utils.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/rpc_method.h b/include/grpc++/impl/codegen/rpc_method.h index 85d5c1cfe2a325e01db335fe88664866deac1cfb..39cb4f75dfe1d76bfae50dc64ccdd9ed37eb7e7b 100644 --- a/include/grpc++/impl/codegen/rpc_method.h +++ b/include/grpc++/impl/codegen/rpc_method.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/security/auth_context.h b/include/grpc++/impl/codegen/security/auth_context.h index 7544430811e9363ebcb637223eebccdda4e8ca50..75f2482346773be4651ae394f66c773702604b6c 100644 --- a/include/grpc++/impl/codegen/security/auth_context.h +++ b/include/grpc++/impl/codegen/security/auth_context.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/serialization_traits.h b/include/grpc++/impl/codegen/serialization_traits.h index 83c3b64eb3cce908d53c5854a680393bf146a127..fa99dbfa9c3ffec2589dbfde5f95e78e8059e4a8 100644 --- a/include/grpc++/impl/codegen/serialization_traits.h +++ b/include/grpc++/impl/codegen/serialization_traits.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/server_context.h b/include/grpc++/impl/codegen/server_context.h index f8326bc44bc264ccf1c1e8a1f45f84b9603676f4..7fa0235ca90828dec3d8a1cfc0006aba1d51b3af 100644 --- a/include/grpc++/impl/codegen/server_context.h +++ b/include/grpc++/impl/codegen/server_context.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -195,6 +195,8 @@ class ServerContext { void set_call(grpc_call* call); + uint32_t initial_metadata_flags() const { return 0; } + CompletionOp* completion_op_; bool has_notify_when_done_tag_; void* async_notify_when_done_tag_; diff --git a/include/grpc++/impl/codegen/server_interface.h b/include/grpc++/impl/codegen/server_interface.h index 908d124df1872c857735085d727328573898747c..7b7d5aa90b63927b0fff780e5769b476debe2913 100644 --- a/include/grpc++/impl/codegen/server_interface.h +++ b/include/grpc++/impl/codegen/server_interface.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/service_type.h b/include/grpc++/impl/codegen/service_type.h index faf189314c25c6b2fb53f8cb696502e6a448606c..c19dfc7d45f0f3b9db04b1fbff62b969a20dae91 100644 --- a/include/grpc++/impl/codegen/service_type.h +++ b/include/grpc++/impl/codegen/service_type.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/string_ref.h b/include/grpc++/impl/codegen/string_ref.h index 4af2000ffdb90889f181bf38d7e154cde2cc002b..003793823c007c598f8262b0e4a0957c7a486694 100644 --- a/include/grpc++/impl/codegen/string_ref.h +++ b/include/grpc++/impl/codegen/string_ref.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/stub_options.h b/include/grpc++/impl/codegen/stub_options.h index 3912ae2bf9221a570b38748797f1807e198b2ab0..8e966a8dbf3f90058686e79988a3d4f47df9a8d6 100644 --- a/include/grpc++/impl/codegen/stub_options.h +++ b/include/grpc++/impl/codegen/stub_options.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/sync.h b/include/grpc++/impl/codegen/sync.h index 375af1543b882787a2ad630e0a893c4286f83e89..62194c77081204188dda94209f7fae8553735d56 100644 --- a/include/grpc++/impl/codegen/sync.h +++ b/include/grpc++/impl/codegen/sync.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/sync_cxx11.h b/include/grpc++/impl/codegen/sync_cxx11.h index 49105476473e9d5a4e6b161b1e8132583f5d8800..6626ca1f94c99c323c2f0bad8fcbfeb2cb0933f3 100644 --- a/include/grpc++/impl/codegen/sync_cxx11.h +++ b/include/grpc++/impl/codegen/sync_cxx11.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/sync_no_cxx11.h b/include/grpc++/impl/codegen/sync_no_cxx11.h index 8dea84736719beddfc13486da27abfcfc5edfe2b..55c059ede77f5ff6383fdc23d779a4d764e98672 100644 --- a/include/grpc++/impl/codegen/sync_no_cxx11.h +++ b/include/grpc++/impl/codegen/sync_no_cxx11.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/codegen/sync_stream.h b/include/grpc++/impl/codegen/sync_stream.h index 0eabc5fc0f8f8b6eebe7c4894d4f8fdb99ccd115..9100ce09a2319649de19388b637021341d203897 100644 --- a/include/grpc++/impl/codegen/sync_stream.h +++ b/include/grpc++/impl/codegen/sync_stream.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -125,7 +125,8 @@ class ClientReader GRPC_FINAL : public ClientReaderInterface<R> { CallOpSet<CallOpSendInitialMetadata, CallOpSendMessage, CallOpClientSendClose> ops; - ops.SendInitialMetadata(context->send_initial_metadata_); + ops.SendInitialMetadata(context->send_initial_metadata_, + context->initial_metadata_flags()); // TODO(ctiller): don't assert GPR_CODEGEN_ASSERT(ops.SendMessage(request).ok()); ops.ClientSendClose(); @@ -190,7 +191,8 @@ class ClientWriter : public ClientWriterInterface<W> { finish_ops_.RecvMessage(response); CallOpSet<CallOpSendInitialMetadata> ops; - ops.SendInitialMetadata(context->send_initial_metadata_); + ops.SendInitialMetadata(context->send_initial_metadata_, + context->initial_metadata_flags()); call_.PerformOps(&ops); cq_.Pluck(&ops); } @@ -268,7 +270,8 @@ class ClientReaderWriter GRPC_FINAL : public ClientReaderWriterInterface<W, R> { ClientContext* context) : context_(context), call_(channel->CreateCall(method, context, &cq_)) { CallOpSet<CallOpSendInitialMetadata> ops; - ops.SendInitialMetadata(context->send_initial_metadata_); + ops.SendInitialMetadata(context->send_initial_metadata_, + context->initial_metadata_flags()); call_.PerformOps(&ops); cq_.Pluck(&ops); } @@ -334,7 +337,8 @@ class ServerReader GRPC_FINAL : public ReaderInterface<R> { GPR_CODEGEN_ASSERT(!ctx_->sent_initial_metadata_); CallOpSet<CallOpSendInitialMetadata> ops; - ops.SendInitialMetadata(ctx_->initial_metadata_); + ops.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; call_->PerformOps(&ops); call_->cq()->Pluck(&ops); @@ -361,7 +365,8 @@ class ServerWriter GRPC_FINAL : public WriterInterface<W> { GPR_CODEGEN_ASSERT(!ctx_->sent_initial_metadata_); CallOpSet<CallOpSendInitialMetadata> ops; - ops.SendInitialMetadata(ctx_->initial_metadata_); + ops.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; call_->PerformOps(&ops); call_->cq()->Pluck(&ops); @@ -374,7 +379,8 @@ class ServerWriter GRPC_FINAL : public WriterInterface<W> { return false; } if (!ctx_->sent_initial_metadata_) { - ops.SendInitialMetadata(ctx_->initial_metadata_); + ops.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; } call_->PerformOps(&ops); @@ -397,7 +403,8 @@ class ServerReaderWriter GRPC_FINAL : public WriterInterface<W>, GPR_CODEGEN_ASSERT(!ctx_->sent_initial_metadata_); CallOpSet<CallOpSendInitialMetadata> ops; - ops.SendInitialMetadata(ctx_->initial_metadata_); + ops.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; call_->PerformOps(&ops); call_->cq()->Pluck(&ops); @@ -417,7 +424,8 @@ class ServerReaderWriter GRPC_FINAL : public WriterInterface<W>, return false; } if (!ctx_->sent_initial_metadata_) { - ops.SendInitialMetadata(ctx_->initial_metadata_); + ops.SendInitialMetadata(ctx_->initial_metadata_, + ctx_->initial_metadata_flags()); ctx_->sent_initial_metadata_ = true; } call_->PerformOps(&ops); diff --git a/include/grpc++/impl/codegen/time.h b/include/grpc++/impl/codegen/time.h index bed7423341258b8b6bcee8aa32ae56e5ad304fd0..d9b19bce645dc49b4ab02f5c4412130aa25b9075 100644 --- a/include/grpc++/impl/codegen/time.h +++ b/include/grpc++/impl/codegen/time.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/grpc_library.h b/include/grpc++/impl/grpc_library.h index ecb5a4d64d2458d7b0dce404ff23a8160d4c6a80..175cf99a82bae211ce5472caf9b13816ef74416e 100644 --- a/include/grpc++/impl/grpc_library.h +++ b/include/grpc++/impl/grpc_library.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/method_handler_impl.h b/include/grpc++/impl/method_handler_impl.h index 305fd2865e484791d6be127e449ac6626a6b8db0..443978b82f9f9ef2c43500cc3a443648173bc6d0 100644 --- a/include/grpc++/impl/method_handler_impl.h +++ b/include/grpc++/impl/method_handler_impl.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/proto_utils.h b/include/grpc++/impl/proto_utils.h index 36acabba799577ace80188ab52ecdab065bf0edd..a34cf9bd6c67a31d869a9f0ab0555ea5221654b7 100644 --- a/include/grpc++/impl/proto_utils.h +++ b/include/grpc++/impl/proto_utils.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/rpc_method.h b/include/grpc++/impl/rpc_method.h index 8b5d1a32822903c5bf755ed249329332cd7cee75..27293e6791877b4876d20874d2134cd7efe1a805 100644 --- a/include/grpc++/impl/rpc_method.h +++ b/include/grpc++/impl/rpc_method.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/serialization_traits.h b/include/grpc++/impl/serialization_traits.h index fad4398174bbec5bcf609021c763ce8e8d8fe47c..53538299dd555718b3a5dbcf3e5a0b7ab1985698 100644 --- a/include/grpc++/impl/serialization_traits.h +++ b/include/grpc++/impl/serialization_traits.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/service_type.h b/include/grpc++/impl/service_type.h index b33fbec739406ddab9d146dc235a7bffa2811866..ffad7a395975145e6cc62be150dda3e78b9f62a2 100644 --- a/include/grpc++/impl/service_type.h +++ b/include/grpc++/impl/service_type.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/sync.h b/include/grpc++/impl/sync.h index 824139043bcb6310d7c50d510592be44785e75f7..3339cddba49ef88f0ef4b49e4653561a70e9af74 100644 --- a/include/grpc++/impl/sync.h +++ b/include/grpc++/impl/sync.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/sync_cxx11.h b/include/grpc++/impl/sync_cxx11.h index 22997a19c2ae894754fb00eb70e6afb5ef8b0caf..78acec197ea63c3974b0b7db28f06e715ad771b3 100644 --- a/include/grpc++/impl/sync_cxx11.h +++ b/include/grpc++/impl/sync_cxx11.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/impl/sync_no_cxx11.h b/include/grpc++/impl/sync_no_cxx11.h index def800d6f46c6c90114ef3a3940083238f1e2dcc..e40269d1e51a18ba4d5481b7510d48b2d975d57f 100644 --- a/include/grpc++/impl/sync_no_cxx11.h +++ b/include/grpc++/impl/sync_no_cxx11.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/security/auth_context.h b/include/grpc++/security/auth_context.h index 548f9a236c53e6970b125efef95bfe5ffd17d6e3..424418386adfb494cb18c98c7ddcfe7f526317b3 100644 --- a/include/grpc++/security/auth_context.h +++ b/include/grpc++/security/auth_context.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/security/auth_metadata_processor.h b/include/grpc++/security/auth_metadata_processor.h index b39451f83e350bb30837af33f34ac59ebee0a485..1ae32d0f6c80a2e21126bd87a0146690f927ac1d 100644 --- a/include/grpc++/security/auth_metadata_processor.h +++ b/include/grpc++/security/auth_metadata_processor.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/security/credentials.h b/include/grpc++/security/credentials.h index bedfc9c2a227b5e71244b5866e7497bd78f7a2f2..5439244b02363568b71f66f4d0fb517d32b06b01 100644 --- a/include/grpc++/security/credentials.h +++ b/include/grpc++/security/credentials.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/security/server_credentials.h b/include/grpc++/security/server_credentials.h index addb11ccb460a04f2ec158b8ea4d8be752f9899b..5a9f8a42e29a68dd45b5adef01a7cb4c95863413 100644 --- a/include/grpc++/security/server_credentials.h +++ b/include/grpc++/security/server_credentials.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/server.h b/include/grpc++/server.h index 9eb8c287e19b1c5cc79bf8f1f8fa9039a7325b3f..729a5143bf8b3fd83bcdf481c192860583844cd2 100644 --- a/include/grpc++/server.h +++ b/include/grpc++/server.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/server_builder.h b/include/grpc++/server_builder.h index 73bcfb6038791403a5df43b8fc97454641411245..86c7fecef59f53e3bd2e3fcdc449ee25401adf15 100644 --- a/include/grpc++/server_builder.h +++ b/include/grpc++/server_builder.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/server_context.h b/include/grpc++/server_context.h index 214188a03a9fb22dbecae55be7e37732e2f1e98d..0d68c7859c3eb01d4df684d9757760bebae69002 100644 --- a/include/grpc++/server_context.h +++ b/include/grpc++/server_context.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/async_stream.h b/include/grpc++/support/async_stream.h index 88147ea9d655d89e4f15a73823ccd5ca9a3b2aab..106fd6cda2591c4ca51f1464788af62b920d295e 100644 --- a/include/grpc++/support/async_stream.h +++ b/include/grpc++/support/async_stream.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/async_unary_call.h b/include/grpc++/support/async_unary_call.h index 6d74328be503bc894566ed4085aaddb696d1cc2b..e1bd6db68953f7687bb7ba2b09f392ba78652a35 100644 --- a/include/grpc++/support/async_unary_call.h +++ b/include/grpc++/support/async_unary_call.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/byte_buffer.h b/include/grpc++/support/byte_buffer.h index 3825518de1f22cd7a7ed3b32258abb87e56f2303..f6eb09638f5b15137ba8cbbfee9451adeb880371 100644 --- a/include/grpc++/support/byte_buffer.h +++ b/include/grpc++/support/byte_buffer.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/channel_arguments.h b/include/grpc++/support/channel_arguments.h index 8c2f7c71eb910ea7181eec556c0367729faf0b86..ae243939e9a6e5ed49ee0ab95524bb2601a584d0 100644 --- a/include/grpc++/support/channel_arguments.h +++ b/include/grpc++/support/channel_arguments.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/config.h b/include/grpc++/support/config.h index be8c89c4626503f23cf86ce01731fd3b37428be6..10c65d97d1285e77845bdc4f62c574b39197625d 100644 --- a/include/grpc++/support/config.h +++ b/include/grpc++/support/config.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/config_protobuf.h b/include/grpc++/support/config_protobuf.h index 0b466e8e44baaf0d9bfab36672ed8006c3def10a..3e7f169652dc8908b651cba7a27d999dcb858450 100644 --- a/include/grpc++/support/config_protobuf.h +++ b/include/grpc++/support/config_protobuf.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/slice.h b/include/grpc++/support/slice.h index 6251a8bcde1e51faeb3dd4ccbbf5d8cc9073f075..cec9062d4fd6e36690b641420a7ae4767238deb6 100644 --- a/include/grpc++/support/slice.h +++ b/include/grpc++/support/slice.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/status.h b/include/grpc++/support/status.h index a33fbedf12f4726c95312208e323d64e0861752a..bdb25b07240079451c43cbe2e0a1f010c1289497 100644 --- a/include/grpc++/support/status.h +++ b/include/grpc++/support/status.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/status_code_enum.h b/include/grpc++/support/status_code_enum.h index 21b9c40d7e8ac129c80cb58b1d81efa5f784df34..690a509c096290de0d996ffa8ed60d4b7662ead3 100644 --- a/include/grpc++/support/status_code_enum.h +++ b/include/grpc++/support/status_code_enum.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/string_ref.h b/include/grpc++/support/string_ref.h index 195e5c80c5d6c86c49e2920f96c4581b38842278..1f95e47fd36fe10f9566515c4a9ff6304657bfe8 100644 --- a/include/grpc++/support/string_ref.h +++ b/include/grpc++/support/string_ref.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/stub_options.h b/include/grpc++/support/stub_options.h index f8f4c871812c26a5fc5a252f50d67c5a38aa1582..17a13c357e657d3eac6783b45e2b5096b2bc3151 100644 --- a/include/grpc++/support/stub_options.h +++ b/include/grpc++/support/stub_options.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/sync_stream.h b/include/grpc++/support/sync_stream.h index 2ea2ac544365e3ec2def18704a4acf0b84e4c33f..be742ef56171a44e51a86cedaa4a6b8f7007f85a 100644 --- a/include/grpc++/support/sync_stream.h +++ b/include/grpc++/support/sync_stream.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc++/support/time.h b/include/grpc++/support/time.h index f0b758f254bdd5d98f0f904ea5c672c38aacad2f..1b6fb463c4c6d41bcadd2e36cdf6350da1010bdd 100644 --- a/include/grpc++/support/time.h +++ b/include/grpc++/support/time.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/byte_buffer.h b/include/grpc/byte_buffer.h index fa1fd24df9442afc43b321213cf306937c08befe..c3a394371d7797a9c0a5893b121aa4d694ce90db 100644 --- a/include/grpc/byte_buffer.h +++ b/include/grpc/byte_buffer.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/byte_buffer_reader.h b/include/grpc/byte_buffer_reader.h index 600bd3810a3163a682a498aae08ce0153f7bde1d..9a1c6178ab6918dec1696ff58a5c2baacf95418b 100644 --- a/include/grpc/byte_buffer_reader.h +++ b/include/grpc/byte_buffer_reader.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/census.h b/include/grpc/census.h index 4ccf4af5fe54324d8a641efe58baa7bd6a961752..39d87ba119c12407edc923e1110870e6447f7722 100644 --- a/include/grpc/census.h +++ b/include/grpc/census.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/compression.h b/include/grpc/compression.h index 39023ded34988d996df2aaf8f5e51c393335eb8b..8de4b133d4c9fee2e6488625989b849609eab8f1 100644 --- a/include/grpc/compression.h +++ b/include/grpc/compression.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h index fe0cf28b3b3691fdca8f4c27e2f554245bf6e996..5c868aece372b14658bf07f5aa38aa04d2114819 100644 --- a/include/grpc/grpc.h +++ b/include/grpc/grpc.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -289,6 +289,14 @@ GRPCAPI grpc_call_error grpc_server_request_call( grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new); +/** How to handle payloads for a registered method */ +typedef enum { + /** Don't try to read the payload */ + GRPC_SRM_PAYLOAD_NONE, + /** Read the initial payload as a byte buffer */ + GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER +} grpc_server_register_method_payload_handling; + /** Registers a method in the server. Methods to this (host, method) pair will not be reported by grpc_server_request_call, but instead be reported by @@ -296,8 +304,10 @@ GRPCAPI grpc_call_error grpc_server_request_call( registered_method (as returned by this function). Must be called before grpc_server_start. Returns NULL on failure. */ -GRPCAPI void *grpc_server_register_method(grpc_server *server, - const char *method, const char *host); +GRPCAPI void *grpc_server_register_method( + grpc_server *server, const char *method, const char *host, + grpc_server_register_method_payload_handling payload_handling, + uint32_t flags); /** Request notification of a new pre-registered call. 'cq_for_notification' must have been registered to the server via diff --git a/include/grpc/grpc_security.h b/include/grpc/grpc_security.h index f2d04e551ad7e34d08047c35667a38c550a73718..a36926b23e61873ac30f796cdeff84a018d39450 100644 --- a/include/grpc/grpc_security.h +++ b/include/grpc/grpc_security.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/grpc_zookeeper.h b/include/grpc/grpc_zookeeper.h index b23bd88b4339078db08a92d2834c81928b455839..2b195c18bff42b8e83f0450b661ff741422349e5 100644 --- a/include/grpc/grpc_zookeeper.h +++ b/include/grpc/grpc_zookeeper.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/alloc.h b/include/grpc/impl/codegen/alloc.h index 235135443306c331720305d42e93f4facb42a8f3..683c755f2c0ec8eb13fc22e9beb5a54924e1ba6f 100644 --- a/include/grpc/impl/codegen/alloc.h +++ b/include/grpc/impl/codegen/alloc.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/atm.h b/include/grpc/impl/codegen/atm.h index 35b97506ac96e8a6a74711954c1a2a7ce571e67e..5376026dde2ef6a49e135d7988b9ba2febd76b9a 100644 --- a/include/grpc/impl/codegen/atm.h +++ b/include/grpc/impl/codegen/atm.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/atm_gcc_atomic.h b/include/grpc/impl/codegen/atm_gcc_atomic.h index 196d2aeeb34ab30142f052eb539b13d905930dbf..8caf7edbdec09b6e1cff8f8c22feb6a1ab742c85 100644 --- a/include/grpc/impl/codegen/atm_gcc_atomic.h +++ b/include/grpc/impl/codegen/atm_gcc_atomic.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/atm_gcc_sync.h b/include/grpc/impl/codegen/atm_gcc_sync.h index 56f755949d8e18c67c7150c27db36fbc824d5146..915b09fb0c3c9ef2660db16a6260a09fcd196aae 100644 --- a/include/grpc/impl/codegen/atm_gcc_sync.h +++ b/include/grpc/impl/codegen/atm_gcc_sync.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/atm_win32.h b/include/grpc/impl/codegen/atm_win32.h index 9d26462d84f86e055f593cb86b271fc2ebfa7f1f..7c1ccaf8e2081b696ec08a538470d00a1416c26c 100644 --- a/include/grpc/impl/codegen/atm_win32.h +++ b/include/grpc/impl/codegen/atm_win32.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/byte_buffer.h b/include/grpc/impl/codegen/byte_buffer.h index 9e96d4bdae42af8dcf0a8c6f8af381dea96acff5..3ae8ac50ba1ebb49e4217d552ff1d0b6005ffcd1 100644 --- a/include/grpc/impl/codegen/byte_buffer.h +++ b/include/grpc/impl/codegen/byte_buffer.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/grpc_types.h b/include/grpc/impl/codegen/grpc_types.h index b11f6ffec419528c92eb0bc876f33d01d9fed607..4c7373006b2c85a0bfab92e970d231648f3c047f 100644 --- a/include/grpc/impl/codegen/grpc_types.h +++ b/include/grpc/impl/codegen/grpc_types.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -142,6 +142,8 @@ typedef struct { /** Secondary user agent: goes at the end of the user-agent metadata sent on each request */ #define GRPC_ARG_SECONDARY_USER_AGENT_STRING "grpc.secondary_user_agent" +/** The maximum time between subsequent connection attempts, in ms */ +#define GRPC_ARG_MAX_RECONNECT_BACKOFF_MS "grpc.max_reconnect_backoff_ms" /* The caller of the secure_channel_create functions may override the target name used for SSL host name checking using this channel argument which is of type GRPC_ARG_STRING. This *should* be used for testing only. @@ -185,7 +187,9 @@ typedef enum grpc_call_error { server */ GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE, /** this batch of operations leads to more operations than allowed */ - GRPC_CALL_ERROR_BATCH_TOO_BIG + GRPC_CALL_ERROR_BATCH_TOO_BIG, + /** payload type requested is not the type registered */ + GRPC_CALL_ERROR_PAYLOAD_TYPE_MISMATCH } grpc_call_error; /* Write Flags: */ @@ -199,6 +203,16 @@ typedef enum grpc_call_error { /** Mask of all valid flags. */ #define GRPC_WRITE_USED_MASK (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS) +/* Initial metadata flags */ +/** Signal that the call is idempotent */ +#define GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST (0x00000010u) +/** Signal that the call should not return UNAVAILABLE before it has started */ +#define GRPC_INITIAL_METADATA_IGNORE_CONNECTIVITY (0x00000020u) +/** Mask of all valid flags */ +#define GRPC_INITIAL_METADATA_USED_MASK \ + (GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST | \ + GRPC_INITIAL_METADATA_IGNORE_CONNECTIVITY) + /** A single metadata element */ typedef struct grpc_metadata { const char *key; @@ -250,6 +264,7 @@ typedef struct { char *host; size_t host_capacity; gpr_timespec deadline; + uint32_t flags; void *reserved; } grpc_call_details; diff --git a/include/grpc/impl/codegen/log.h b/include/grpc/impl/codegen/log.h index afd8c5d4cf9ba644058c146496b91470384ab625..0853350a262f8cd2503dc372247aff3c4c6825f2 100644 --- a/include/grpc/impl/codegen/log.h +++ b/include/grpc/impl/codegen/log.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h index 607511edc8849655722904405249ca0d1b6988ee..3242f07599be6f1cda6752011fe5551e123d0fe1 100644 --- a/include/grpc/impl/codegen/port_platform.h +++ b/include/grpc/impl/codegen/port_platform.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/slice.h b/include/grpc/impl/codegen/slice.h index 03c59e72a0f54ae0b9c6cab496a682f74c7b1260..c684b7587d634f2078a03ce5cf55ec5dbe2aa460 100644 --- a/include/grpc/impl/codegen/slice.h +++ b/include/grpc/impl/codegen/slice.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/slice_buffer.h b/include/grpc/impl/codegen/slice_buffer.h index 71918784963537823cfc9b6798f376e6c8a9c216..8ca51baa4716915d1ccd4841fab5ca8e357553a6 100644 --- a/include/grpc/impl/codegen/slice_buffer.h +++ b/include/grpc/impl/codegen/slice_buffer.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/status.h b/include/grpc/impl/codegen/status.h index 814bb4c92ccadc889f0ca7b64f245f067da12e7c..29e4570f7ce7eeecc2fc621b179d20250044eefe 100644 --- a/include/grpc/impl/codegen/status.h +++ b/include/grpc/impl/codegen/status.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/sync_generic.h b/include/grpc/impl/codegen/sync_generic.h index 71443b5794f08eadd205ea7f9de65ededfdad559..75e85ae736c3a30f8b4b55f074501658724bd7e0 100644 --- a/include/grpc/impl/codegen/sync_generic.h +++ b/include/grpc/impl/codegen/sync_generic.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/sync_posix.h b/include/grpc/impl/codegen/sync_posix.h index f6e0a91816dcf7b0ebfbc38085e87bc8e07f5bdd..3d08cc35e8d53060829b84d573f073088bcf0d31 100644 --- a/include/grpc/impl/codegen/sync_posix.h +++ b/include/grpc/impl/codegen/sync_posix.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/sync_win32.h b/include/grpc/impl/codegen/sync_win32.h index 1a6596c571ab47b0923fc0cd9ec5603f73a24542..bdc43dd99a3d0e9c1b4fa26dbda249ad69e8c547 100644 --- a/include/grpc/impl/codegen/sync_win32.h +++ b/include/grpc/impl/codegen/sync_win32.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/impl/codegen/time.h b/include/grpc/impl/codegen/time.h index b4f45097c7c23e7868fbda67dcb65ecc698642cf..381e2672593a62c5db18803d0424490a3fd88b1d 100644 --- a/include/grpc/impl/codegen/time.h +++ b/include/grpc/impl/codegen/time.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/status.h b/include/grpc/status.h index 3889a1648609bec8aef52404ba04166a0fbeaaa9..67719b5e2e6fa8cb767f6ce335cb5c937546cdf1 100644 --- a/include/grpc/status.h +++ b/include/grpc/status.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/alloc.h b/include/grpc/support/alloc.h index 649cb2ba7a04d78fa7121b2e2ef2365c00fc9496..8d03af8424cee947f19a23aae0610bf408e7624d 100644 --- a/include/grpc/support/alloc.h +++ b/include/grpc/support/alloc.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/atm.h b/include/grpc/support/atm.h index 37975db8f4e766416dcc433869a7fec6c08990c9..a52e2fb4ef6fff56ab4507349abaeb0fa702e25b 100644 --- a/include/grpc/support/atm.h +++ b/include/grpc/support/atm.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/atm_gcc_atomic.h b/include/grpc/support/atm_gcc_atomic.h index 2fc8f609a5af64d0e1c12a8f1a28c07d3422a2d5..ceda791dfcc9a9759efd8d4dc3fbe960de411b96 100644 --- a/include/grpc/support/atm_gcc_atomic.h +++ b/include/grpc/support/atm_gcc_atomic.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/atm_gcc_sync.h b/include/grpc/support/atm_gcc_sync.h index 4a61dbd4a5edf79ea6b1f4419f3496b9fc0c8c7e..b996d4a737f1478defbe957f45e1a448080ee7d2 100644 --- a/include/grpc/support/atm_gcc_sync.h +++ b/include/grpc/support/atm_gcc_sync.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/atm_win32.h b/include/grpc/support/atm_win32.h index ebb6a674a2e706d450596c195e1d0bcaf68c6275..13526d9f3e34bb4ea7a6ac8fd8dfaf4a2b630e12 100644 --- a/include/grpc/support/atm_win32.h +++ b/include/grpc/support/atm_win32.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/avl.h b/include/grpc/support/avl.h index 2fe2d0b9d07749a3add09b2905fd164b302433d8..d71592dcbc12621167e6a8d2d1dcf38ae5a5b1a2 100644 --- a/include/grpc/support/avl.h +++ b/include/grpc/support/avl.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/cmdline.h b/include/grpc/support/cmdline.h index 55e2ffdffe6c46799da39e12a962de6fc55ba4c6..5b7bc825949af20dc40ef0fa77b7056c12b245fa 100644 --- a/include/grpc/support/cmdline.h +++ b/include/grpc/support/cmdline.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/cpu.h b/include/grpc/support/cpu.h index 3ca83b5a0d679437ba22e0883ac4f30a6458448b..6734feb391b77e92211b6a847e75bba755da9af0 100644 --- a/include/grpc/support/cpu.h +++ b/include/grpc/support/cpu.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/histogram.h b/include/grpc/support/histogram.h index c34c8c840716b2ee7130a7c5f7d708ecf381c43e..c5450385284e07c8f43a136d5c48804ee11112a6 100644 --- a/include/grpc/support/histogram.h +++ b/include/grpc/support/histogram.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/host_port.h b/include/grpc/support/host_port.h index 53cc917acb4b6d273c7ce99c5d03d2d4c615196c..15819543a9125daca2b53d83b8dde996b59f5753 100644 --- a/include/grpc/support/host_port.h +++ b/include/grpc/support/host_port.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/log.h b/include/grpc/support/log.h index e6f6dd931cd992b885f6d50e99cf555548164fa9..3fdba049430671b525d43ec51ebdfd84d96732c1 100644 --- a/include/grpc/support/log.h +++ b/include/grpc/support/log.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/log_win32.h b/include/grpc/support/log_win32.h index 49c9ab0f91436b25fbe26e1b9169173a1ae3c601..e5c25e06fc7f422b2604ef1750ed51dc76486dce 100644 --- a/include/grpc/support/log_win32.h +++ b/include/grpc/support/log_win32.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/port_platform.h b/include/grpc/support/port_platform.h index 6b14f8b0b0eaed7b74f3b3182864853f665f47f7..7465a0e45032c97c86188080cbbabc5af1b98dee 100644 --- a/include/grpc/support/port_platform.h +++ b/include/grpc/support/port_platform.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/slice.h b/include/grpc/support/slice.h index b3a73b2c99ffcb1d51ea59083688dcbf0c1414ee..b45db03389129bfe2590fb8c481670a627db6984 100644 --- a/include/grpc/support/slice.h +++ b/include/grpc/support/slice.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/slice_buffer.h b/include/grpc/support/slice_buffer.h index 7bee4dde346cce94622b1b76eeed9c5c94ca973c..cf7a89f8f10164518c1de6fa29326e9c65dc827b 100644 --- a/include/grpc/support/slice_buffer.h +++ b/include/grpc/support/slice_buffer.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/string_util.h b/include/grpc/support/string_util.h index 6fc38cb191fa62d2f6418a55915c79099b89bba0..0abdb4a8c8679578bead542ad1223db300da2cdd 100644 --- a/include/grpc/support/string_util.h +++ b/include/grpc/support/string_util.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/subprocess.h b/include/grpc/support/subprocess.h index e013b706ec024b67415861500d99d711efae9ff4..2baa43ece2b396af773941779ef66ce9b1d7dcbc 100644 --- a/include/grpc/support/subprocess.h +++ b/include/grpc/support/subprocess.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/sync.h b/include/grpc/support/sync.h index 89cc76f7848f34a3f7f56c1a87eeb8c7b33a93f2..a0145803c202db42b6c10503f9ab74cfca493b96 100644 --- a/include/grpc/support/sync.h +++ b/include/grpc/support/sync.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/sync_generic.h b/include/grpc/support/sync_generic.h index 28e3ab647be0b0d7cc0fecca5d8d4ec6d88df829..d74b5d8e8bb97dd6d6110b009778347ca9a2ac1a 100644 --- a/include/grpc/support/sync_generic.h +++ b/include/grpc/support/sync_generic.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/sync_posix.h b/include/grpc/support/sync_posix.h index fa0324fbfa238056ebe73fe816c6f9c2fbdb6cd4..19aca03f0666ae89d8321f645cefc802c2e6a79f 100644 --- a/include/grpc/support/sync_posix.h +++ b/include/grpc/support/sync_posix.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/sync_win32.h b/include/grpc/support/sync_win32.h index bfbc99e9712495fd45b9f71fbd5fcf5bae41d931..5631c5297446730a23da165800789ff86b086784 100644 --- a/include/grpc/support/sync_win32.h +++ b/include/grpc/support/sync_win32.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/thd.h b/include/grpc/support/thd.h index abe57ebefb8f3844a2a4f389b6407013595f3d8e..05142887932506421b22469a267510ab8b2d63c7 100644 --- a/include/grpc/support/thd.h +++ b/include/grpc/support/thd.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/time.h b/include/grpc/support/time.h index 2c7f8533a2b1a4844e92617f5744903a93c376f1..b3f2f8cd44f3f737ae37587bb2d34805e3400452 100644 --- a/include/grpc/support/time.h +++ b/include/grpc/support/time.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/tls.h b/include/grpc/support/tls.h index 0ff19bbaddd14ea891a4ecf8786cb7a6f8a3be5f..a45e1f0a4d557502966ba0b8dba94528ce0370ef 100644 --- a/include/grpc/support/tls.h +++ b/include/grpc/support/tls.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/tls_gcc.h b/include/grpc/support/tls_gcc.h index 21269e4b141b35f4372e3f053ff8cbe528274580..a47275f6f4ad705533c3877a907be4ff60e24fb0 100644 --- a/include/grpc/support/tls_gcc.h +++ b/include/grpc/support/tls_gcc.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/tls_msvc.h b/include/grpc/support/tls_msvc.h index 751ec35f73b0c3742db55b428d5b34b183d07334..efc653b4e451aea0d525f222b32bf70621075748 100644 --- a/include/grpc/support/tls_msvc.h +++ b/include/grpc/support/tls_msvc.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/tls_pthread.h b/include/grpc/support/tls_pthread.h index 93ba7822c3a2655cf0c39523bc9b65216c84f7a1..e681da2ecd8b79c69d25e7917becb9be91e1d92d 100644 --- a/include/grpc/support/tls_pthread.h +++ b/include/grpc/support/tls_pthread.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/grpc/support/useful.h b/include/grpc/support/useful.h index a0e76da29efa1ea35c53754f8cc8fb357a487575..003e096cf9a43f96ae1838fb1a44a64576a63da9 100644 --- a/include/grpc/support/useful.h +++ b/include/grpc/support/useful.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/package.json b/package.json index 4da7c708f0bba56e5940b23b2e50ea9acccaa3c6..fea7c08338cbd794b0d0447ed884377edd1be415 100644 --- a/package.json +++ b/package.json @@ -89,71 +89,39 @@ "src/node/src/server.js", "include/grpc/byte_buffer.h", "include/grpc/byte_buffer_reader.h", - "include/grpc/census.h", "include/grpc/compression.h", "include/grpc/grpc.h", - "include/grpc/grpc_security.h", + "include/grpc/status.h", "include/grpc/impl/codegen/byte_buffer.h", "include/grpc/impl/codegen/compression_types.h", "include/grpc/impl/codegen/connectivity_state.h", "include/grpc/impl/codegen/grpc_types.h", "include/grpc/impl/codegen/propagation_bits.h", "include/grpc/impl/codegen/status.h", - "include/grpc/status.h", - "src/core/ext/transport/chttp2/transport/alpn.h", - "src/core/ext/transport/chttp2/transport/bin_encoder.h", - "src/core/ext/transport/chttp2/transport/chttp2_transport.h", - "src/core/ext/transport/chttp2/transport/frame.h", - "src/core/ext/transport/chttp2/transport/frame_data.h", - "src/core/ext/transport/chttp2/transport/frame_goaway.h", - "src/core/ext/transport/chttp2/transport/frame_ping.h", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", - "src/core/ext/transport/chttp2/transport/frame_settings.h", - "src/core/ext/transport/chttp2/transport/frame_window_update.h", - "src/core/ext/transport/chttp2/transport/hpack_encoder.h", - "src/core/ext/transport/chttp2/transport/hpack_parser.h", - "src/core/ext/transport/chttp2/transport/hpack_table.h", - "src/core/ext/transport/chttp2/transport/http2_errors.h", - "src/core/ext/transport/chttp2/transport/huffsyms.h", - "src/core/ext/transport/chttp2/transport/incoming_metadata.h", - "src/core/ext/transport/chttp2/transport/internal.h", - "src/core/ext/transport/chttp2/transport/status_conversion.h", - "src/core/ext/transport/chttp2/transport/stream_map.h", - "src/core/ext/transport/chttp2/transport/timeout_encoding.h", - "src/core/ext/transport/chttp2/transport/varint.h", - "src/core/lib/census/aggregation.h", - "src/core/lib/census/grpc_filter.h", - "src/core/lib/census/grpc_plugin.h", - "src/core/lib/census/mlog.h", - "src/core/lib/census/rpc_metric_id.h", + "include/grpc/impl/codegen/alloc.h", + "include/grpc/impl/codegen/atm.h", + "include/grpc/impl/codegen/atm_gcc_atomic.h", + "include/grpc/impl/codegen/atm_gcc_sync.h", + "include/grpc/impl/codegen/atm_win32.h", + "include/grpc/impl/codegen/log.h", + "include/grpc/impl/codegen/port_platform.h", + "include/grpc/impl/codegen/slice.h", + "include/grpc/impl/codegen/slice_buffer.h", + "include/grpc/impl/codegen/sync.h", + "include/grpc/impl/codegen/sync_generic.h", + "include/grpc/impl/codegen/sync_posix.h", + "include/grpc/impl/codegen/sync_win32.h", + "include/grpc/impl/codegen/time.h", + "include/grpc/grpc_security.h", + "include/grpc/census.h", "src/core/lib/channel/channel_args.h", "src/core/lib/channel/channel_stack.h", "src/core/lib/channel/channel_stack_builder.h", - "src/core/lib/channel/client_channel.h", "src/core/lib/channel/compress_filter.h", "src/core/lib/channel/connected_channel.h", "src/core/lib/channel/context.h", "src/core/lib/channel/http_client_filter.h", "src/core/lib/channel/http_server_filter.h", - "src/core/lib/channel/subchannel_call_holder.h", - "src/core/lib/client_config/client_config.h", - "src/core/lib/client_config/connector.h", - "src/core/lib/client_config/initial_connect_string.h", - "src/core/lib/client_config/lb_policies/load_balancer_api.h", - "src/core/lib/client_config/lb_policies/pick_first.h", - "src/core/lib/client_config/lb_policies/round_robin.h", - "src/core/lib/client_config/lb_policy.h", - "src/core/lib/client_config/lb_policy_factory.h", - "src/core/lib/client_config/lb_policy_registry.h", - "src/core/lib/client_config/resolver.h", - "src/core/lib/client_config/resolver_factory.h", - "src/core/lib/client_config/resolver_registry.h", - "src/core/lib/client_config/resolvers/dns_resolver.h", - "src/core/lib/client_config/resolvers/sockaddr_resolver.h", - "src/core/lib/client_config/subchannel.h", - "src/core/lib/client_config/subchannel_factory.h", - "src/core/lib/client_config/subchannel_index.h", - "src/core/lib/client_config/uri_parser.h", "src/core/lib/compression/algorithm_metadata.h", "src/core/lib/compression/message_compress.h", "src/core/lib/debug/trace.h", @@ -163,17 +131,16 @@ "src/core/lib/iomgr/closure.h", "src/core/lib/iomgr/endpoint.h", "src/core/lib/iomgr/endpoint_pair.h", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.h", + "src/core/lib/iomgr/ev_posix.h", "src/core/lib/iomgr/exec_ctx.h", "src/core/lib/iomgr/executor.h", - "src/core/lib/iomgr/fd_posix.h", "src/core/lib/iomgr/iocp_windows.h", "src/core/lib/iomgr/iomgr.h", "src/core/lib/iomgr/iomgr_internal.h", "src/core/lib/iomgr/iomgr_posix.h", "src/core/lib/iomgr/pollset.h", - "src/core/lib/iomgr/pollset_posix.h", "src/core/lib/iomgr/pollset_set.h", - "src/core/lib/iomgr/pollset_set_posix.h", "src/core/lib/iomgr/pollset_set_windows.h", "src/core/lib/iomgr/pollset_windows.h", "src/core/lib/iomgr/resolve_address.h", @@ -201,18 +168,6 @@ "src/core/lib/json/json_common.h", "src/core/lib/json/json_reader.h", "src/core/lib/json/json_writer.h", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h", - "src/core/lib/security/auth_filters.h", - "src/core/lib/security/b64.h", - "src/core/lib/security/credentials.h", - "src/core/lib/security/handshake.h", - "src/core/lib/security/json_token.h", - "src/core/lib/security/jwt_verifier.h", - "src/core/lib/security/secure_endpoint.h", - "src/core/lib/security/security_connector.h", - "src/core/lib/security/security_context.h", - "src/core/lib/statistics/census_interface.h", - "src/core/lib/statistics/census_rpc_stats.h", "src/core/lib/surface/api_trace.h", "src/core/lib/surface/call.h", "src/core/lib/surface/call_test_only.h", @@ -232,99 +187,93 @@ "src/core/lib/transport/static_metadata.h", "src/core/lib/transport/transport.h", "src/core/lib/transport/transport_impl.h", + "src/core/ext/transport/chttp2/transport/bin_encoder.h", + "src/core/ext/transport/chttp2/transport/chttp2_transport.h", + "src/core/ext/transport/chttp2/transport/frame.h", + "src/core/ext/transport/chttp2/transport/frame_data.h", + "src/core/ext/transport/chttp2/transport/frame_goaway.h", + "src/core/ext/transport/chttp2/transport/frame_ping.h", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", + "src/core/ext/transport/chttp2/transport/frame_settings.h", + "src/core/ext/transport/chttp2/transport/frame_window_update.h", + "src/core/ext/transport/chttp2/transport/hpack_encoder.h", + "src/core/ext/transport/chttp2/transport/hpack_parser.h", + "src/core/ext/transport/chttp2/transport/hpack_table.h", + "src/core/ext/transport/chttp2/transport/http2_errors.h", + "src/core/ext/transport/chttp2/transport/huffsyms.h", + "src/core/ext/transport/chttp2/transport/incoming_metadata.h", + "src/core/ext/transport/chttp2/transport/internal.h", + "src/core/ext/transport/chttp2/transport/status_conversion.h", + "src/core/ext/transport/chttp2/transport/stream_map.h", + "src/core/ext/transport/chttp2/transport/timeout_encoding.h", + "src/core/ext/transport/chttp2/transport/varint.h", + "src/core/ext/transport/chttp2/alpn/alpn.h", + "src/core/lib/security/auth_filters.h", + "src/core/lib/security/b64.h", + "src/core/lib/security/credentials.h", + "src/core/lib/security/handshake.h", + "src/core/lib/security/json_token.h", + "src/core/lib/security/jwt_verifier.h", + "src/core/lib/security/secure_endpoint.h", + "src/core/lib/security/security_connector.h", + "src/core/lib/security/security_context.h", "src/core/lib/tsi/fake_transport_security.h", "src/core/lib/tsi/ssl_transport_security.h", "src/core/lib/tsi/ssl_types.h", "src/core/lib/tsi/transport_security.h", "src/core/lib/tsi/transport_security_interface.h", + "src/core/ext/client_config/client_channel.h", + "src/core/ext/client_config/client_channel_factory.h", + "src/core/ext/client_config/client_config.h", + "src/core/ext/client_config/connector.h", + "src/core/ext/client_config/initial_connect_string.h", + "src/core/ext/client_config/lb_policy.h", + "src/core/ext/client_config/lb_policy_factory.h", + "src/core/ext/client_config/lb_policy_registry.h", + "src/core/ext/client_config/resolver.h", + "src/core/ext/client_config/resolver_factory.h", + "src/core/ext/client_config/resolver_registry.h", + "src/core/ext/client_config/subchannel.h", + "src/core/ext/client_config/subchannel_call_holder.h", + "src/core/ext/client_config/subchannel_index.h", + "src/core/ext/client_config/uri_parser.h", + "src/core/ext/lb_policy/grpclb/load_balancer_api.h", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h", "third_party/nanopb/pb.h", "third_party/nanopb/pb_common.h", "third_party/nanopb/pb_decode.h", "third_party/nanopb/pb_encode.h", - "src/core/ext/transport/chttp2/client/insecure/channel_create.c", - "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c", - "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", - "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c", - "src/core/ext/transport/chttp2/transport/alpn.c", - "src/core/ext/transport/chttp2/transport/bin_encoder.c", - "src/core/ext/transport/chttp2/transport/chttp2_transport.c", - "src/core/ext/transport/chttp2/transport/frame_data.c", - "src/core/ext/transport/chttp2/transport/frame_goaway.c", - "src/core/ext/transport/chttp2/transport/frame_ping.c", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", - "src/core/ext/transport/chttp2/transport/frame_settings.c", - "src/core/ext/transport/chttp2/transport/frame_window_update.c", - "src/core/ext/transport/chttp2/transport/hpack_encoder.c", - "src/core/ext/transport/chttp2/transport/hpack_parser.c", - "src/core/ext/transport/chttp2/transport/hpack_table.c", - "src/core/ext/transport/chttp2/transport/huffsyms.c", - "src/core/ext/transport/chttp2/transport/incoming_metadata.c", - "src/core/ext/transport/chttp2/transport/parsing.c", - "src/core/ext/transport/chttp2/transport/status_conversion.c", - "src/core/ext/transport/chttp2/transport/stream_lists.c", - "src/core/ext/transport/chttp2/transport/stream_map.c", - "src/core/ext/transport/chttp2/transport/timeout_encoding.c", - "src/core/ext/transport/chttp2/transport/varint.c", - "src/core/ext/transport/chttp2/transport/writing.c", - "src/core/lib/census/context.c", - "src/core/lib/census/grpc_context.c", - "src/core/lib/census/grpc_filter.c", - "src/core/lib/census/grpc_plugin.c", - "src/core/lib/census/initialize.c", - "src/core/lib/census/mlog.c", - "src/core/lib/census/operation.c", - "src/core/lib/census/placeholders.c", - "src/core/lib/census/tracing.c", + "src/core/ext/census/aggregation.h", + "src/core/ext/census/census_interface.h", + "src/core/ext/census/census_rpc_stats.h", + "src/core/ext/census/grpc_filter.h", + "src/core/ext/census/mlog.h", + "src/core/ext/census/rpc_metric_id.h", "src/core/lib/channel/channel_args.c", "src/core/lib/channel/channel_stack.c", "src/core/lib/channel/channel_stack_builder.c", - "src/core/lib/channel/client_channel.c", "src/core/lib/channel/compress_filter.c", "src/core/lib/channel/connected_channel.c", "src/core/lib/channel/http_client_filter.c", "src/core/lib/channel/http_server_filter.c", - "src/core/lib/channel/subchannel_call_holder.c", - "src/core/lib/client_config/client_config.c", - "src/core/lib/client_config/connector.c", - "src/core/lib/client_config/default_initial_connect_string.c", - "src/core/lib/client_config/initial_connect_string.c", - "src/core/lib/client_config/lb_policies/load_balancer_api.c", - "src/core/lib/client_config/lb_policies/pick_first.c", - "src/core/lib/client_config/lb_policies/round_robin.c", - "src/core/lib/client_config/lb_policy.c", - "src/core/lib/client_config/lb_policy_factory.c", - "src/core/lib/client_config/lb_policy_registry.c", - "src/core/lib/client_config/resolver.c", - "src/core/lib/client_config/resolver_factory.c", - "src/core/lib/client_config/resolver_registry.c", - "src/core/lib/client_config/resolvers/dns_resolver.c", - "src/core/lib/client_config/resolvers/sockaddr_resolver.c", - "src/core/lib/client_config/subchannel.c", - "src/core/lib/client_config/subchannel_factory.c", - "src/core/lib/client_config/subchannel_index.c", - "src/core/lib/client_config/uri_parser.c", "src/core/lib/compression/compression_algorithm.c", "src/core/lib/compression/message_compress.c", "src/core/lib/debug/trace.c", "src/core/lib/http/format_request.c", "src/core/lib/http/httpcli.c", - "src/core/lib/http/httpcli_security_connector.c", "src/core/lib/http/parser.c", "src/core/lib/iomgr/closure.c", "src/core/lib/iomgr/endpoint.c", "src/core/lib/iomgr/endpoint_pair_posix.c", "src/core/lib/iomgr/endpoint_pair_windows.c", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.c", + "src/core/lib/iomgr/ev_posix.c", "src/core/lib/iomgr/exec_ctx.c", "src/core/lib/iomgr/executor.c", - "src/core/lib/iomgr/fd_posix.c", "src/core/lib/iomgr/iocp_windows.c", "src/core/lib/iomgr/iomgr.c", "src/core/lib/iomgr/iomgr_posix.c", "src/core/lib/iomgr/iomgr_windows.c", - "src/core/lib/iomgr/pollset_multipoller_with_epoll.c", - "src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c", - "src/core/lib/iomgr/pollset_posix.c", - "src/core/lib/iomgr/pollset_set_posix.c", "src/core/lib/iomgr/pollset_set_windows.c", "src/core/lib/iomgr/pollset_windows.c", "src/core/lib/iomgr/resolve_address_posix.c", @@ -356,21 +305,6 @@ "src/core/lib/json/json_reader.c", "src/core/lib/json/json_string.c", "src/core/lib/json/json_writer.c", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c", - "src/core/lib/security/b64.c", - "src/core/lib/security/client_auth_filter.c", - "src/core/lib/security/credentials.c", - "src/core/lib/security/credentials_metadata.c", - "src/core/lib/security/credentials_posix.c", - "src/core/lib/security/credentials_win32.c", - "src/core/lib/security/google_default_credentials.c", - "src/core/lib/security/handshake.c", - "src/core/lib/security/json_token.c", - "src/core/lib/security/jwt_verifier.c", - "src/core/lib/security/secure_endpoint.c", - "src/core/lib/security/security_connector.c", - "src/core/lib/security/security_context.c", - "src/core/lib/security/server_auth_filter.c", "src/core/lib/surface/alarm.c", "src/core/lib/surface/api_trace.c", "src/core/lib/surface/byte_buffer.c", @@ -379,14 +313,12 @@ "src/core/lib/surface/call_details.c", "src/core/lib/surface/call_log_batch.c", "src/core/lib/surface/channel.c", - "src/core/lib/surface/channel_connectivity.c", "src/core/lib/surface/channel_init.c", "src/core/lib/surface/channel_ping.c", "src/core/lib/surface/channel_stack_type.c", "src/core/lib/surface/completion_queue.c", "src/core/lib/surface/event_string.c", "src/core/lib/surface/init.c", - "src/core/lib/surface/init_secure.c", "src/core/lib/surface/lame_client.c", "src/core/lib/surface/metadata_array.c", "src/core/lib/surface/server.c", @@ -399,12 +331,88 @@ "src/core/lib/transport/static_metadata.c", "src/core/lib/transport/transport.c", "src/core/lib/transport/transport_op_string.c", + "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c", + "src/core/ext/transport/chttp2/transport/bin_encoder.c", + "src/core/ext/transport/chttp2/transport/chttp2_plugin.c", + "src/core/ext/transport/chttp2/transport/chttp2_transport.c", + "src/core/ext/transport/chttp2/transport/frame_data.c", + "src/core/ext/transport/chttp2/transport/frame_goaway.c", + "src/core/ext/transport/chttp2/transport/frame_ping.c", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", + "src/core/ext/transport/chttp2/transport/frame_settings.c", + "src/core/ext/transport/chttp2/transport/frame_window_update.c", + "src/core/ext/transport/chttp2/transport/hpack_encoder.c", + "src/core/ext/transport/chttp2/transport/hpack_parser.c", + "src/core/ext/transport/chttp2/transport/hpack_table.c", + "src/core/ext/transport/chttp2/transport/huffsyms.c", + "src/core/ext/transport/chttp2/transport/incoming_metadata.c", + "src/core/ext/transport/chttp2/transport/parsing.c", + "src/core/ext/transport/chttp2/transport/status_conversion.c", + "src/core/ext/transport/chttp2/transport/stream_lists.c", + "src/core/ext/transport/chttp2/transport/stream_map.c", + "src/core/ext/transport/chttp2/transport/timeout_encoding.c", + "src/core/ext/transport/chttp2/transport/varint.c", + "src/core/ext/transport/chttp2/transport/writing.c", + "src/core/ext/transport/chttp2/alpn/alpn.c", + "src/core/lib/http/httpcli_security_connector.c", + "src/core/lib/security/b64.c", + "src/core/lib/security/client_auth_filter.c", + "src/core/lib/security/credentials.c", + "src/core/lib/security/credentials_metadata.c", + "src/core/lib/security/credentials_posix.c", + "src/core/lib/security/credentials_win32.c", + "src/core/lib/security/google_default_credentials.c", + "src/core/lib/security/handshake.c", + "src/core/lib/security/json_token.c", + "src/core/lib/security/jwt_verifier.c", + "src/core/lib/security/secure_endpoint.c", + "src/core/lib/security/security_connector.c", + "src/core/lib/security/security_context.c", + "src/core/lib/security/server_auth_filter.c", + "src/core/lib/surface/init_secure.c", "src/core/lib/tsi/fake_transport_security.c", "src/core/lib/tsi/ssl_transport_security.c", "src/core/lib/tsi/transport_security.c", + "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c", + "src/core/ext/client_config/channel_connectivity.c", + "src/core/ext/client_config/client_channel.c", + "src/core/ext/client_config/client_channel_factory.c", + "src/core/ext/client_config/client_config.c", + "src/core/ext/client_config/client_config_plugin.c", + "src/core/ext/client_config/connector.c", + "src/core/ext/client_config/default_initial_connect_string.c", + "src/core/ext/client_config/initial_connect_string.c", + "src/core/ext/client_config/lb_policy.c", + "src/core/ext/client_config/lb_policy_factory.c", + "src/core/ext/client_config/lb_policy_registry.c", + "src/core/ext/client_config/resolver.c", + "src/core/ext/client_config/resolver_factory.c", + "src/core/ext/client_config/resolver_registry.c", + "src/core/ext/client_config/subchannel.c", + "src/core/ext/client_config/subchannel_call_holder.c", + "src/core/ext/client_config/subchannel_index.c", + "src/core/ext/client_config/uri_parser.c", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", + "src/core/ext/transport/chttp2/client/insecure/channel_create.c", + "src/core/ext/lb_policy/grpclb/load_balancer_api.c", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c", "third_party/nanopb/pb_common.c", "third_party/nanopb/pb_decode.c", "third_party/nanopb/pb_encode.c", + "src/core/ext/lb_policy/pick_first/pick_first.c", + "src/core/ext/lb_policy/round_robin/round_robin.c", + "src/core/ext/resolver/dns/native/dns_resolver.c", + "src/core/ext/resolver/sockaddr/sockaddr_resolver.c", + "src/core/ext/census/context.c", + "src/core/ext/census/grpc_context.c", + "src/core/ext/census/grpc_filter.c", + "src/core/ext/census/grpc_plugin.c", + "src/core/ext/census/initialize.c", + "src/core/ext/census/mlog.c", + "src/core/ext/census/operation.c", + "src/core/ext/census/placeholders.c", + "src/core/ext/census/tracing.c", + "src/core/plugin_registry/grpc_plugin_registry.c", "third_party/zlib/crc32.h", "third_party/zlib/deflate.h", "third_party/zlib/gzguts.h", @@ -832,20 +840,6 @@ "third_party/boringssl/ssl/t1_enc.c", "third_party/boringssl/ssl/t1_lib.c", "third_party/boringssl/ssl/tls_record.c", - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_win32.h", - "include/grpc/impl/codegen/time.h", "include/grpc/support/alloc.h", "include/grpc/support/atm.h", "include/grpc/support/atm_gcc_atomic.h", @@ -874,6 +868,20 @@ "include/grpc/support/tls_msvc.h", "include/grpc/support/tls_pthread.h", "include/grpc/support/useful.h", + "include/grpc/impl/codegen/alloc.h", + "include/grpc/impl/codegen/atm.h", + "include/grpc/impl/codegen/atm_gcc_atomic.h", + "include/grpc/impl/codegen/atm_gcc_sync.h", + "include/grpc/impl/codegen/atm_win32.h", + "include/grpc/impl/codegen/log.h", + "include/grpc/impl/codegen/port_platform.h", + "include/grpc/impl/codegen/slice.h", + "include/grpc/impl/codegen/slice_buffer.h", + "include/grpc/impl/codegen/sync.h", + "include/grpc/impl/codegen/sync_generic.h", + "include/grpc/impl/codegen/sync_posix.h", + "include/grpc/impl/codegen/sync_win32.h", + "include/grpc/impl/codegen/time.h", "src/core/lib/profiling/timers.h", "src/core/lib/support/backoff.h", "src/core/lib/support/block_annotate.h", diff --git a/package.xml b/package.xml index a40cd160ae5b02c7f3948945c6b0ae05b971233d..2f4c6255394a25a71ed053d7829cfc293b370ea9 100644 --- a/package.xml +++ b/package.xml @@ -50,20 +50,6 @@ <file baseinstalldir="/" name="src/php/ext/grpc/server.h" role="src" /> <file baseinstalldir="/" name="src/php/ext/grpc/server_credentials.h" role="src" /> <file baseinstalldir="/" name="src/php/ext/grpc/timeval.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/alloc.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/atm.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/atm_gcc_atomic.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/atm_gcc_sync.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/atm_win32.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/log.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/port_platform.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/slice.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/slice_buffer.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/sync.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/sync_generic.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/sync_posix.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/sync_win32.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/impl/codegen/time.h" role="src" /> <file baseinstalldir="/" name="include/grpc/support/alloc.h" role="src" /> <file baseinstalldir="/" name="include/grpc/support/atm.h" role="src" /> <file baseinstalldir="/" name="include/grpc/support/atm_gcc_atomic.h" role="src" /> @@ -92,6 +78,20 @@ <file baseinstalldir="/" name="include/grpc/support/tls_msvc.h" role="src" /> <file baseinstalldir="/" name="include/grpc/support/tls_pthread.h" role="src" /> <file baseinstalldir="/" name="include/grpc/support/useful.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/alloc.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/atm.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/atm_gcc_atomic.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/atm_gcc_sync.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/atm_win32.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/log.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/port_platform.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/slice.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/slice_buffer.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/sync.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/sync_generic.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/sync_posix.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/sync_win32.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/time.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/profiling/timers.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/support/backoff.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/support/block_annotate.h" role="src" /> @@ -150,71 +150,39 @@ <file baseinstalldir="/" name="src/core/lib/support/wrap_memcpy.c" role="src" /> <file baseinstalldir="/" name="include/grpc/byte_buffer.h" role="src" /> <file baseinstalldir="/" name="include/grpc/byte_buffer_reader.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/census.h" role="src" /> <file baseinstalldir="/" name="include/grpc/compression.h" role="src" /> <file baseinstalldir="/" name="include/grpc/grpc.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/grpc_security.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/status.h" role="src" /> <file baseinstalldir="/" name="include/grpc/impl/codegen/byte_buffer.h" role="src" /> <file baseinstalldir="/" name="include/grpc/impl/codegen/compression_types.h" role="src" /> <file baseinstalldir="/" name="include/grpc/impl/codegen/connectivity_state.h" role="src" /> <file baseinstalldir="/" name="include/grpc/impl/codegen/grpc_types.h" role="src" /> <file baseinstalldir="/" name="include/grpc/impl/codegen/propagation_bits.h" role="src" /> <file baseinstalldir="/" name="include/grpc/impl/codegen/status.h" role="src" /> - <file baseinstalldir="/" name="include/grpc/status.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/alpn.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/bin_encoder.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/chttp2_transport.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_data.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_goaway.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_ping.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_rst_stream.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_settings.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_window_update.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_encoder.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_parser.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_table.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/http2_errors.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/huffsyms.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/incoming_metadata.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/internal.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/status_conversion.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/stream_map.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/timeout_encoding.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/varint.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/aggregation.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/grpc_filter.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/grpc_plugin.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/mlog.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/rpc_metric_id.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/alloc.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/atm.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/atm_gcc_atomic.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/atm_gcc_sync.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/atm_win32.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/log.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/port_platform.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/slice.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/slice_buffer.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/sync.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/sync_generic.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/sync_posix.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/sync_win32.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/impl/codegen/time.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/grpc_security.h" role="src" /> + <file baseinstalldir="/" name="include/grpc/census.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/channel_args.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/channel_stack.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/channel_stack_builder.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/channel/client_channel.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/compress_filter.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/connected_channel.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/context.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/http_client_filter.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/http_server_filter.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/channel/subchannel_call_holder.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/client_config.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/connector.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/initial_connect_string.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/lb_policies/load_balancer_api.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/lb_policies/pick_first.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/lb_policies/round_robin.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/lb_policy.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/lb_policy_factory.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/lb_policy_registry.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/resolver.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/resolver_factory.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/resolver_registry.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/resolvers/dns_resolver.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/resolvers/sockaddr_resolver.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/subchannel.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/subchannel_factory.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/subchannel_index.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/uri_parser.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/compression/algorithm_metadata.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/compression/message_compress.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/debug/trace.h" role="src" /> @@ -224,17 +192,16 @@ <file baseinstalldir="/" name="src/core/lib/iomgr/closure.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/endpoint.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/endpoint_pair.h" role="src" /> + <file baseinstalldir="/" name="src/core/lib/iomgr/ev_poll_and_epoll_posix.h" role="src" /> + <file baseinstalldir="/" name="src/core/lib/iomgr/ev_posix.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/exec_ctx.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/executor.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/iomgr/fd_posix.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/iocp_windows.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/iomgr.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/iomgr_internal.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/iomgr_posix.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/pollset.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_posix.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_set.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_set_posix.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_set_windows.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_windows.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/resolve_address.h" role="src" /> @@ -262,18 +229,6 @@ <file baseinstalldir="/" name="src/core/lib/json/json_common.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/json/json_reader.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/json/json_writer.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/auth_filters.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/b64.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/credentials.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/handshake.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/json_token.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/jwt_verifier.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/secure_endpoint.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/security_connector.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/security_context.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/statistics/census_interface.h" role="src" /> - <file baseinstalldir="/" name="src/core/lib/statistics/census_rpc_stats.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/api_trace.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/call.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/call_test_only.h" role="src" /> @@ -293,99 +248,93 @@ <file baseinstalldir="/" name="src/core/lib/transport/static_metadata.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/transport/transport.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/transport/transport_impl.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/bin_encoder.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/chttp2_transport.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_data.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_goaway.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_ping.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_rst_stream.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_settings.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_window_update.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_encoder.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_parser.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_table.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/http2_errors.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/huffsyms.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/incoming_metadata.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/internal.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/status_conversion.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/stream_map.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/timeout_encoding.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/varint.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/alpn/alpn.h" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/auth_filters.h" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/b64.h" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/credentials.h" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/handshake.h" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/json_token.h" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/jwt_verifier.h" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/secure_endpoint.h" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/security_connector.h" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/security_context.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/tsi/fake_transport_security.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/tsi/ssl_transport_security.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/tsi/ssl_types.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/tsi/transport_security.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/tsi/transport_security_interface.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/client_channel.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/client_channel_factory.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/client_config.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/connector.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/initial_connect_string.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/lb_policy.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/lb_policy_factory.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/lb_policy_registry.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/resolver.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/resolver_factory.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/resolver_registry.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/subchannel.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/subchannel_call_holder.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/subchannel_index.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/uri_parser.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/lb_policy/grpclb/load_balancer_api.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h" role="src" /> <file baseinstalldir="/" name="third_party/nanopb/pb.h" role="src" /> <file baseinstalldir="/" name="third_party/nanopb/pb_common.h" role="src" /> <file baseinstalldir="/" name="third_party/nanopb/pb_decode.h" role="src" /> <file baseinstalldir="/" name="third_party/nanopb/pb_encode.h" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/client/insecure/channel_create.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/client/secure/secure_channel_create.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/server/insecure/server_chttp2.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/alpn.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/bin_encoder.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/chttp2_transport.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_data.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_goaway.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_ping.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_rst_stream.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_settings.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_window_update.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_encoder.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_parser.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_table.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/huffsyms.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/incoming_metadata.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/parsing.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/status_conversion.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/stream_lists.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/stream_map.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/timeout_encoding.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/varint.c" role="src" /> - <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/writing.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/context.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/grpc_context.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/grpc_filter.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/grpc_plugin.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/initialize.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/mlog.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/operation.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/placeholders.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/census/tracing.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/aggregation.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/census_interface.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/census_rpc_stats.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/grpc_filter.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/mlog.h" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/rpc_metric_id.h" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/channel_args.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/channel_stack.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/channel_stack_builder.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/channel/client_channel.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/compress_filter.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/connected_channel.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/http_client_filter.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/channel/http_server_filter.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/channel/subchannel_call_holder.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/client_config.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/connector.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/default_initial_connect_string.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/initial_connect_string.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/lb_policies/load_balancer_api.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/lb_policies/pick_first.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/lb_policies/round_robin.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/lb_policy.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/lb_policy_factory.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/lb_policy_registry.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/resolver.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/resolver_factory.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/resolver_registry.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/resolvers/dns_resolver.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/resolvers/sockaddr_resolver.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/subchannel.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/subchannel_factory.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/subchannel_index.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/client_config/uri_parser.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/compression/compression_algorithm.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/compression/message_compress.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/debug/trace.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/http/format_request.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/http/httpcli.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/http/httpcli_security_connector.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/http/parser.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/closure.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/endpoint.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/endpoint_pair_posix.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/endpoint_pair_windows.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/iomgr/ev_poll_and_epoll_posix.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/iomgr/ev_posix.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/exec_ctx.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/executor.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/iomgr/fd_posix.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/iocp_windows.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/iomgr.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/iomgr_posix.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/iomgr_windows.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_multipoller_with_epoll.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_posix.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_set_posix.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_set_windows.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_windows.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/iomgr/resolve_address_posix.c" role="src" /> @@ -417,21 +366,6 @@ <file baseinstalldir="/" name="src/core/lib/json/json_reader.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/json/json_string.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/json/json_writer.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/b64.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/client_auth_filter.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/credentials.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/credentials_metadata.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/credentials_posix.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/credentials_win32.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/google_default_credentials.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/handshake.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/json_token.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/jwt_verifier.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/secure_endpoint.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/security_connector.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/security_context.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/security/server_auth_filter.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/alarm.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/api_trace.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/byte_buffer.c" role="src" /> @@ -440,14 +374,12 @@ <file baseinstalldir="/" name="src/core/lib/surface/call_details.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/call_log_batch.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/channel.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/surface/channel_connectivity.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/channel_init.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/channel_ping.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/channel_stack_type.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/completion_queue.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/event_string.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/init.c" role="src" /> - <file baseinstalldir="/" name="src/core/lib/surface/init_secure.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/lame_client.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/metadata_array.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/surface/server.c" role="src" /> @@ -460,12 +392,88 @@ <file baseinstalldir="/" name="src/core/lib/transport/static_metadata.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/transport/transport.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/transport/transport_op_string.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/bin_encoder.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/chttp2_plugin.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/chttp2_transport.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_data.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_goaway.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_ping.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_rst_stream.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_settings.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/frame_window_update.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_encoder.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_parser.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/hpack_table.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/huffsyms.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/incoming_metadata.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/parsing.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/status_conversion.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/stream_lists.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/stream_map.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/timeout_encoding.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/varint.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/transport/writing.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/alpn/alpn.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/http/httpcli_security_connector.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/b64.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/client_auth_filter.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/credentials.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/credentials_metadata.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/credentials_posix.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/credentials_win32.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/google_default_credentials.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/handshake.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/json_token.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/jwt_verifier.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/secure_endpoint.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/security_connector.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/security_context.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/security/server_auth_filter.c" role="src" /> + <file baseinstalldir="/" name="src/core/lib/surface/init_secure.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/tsi/fake_transport_security.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/tsi/ssl_transport_security.c" role="src" /> <file baseinstalldir="/" name="src/core/lib/tsi/transport_security.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/client/secure/secure_channel_create.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/channel_connectivity.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/client_channel.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/client_channel_factory.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/client_config.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/client_config_plugin.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/connector.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/default_initial_connect_string.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/initial_connect_string.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/lb_policy.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/lb_policy_factory.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/lb_policy_registry.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/resolver.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/resolver_factory.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/resolver_registry.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/subchannel.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/subchannel_call_holder.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/subchannel_index.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/client_config/uri_parser.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/server/insecure/server_chttp2.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/transport/chttp2/client/insecure/channel_create.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/lb_policy/grpclb/load_balancer_api.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c" role="src" /> <file baseinstalldir="/" name="third_party/nanopb/pb_common.c" role="src" /> <file baseinstalldir="/" name="third_party/nanopb/pb_decode.c" role="src" /> <file baseinstalldir="/" name="third_party/nanopb/pb_encode.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/lb_policy/pick_first/pick_first.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/lb_policy/round_robin/round_robin.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/resolver/dns/native/dns_resolver.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/resolver/sockaddr/sockaddr_resolver.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/context.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/grpc_context.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/grpc_filter.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/grpc_plugin.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/initialize.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/mlog.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/operation.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/placeholders.c" role="src" /> + <file baseinstalldir="/" name="src/core/ext/census/tracing.c" role="src" /> + <file baseinstalldir="/" name="src/core/plugin_registry/grpc_plugin_registry.c" role="src" /> <file baseinstalldir="/" name="third_party/boringssl/crypto/aes/internal.h" role="src" /> <file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/asn1_locl.h" role="src" /> <file baseinstalldir="/" name="third_party/boringssl/crypto/bio/internal.h" role="src" /> diff --git a/setup.py b/setup.py index 9634de0f831630d597bfea2b73264739831fa1b5..cd0d3a1a51b366908314a0344e59074cc18edb6c 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/boringssl/gen_build_yaml.py b/src/boringssl/gen_build_yaml.py index 3a7116b181a9ce899ddba7dc1d9f4db9539e7378..20f6413adfc91d21c0e30e25f32d17d493e1b518 100755 --- a/src/boringssl/gen_build_yaml.py +++ b/src/boringssl/gen_build_yaml.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/compiler/cpp_generator.cc b/src/compiler/cpp_generator.cc index 206a6e1fe51c52a03050abbf64327f20f978c5d9..08b1123a5121ae226fbe0b34db20d6682cba675b 100644 --- a/src/compiler/cpp_generator.cc +++ b/src/compiler/cpp_generator.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/compiler/cpp_generator.h b/src/compiler/cpp_generator.h index 4f9de9d11a20ee337b7824c9ff42f92f7522e375..03621c8794ce10965629e0e4e7df0cbf176badb1 100644 --- a/src/compiler/cpp_generator.h +++ b/src/compiler/cpp_generator.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/compiler/cpp_plugin.cc b/src/compiler/cpp_plugin.cc index d8ada4835c54e58dc96f282f80d8747b7f798789..92a9ba754918f894d49e3abc5d9da91657b887d4 100644 --- a/src/compiler/cpp_plugin.cc +++ b/src/compiler/cpp_plugin.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/compiler/csharp_generator.cc b/src/compiler/csharp_generator.cc index f6079bdc05abfd6af67faf117598b451324f46ab..69e2738d53d30bd50aecbfdf03c58611e2548683 100644 --- a/src/compiler/csharp_generator.cc +++ b/src/compiler/csharp_generator.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -81,6 +81,10 @@ std::string GetServerInterfaceName(const ServiceDescriptor* service) { return "I" + service->name(); } +std::string GetServerClassName(const ServiceDescriptor* service) { + return service->name() + "Base"; +} + std::string GetCSharpMethodType(MethodType method_type) { switch (method_type) { case METHODTYPE_NO_STREAMING: @@ -108,10 +112,14 @@ std::string GetMethodFieldName(const MethodDescriptor *method) { return "__Method_" + method->name(); } -std::string GetMethodRequestParamMaybe(const MethodDescriptor *method) { +std::string GetMethodRequestParamMaybe(const MethodDescriptor *method, + bool invocation_param=false) { if (method->client_streaming()) { return ""; } + if (invocation_param) { + return "request, "; + } return GetClassName(method->input_type()) + " request, "; } @@ -242,6 +250,8 @@ void GenerateServiceDescriptorProperty(Printer* out, const ServiceDescriptor *se void GenerateClientInterface(Printer* out, const ServiceDescriptor *service) { out->Print("// client interface\n"); + out->Print("[System.Obsolete(\"Client side interfaced will be removed " + "in the next release. Use client class directly.\")]\n"); out->Print("public interface $name$\n", "name", GetClientInterfaceName(service)); out->Print("{\n"); @@ -290,6 +300,8 @@ void GenerateClientInterface(Printer* out, const ServiceDescriptor *service) { void GenerateServerInterface(Printer* out, const ServiceDescriptor *service) { out->Print("// server-side interface\n"); + out->Print("[System.Obsolete(\"Service implementations should inherit" + " from the generated abstract base class instead.\")]\n"); out->Print("public interface $name$\n", "name", GetServerInterfaceName(service)); out->Print("{\n"); @@ -309,21 +321,64 @@ void GenerateServerInterface(Printer* out, const ServiceDescriptor *service) { out->Print("\n"); } +void GenerateServerClass(Printer* out, const ServiceDescriptor *service) { + out->Print("// server-side abstract class\n"); + out->Print("public abstract class $name$\n", "name", + GetServerClassName(service)); + out->Print("{\n"); + out->Indent(); + for (int i = 0; i < service->method_count(); i++) { + const MethodDescriptor *method = service->method(i); + out->Print( + "public virtual $returntype$ $methodname$($request$$response_stream_maybe$, " + "ServerCallContext context)\n", + "methodname", method->name(), "returntype", + GetMethodReturnTypeServer(method), "request", + GetMethodRequestParamServer(method), "response_stream_maybe", + GetMethodResponseStreamMaybe(method)); + out->Print("{\n"); + out->Indent(); + out->Print("throw new RpcException(" + "new Status(StatusCode.Unimplemented, \"\"));\n"); + out->Outdent(); + out->Print("}\n\n"); + } + out->Outdent(); + out->Print("}\n"); + out->Print("\n"); +} + void GenerateClientStub(Printer* out, const ServiceDescriptor *service) { out->Print("// client stub\n"); out->Print( - "public class $name$ : ClientBase, $interface$\n", - "name", GetClientClassName(service), "interface", - GetClientInterfaceName(service)); + "public class $name$ : ClientBase<$name$>, $interface$\n", + "name", GetClientClassName(service), + "interface", GetClientInterfaceName(service)); out->Print("{\n"); out->Indent(); // constructors - out->Print( - "public $name$(Channel channel) : base(channel)\n", - "name", GetClientClassName(service)); + out->Print("public $name$(Channel channel) : base(channel)\n", + "name", GetClientClassName(service)); + out->Print("{\n"); + out->Print("}\n"); + out->Print("public $name$(CallInvoker callInvoker) : base(callInvoker)\n", + "name", GetClientClassName(service)); out->Print("{\n"); out->Print("}\n"); + out->Print("///<summary>Protected parameterless constructor to allow creation" + " of test doubles.</summary>\n"); + out->Print("protected $name$() : base()\n", + "name", GetClientClassName(service)); + out->Print("{\n"); + out->Print("}\n"); + out->Print("///<summary>Protected constructor to allow creation of configured" + " clients.</summary>\n"); + out->Print("protected $name$(ClientBaseConfiguration configuration)" + " : base(configuration)\n", + "name", GetClientClassName(service)); + out->Print("{\n"); + out->Print("}\n\n"); for (int i = 0; i < service->method_count(); i++) { const MethodDescriptor *method = service->method(i); @@ -331,30 +386,26 @@ void GenerateClientStub(Printer* out, const ServiceDescriptor *service) { if (method_type == METHODTYPE_NO_STREAMING) { // unary calls have an extra synchronous stub method - out->Print( - "public $response$ $methodname$($request$ request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))\n", + out->Print("public virtual $response$ $methodname$($request$ request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))\n", "methodname", method->name(), "request", GetClassName(method->input_type()), "response", GetClassName(method->output_type())); out->Print("{\n"); out->Indent(); - out->Print("var call = CreateCall($methodfield$, new CallOptions(headers, deadline, cancellationToken));\n", - "methodfield", GetMethodFieldName(method)); - out->Print("return Calls.BlockingUnaryCall(call, request);\n"); + out->Print("return $methodname$(request, new CallOptions(headers, deadline, cancellationToken));\n", + "methodname", method->name()); out->Outdent(); out->Print("}\n"); // overload taking CallOptions as a param - out->Print( - "public $response$ $methodname$($request$ request, CallOptions options)\n", - "methodname", method->name(), "request", - GetClassName(method->input_type()), "response", - GetClassName(method->output_type())); + out->Print("public virtual $response$ $methodname$($request$ request, CallOptions options)\n", + "methodname", method->name(), "request", + GetClassName(method->input_type()), "response", + GetClassName(method->output_type())); out->Print("{\n"); out->Indent(); - out->Print("var call = CreateCall($methodfield$, options);\n", + out->Print("return CallInvoker.BlockingUnaryCall($methodfield$, null, options, request);\n", "methodfield", GetMethodFieldName(method)); - out->Print("return Calls.BlockingUnaryCall(call, request);\n"); out->Outdent(); out->Print("}\n"); } @@ -364,57 +415,44 @@ void GenerateClientStub(Printer* out, const ServiceDescriptor *service) { method_name += "Async"; // prevent name clash with synchronous method. } out->Print( - "public $returntype$ $methodname$($request_maybe$Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))\n", - "methodname", method_name, "request_maybe", - GetMethodRequestParamMaybe(method), "returntype", - GetMethodReturnTypeClient(method)); + "public virtual $returntype$ $methodname$($request_maybe$Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))\n", + "methodname", method_name, "request_maybe", + GetMethodRequestParamMaybe(method), "returntype", + GetMethodReturnTypeClient(method)); out->Print("{\n"); out->Indent(); - out->Print("var call = CreateCall($methodfield$, new CallOptions(headers, deadline, cancellationToken));\n", - "methodfield", GetMethodFieldName(method)); - switch (GetMethodType(method)) { - case METHODTYPE_NO_STREAMING: - out->Print("return Calls.AsyncUnaryCall(call, request);\n"); - break; - case METHODTYPE_CLIENT_STREAMING: - out->Print("return Calls.AsyncClientStreamingCall(call);\n"); - break; - case METHODTYPE_SERVER_STREAMING: - out->Print( - "return Calls.AsyncServerStreamingCall(call, request);\n"); - break; - case METHODTYPE_BIDI_STREAMING: - out->Print("return Calls.AsyncDuplexStreamingCall(call);\n"); - break; - default: - GOOGLE_LOG(FATAL)<< "Can't get here."; - } + + out->Print("return $methodname$($request_maybe$new CallOptions(headers, deadline, cancellationToken));\n", + "methodname", method_name, + "request_maybe", GetMethodRequestParamMaybe(method, true)); out->Outdent(); out->Print("}\n"); // overload taking CallOptions as a param out->Print( - "public $returntype$ $methodname$($request_maybe$CallOptions options)\n", + "public virtual $returntype$ $methodname$($request_maybe$CallOptions options)\n", "methodname", method_name, "request_maybe", GetMethodRequestParamMaybe(method), "returntype", GetMethodReturnTypeClient(method)); out->Print("{\n"); out->Indent(); - out->Print("var call = CreateCall($methodfield$, options);\n", - "methodfield", GetMethodFieldName(method)); switch (GetMethodType(method)) { case METHODTYPE_NO_STREAMING: - out->Print("return Calls.AsyncUnaryCall(call, request);\n"); + out->Print("return CallInvoker.AsyncUnaryCall($methodfield$, null, options, request);\n", + "methodfield", GetMethodFieldName(method)); break; case METHODTYPE_CLIENT_STREAMING: - out->Print("return Calls.AsyncClientStreamingCall(call);\n"); + out->Print("return CallInvoker.AsyncClientStreamingCall($methodfield$, null, options);\n", + "methodfield", GetMethodFieldName(method)); break; case METHODTYPE_SERVER_STREAMING: out->Print( - "return Calls.AsyncServerStreamingCall(call, request);\n"); + "return CallInvoker.AsyncServerStreamingCall($methodfield$, null, options, request);\n", + "methodfield", GetMethodFieldName(method)); break; case METHODTYPE_BIDI_STREAMING: - out->Print("return Calls.AsyncDuplexStreamingCall(call);\n"); + out->Print("return CallInvoker.AsyncDuplexStreamingCall($methodfield$, null, options);\n", + "methodfield", GetMethodFieldName(method)); break; default: GOOGLE_LOG(FATAL)<< "Can't get here."; @@ -422,17 +460,30 @@ void GenerateClientStub(Printer* out, const ServiceDescriptor *service) { out->Outdent(); out->Print("}\n"); } + + // override NewInstance method + out->Print("protected override $name$ NewInstance(ClientBaseConfiguration configuration)\n", + "name", GetClientClassName(service)); + out->Print("{\n"); + out->Indent(); + out->Print("return new $name$(configuration);\n", + "name", GetClientClassName(service)); + out->Outdent(); + out->Print("}\n"); + out->Outdent(); out->Print("}\n"); out->Print("\n"); } -void GenerateBindServiceMethod(Printer* out, const ServiceDescriptor *service) { +void GenerateBindServiceMethod(Printer* out, const ServiceDescriptor *service, + bool use_server_class) { out->Print( "// creates service definition that can be registered with a server\n"); out->Print( "public static ServerServiceDefinition BindService($interface$ serviceImpl)\n", - "interface", GetServerInterfaceName(service)); + "interface", use_server_class ? GetServerClassName(service) : + GetServerInterfaceName(service)); out->Print("{\n"); out->Indent(); @@ -489,8 +540,10 @@ void GenerateService(Printer* out, const ServiceDescriptor *service) { GenerateServiceDescriptorProperty(out, service); GenerateClientInterface(out, service); GenerateServerInterface(out, service); + GenerateServerClass(out, service); GenerateClientStub(out, service); - GenerateBindServiceMethod(out, service); + GenerateBindServiceMethod(out, service, false); + GenerateBindServiceMethod(out, service, true); GenerateNewStubMethods(out, service); out->Outdent(); diff --git a/src/compiler/python_generator.cc b/src/compiler/python_generator.cc index 5a2ecce1d4f31017d5d48a8b888291565b21233a..02c032800b1bd4068f02e8b98bccc0af6dea2f41 100644 --- a/src/compiler/python_generator.cc +++ b/src/compiler/python_generator.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/compiler/python_generator.h b/src/compiler/python_generator.h index 68da18f9baa659e54fe5ab8fbdb6b5611aba7704..e56b6790ef9fd03e31942114fd378470f2ae9cde 100644 --- a/src/compiler/python_generator.h +++ b/src/compiler/python_generator.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/compiler/python_plugin.cc b/src/compiler/python_plugin.cc index d781ddbee589c96d9424314d0f36e77922f13d88..92a07b2f80afcc8dfe12cb410033dc5e9006c5ad 100644 --- a/src/compiler/python_plugin.cc +++ b/src/compiler/python_plugin.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/census/README.md b/src/core/ext/census/README.md similarity index 100% rename from src/core/lib/census/README.md rename to src/core/ext/census/README.md diff --git a/src/core/lib/census/aggregation.h b/src/core/ext/census/aggregation.h similarity index 94% rename from src/core/lib/census/aggregation.h rename to src/core/ext/census/aggregation.h index f353368b9709744ae59a676e5b55cb75a5fe5bcd..45f789c772b84f2b98dfc006b52527cb71c0cd32 100644 --- a/src/core/lib/census/aggregation.h +++ b/src/core/ext/census/aggregation.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,8 +33,8 @@ #include <stddef.h> -#ifndef GRPC_CORE_LIB_CENSUS_AGGREGATION_H -#define GRPC_CORE_LIB_CENSUS_AGGREGATION_H +#ifndef GRPC_CORE_EXT_CENSUS_AGGREGATION_H +#define GRPC_CORE_EXT_CENSUS_AGGREGATION_H /** Structure used to describe an aggregation type. */ struct census_aggregation_ops { @@ -63,4 +63,4 @@ struct census_aggregation_ops { size_t (*print)(const void *aggregation, char *buffer, size_t n); }; -#endif /* GRPC_CORE_LIB_CENSUS_AGGREGATION_H */ +#endif /* GRPC_CORE_EXT_CENSUS_AGGREGATION_H */ diff --git a/src/core/lib/statistics/census_init.c b/src/core/ext/census/census_init.c similarity index 89% rename from src/core/lib/statistics/census_init.c rename to src/core/ext/census/census_init.c index bbecd6276416ab25c2e24d5533d0f849db2746e5..690b09e78945afd3cd32de4710766d48d03cc1f0 100644 --- a/src/core/lib/statistics/census_init.c +++ b/src/core/ext/census/census_init.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,11 +31,11 @@ * */ -#include "src/core/lib/statistics/census_interface.h" +#include "src/core/ext/census/census_interface.h" #include <grpc/support/log.h> -#include "src/core/lib/statistics/census_rpc_stats.h" -#include "src/core/lib/statistics/census_tracing.h" +#include "src/core/ext/census/census_rpc_stats.h" +#include "src/core/ext/census/census_tracing.h" void census_init(void) { census_tracing_init(); diff --git a/src/core/lib/statistics/census_interface.h b/src/core/ext/census/census_interface.h similarity index 93% rename from src/core/lib/statistics/census_interface.h rename to src/core/ext/census/census_interface.h index b3b3439072e91f0b4b8cd75907f8faa4b8e3d803..57e75f56ee7f87a5d27b5cb9e5bf5e9ea2126fae 100644 --- a/src/core/lib/statistics/census_interface.h +++ b/src/core/ext/census/census_interface.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,8 +31,8 @@ * */ -#ifndef GRPC_CORE_LIB_STATISTICS_CENSUS_INTERFACE_H -#define GRPC_CORE_LIB_STATISTICS_CENSUS_INTERFACE_H +#ifndef GRPC_CORE_EXT_CENSUS_CENSUS_INTERFACE_H +#define GRPC_CORE_EXT_CENSUS_CENSUS_INTERFACE_H #include <grpc/support/port_platform.h> @@ -73,4 +73,4 @@ census_op_id census_tracing_start_op(void); /* Ends tracing. Calling this function will invalidate the input op_id. */ void census_tracing_end_op(census_op_id op_id); -#endif /* GRPC_CORE_LIB_STATISTICS_CENSUS_INTERFACE_H */ +#endif /* GRPC_CORE_EXT_CENSUS_CENSUS_INTERFACE_H */ diff --git a/src/core/lib/statistics/census_log.c b/src/core/ext/census/census_log.c similarity index 99% rename from src/core/lib/statistics/census_log.c rename to src/core/ext/census/census_log.c index 1fb942a78a6dec8c7c098a255c09f7c675516163..9a7331adc2f73935c48c37a91981f98170a1740c 100644 --- a/src/core/lib/statistics/census_log.c +++ b/src/core/ext/census/census_log.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -89,7 +89,7 @@ include the name of the structure, which will be passed as the first argument. E.g. cl_block_initialize() will initialize a cl_block. */ -#include "src/core/lib/statistics/census_log.h" +#include "src/core/ext/census/census_log.h" #include <grpc/support/alloc.h> #include <grpc/support/atm.h> #include <grpc/support/cpu.h> diff --git a/src/core/lib/statistics/census_log.h b/src/core/ext/census/census_log.h similarity index 95% rename from src/core/lib/statistics/census_log.h rename to src/core/ext/census/census_log.h index c3fbd555ba2a83f5b64aa78a8970a331e24d0a3d..534ecc5705a7d870bf63d9b8a90cbba129026de2 100644 --- a/src/core/lib/statistics/census_log.h +++ b/src/core/ext/census/census_log.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,8 +31,8 @@ * */ -#ifndef GRPC_CORE_LIB_STATISTICS_CENSUS_LOG_H -#define GRPC_CORE_LIB_STATISTICS_CENSUS_LOG_H +#ifndef GRPC_CORE_EXT_CENSUS_CENSUS_LOG_H +#define GRPC_CORE_EXT_CENSUS_CENSUS_LOG_H #include <stddef.h> @@ -88,4 +88,4 @@ size_t census_log_remaining_space(void); out-of-space. */ int census_log_out_of_space_count(void); -#endif /* GRPC_CORE_LIB_STATISTICS_CENSUS_LOG_H */ +#endif /* GRPC_CORE_EXT_CENSUS_CENSUS_LOG_H */ diff --git a/src/core/lib/statistics/census_rpc_stats.c b/src/core/ext/census/census_rpc_stats.c similarity index 96% rename from src/core/lib/statistics/census_rpc_stats.c rename to src/core/ext/census/census_rpc_stats.c index 21825616680a33c59431522ea50c65b4c27e35d1..09ee12d54bf8f4f1f21edfd942761b89adfbb0ff 100644 --- a/src/core/lib/statistics/census_rpc_stats.c +++ b/src/core/ext/census/census_rpc_stats.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,11 +36,11 @@ #include <grpc/support/alloc.h> #include <grpc/support/log.h> #include <grpc/support/sync.h> -#include "src/core/lib/statistics/census_interface.h" -#include "src/core/lib/statistics/census_rpc_stats.h" -#include "src/core/lib/statistics/census_tracing.h" -#include "src/core/lib/statistics/hash_table.h" -#include "src/core/lib/statistics/window_stats.h" +#include "src/core/ext/census/census_interface.h" +#include "src/core/ext/census/census_rpc_stats.h" +#include "src/core/ext/census/census_tracing.h" +#include "src/core/ext/census/hash_table.h" +#include "src/core/ext/census/window_stats.h" #include "src/core/lib/support/murmur_hash.h" #include "src/core/lib/support/string.h" diff --git a/src/core/lib/statistics/census_rpc_stats.h b/src/core/ext/census/census_rpc_stats.h similarity index 93% rename from src/core/lib/statistics/census_rpc_stats.h rename to src/core/ext/census/census_rpc_stats.h index 00bb48205ea169ea59ac97ba6eb3f25d8d151af8..7e4d8d164074ce4d8142790e5438c0718f2cc120 100644 --- a/src/core/lib/statistics/census_rpc_stats.h +++ b/src/core/ext/census/census_rpc_stats.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,11 +31,11 @@ * */ -#ifndef GRPC_CORE_LIB_STATISTICS_CENSUS_RPC_STATS_H -#define GRPC_CORE_LIB_STATISTICS_CENSUS_RPC_STATS_H +#ifndef GRPC_CORE_EXT_CENSUS_CENSUS_RPC_STATS_H +#define GRPC_CORE_EXT_CENSUS_CENSUS_RPC_STATS_H #include <grpc/support/port_platform.h> -#include "src/core/lib/statistics/census_interface.h" +#include "src/core/ext/census/census_interface.h" #ifdef __cplusplus extern "C" { @@ -98,4 +98,4 @@ void census_stats_store_shutdown(void); } #endif -#endif /* GRPC_CORE_LIB_STATISTICS_CENSUS_RPC_STATS_H */ +#endif /* GRPC_CORE_EXT_CENSUS_CENSUS_RPC_STATS_H */ diff --git a/src/core/lib/statistics/census_tracing.c b/src/core/ext/census/census_tracing.c similarity index 97% rename from src/core/lib/statistics/census_tracing.c rename to src/core/ext/census/census_tracing.c index b58ae733fce1f67b9dd421a3576102d278754e96..f893dc98646cad619d1966cf1e5ff9eb3bdc891c 100644 --- a/src/core/lib/statistics/census_tracing.c +++ b/src/core/ext/census/census_tracing.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,8 +31,8 @@ * */ -#include "src/core/lib/statistics/census_tracing.h" -#include "src/core/lib/statistics/census_interface.h" +#include "src/core/ext/census/census_tracing.h" +#include "src/core/ext/census/census_interface.h" #include <stdio.h> #include <string.h> @@ -41,7 +41,7 @@ #include <grpc/support/log.h> #include <grpc/support/port_platform.h> #include <grpc/support/sync.h> -#include "src/core/lib/statistics/hash_table.h" +#include "src/core/ext/census/hash_table.h" #include "src/core/lib/support/string.h" void census_trace_obj_destroy(census_trace_obj *obj) { diff --git a/src/core/lib/statistics/census_tracing.h b/src/core/ext/census/census_tracing.h similarity index 93% rename from src/core/lib/statistics/census_tracing.h rename to src/core/ext/census/census_tracing.h index a101abf3cb91f45a937b92a617471bf251b5d5be..42a0d7403ef5e696b0ee90194282475e03272e0e 100644 --- a/src/core/lib/statistics/census_tracing.h +++ b/src/core/ext/census/census_tracing.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,11 +31,11 @@ * */ -#ifndef GRPC_CORE_LIB_STATISTICS_CENSUS_TRACING_H -#define GRPC_CORE_LIB_STATISTICS_CENSUS_TRACING_H +#ifndef GRPC_CORE_EXT_CENSUS_CENSUS_TRACING_H +#define GRPC_CORE_EXT_CENSUS_CENSUS_TRACING_H #include <grpc/support/time.h> -#include "src/core/lib/statistics/census_rpc_stats.h" +#include "src/core/ext/census/census_rpc_stats.h" /* WARNING: The data structures and APIs provided by this file are for GRPC library's internal use ONLY. They might be changed in backward-incompatible @@ -93,4 +93,4 @@ census_trace_obj **census_get_active_ops(int *num_active_ops); } #endif -#endif /* GRPC_CORE_LIB_STATISTICS_CENSUS_TRACING_H */ +#endif /* GRPC_CORE_EXT_CENSUS_CENSUS_TRACING_H */ diff --git a/src/core/lib/census/context.c b/src/core/ext/census/context.c similarity index 99% rename from src/core/lib/census/context.c rename to src/core/ext/census/context.c index 5a118f46a92ecb0a01f56783ce27af54595f003f..0dfc4ecbf1da6e31c0086dfc86fdb3d70d826fd1 100644 --- a/src/core/lib/census/context.c +++ b/src/core/ext/census/context.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/census/grpc_context.c b/src/core/ext/census/grpc_context.c similarity index 98% rename from src/core/lib/census/grpc_context.c rename to src/core/ext/census/grpc_context.c index 457c1763551233ed87fb03b16e865a2e0a838d77..98285ab2d58ff62f1469e18b470914358f3b3fd3 100644 --- a/src/core/lib/census/grpc_context.c +++ b/src/core/ext/census/grpc_context.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/census/grpc_filter.c b/src/core/ext/census/grpc_filter.c similarity index 97% rename from src/core/lib/census/grpc_filter.c rename to src/core/ext/census/grpc_filter.c index d27d789aa1c1a3566bbee649e352cf6010531aa8..abfb3bb5f0e16699efbc3a0253d0dda4798d12ed 100644 --- a/src/core/lib/census/grpc_filter.c +++ b/src/core/ext/census/grpc_filter.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/census/grpc_filter.h" +#include "src/core/ext/census/grpc_filter.h" #include <stdio.h> #include <string.h> @@ -42,9 +42,9 @@ #include <grpc/support/slice.h> #include <grpc/support/time.h> +#include "src/core/ext/census/census_interface.h" +#include "src/core/ext/census/census_rpc_stats.h" #include "src/core/lib/channel/channel_stack.h" -#include "src/core/lib/statistics/census_interface.h" -#include "src/core/lib/statistics/census_rpc_stats.h" #include "src/core/lib/transport/static_metadata.h" typedef struct call_data { diff --git a/src/core/lib/census/grpc_filter.h b/src/core/ext/census/grpc_filter.h similarity index 91% rename from src/core/lib/census/grpc_filter.h rename to src/core/ext/census/grpc_filter.h index 7ceafe56e488766f4ebcd629ae11f6c752c5c1e4..a39bd82224893d7c1a423e098949dd55e4441591 100644 --- a/src/core/lib/census/grpc_filter.h +++ b/src/core/ext/census/grpc_filter.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,8 +31,8 @@ * */ -#ifndef GRPC_CORE_LIB_CENSUS_GRPC_FILTER_H -#define GRPC_CORE_LIB_CENSUS_GRPC_FILTER_H +#ifndef GRPC_CORE_EXT_CENSUS_GRPC_FILTER_H +#define GRPC_CORE_EXT_CENSUS_GRPC_FILTER_H #include "src/core/lib/channel/channel_stack.h" @@ -41,4 +41,4 @@ extern const grpc_channel_filter grpc_client_census_filter; extern const grpc_channel_filter grpc_server_census_filter; -#endif /* GRPC_CORE_LIB_CENSUS_GRPC_FILTER_H */ +#endif /* GRPC_CORE_EXT_CENSUS_GRPC_FILTER_H */ diff --git a/src/core/lib/census/grpc_plugin.c b/src/core/ext/census/grpc_plugin.c similarity index 73% rename from src/core/lib/census/grpc_plugin.c rename to src/core/ext/census/grpc_plugin.c index 12aca76745f62f8847c58483d098e09687cde534..e43ceafd0c9483bcf1b09618a78d4fc2ff23c491 100644 --- a/src/core/lib/census/grpc_plugin.c +++ b/src/core/ext/census/grpc_plugin.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,23 +31,33 @@ * */ -#include "src/core/lib/census/grpc_plugin.h" - #include <limits.h> +#include <string.h> #include <grpc/census.h> -#include "src/core/lib/census/grpc_filter.h" +#include "src/core/ext/census/grpc_filter.h" #include "src/core/lib/channel/channel_stack_builder.h" #include "src/core/lib/surface/channel_init.h" +static bool is_census_enabled(const grpc_channel_args *a) { + size_t i; + if (a == NULL) return 0; + for (i = 0; i < a->num_args; i++) { + if (0 == strcmp(a->args[i].key, GRPC_ARG_ENABLE_CENSUS)) { + return a->args[i].value.integer != 0 && census_enabled(); + } + } + return census_enabled(); +} + static bool maybe_add_census_filter(grpc_channel_stack_builder *builder, - void *arg_must_be_null) { + void *arg) { const grpc_channel_args *args = grpc_channel_stack_builder_get_channel_arguments(builder); - if (grpc_channel_args_is_census_enabled(args)) { + if (is_census_enabled(args)) { return grpc_channel_stack_builder_prepend_filter( - builder, &grpc_client_census_filter, NULL, NULL); + builder, (const grpc_channel_filter *)arg, NULL, NULL); } return true; } @@ -62,9 +72,11 @@ void census_grpc_plugin_init(void) { } } grpc_channel_init_register_stage(GRPC_CLIENT_CHANNEL, INT_MAX, - maybe_add_census_filter, NULL); + maybe_add_census_filter, + (void *)&grpc_client_census_filter); grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX, - maybe_add_census_filter, NULL); + maybe_add_census_filter, + (void *)&grpc_server_census_filter); } -void census_grpc_plugin_destroy(void) { census_shutdown(); } +void census_grpc_plugin_shutdown(void) { census_shutdown(); } diff --git a/src/core/lib/statistics/hash_table.c b/src/core/ext/census/hash_table.c similarity index 99% rename from src/core/lib/statistics/hash_table.c rename to src/core/ext/census/hash_table.c index 18b7442a0cea27758e5afda109bfc4bea97bdf0f..ee6fdfc6e8621aec0e3102d014b6eba13395c55b 100644 --- a/src/core/lib/statistics/hash_table.c +++ b/src/core/ext/census/hash_table.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/statistics/hash_table.h" +#include "src/core/ext/census/hash_table.h" #include <stddef.h> #include <stdio.h> diff --git a/src/core/lib/statistics/hash_table.h b/src/core/ext/census/hash_table.h similarity index 96% rename from src/core/lib/statistics/hash_table.h rename to src/core/ext/census/hash_table.h index 8f74ec82aad89b998805bde2d31d956d56a9630a..30ea4264a294db0b5574302a0953f18f2c4c42bf 100644 --- a/src/core/lib/statistics/hash_table.h +++ b/src/core/ext/census/hash_table.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,8 +31,8 @@ * */ -#ifndef GRPC_CORE_LIB_STATISTICS_HASH_TABLE_H -#define GRPC_CORE_LIB_STATISTICS_HASH_TABLE_H +#ifndef GRPC_CORE_EXT_CENSUS_HASH_TABLE_H +#define GRPC_CORE_EXT_CENSUS_HASH_TABLE_H #include <stddef.h> @@ -128,4 +128,4 @@ typedef void (*census_ht_itr_cb)(census_ht_key key, const void *val_ptr, should not invalidate data entries. */ uint64_t census_ht_for_all(const census_ht *ht, census_ht_itr_cb); -#endif /* GRPC_CORE_LIB_STATISTICS_HASH_TABLE_H */ +#endif /* GRPC_CORE_EXT_CENSUS_HASH_TABLE_H */ diff --git a/src/core/lib/census/initialize.c b/src/core/ext/census/initialize.c similarity index 98% rename from src/core/lib/census/initialize.c rename to src/core/ext/census/initialize.c index ce7ec09b89fe663d92ab946b0169bbf4abbac060..896276e44a11d985c40e8b3c897fa2419760a0b0 100644 --- a/src/core/lib/census/initialize.c +++ b/src/core/ext/census/initialize.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/census/mlog.c b/src/core/ext/census/mlog.c similarity index 99% rename from src/core/lib/census/mlog.c rename to src/core/ext/census/mlog.c index 9d47e802972804f3a5092e3875f15b3a6ee4b320..698b7096ab6e6c70d82e13ff942e800f57eb09e9 100644 --- a/src/core/lib/census/mlog.c +++ b/src/core/ext/census/mlog.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -88,7 +88,7 @@ // include the name of the structure, which will be passed as the first // argument. E.g. cl_block_initialize() will initialize a cl_block. -#include "src/core/lib/census/mlog.h" +#include "src/core/ext/census/mlog.h" #include <grpc/support/alloc.h> #include <grpc/support/atm.h> #include <grpc/support/cpu.h> diff --git a/src/core/lib/census/mlog.h b/src/core/ext/census/mlog.h similarity index 96% rename from src/core/lib/census/mlog.h rename to src/core/ext/census/mlog.h index 7fbdeda986bef698b0628fb75d68cf706f62a876..a256426f91b377ec16a8771f0355153968727203 100644 --- a/src/core/lib/census/mlog.h +++ b/src/core/ext/census/mlog.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,8 +33,8 @@ /* A very fast in-memory log, optimized for multiple writers. */ -#ifndef GRPC_CORE_LIB_CENSUS_MLOG_H -#define GRPC_CORE_LIB_CENSUS_MLOG_H +#ifndef GRPC_CORE_EXT_CENSUS_MLOG_H +#define GRPC_CORE_EXT_CENSUS_MLOG_H #include <grpc/support/port_platform.h> #include <stddef.h> @@ -92,4 +92,4 @@ size_t census_log_remaining_space(void); out-of-space. */ int64_t census_log_out_of_space_count(void); -#endif /* GRPC_CORE_LIB_CENSUS_MLOG_H */ +#endif /* GRPC_CORE_EXT_CENSUS_MLOG_H */ diff --git a/src/core/lib/census/operation.c b/src/core/ext/census/operation.c similarity index 98% rename from src/core/lib/census/operation.c rename to src/core/ext/census/operation.c index 315f9c3534d4438c1dc9cd9a4a606dd6c583555d..5c587043721e6ca2ade71a5c338682c993adcbda 100644 --- a/src/core/lib/census/operation.c +++ b/src/core/ext/census/operation.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/census/placeholders.c b/src/core/ext/census/placeholders.c similarity index 100% rename from src/core/lib/census/placeholders.c rename to src/core/ext/census/placeholders.c diff --git a/src/core/lib/census/rpc_metric_id.h b/src/core/ext/census/rpc_metric_id.h similarity index 92% rename from src/core/lib/census/rpc_metric_id.h rename to src/core/ext/census/rpc_metric_id.h index aad0588fb3c3c2b8d43eafcabe2e7ae25fc3f251..888ec500a731641dc4a5387ea91dc3ba89fd7476 100644 --- a/src/core/lib/census/rpc_metric_id.h +++ b/src/core/ext/census/rpc_metric_id.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,8 +31,8 @@ * */ -#ifndef GRPC_CORE_LIB_CENSUS_RPC_METRIC_ID_H -#define GRPC_CORE_LIB_CENSUS_RPC_METRIC_ID_H +#ifndef GRPC_CORE_EXT_CENSUS_RPC_METRIC_ID_H +#define GRPC_CORE_EXT_CENSUS_RPC_METRIC_ID_H /* Metric ID's used for RPC measurements. */ /* Count of client requests sent. */ @@ -48,4 +48,4 @@ /* Server side request latency. */ #define CENSUS_METRIC_RPC_SERVER_LATENCY ((uint32_t)5) -#endif /* GRPC_CORE_LIB_CENSUS_RPC_METRIC_ID_H */ +#endif /* GRPC_CORE_EXT_CENSUS_RPC_METRIC_ID_H */ diff --git a/src/core/lib/census/tracing.c b/src/core/ext/census/tracing.c similarity index 98% rename from src/core/lib/census/tracing.c rename to src/core/ext/census/tracing.c index e508996af381258cd0523cf0facf526415978eaa..3b5d6dab2b8d775f1624e5f922f9f692e66b98ea 100644 --- a/src/core/lib/census/tracing.c +++ b/src/core/ext/census/tracing.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/statistics/window_stats.c b/src/core/ext/census/window_stats.c similarity index 99% rename from src/core/lib/statistics/window_stats.c rename to src/core/ext/census/window_stats.c index 53427a24bc4f29dc71a23e90ae34a842754d6d7e..5f7bd9952e09bcb58b321d9cb2898e2bc493152c 100644 --- a/src/core/lib/statistics/window_stats.c +++ b/src/core/ext/census/window_stats.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/statistics/window_stats.h" +#include "src/core/ext/census/window_stats.h" #include <grpc/support/alloc.h> #include <grpc/support/log.h> #include <grpc/support/time.h> diff --git a/src/core/lib/statistics/window_stats.h b/src/core/ext/census/window_stats.h similarity index 97% rename from src/core/lib/statistics/window_stats.h rename to src/core/ext/census/window_stats.h index 8dec50d620d6dca41ac736cd6034a7c76480107d..25658c9ce0e82f57c3618aca8d7b85781529e296 100644 --- a/src/core/lib/statistics/window_stats.h +++ b/src/core/ext/census/window_stats.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,8 +31,8 @@ * */ -#ifndef GRPC_CORE_LIB_STATISTICS_WINDOW_STATS_H -#define GRPC_CORE_LIB_STATISTICS_WINDOW_STATS_H +#ifndef GRPC_CORE_EXT_CENSUS_WINDOW_STATS_H +#define GRPC_CORE_EXT_CENSUS_WINDOW_STATS_H #include <grpc/support/time.h> @@ -170,4 +170,4 @@ void census_window_stats_get_sums(const struct census_window_stats *wstats, assertion failure). This function is thread-compatible. */ void census_window_stats_destroy(struct census_window_stats *wstats); -#endif /* GRPC_CORE_LIB_STATISTICS_WINDOW_STATS_H */ +#endif /* GRPC_CORE_EXT_CENSUS_WINDOW_STATS_H */ diff --git a/src/core/lib/client_config/README.md b/src/core/ext/client_config/README.md similarity index 96% rename from src/core/lib/client_config/README.md rename to src/core/ext/client_config/README.md index fff7a5af5b65e9fbfd7288192fca84aaeacc2497..7024fd540d867b030e027ecb6174bd0a655add93 100644 --- a/src/core/lib/client_config/README.md +++ b/src/core/ext/client_config/README.md @@ -40,7 +40,7 @@ decisions (for example, by avoiding disconnected backends). Configured sub-channels are fully setup to participate in the grpc data plane. Their behavior is specified by a set of grpc channel filters defined at their construction. To customize this behavior, resolvers build -grpc_subchannel_factory objects, which use the decorator pattern to customize +grpc_client_channel_factory objects, which use the decorator pattern to customize construction arguments for concrete grpc_subchannel instances. diff --git a/src/core/lib/surface/channel_connectivity.c b/src/core/ext/client_config/channel_connectivity.c similarity index 98% rename from src/core/lib/surface/channel_connectivity.c rename to src/core/ext/client_config/channel_connectivity.c index 2f5d763e70330be8eb3c465d859f7c4a4c2891a7..3ebc3336081e83fbc553315e85dd4feef38eeb8f 100644 --- a/src/core/lib/surface/channel_connectivity.c +++ b/src/core/ext/client_config/channel_connectivity.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,7 +36,7 @@ #include <grpc/support/alloc.h> #include <grpc/support/log.h> -#include "src/core/lib/channel/client_channel.h" +#include "src/core/ext/client_config/client_channel.h" #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/surface/api_trace.h" #include "src/core/lib/surface/completion_queue.h" diff --git a/src/core/lib/channel/client_channel.c b/src/core/ext/client_config/client_channel.c similarity index 91% rename from src/core/lib/channel/client_channel.c rename to src/core/ext/client_config/client_channel.c index 9fdf803ecf897652a89a780ea58b10f2edb804e3..93d54fdcfebd28f04abd805bbab5c857d47b18ab 100644 --- a/src/core/lib/channel/client_channel.c +++ b/src/core/ext/client_config/client_channel.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/channel/client_channel.h" +#include "src/core/ext/client_config/client_channel.h" #include <stdio.h> #include <string.h> @@ -41,9 +41,9 @@ #include <grpc/support/sync.h> #include <grpc/support/useful.h> +#include "src/core/ext/client_config/subchannel_call_holder.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/connected_channel.h" -#include "src/core/lib/channel/subchannel_call_holder.h" #include "src/core/lib/iomgr/iomgr.h" #include "src/core/lib/profiling/timers.h" #include "src/core/lib/support/string.h" @@ -114,6 +114,22 @@ static void watch_lb_policy(grpc_exec_ctx *exec_ctx, channel_data *chand, grpc_lb_policy *lb_policy, grpc_connectivity_state current_state); +static void set_channel_connectivity_state_locked(grpc_exec_ctx *exec_ctx, + channel_data *chand, + grpc_connectivity_state state, + const char *reason) { + if ((state == GRPC_CHANNEL_TRANSIENT_FAILURE || + state == GRPC_CHANNEL_FATAL_FAILURE) && + chand->lb_policy != NULL) { + /* cancel fail-fast picks */ + grpc_lb_policy_cancel_picks( + exec_ctx, chand->lb_policy, + /* mask= */ GRPC_INITIAL_METADATA_IGNORE_CONNECTIVITY, + /* check= */ 0); + } + grpc_connectivity_state_set(exec_ctx, &chand->state_tracker, state, reason); +} + static void on_lb_policy_state_changed_locked( grpc_exec_ctx *exec_ctx, lb_policy_connectivity_watcher *w) { grpc_connectivity_state publish_state = w->state; @@ -127,8 +143,8 @@ static void on_lb_policy_state_changed_locked( GRPC_LB_POLICY_UNREF(exec_ctx, w->chand->lb_policy, "channel"); w->chand->lb_policy = NULL; } - grpc_connectivity_state_set(exec_ctx, &w->chand->state_tracker, publish_state, - "lb_changed"); + set_channel_connectivity_state_locked(exec_ctx, w->chand, publish_state, + "lb_changed"); if (w->state != GRPC_CHANNEL_FATAL_FAILURE) { watch_lb_policy(exec_ctx, w->chand, w->lb_policy, w->state); } @@ -200,8 +216,8 @@ static void cc_on_config_changed(grpc_exec_ctx *exec_ctx, void *arg, } if (iomgr_success && chand->resolver) { - grpc_connectivity_state_set(exec_ctx, &chand->state_tracker, state, - "new_lb+resolver"); + set_channel_connectivity_state_locked(exec_ctx, chand, state, + "new_lb+resolver"); if (lb_policy != NULL) { watch_lb_policy(exec_ctx, chand, lb_policy, state); } @@ -216,8 +232,8 @@ static void cc_on_config_changed(grpc_exec_ctx *exec_ctx, void *arg, GRPC_RESOLVER_UNREF(exec_ctx, chand->resolver, "channel"); chand->resolver = NULL; } - grpc_connectivity_state_set(exec_ctx, &chand->state_tracker, - GRPC_CHANNEL_FATAL_FAILURE, "resolver_gone"); + set_channel_connectivity_state_locked( + exec_ctx, chand, GRPC_CHANNEL_FATAL_FAILURE, "resolver_gone"); gpr_mu_unlock(&chand->mu_config); } @@ -272,8 +288,8 @@ static void cc_start_transport_op(grpc_exec_ctx *exec_ctx, } if (op->disconnect && chand->resolver != NULL) { - grpc_connectivity_state_set(exec_ctx, &chand->state_tracker, - GRPC_CHANNEL_FATAL_FAILURE, "disconnect"); + set_channel_connectivity_state_locked( + exec_ctx, chand, GRPC_CHANNEL_FATAL_FAILURE, "disconnect"); grpc_resolver_shutdown(exec_ctx, chand->resolver); GRPC_RESOLVER_UNREF(exec_ctx, chand->resolver, "channel"); chand->resolver = NULL; @@ -290,6 +306,7 @@ static void cc_start_transport_op(grpc_exec_ctx *exec_ctx, typedef struct { grpc_metadata_batch *initial_metadata; + uint32_t initial_metadata_flags; grpc_connected_subchannel **connected_subchannel; grpc_closure *on_ready; grpc_call_element *elem; @@ -298,6 +315,7 @@ typedef struct { static int cc_pick_subchannel(grpc_exec_ctx *exec_ctx, void *arg, grpc_metadata_batch *initial_metadata, + uint32_t initial_metadata_flags, grpc_connected_subchannel **connected_subchannel, grpc_closure *on_ready); @@ -308,6 +326,7 @@ static void continue_picking(grpc_exec_ctx *exec_ctx, void *arg, bool success) { } else if (cpa->connected_subchannel == NULL) { /* cancelled, do nothing */ } else if (cc_pick_subchannel(exec_ctx, cpa->elem, cpa->initial_metadata, + cpa->initial_metadata_flags, cpa->connected_subchannel, cpa->on_ready)) { grpc_exec_ctx_enqueue(exec_ctx, cpa->on_ready, true, NULL); } @@ -316,6 +335,7 @@ static void continue_picking(grpc_exec_ctx *exec_ctx, void *arg, bool success) { static int cc_pick_subchannel(grpc_exec_ctx *exec_ctx, void *elemp, grpc_metadata_batch *initial_metadata, + uint32_t initial_metadata_flags, grpc_connected_subchannel **connected_subchannel, grpc_closure *on_ready) { grpc_call_element *elem = elemp; @@ -349,7 +369,8 @@ static int cc_pick_subchannel(grpc_exec_ctx *exec_ctx, void *elemp, GRPC_LB_POLICY_REF(lb_policy, "cc_pick_subchannel"); gpr_mu_unlock(&chand->mu_config); r = grpc_lb_policy_pick(exec_ctx, lb_policy, calld->pollset, - initial_metadata, connected_subchannel, on_ready); + initial_metadata, initial_metadata_flags, + connected_subchannel, on_ready); GRPC_LB_POLICY_UNREF(exec_ctx, lb_policy, "cc_pick_subchannel"); return r; } @@ -362,6 +383,7 @@ static int cc_pick_subchannel(grpc_exec_ctx *exec_ctx, void *elemp, } cpa = gpr_malloc(sizeof(*cpa)); cpa->initial_metadata = initial_metadata; + cpa->initial_metadata_flags = initial_metadata_flags; cpa->connected_subchannel = connected_subchannel; cpa->on_ready = on_ready; cpa->elem = elem; diff --git a/src/core/lib/channel/client_channel.h b/src/core/ext/client_config/client_channel.h similarity index 91% rename from src/core/lib/channel/client_channel.h rename to src/core/ext/client_config/client_channel.h index 8777796fb6d76c34a0afcd81f74b1acb76eab463..1e47ad34ad8bbea6cc713e5e056983c63850fcd7 100644 --- a/src/core/lib/channel/client_channel.h +++ b/src/core/ext/client_config/client_channel.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,11 +31,11 @@ * */ -#ifndef GRPC_CORE_LIB_CHANNEL_CLIENT_CHANNEL_H -#define GRPC_CORE_LIB_CHANNEL_CLIENT_CHANNEL_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_CLIENT_CHANNEL_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_CLIENT_CHANNEL_H +#include "src/core/ext/client_config/resolver.h" #include "src/core/lib/channel/channel_stack.h" -#include "src/core/lib/client_config/resolver.h" /* A client channel is a channel that begins disconnected, and can connect to some endpoint on demand. If that endpoint disconnects, it will be @@ -60,4 +60,4 @@ void grpc_client_channel_watch_connectivity_state( grpc_exec_ctx *exec_ctx, grpc_channel_element *elem, grpc_pollset *pollset, grpc_connectivity_state *state, grpc_closure *on_complete); -#endif /* GRPC_CORE_LIB_CHANNEL_CLIENT_CHANNEL_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_CLIENT_CHANNEL_H */ diff --git a/src/core/ext/client_config/client_channel_factory.c b/src/core/ext/client_config/client_channel_factory.c new file mode 100644 index 0000000000000000000000000000000000000000..71c64c0da1b4ab20b9342646f2cb4cc4ac49db65 --- /dev/null +++ b/src/core/ext/client_config/client_channel_factory.c @@ -0,0 +1,57 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include "src/core/ext/client_config/client_channel_factory.h" + +void grpc_client_channel_factory_ref(grpc_client_channel_factory* factory) { + factory->vtable->ref(factory); +} + +void grpc_client_channel_factory_unref(grpc_exec_ctx* exec_ctx, + grpc_client_channel_factory* factory) { + factory->vtable->unref(exec_ctx, factory); +} + +grpc_subchannel* grpc_client_channel_factory_create_subchannel( + grpc_exec_ctx* exec_ctx, grpc_client_channel_factory* factory, + grpc_subchannel_args* args) { + return factory->vtable->create_subchannel(exec_ctx, factory, args); +} + +grpc_channel* grpc_client_channel_factory_create_channel( + grpc_exec_ctx* exec_ctx, grpc_client_channel_factory* factory, + const char* target, grpc_client_channel_type type, + grpc_channel_args* args) { + return factory->vtable->create_client_channel(exec_ctx, factory, target, type, + args); +} diff --git a/src/core/ext/client_config/client_channel_factory.h b/src/core/ext/client_config/client_channel_factory.h new file mode 100644 index 0000000000000000000000000000000000000000..1241b9b781ff02a7d5f58f5b9ba4739a288d0ed8 --- /dev/null +++ b/src/core/ext/client_config/client_channel_factory.h @@ -0,0 +1,85 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_CLIENT_CHANNEL_FACTORY_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_CLIENT_CHANNEL_FACTORY_H + +#include <grpc/impl/codegen/grpc_types.h> + +#include "src/core/ext/client_config/subchannel.h" +#include "src/core/lib/channel/channel_stack.h" + +typedef struct grpc_client_channel_factory grpc_client_channel_factory; +typedef struct grpc_client_channel_factory_vtable + grpc_client_channel_factory_vtable; + +typedef enum { + GRPC_CLIENT_CHANNEL_TYPE_REGULAR, /** for the user-level regular calls */ + GRPC_CLIENT_CHANNEL_TYPE_LOAD_BALANCING, /** for communication with a load + balancing service */ +} grpc_client_channel_type; + +/** Constructor for new configured channels. + Creating decorators around this type is encouraged to adapt behavior. */ +struct grpc_client_channel_factory { + const grpc_client_channel_factory_vtable *vtable; +}; + +struct grpc_client_channel_factory_vtable { + void (*ref)(grpc_client_channel_factory *factory); + void (*unref)(grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *factory); + grpc_subchannel *(*create_subchannel)(grpc_exec_ctx *exec_ctx, + grpc_client_channel_factory *factory, + grpc_subchannel_args *args); + grpc_channel *(*create_client_channel)(grpc_exec_ctx *exec_ctx, + grpc_client_channel_factory *factory, + const char *target, + grpc_client_channel_type type, + grpc_channel_args *args); +}; + +void grpc_client_channel_factory_ref(grpc_client_channel_factory *factory); +void grpc_client_channel_factory_unref(grpc_exec_ctx *exec_ctx, + grpc_client_channel_factory *factory); + +/** Create a new grpc_subchannel */ +grpc_subchannel *grpc_client_channel_factory_create_subchannel( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *factory, + grpc_subchannel_args *args); + +/** Create a new grpc_channel */ +grpc_channel *grpc_client_channel_factory_create_channel( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *factory, + const char *target, grpc_client_channel_type type, grpc_channel_args *args); + +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_CLIENT_CHANNEL_FACTORY_H */ diff --git a/src/core/lib/client_config/client_config.c b/src/core/ext/client_config/client_config.c similarity index 96% rename from src/core/lib/client_config/client_config.c rename to src/core/ext/client_config/client_config.c index 82c8d68099856cc5aea4b6fea291d28f9678d5b3..f9b8e686988f08722d00f571415a5fb6665f6ac7 100644 --- a/src/core/lib/client_config/client_config.c +++ b/src/core/ext/client_config/client_config.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/client_config/client_config.h" +#include "src/core/ext/client_config/client_config.h" #include <string.h> diff --git a/src/core/lib/client_config/client_config.h b/src/core/ext/client_config/client_config.h similarity index 89% rename from src/core/lib/client_config/client_config.h rename to src/core/ext/client_config/client_config.h index 404ec0d3a573927900b043600ae4a466287c7d11..a6290cbcf00e3022519127b01a0ac60c708013d2 100644 --- a/src/core/lib/client_config/client_config.h +++ b/src/core/ext/client_config/client_config.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,10 +31,10 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_CLIENT_CONFIG_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_CLIENT_CONFIG_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_CLIENT_CONFIG_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_CLIENT_CONFIG_H -#include "src/core/lib/client_config/lb_policy.h" +#include "src/core/ext/client_config/lb_policy.h" /** Total configuration for a client. Provided, and updated, by grpc_resolver */ @@ -50,4 +50,4 @@ void grpc_client_config_set_lb_policy(grpc_client_config *client_config, grpc_lb_policy *grpc_client_config_get_lb_policy( grpc_client_config *client_config); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_CLIENT_CONFIG_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_CLIENT_CONFIG_H */ diff --git a/src/core/ext/client_config/client_config_plugin.c b/src/core/ext/client_config/client_config_plugin.c new file mode 100644 index 0000000000000000000000000000000000000000..5e316134205700d668d2e53790e1b51676ea7c28 --- /dev/null +++ b/src/core/ext/client_config/client_config_plugin.c @@ -0,0 +1,95 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include <limits.h> +#include <stdbool.h> +#include <string.h> + +#include <grpc/support/alloc.h> + +#include "src/core/ext/client_config/client_channel.h" +#include "src/core/ext/client_config/lb_policy_registry.h" +#include "src/core/ext/client_config/resolver_registry.h" +#include "src/core/ext/client_config/subchannel_index.h" +#include "src/core/lib/surface/channel_init.h" + +#ifndef GRPC_DEFAULT_NAME_PREFIX +#define GRPC_DEFAULT_NAME_PREFIX "dns:///" +#endif + +static bool append_filter(grpc_channel_stack_builder *builder, void *arg) { + return grpc_channel_stack_builder_append_filter( + builder, (const grpc_channel_filter *)arg, NULL, NULL); +} + +static bool set_default_host_if_unset(grpc_channel_stack_builder *builder, + void *unused) { + const grpc_channel_args *args = + grpc_channel_stack_builder_get_channel_arguments(builder); + for (size_t i = 0; i < args->num_args; i++) { + if (0 == strcmp(args->args[i].key, GRPC_ARG_DEFAULT_AUTHORITY) || + 0 == strcmp(args->args[i].key, GRPC_SSL_TARGET_NAME_OVERRIDE_ARG)) { + return true; + } + } + char *default_authority = grpc_get_default_authority( + grpc_channel_stack_builder_get_target(builder)); + if (default_authority != NULL) { + grpc_arg arg; + arg.type = GRPC_ARG_STRING; + arg.key = GRPC_ARG_DEFAULT_AUTHORITY; + arg.value.string = default_authority; + grpc_channel_args *new_args = grpc_channel_args_copy_and_add(args, &arg, 1); + grpc_channel_stack_builder_set_channel_arguments(builder, new_args); + gpr_free(default_authority); + grpc_channel_args_destroy(new_args); + } + return true; +} + +void grpc_client_config_init(void) { + grpc_lb_policy_registry_init(); + grpc_resolver_registry_init(GRPC_DEFAULT_NAME_PREFIX); + grpc_subchannel_index_init(); + grpc_channel_init_register_stage(GRPC_CLIENT_CHANNEL, INT_MIN, + set_default_host_if_unset, NULL); + grpc_channel_init_register_stage(GRPC_CLIENT_CHANNEL, INT_MAX, append_filter, + (void *)&grpc_client_channel_filter); +} + +void grpc_client_config_shutdown(void) { + grpc_subchannel_index_shutdown(); + grpc_channel_init_shutdown(); + grpc_resolver_registry_shutdown(); + grpc_lb_policy_registry_shutdown(); +} diff --git a/src/core/lib/client_config/connector.c b/src/core/ext/client_config/connector.c similarity index 96% rename from src/core/lib/client_config/connector.c rename to src/core/ext/client_config/connector.c index f51d862c6def94017ddf9c834f33eae4c2449232..5b629ed5fb1c01cbc64f1a5927140b8f70c43ccd 100644 --- a/src/core/lib/client_config/connector.c +++ b/src/core/ext/client_config/connector.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/client_config/connector.h" +#include "src/core/ext/client_config/connector.h" grpc_connector* grpc_connector_ref(grpc_connector* connector) { connector->vtable->ref(connector); diff --git a/src/core/lib/client_config/connector.h b/src/core/ext/client_config/connector.h similarity index 95% rename from src/core/lib/client_config/connector.h rename to src/core/ext/client_config/connector.h index 21b925aadea3e06f5058355cfb5aa7459223a4aa..dd85dfcb7de6df2221b9a4d82958654ca5c4a500 100644 --- a/src/core/lib/client_config/connector.h +++ b/src/core/ext/client_config/connector.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,8 +31,8 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_CONNECTOR_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_CONNECTOR_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_CONNECTOR_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_CONNECTOR_H #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/iomgr/sockaddr.h" @@ -89,4 +89,4 @@ void grpc_connector_connect(grpc_exec_ctx *exec_ctx, grpc_connector *connector, void grpc_connector_shutdown(grpc_exec_ctx *exec_ctx, grpc_connector *connector); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_CONNECTOR_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_CONNECTOR_H */ diff --git a/src/core/lib/client_config/default_initial_connect_string.c b/src/core/ext/client_config/default_initial_connect_string.c similarity index 98% rename from src/core/lib/client_config/default_initial_connect_string.c rename to src/core/ext/client_config/default_initial_connect_string.c index 86eb37de77fa688ac729a943fe8e9b676ee00049..a70da4a84af78dbc94c9375b28bd2150c8252556 100644 --- a/src/core/lib/client_config/default_initial_connect_string.c +++ b/src/core/ext/client_config/default_initial_connect_string.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/client_config/initial_connect_string.c b/src/core/ext/client_config/initial_connect_string.c similarity index 95% rename from src/core/lib/client_config/initial_connect_string.c rename to src/core/ext/client_config/initial_connect_string.c index 95ae728316737b6d6a24a3f6ffea0cd8566192c0..41580d2106ca16fa1868dfa70f126d43aebbb6d0 100644 --- a/src/core/lib/client_config/initial_connect_string.c +++ b/src/core/ext/client_config/initial_connect_string.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/client_config/initial_connect_string.h" +#include "src/core/ext/client_config/initial_connect_string.h" #include <stddef.h> diff --git a/src/core/lib/client_config/initial_connect_string.h b/src/core/ext/client_config/initial_connect_string.h similarity index 90% rename from src/core/lib/client_config/initial_connect_string.h rename to src/core/ext/client_config/initial_connect_string.h index eec42fa24030e5fd38ceb42757a283b9e309ec90..06f0767832a582cce0f684f324b54972631ea1c4 100644 --- a/src/core/lib/client_config/initial_connect_string.h +++ b/src/core/ext/client_config/initial_connect_string.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,8 +31,8 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H #include <grpc/support/slice.h> #include "src/core/lib/iomgr/sockaddr.h" @@ -47,4 +47,4 @@ void grpc_test_set_initial_connect_string_function( void grpc_set_initial_connect_string(struct sockaddr **addr, size_t *addr_len, gpr_slice *connect_string); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H */ diff --git a/src/core/lib/client_config/lb_policy.c b/src/core/ext/client_config/lb_policy.c similarity index 89% rename from src/core/lib/client_config/lb_policy.c rename to src/core/ext/client_config/lb_policy.c index ee20ccd76a1c9322112b88b189d092c53587eb4d..a7ad9842dc344b74e46e1ce6cb4a62580d41d0f3 100644 --- a/src/core/lib/client_config/lb_policy.c +++ b/src/core/ext/client_config/lb_policy.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/client_config/lb_policy.h" +#include "src/core/ext/client_config/lb_policy.h" #define WEAK_REF_BITS 16 @@ -101,10 +101,11 @@ void grpc_lb_policy_weak_unref(grpc_exec_ctx *exec_ctx, int grpc_lb_policy_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, + uint32_t initial_metadata_flags, grpc_connected_subchannel **target, grpc_closure *on_complete) { return policy->vtable->pick(exec_ctx, policy, pollset, initial_metadata, - target, on_complete); + initial_metadata_flags, target, on_complete); } void grpc_lb_policy_cancel_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy, @@ -112,6 +113,14 @@ void grpc_lb_policy_cancel_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy, policy->vtable->cancel_pick(exec_ctx, policy, target); } +void grpc_lb_policy_cancel_picks(grpc_exec_ctx *exec_ctx, + grpc_lb_policy *policy, + uint32_t initial_metadata_flags_mask, + uint32_t initial_metadata_flags_eq) { + policy->vtable->cancel_picks(exec_ctx, policy, initial_metadata_flags_mask, + initial_metadata_flags_eq); +} + void grpc_lb_policy_exit_idle(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy) { policy->vtable->exit_idle(exec_ctx, policy); } diff --git a/src/core/lib/client_config/lb_policy.h b/src/core/ext/client_config/lb_policy.h similarity index 87% rename from src/core/lib/client_config/lb_policy.h rename to src/core/ext/client_config/lb_policy.h index 58a0a04d85297e27ef5ee357b3249c0c30321c4c..0384e0b2ebe3b59d26cbb616467adcf889f4b705 100644 --- a/src/core/lib/client_config/lb_policy.h +++ b/src/core/ext/client_config/lb_policy.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,10 +31,10 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_LB_POLICY_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_LB_POLICY_H -#include "src/core/lib/client_config/subchannel.h" +#include "src/core/ext/client_config/subchannel.h" #include "src/core/lib/transport/connectivity_state.h" /** A load balancing policy: specified by a vtable and a struct (which @@ -60,9 +60,13 @@ struct grpc_lb_policy_vtable { /** implement grpc_lb_policy_pick */ int (*pick)(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, + uint32_t initial_metadata_flags, grpc_connected_subchannel **target, grpc_closure *on_complete); void (*cancel_pick)(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy, grpc_connected_subchannel **target); + void (*cancel_picks)(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy, + uint32_t initial_metadata_flags_mask, + uint32_t initial_metadata_flags_eq); void (*ping_one)(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy, grpc_closure *closure); @@ -122,6 +126,7 @@ void grpc_lb_policy_init(grpc_lb_policy *policy, int grpc_lb_policy_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, + uint32_t initial_metadata_flags, grpc_connected_subchannel **target, grpc_closure *on_complete); @@ -131,6 +136,14 @@ void grpc_lb_policy_ping_one(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy, void grpc_lb_policy_cancel_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy, grpc_connected_subchannel **target); +/** Cancel all pending picks which have: + (initial_metadata_flags & initial_metadata_flags_mask) == + initial_metadata_flags_eq */ +void grpc_lb_policy_cancel_picks(grpc_exec_ctx *exec_ctx, + grpc_lb_policy *policy, + uint32_t initial_metadata_flags_mask, + uint32_t initial_metadata_flags_eq); + void grpc_lb_policy_exit_idle(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy); void grpc_lb_policy_notify_on_state_change(grpc_exec_ctx *exec_ctx, @@ -141,4 +154,4 @@ void grpc_lb_policy_notify_on_state_change(grpc_exec_ctx *exec_ctx, grpc_connectivity_state grpc_lb_policy_check_connectivity( grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_LB_POLICY_H */ diff --git a/src/core/lib/client_config/lb_policy_factory.c b/src/core/ext/client_config/lb_policy_factory.c similarity index 95% rename from src/core/lib/client_config/lb_policy_factory.c rename to src/core/ext/client_config/lb_policy_factory.c index ede1d624afbf8bf1cd521d6cfba1c3243ec8fc9f..70e46ef3cfc60c727c75d2fac46d283041ff9f4f 100644 --- a/src/core/lib/client_config/lb_policy_factory.c +++ b/src/core/ext/client_config/lb_policy_factory.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/client_config/lb_policy_factory.h" +#include "src/core/ext/client_config/lb_policy_factory.h" void grpc_lb_policy_factory_ref(grpc_lb_policy_factory* factory) { factory->vtable->ref(factory); diff --git a/src/core/lib/client_config/lb_policy_factory.h b/src/core/ext/client_config/lb_policy_factory.h similarity index 88% rename from src/core/lib/client_config/lb_policy_factory.h rename to src/core/ext/client_config/lb_policy_factory.h index 9a93a8ca3f3d60b9347864fb7e8adeaf86b3149b..1c89b28b59a3301dbfad3c26a3e5db67341b8005 100644 --- a/src/core/lib/client_config/lb_policy_factory.h +++ b/src/core/ext/client_config/lb_policy_factory.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,11 +31,11 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_FACTORY_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_FACTORY_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_LB_POLICY_FACTORY_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_LB_POLICY_FACTORY_H -#include "src/core/lib/client_config/lb_policy.h" -#include "src/core/lib/client_config/subchannel_factory.h" +#include "src/core/ext/client_config/client_channel_factory.h" +#include "src/core/ext/client_config/lb_policy.h" #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/iomgr/exec_ctx.h" @@ -51,7 +51,7 @@ struct grpc_lb_policy_factory { typedef struct grpc_lb_policy_args { grpc_resolved_addresses *addresses; - grpc_subchannel_factory *subchannel_factory; + grpc_client_channel_factory *client_channel_factory; } grpc_lb_policy_args; struct grpc_lb_policy_factory_vtable { @@ -75,4 +75,4 @@ grpc_lb_policy *grpc_lb_policy_factory_create_lb_policy( grpc_exec_ctx *exec_ctx, grpc_lb_policy_factory *factory, grpc_lb_policy_args *args); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_FACTORY_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_LB_POLICY_FACTORY_H */ diff --git a/src/core/lib/client_config/lb_policy_registry.c b/src/core/ext/client_config/lb_policy_registry.c similarity index 90% rename from src/core/lib/client_config/lb_policy_registry.c rename to src/core/ext/client_config/lb_policy_registry.c index f703e630a086a48f6bf9236838438f0999faed15..a23643ecc65dfbb8c92170a6909dc645673255dc 100644 --- a/src/core/lib/client_config/lb_policy_registry.c +++ b/src/core/ext/client_config/lb_policy_registry.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/client_config/lb_policy_registry.h" +#include "src/core/ext/client_config/lb_policy_registry.h" #include <string.h> @@ -40,12 +40,7 @@ static grpc_lb_policy_factory *g_all_of_the_lb_policies[MAX_POLICIES]; static int g_number_of_lb_policies = 0; -static grpc_lb_policy_factory *g_default_lb_policy_factory; - -void grpc_lb_policy_registry_init(grpc_lb_policy_factory *default_factory) { - g_number_of_lb_policies = 0; - g_default_lb_policy_factory = default_factory; -} +void grpc_lb_policy_registry_init(void) { g_number_of_lb_policies = 0; } void grpc_lb_policy_registry_shutdown(void) { int i; diff --git a/src/core/lib/client_config/lb_policy_registry.h b/src/core/ext/client_config/lb_policy_registry.h similarity index 86% rename from src/core/lib/client_config/lb_policy_registry.h rename to src/core/ext/client_config/lb_policy_registry.h index 789854bd2059a0f0709c381288309911f8c2217f..92f38d6de64a4de466a1b4f3cdb966c566acd9cc 100644 --- a/src/core/lib/client_config/lb_policy_registry.h +++ b/src/core/ext/client_config/lb_policy_registry.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,15 +31,15 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_REGISTRY_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_REGISTRY_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_LB_POLICY_REGISTRY_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_LB_POLICY_REGISTRY_H -#include "src/core/lib/client_config/lb_policy_factory.h" +#include "src/core/ext/client_config/lb_policy_factory.h" #include "src/core/lib/iomgr/exec_ctx.h" /** Initialize the registry and set \a default_factory as the factory to be * returned when no name is provided in a lookup */ -void grpc_lb_policy_registry_init(grpc_lb_policy_factory *default_factory); +void grpc_lb_policy_registry_init(void); void grpc_lb_policy_registry_shutdown(void); /** Register a LB policy factory. */ @@ -52,4 +52,4 @@ void grpc_register_lb_policy(grpc_lb_policy_factory *factory); grpc_lb_policy *grpc_lb_policy_create(grpc_exec_ctx *exec_ctx, const char *name, grpc_lb_policy_args *args); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_REGISTRY_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_LB_POLICY_REGISTRY_H */ diff --git a/src/core/lib/client_config/resolver.c b/src/core/ext/client_config/resolver.c similarity index 97% rename from src/core/lib/client_config/resolver.c rename to src/core/ext/client_config/resolver.c index 32f0643adbe5345503bafda6349df9277d0164f5..eb004455bd06dfd9b59de739e5978bc00935021d 100644 --- a/src/core/lib/client_config/resolver.c +++ b/src/core/ext/client_config/resolver.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/client_config/resolver.h" +#include "src/core/ext/client_config/resolver.h" void grpc_resolver_init(grpc_resolver *resolver, const grpc_resolver_vtable *vtable) { diff --git a/src/core/lib/client_config/resolver.h b/src/core/ext/client_config/resolver.h similarity index 93% rename from src/core/lib/client_config/resolver.h rename to src/core/ext/client_config/resolver.h index 1ee879293ab2a7584ea4992fee8b7cc2f8d732a3..6ecb5d2774ffc1fe48e5a7ed17ec783185b72942 100644 --- a/src/core/lib/client_config/resolver.h +++ b/src/core/ext/client_config/resolver.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,11 +31,11 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_RESOLVER_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_RESOLVER_H -#include "src/core/lib/client_config/client_config.h" -#include "src/core/lib/client_config/subchannel.h" +#include "src/core/ext/client_config/client_config.h" +#include "src/core/ext/client_config/subchannel.h" #include "src/core/lib/iomgr/iomgr.h" typedef struct grpc_resolver grpc_resolver; @@ -91,4 +91,4 @@ void grpc_resolver_next(grpc_exec_ctx *exec_ctx, grpc_resolver *resolver, grpc_client_config **target_config, grpc_closure *on_complete); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_RESOLVER_H */ diff --git a/src/core/lib/client_config/resolver_factory.c b/src/core/ext/client_config/resolver_factory.c similarity index 95% rename from src/core/lib/client_config/resolver_factory.c rename to src/core/ext/client_config/resolver_factory.c index 0f76c664fab372525a94d636ef4014c6c6b9eef1..67832dcf59e8568ac170e553cf7e308690cde1b1 100644 --- a/src/core/lib/client_config/resolver_factory.c +++ b/src/core/ext/client_config/resolver_factory.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/client_config/resolver_factory.h" +#include "src/core/ext/client_config/resolver_factory.h" void grpc_resolver_factory_ref(grpc_resolver_factory* factory) { factory->vtable->ref(factory); diff --git a/src/core/lib/client_config/resolver_factory.h b/src/core/ext/client_config/resolver_factory.h similarity index 87% rename from src/core/lib/client_config/resolver_factory.h rename to src/core/ext/client_config/resolver_factory.h index 7765c3c844dd590a4243d594b706e2f0b49e777e..4eb6979aad8d9e2bdabd392f77dc1e566fd5d7c0 100644 --- a/src/core/lib/client_config/resolver_factory.h +++ b/src/core/ext/client_config/resolver_factory.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,12 +31,12 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_FACTORY_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_FACTORY_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_RESOLVER_FACTORY_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_RESOLVER_FACTORY_H -#include "src/core/lib/client_config/resolver.h" -#include "src/core/lib/client_config/subchannel_factory.h" -#include "src/core/lib/client_config/uri_parser.h" +#include "src/core/ext/client_config/client_channel_factory.h" +#include "src/core/ext/client_config/resolver.h" +#include "src/core/ext/client_config/uri_parser.h" typedef struct grpc_resolver_factory grpc_resolver_factory; typedef struct grpc_resolver_factory_vtable grpc_resolver_factory_vtable; @@ -49,7 +49,7 @@ struct grpc_resolver_factory { typedef struct grpc_resolver_args { grpc_uri *uri; - grpc_subchannel_factory *subchannel_factory; + grpc_client_channel_factory *client_channel_factory; } grpc_resolver_args; struct grpc_resolver_factory_vtable { @@ -79,4 +79,4 @@ grpc_resolver *grpc_resolver_factory_create_resolver( char *grpc_resolver_factory_get_default_authority( grpc_resolver_factory *factory, grpc_uri *uri); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_FACTORY_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_RESOLVER_FACTORY_H */ diff --git a/src/core/lib/client_config/resolver_registry.c b/src/core/ext/client_config/resolver_registry.c similarity index 85% rename from src/core/lib/client_config/resolver_registry.c rename to src/core/ext/client_config/resolver_registry.c index 29bd00c284021e834663cb5fc11152a6525899fb..07f29bcb27a9b1de6fdbd76243fa7446889c31f0 100644 --- a/src/core/lib/client_config/resolver_registry.c +++ b/src/core/ext/client_config/resolver_registry.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/client_config/resolver_registry.h" +#include "src/core/ext/client_config/resolver_registry.h" #include <string.h> @@ -70,14 +70,11 @@ void grpc_register_resolver_type(grpc_resolver_factory *factory) { g_all_of_the_resolvers[g_number_of_resolvers++] = factory; } -static grpc_resolver_factory *lookup_factory(grpc_uri *uri) { +static grpc_resolver_factory *lookup_factory(const char *name) { int i; - /* handling NULL uri's here simplifies grpc_resolver_create */ - if (!uri) return NULL; - for (i = 0; i < g_number_of_resolvers; i++) { - if (0 == strcmp(uri->scheme, g_all_of_the_resolvers[i]->vtable->scheme)) { + if (0 == strcmp(name, g_all_of_the_resolvers[i]->vtable->scheme)) { return g_all_of_the_resolvers[i]; } } @@ -85,6 +82,17 @@ static grpc_resolver_factory *lookup_factory(grpc_uri *uri) { return NULL; } +grpc_resolver_factory *grpc_resolver_factory_lookup(const char *name) { + grpc_resolver_factory *f = lookup_factory(name); + if (f) grpc_resolver_factory_ref(f); + return f; +} + +static grpc_resolver_factory *lookup_factory_by_uri(grpc_uri *uri) { + if (!uri) return NULL; + return lookup_factory(uri->scheme); +} + static grpc_resolver_factory *resolve_factory(const char *target, grpc_uri **uri) { char *tmp; @@ -92,13 +100,13 @@ static grpc_resolver_factory *resolve_factory(const char *target, GPR_ASSERT(uri != NULL); *uri = grpc_uri_parse(target, 1); - factory = lookup_factory(*uri); + factory = lookup_factory_by_uri(*uri); if (factory == NULL) { if (g_default_resolver_prefix != NULL) { grpc_uri_destroy(*uri); gpr_asprintf(&tmp, "%s%s", g_default_resolver_prefix, target); *uri = grpc_uri_parse(tmp, 1); - factory = lookup_factory(*uri); + factory = lookup_factory_by_uri(*uri); if (factory == NULL) { grpc_uri_destroy(grpc_uri_parse(target, 0)); grpc_uri_destroy(grpc_uri_parse(tmp, 0)); @@ -115,14 +123,14 @@ static grpc_resolver_factory *resolve_factory(const char *target, } grpc_resolver *grpc_resolver_create( - const char *target, grpc_subchannel_factory *subchannel_factory) { + const char *target, grpc_client_channel_factory *client_channel_factory) { grpc_uri *uri = NULL; grpc_resolver_factory *factory = resolve_factory(target, &uri); grpc_resolver *resolver; grpc_resolver_args args; memset(&args, 0, sizeof(args)); args.uri = uri; - args.subchannel_factory = subchannel_factory; + args.client_channel_factory = client_channel_factory; resolver = grpc_resolver_factory_create_resolver(factory, &args); grpc_uri_destroy(uri); return resolver; diff --git a/src/core/lib/client_config/resolver_registry.h b/src/core/ext/client_config/resolver_registry.h similarity index 84% rename from src/core/lib/client_config/resolver_registry.h rename to src/core/ext/client_config/resolver_registry.h index 22289ca6bd25c92825a19790950c8c0d71981f16..5ef1383cd35d607b00d3f62ca6f450cfeaf020a3 100644 --- a/src/core/lib/client_config/resolver_registry.h +++ b/src/core/ext/client_config/resolver_registry.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,10 +31,10 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_REGISTRY_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_REGISTRY_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_RESOLVER_REGISTRY_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_RESOLVER_REGISTRY_H -#include "src/core/lib/client_config/resolver_factory.h" +#include "src/core/ext/client_config/resolver_factory.h" void grpc_resolver_registry_init(const char *default_prefix); void grpc_resolver_registry_shutdown(void); @@ -56,10 +56,14 @@ void grpc_register_resolver_type(grpc_resolver_factory *factory); return it. If a resolver factory was not found, return NULL. */ grpc_resolver *grpc_resolver_create( - const char *target, grpc_subchannel_factory *subchannel_factory); + const char *target, grpc_client_channel_factory *client_channel_factory); + +/** Find a resolver factory given a name and return an (owned-by-the-caller) + * reference to it */ +grpc_resolver_factory *grpc_resolver_factory_lookup(const char *name); /** Given a target, return a (freshly allocated with gpr_malloc) string representing the default authority to pass from a client. */ char *grpc_get_default_authority(const char *target); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_REGISTRY_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_RESOLVER_REGISTRY_H */ diff --git a/src/core/lib/client_config/subchannel.c b/src/core/ext/client_config/subchannel.c similarity index 92% rename from src/core/lib/client_config/subchannel.c rename to src/core/ext/client_config/subchannel.c index 41242f0dd75c46b776c8b936c096beb66f3e0224..125a291f211f4d11c95499cc5e02cc818260203e 100644 --- a/src/core/lib/client_config/subchannel.c +++ b/src/core/ext/client_config/subchannel.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,18 +31,18 @@ * */ -#include "src/core/lib/client_config/subchannel.h" +#include "src/core/ext/client_config/subchannel.h" #include <string.h> #include <grpc/support/alloc.h> #include <grpc/support/avl.h> +#include "src/core/ext/client_config/client_channel.h" +#include "src/core/ext/client_config/initial_connect_string.h" +#include "src/core/ext/client_config/subchannel_index.h" #include "src/core/lib/channel/channel_args.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/connected_channel.h" -#include "src/core/lib/client_config/initial_connect_string.h" -#include "src/core/lib/client_config/subchannel_index.h" #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/profiling/timers.h" #include "src/core/lib/support/backoff.h" @@ -54,7 +54,7 @@ #define STRONG_REF_MASK (~(gpr_atm)((1 << INTERNAL_REF_BITS) - 1)) #define GRPC_SUBCHANNEL_MIN_CONNECT_TIMEOUT_SECONDS 20 -#define GRPC_SUBCHANNEL_INITIAL_CONNECT_BACKOFF_SECONDS 1 +#define GRPC_SUBCHANNEL_INITIAL_CONNECT_BACKOFF_SECONDS 2 #define GRPC_SUBCHANNEL_RECONNECT_BACKOFF_MULTIPLIER 1.6 #define GRPC_SUBCHANNEL_RECONNECT_MAX_BACKOFF_SECONDS 120 #define GRPC_SUBCHANNEL_RECONNECT_JITTER 0.2 @@ -352,6 +352,25 @@ grpc_subchannel *grpc_subchannel_create(grpc_exec_ctx *exec_ctx, c->args->args[i].value.integer, c->args->args[i].value.integer); } + if (0 == + strcmp(c->args->args[i].key, GRPC_ARG_MAX_RECONNECT_BACKOFF_MS)) { + if (c->args->args[i].type == GRPC_ARG_INTEGER) { + if (c->args->args[i].value.integer >= 0) { + gpr_backoff_init( + &c->backoff_state, GRPC_SUBCHANNEL_RECONNECT_BACKOFF_MULTIPLIER, + GRPC_SUBCHANNEL_RECONNECT_JITTER, + GPR_MIN(c->args->args[i].value.integer, + GRPC_SUBCHANNEL_INITIAL_CONNECT_BACKOFF_SECONDS * 1000), + c->args->args[i].value.integer); + } else { + gpr_log(GPR_ERROR, GRPC_ARG_MAX_RECONNECT_BACKOFF_MS + " : must be non-negative"); + } + } else { + gpr_log(GPR_ERROR, + GRPC_ARG_MAX_RECONNECT_BACKOFF_MS " : must be an integer"); + } + } } } gpr_mu_init(&c->mu); @@ -527,9 +546,20 @@ static void publish_transport_locked(grpc_exec_ctx *exec_ctx, state_watcher *sw_subchannel; /* construct channel stack */ - con = grpc_channel_init_create_stack( - exec_ctx, GRPC_CLIENT_SUBCHANNEL, 0, c->connecting_result.channel_args, 1, - connection_destroy, NULL, c->connecting_result.transport); + grpc_channel_stack_builder *builder = grpc_channel_stack_builder_create(); + grpc_channel_stack_builder_set_channel_arguments( + builder, c->connecting_result.channel_args); + grpc_channel_stack_builder_set_transport(builder, + c->connecting_result.transport); + + if (grpc_channel_init_create_stack(exec_ctx, builder, + GRPC_CLIENT_SUBCHANNEL)) { + con = grpc_channel_stack_builder_finish(exec_ctx, builder, 0, 1, + connection_destroy, NULL); + } else { + grpc_channel_stack_builder_destroy(builder); + abort(); /* TODO(ctiller): what to do here (previously we just crashed) */ + } stk = CHANNEL_STACK_FROM_CONNECTION(con); memset(&c->connecting_result, 0, sizeof(c->connecting_result)); @@ -557,7 +587,8 @@ static void publish_transport_locked(grpc_exec_ctx *exec_ctx, GPR_ASSERT(gpr_atm_rel_cas(&c->connected_subchannel, 0, (gpr_atm)con)); c->connecting = 0; - /* setup subchannel watching connected subchannel for changes; subchannel ref + /* setup subchannel watching connected subchannel for changes; subchannel + ref for connecting is donated to the state watcher */ GRPC_SUBCHANNEL_WEAK_REF(c, "state_watcher"); diff --git a/src/core/lib/client_config/subchannel.h b/src/core/ext/client_config/subchannel.h similarity index 97% rename from src/core/lib/client_config/subchannel.h rename to src/core/ext/client_config/subchannel.h index b4f545be52145b493a1898cc14557b2286774331..0765a544e8b7070ee35d58e009aeb35fb252b417 100644 --- a/src/core/lib/client_config/subchannel.h +++ b/src/core/ext/client_config/subchannel.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,11 +31,11 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_SUBCHANNEL_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_SUBCHANNEL_H +#include "src/core/ext/client_config/connector.h" #include "src/core/lib/channel/channel_stack.h" -#include "src/core/lib/client_config/connector.h" #include "src/core/lib/transport/connectivity_state.h" /** A (sub-)channel that knows how to connect to exactly one target @@ -171,4 +171,4 @@ grpc_subchannel *grpc_subchannel_create(grpc_exec_ctx *exec_ctx, grpc_connector *connector, grpc_subchannel_args *args); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_SUBCHANNEL_H */ diff --git a/src/core/lib/channel/subchannel_call_holder.c b/src/core/ext/client_config/subchannel_call_holder.c similarity index 97% rename from src/core/lib/channel/subchannel_call_holder.c rename to src/core/ext/client_config/subchannel_call_holder.c index 6c6d42dd73b1095055f024ece77fa62b5551d84e..3db462b24657374401ce74be76803fc6276f6180 100644 --- a/src/core/lib/channel/subchannel_call_holder.c +++ b/src/core/ext/client_config/subchannel_call_holder.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/channel/subchannel_call_holder.h" +#include "src/core/ext/client_config/subchannel_call_holder.h" #include <grpc/support/alloc.h> @@ -127,7 +127,7 @@ retry: break; case GRPC_SUBCHANNEL_CALL_HOLDER_PICKING_SUBCHANNEL: holder->pick_subchannel(exec_ctx, holder->pick_subchannel_arg, NULL, - &holder->connected_subchannel, NULL); + 0, &holder->connected_subchannel, NULL); break; } gpr_mu_unlock(&holder->mu); @@ -145,7 +145,8 @@ retry: GRPC_CALL_STACK_REF(holder->owning_call, "pick_subchannel"); if (holder->pick_subchannel( exec_ctx, holder->pick_subchannel_arg, op->send_initial_metadata, - &holder->connected_subchannel, &holder->next_step)) { + op->send_initial_metadata_flags, &holder->connected_subchannel, + &holder->next_step)) { holder->creation_phase = GRPC_SUBCHANNEL_CALL_HOLDER_NOT_CREATING; GRPC_CALL_STACK_UNREF(exec_ctx, holder->owning_call, "pick_subchannel"); } diff --git a/src/core/lib/channel/subchannel_call_holder.h b/src/core/ext/client_config/subchannel_call_holder.h similarity index 92% rename from src/core/lib/channel/subchannel_call_holder.h rename to src/core/ext/client_config/subchannel_call_holder.h index 882f366792a8a49ea2122522cdbc4d97b6001203..92999087884f64a1853a9d93fca81f7b83542fec 100644 --- a/src/core/lib/channel/subchannel_call_holder.h +++ b/src/core/ext/client_config/subchannel_call_holder.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,10 +31,10 @@ * */ -#ifndef GRPC_CORE_LIB_CHANNEL_SUBCHANNEL_CALL_HOLDER_H -#define GRPC_CORE_LIB_CHANNEL_SUBCHANNEL_CALL_HOLDER_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_SUBCHANNEL_CALL_HOLDER_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_SUBCHANNEL_CALL_HOLDER_H -#include "src/core/lib/client_config/subchannel.h" +#include "src/core/ext/client_config/subchannel.h" /** Pick a subchannel for grpc_subchannel_call_holder; Return 1 if subchannel is available immediately (in which case on_ready @@ -42,6 +42,7 @@ called when the subchannel is available) */ typedef int (*grpc_subchannel_call_holder_pick_subchannel)( grpc_exec_ctx *exec_ctx, void *arg, grpc_metadata_batch *initial_metadata, + uint32_t initial_metadata_flags, grpc_connected_subchannel **connected_subchannel, grpc_closure *on_ready); typedef enum { @@ -94,4 +95,4 @@ void grpc_subchannel_call_holder_perform_op(grpc_exec_ctx *exec_ctx, char *grpc_subchannel_call_holder_get_peer(grpc_exec_ctx *exec_ctx, grpc_subchannel_call_holder *holder); -#endif /* GRPC_CORE_LIB_CHANNEL_SUBCHANNEL_CALL_HOLDER_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_SUBCHANNEL_CALL_HOLDER_H */ diff --git a/src/core/lib/client_config/subchannel_factory.c b/src/core/ext/client_config/subchannel_factory.c similarity index 95% rename from src/core/lib/client_config/subchannel_factory.c rename to src/core/ext/client_config/subchannel_factory.c index 727a48a6c8ce4319f32ae49ddd658f30a1c4fbb3..d1e4d75a023052c771ce4242f1b2a29b13c3dff6 100644 --- a/src/core/lib/client_config/subchannel_factory.c +++ b/src/core/ext/client_config/subchannel_factory.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/client_config/subchannel_factory.h" +#include "src/core/ext/client_config/subchannel_factory.h" void grpc_subchannel_factory_ref(grpc_subchannel_factory* factory) { factory->vtable->ref(factory); diff --git a/src/core/lib/client_config/subchannel_factory.h b/src/core/ext/client_config/subchannel_factory.h similarity index 91% rename from src/core/lib/client_config/subchannel_factory.h rename to src/core/ext/client_config/subchannel_factory.h index 3ba2f860fe25ebf2f061b4c1aee6059f81a138d5..0fb806d08197bbe9b4e77eb97346be6d211257b7 100644 --- a/src/core/lib/client_config/subchannel_factory.h +++ b/src/core/ext/client_config/subchannel_factory.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,11 +31,11 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H +#include "src/core/ext/client_config/subchannel.h" #include "src/core/lib/channel/channel_stack.h" -#include "src/core/lib/client_config/subchannel.h" typedef struct grpc_subchannel_factory grpc_subchannel_factory; typedef struct grpc_subchannel_factory_vtable grpc_subchannel_factory_vtable; @@ -63,4 +63,4 @@ grpc_subchannel *grpc_subchannel_factory_create_subchannel( grpc_exec_ctx *exec_ctx, grpc_subchannel_factory *factory, grpc_subchannel_args *args); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H */ diff --git a/src/core/lib/client_config/subchannel_index.c b/src/core/ext/client_config/subchannel_index.c similarity index 99% rename from src/core/lib/client_config/subchannel_index.c rename to src/core/ext/client_config/subchannel_index.c index 2c545002a280165ff1591eb9455235e0db184455..ab8d9bd91d83ab23cc952512d91feaaac6e8715a 100644 --- a/src/core/lib/client_config/subchannel_index.c +++ b/src/core/ext/client_config/subchannel_index.c @@ -31,7 +31,7 @@ // // -#include "src/core/lib/client_config/subchannel_index.h" +#include "src/core/ext/client_config/subchannel_index.h" #include <stdbool.h> #include <string.h> diff --git a/src/core/lib/client_config/subchannel_index.h b/src/core/ext/client_config/subchannel_index.h similarity index 92% rename from src/core/lib/client_config/subchannel_index.h rename to src/core/ext/client_config/subchannel_index.h index bc5f03beb42407869e878c4f134df9f8323d1b29..6b8d063855e52479e1b22778cf3e17a365e736cd 100644 --- a/src/core/lib/client_config/subchannel_index.h +++ b/src/core/ext/client_config/subchannel_index.h @@ -31,11 +31,11 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_INDEX_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_INDEX_H +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_SUBCHANNEL_INDEX_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_SUBCHANNEL_INDEX_H -#include "src/core/lib/client_config/connector.h" -#include "src/core/lib/client_config/subchannel.h" +#include "src/core/ext/client_config/connector.h" +#include "src/core/ext/client_config/subchannel.h" /** \file Provides an index of active subchannels so that they can be shared amongst channels */ @@ -74,4 +74,4 @@ void grpc_subchannel_index_init(void); /** Shutdown the subchannel index (global) */ void grpc_subchannel_index_shutdown(void); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_INDEX_H */ +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_SUBCHANNEL_INDEX_H */ diff --git a/src/core/lib/client_config/uri_parser.c b/src/core/ext/client_config/uri_parser.c similarity index 75% rename from src/core/lib/client_config/uri_parser.c rename to src/core/ext/client_config/uri_parser.c index d3228dec5fa4d6b1a9385734a1dd91b993620489..3ca1a58e692a98eca408ca6dd4f03ba0ee32125a 100644 --- a/src/core/lib/client_config/uri_parser.c +++ b/src/core/ext/client_config/uri_parser.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,15 +31,19 @@ * */ -#include "src/core/lib/client_config/uri_parser.h" +#include "src/core/ext/client_config/uri_parser.h" #include <string.h> #include <grpc/support/alloc.h> #include <grpc/support/log.h> #include <grpc/support/port_platform.h> +#include <grpc/support/slice.h> +#include <grpc/support/slice_buffer.h> #include <grpc/support/string_util.h> +#include "src/core/lib/support/string.h" + /** a size_t default value... maps to all 1's */ #define NOT_SET (~(size_t)0) @@ -133,6 +137,51 @@ static int parse_fragment_or_query(const char *uri_text, size_t *i) { return 1; } +static void do_nothing(void *ignored) {} +static void parse_query_parts(grpc_uri *uri) { + static const char *QUERY_PARTS_SEPARATOR = "&"; + static const char *QUERY_PARTS_VALUE_SEPARATOR = "="; + GPR_ASSERT(uri->query != NULL); + if (uri->query[0] == '\0') { + uri->query_parts = NULL; + uri->query_parts_values = NULL; + uri->num_query_parts = 0; + return; + } + gpr_slice query_slice = + gpr_slice_new(uri->query, strlen(uri->query), do_nothing); + gpr_slice_buffer query_parts; /* the &-separated elements of the query */ + gpr_slice_buffer query_param_parts; /* the =-separated subelements */ + + gpr_slice_buffer_init(&query_parts); + gpr_slice_buffer_init(&query_param_parts); + + gpr_slice_split(query_slice, QUERY_PARTS_SEPARATOR, &query_parts); + uri->query_parts = gpr_malloc(query_parts.count * sizeof(char *)); + uri->query_parts_values = gpr_malloc(query_parts.count * sizeof(char *)); + uri->num_query_parts = query_parts.count; + for (size_t i = 0; i < query_parts.count; i++) { + gpr_slice_split(query_parts.slices[i], QUERY_PARTS_VALUE_SEPARATOR, + &query_param_parts); + GPR_ASSERT(query_param_parts.count > 0); + uri->query_parts[i] = + gpr_dump_slice(query_param_parts.slices[0], GPR_DUMP_ASCII); + if (query_param_parts.count > 1) { + /* TODO(dgq): only the first value after the separator is considered. + * Perhaps all chars after the first separator for the query part should + * be included, even if they include the separator. */ + uri->query_parts_values[i] = + gpr_dump_slice(query_param_parts.slices[1], GPR_DUMP_ASCII); + } else { + uri->query_parts_values[i] = NULL; + } + gpr_slice_buffer_reset_and_unref(&query_param_parts); + } + gpr_slice_buffer_destroy(&query_parts); + gpr_slice_buffer_destroy(&query_param_parts); + gpr_slice_unref(query_slice); +} + grpc_uri *grpc_uri_parse(const char *uri_text, int suppress_errors) { grpc_uri *uri; size_t scheme_begin = 0; @@ -227,16 +276,35 @@ grpc_uri *grpc_uri_parse(const char *uri_text, int suppress_errors) { uri->path = copy_component(uri_text, path_begin, path_end); uri->query = copy_component(uri_text, query_begin, query_end); uri->fragment = copy_component(uri_text, fragment_begin, fragment_end); + parse_query_parts(uri); return uri; } +const char *grpc_uri_get_query_arg(const grpc_uri *uri, const char *key) { + GPR_ASSERT(key != NULL); + if (key[0] == '\0') return NULL; + + for (size_t i = 0; i < uri->num_query_parts; ++i) { + if (0 == strcmp(key, uri->query_parts[i])) { + return uri->query_parts_values[i]; + } + } + return NULL; +} + void grpc_uri_destroy(grpc_uri *uri) { if (!uri) return; gpr_free(uri->scheme); gpr_free(uri->authority); gpr_free(uri->path); gpr_free(uri->query); + for (size_t i = 0; i < uri->num_query_parts; ++i) { + gpr_free(uri->query_parts[i]); + gpr_free(uri->query_parts_values[i]); + } + gpr_free(uri->query_parts); + gpr_free(uri->query_parts_values); gpr_free(uri->fragment); gpr_free(uri); } diff --git a/src/core/ext/client_config/uri_parser.h b/src/core/ext/client_config/uri_parser.h new file mode 100644 index 0000000000000000000000000000000000000000..875a7cb07ca8036a52e503a55dca3391fc781156 --- /dev/null +++ b/src/core/ext/client_config/uri_parser.h @@ -0,0 +1,63 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_CORE_EXT_CLIENT_CONFIG_URI_PARSER_H +#define GRPC_CORE_EXT_CLIENT_CONFIG_URI_PARSER_H + +#include <stddef.h> + +typedef struct { + char *scheme; + char *authority; + char *path; + char *query; + /** Query substrings separated by '&' */ + char **query_parts; + /** Number of elements in \a query_parts and \a query_parts_values */ + size_t num_query_parts; + /** Split each query part by '='. NULL if not present. */ + char **query_parts_values; + char *fragment; +} grpc_uri; + +/** parse a uri, return NULL on failure */ +grpc_uri *grpc_uri_parse(const char *uri_text, int suppress_errors); + +/** return the part of a query string after the '=' in "?key=xxx&...", or NULL + * if key is not present */ +const char *grpc_uri_get_query_arg(const grpc_uri *uri, const char *key); + +/** destroy a uri */ +void grpc_uri_destroy(grpc_uri *uri); + +#endif /* GRPC_CORE_EXT_CLIENT_CONFIG_URI_PARSER_H */ diff --git a/src/core/lib/client_config/lb_policies/load_balancer_api.c b/src/core/ext/lb_policy/grpclb/load_balancer_api.c similarity index 93% rename from src/core/lib/client_config/lb_policies/load_balancer_api.c rename to src/core/ext/lb_policy/grpclb/load_balancer_api.c index 4cbed200df336612a88980141f51f15b317f5659..459d6d9954dfdece9f56661dff841ab85271640c 100644 --- a/src/core/lib/client_config/lb_policies/load_balancer_api.c +++ b/src/core/ext/lb_policy/grpclb/load_balancer_api.c @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/client_config/lb_policies/load_balancer_api.h" +#include "src/core/ext/lb_policy/grpclb/load_balancer_api.h" #include "third_party/nanopb/pb_decode.h" #include "third_party/nanopb/pb_encode.h" @@ -110,13 +110,15 @@ grpc_grpclb_response *grpc_grpclb_response_parse(gpr_slice encoded_response) { grpc_grpclb_response *res = gpr_malloc(sizeof(grpc_grpclb_response)); memset(res, 0, sizeof(*res)); status = pb_decode(&stream, grpc_lb_v0_LoadBalanceResponse_fields, res); - GPR_ASSERT(status == true); + if (!status) { + grpc_grpclb_response_destroy(res); + return NULL; + } return res; } grpc_grpclb_serverlist *grpc_grpclb_response_parse_serverlist( gpr_slice encoded_response) { - grpc_grpclb_serverlist *sl = gpr_malloc(sizeof(grpc_grpclb_serverlist)); bool status; decode_serverlist_arg arg; pb_istream_t stream = @@ -131,15 +133,20 @@ grpc_grpclb_serverlist *grpc_grpclb_response_parse_serverlist( res->server_list.servers.arg = &arg; arg.first_pass = 1; status = pb_decode(&stream, grpc_lb_v0_LoadBalanceResponse_fields, res); - GPR_ASSERT(status == true); - GPR_ASSERT(arg.num_servers > 0); + if (!status) { + grpc_grpclb_response_destroy(res); + return NULL; + } arg.first_pass = 0; status = pb_decode(&stream_at_start, grpc_lb_v0_LoadBalanceResponse_fields, res); - GPR_ASSERT(status == true); - GPR_ASSERT(arg.servers != NULL); + if (!status) { + grpc_grpclb_response_destroy(res); + return NULL; + } + grpc_grpclb_serverlist *sl = gpr_malloc(sizeof(grpc_grpclb_serverlist)); sl->num_servers = arg.num_servers; sl->servers = arg.servers; if (res->server_list.has_expiration_interval) { @@ -150,8 +157,10 @@ grpc_grpclb_serverlist *grpc_grpclb_response_parse_serverlist( } void grpc_grpclb_destroy_serverlist(grpc_grpclb_serverlist *serverlist) { - size_t i; - for (i = 0; i < serverlist->num_servers; i++) { + if (serverlist == NULL) { + return; + } + for (size_t i = 0; i < serverlist->num_servers; i++) { gpr_free(serverlist->servers[i]); } gpr_free(serverlist->servers); diff --git a/src/core/lib/client_config/lb_policies/load_balancer_api.h b/src/core/ext/lb_policy/grpclb/load_balancer_api.h similarity index 90% rename from src/core/lib/client_config/lb_policies/load_balancer_api.h rename to src/core/ext/lb_policy/grpclb/load_balancer_api.h index 83299adfa9d0be314ff691cd0d9ecca47b6867a2..968f7d278ae86649d29445f6acbc9cec4f0bb53c 100644 --- a/src/core/lib/client_config/lb_policies/load_balancer_api.h +++ b/src/core/ext/lb_policy/grpclb/load_balancer_api.h @@ -31,13 +31,13 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_LOAD_BALANCER_API_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_LOAD_BALANCER_API_H +#ifndef GRPC_CORE_EXT_LB_POLICY_GRPCLB_LOAD_BALANCER_API_H +#define GRPC_CORE_EXT_LB_POLICY_GRPCLB_LOAD_BALANCER_API_H #include <grpc/support/slice_buffer.h> -#include "src/core/lib/client_config/lb_policy_factory.h" -#include "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h" +#include "src/core/ext/client_config/lb_policy_factory.h" +#include "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h" #ifdef __cplusplus extern "C" { @@ -82,4 +82,4 @@ void grpc_grpclb_response_destroy(grpc_grpclb_response *response); } #endif -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_LOAD_BALANCER_API_H */ +#endif /* GRPC_CORE_EXT_LB_POLICY_GRPCLB_LOAD_BALANCER_API_H */ diff --git a/src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c b/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c similarity index 98% rename from src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c rename to src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c index 8f82141f96d525ec6135cefe6726509560928484..97196731810e71f15122f1efd882d5b3cfdeab57 100644 --- a/src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c +++ b/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c @@ -33,7 +33,7 @@ /* Automatically generated nanopb constant definitions */ /* Generated by nanopb-0.3.5-dev */ -#include "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h" +#include "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h" #if PB_PROTO_HEADER_VERSION != 30 #error Regenerate this file with the current version of nanopb generator. diff --git a/src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h b/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h similarity index 100% rename from src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h rename to src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h diff --git a/src/core/lib/client_config/lb_policies/pick_first.c b/src/core/ext/lb_policy/pick_first/pick_first.c similarity index 83% rename from src/core/lib/client_config/lb_policies/pick_first.c rename to src/core/ext/lb_policy/pick_first/pick_first.c index 9ac550d9e7cd6438e5fe6d4d110afc3b4b8c614c..5926f9d70bf168a519cc25105f850c5f4538e5df 100644 --- a/src/core/lib/client_config/lb_policies/pick_first.c +++ b/src/core/ext/lb_policy/pick_first/pick_first.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,17 +31,16 @@ * */ -#include "src/core/lib/client_config/lb_policies/pick_first.h" - #include <string.h> #include <grpc/support/alloc.h> -#include "src/core/lib/client_config/lb_policy_factory.h" +#include "src/core/ext/client_config/lb_policy_registry.h" #include "src/core/lib/transport/connectivity_state.h" typedef struct pending_pick { struct pending_pick *next; grpc_pollset *pollset; + uint32_t initial_metadata_flags; grpc_connected_subchannel **target; grpc_closure *on_complete; } pending_pick; @@ -78,7 +77,7 @@ typedef struct { #define GET_SELECTED(p) \ ((grpc_connected_subchannel *)gpr_atm_acq_load(&(p)->selected)) -void pf_destroy(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { +static void pf_destroy(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { pick_first_lb_policy *p = (pick_first_lb_policy *)pol; grpc_connected_subchannel *selected = GET_SELECTED(p); size_t i; @@ -95,7 +94,7 @@ void pf_destroy(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { gpr_free(p); } -void pf_shutdown(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { +static void pf_shutdown(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { pick_first_lb_policy *p = (pick_first_lb_policy *)pol; pending_pick *pp; grpc_connected_subchannel *selected; @@ -151,6 +150,31 @@ static void pf_cancel_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, gpr_mu_unlock(&p->mu); } +static void pf_cancel_picks(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, + uint32_t initial_metadata_flags_mask, + uint32_t initial_metadata_flags_eq) { + pick_first_lb_policy *p = (pick_first_lb_policy *)pol; + pending_pick *pp; + gpr_mu_lock(&p->mu); + pp = p->pending_picks; + p->pending_picks = NULL; + while (pp != NULL) { + pending_pick *next = pp->next; + if ((pp->initial_metadata_flags & initial_metadata_flags_mask) == + initial_metadata_flags_eq) { + grpc_pollset_set_del_pollset(exec_ctx, p->base.interested_parties, + pp->pollset); + grpc_exec_ctx_enqueue(exec_ctx, pp->on_complete, false, NULL); + gpr_free(pp); + } else { + pp->next = p->pending_picks; + p->pending_picks = pp; + } + pp = next; + } + gpr_mu_unlock(&p->mu); +} + static void start_picking(grpc_exec_ctx *exec_ctx, pick_first_lb_policy *p) { p->started_picking = 1; p->checking_subchannel = 0; @@ -162,7 +186,7 @@ static void start_picking(grpc_exec_ctx *exec_ctx, pick_first_lb_policy *p) { &p->connectivity_changed); } -void pf_exit_idle(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { +static void pf_exit_idle(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { pick_first_lb_policy *p = (pick_first_lb_policy *)pol; gpr_mu_lock(&p->mu); if (!p->started_picking) { @@ -171,9 +195,11 @@ void pf_exit_idle(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { gpr_mu_unlock(&p->mu); } -int pf_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, grpc_pollset *pollset, - grpc_metadata_batch *initial_metadata, - grpc_connected_subchannel **target, grpc_closure *on_complete) { +static int pf_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, + grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, + uint32_t initial_metadata_flags, + grpc_connected_subchannel **target, + grpc_closure *on_complete) { pick_first_lb_policy *p = (pick_first_lb_policy *)pol; pending_pick *pp; @@ -200,6 +226,7 @@ int pf_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, grpc_pollset *pollset, pp->next = p->pending_picks; pp->pollset = pollset; pp->target = target; + pp->initial_metadata_flags = initial_metadata_flags; pp->on_complete = on_complete; p->pending_picks = pp; gpr_mu_unlock(&p->mu); @@ -287,11 +314,14 @@ static void pf_connectivity_changed(grpc_exec_ctx *exec_ctx, void *arg, &p->checking_connectivity, &p->connectivity_changed); break; case GRPC_CHANNEL_TRANSIENT_FAILURE: - grpc_connectivity_state_set(exec_ctx, &p->state_tracker, - GRPC_CHANNEL_TRANSIENT_FAILURE, - "connecting_transient_failure"); p->checking_subchannel = (p->checking_subchannel + 1) % p->num_subchannels; + if (p->checking_subchannel == 0) { + /* only trigger transient failure when we've tried all alternatives */ + grpc_connectivity_state_set(exec_ctx, &p->state_tracker, + GRPC_CHANNEL_TRANSIENT_FAILURE, + "connecting_transient_failure"); + } p->checking_connectivity = grpc_subchannel_check_connectivity( p->subchannels[p->checking_subchannel]); if (p->checking_connectivity == GRPC_CHANNEL_TRANSIENT_FAILURE) { @@ -356,9 +386,10 @@ static grpc_connectivity_state pf_check_connectivity(grpc_exec_ctx *exec_ctx, return st; } -void pf_notify_on_state_change(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, - grpc_connectivity_state *current, - grpc_closure *notify) { +static void pf_notify_on_state_change(grpc_exec_ctx *exec_ctx, + grpc_lb_policy *pol, + grpc_connectivity_state *current, + grpc_closure *notify) { pick_first_lb_policy *p = (pick_first_lb_policy *)pol; gpr_mu_lock(&p->mu); grpc_connectivity_state_notify_on_state_change(exec_ctx, &p->state_tracker, @@ -366,8 +397,8 @@ void pf_notify_on_state_change(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, gpr_mu_unlock(&p->mu); } -void pf_ping_one(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, - grpc_closure *closure) { +static void pf_ping_one(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, + grpc_closure *closure) { pick_first_lb_policy *p = (pick_first_lb_policy *)pol; grpc_connected_subchannel *selected = GET_SELECTED(p); if (selected) { @@ -378,14 +409,9 @@ void pf_ping_one(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, } static const grpc_lb_policy_vtable pick_first_lb_policy_vtable = { - pf_destroy, - pf_shutdown, - pf_pick, - pf_cancel_pick, - pf_ping_one, - pf_exit_idle, - pf_check_connectivity, - pf_notify_on_state_change}; + pf_destroy, pf_shutdown, pf_pick, + pf_cancel_pick, pf_cancel_picks, pf_ping_one, + pf_exit_idle, pf_check_connectivity, pf_notify_on_state_change}; static void pick_first_factory_ref(grpc_lb_policy_factory *factory) {} @@ -395,7 +421,7 @@ static grpc_lb_policy *create_pick_first(grpc_exec_ctx *exec_ctx, grpc_lb_policy_factory *factory, grpc_lb_policy_args *args) { GPR_ASSERT(args->addresses != NULL); - GPR_ASSERT(args->subchannel_factory != NULL); + GPR_ASSERT(args->client_channel_factory != NULL); if (args->addresses->naddrs == 0) return NULL; @@ -412,8 +438,8 @@ static grpc_lb_policy *create_pick_first(grpc_exec_ctx *exec_ctx, sc_args.addr = (struct sockaddr *)(args->addresses->addrs[i].addr); sc_args.addr_len = (size_t)args->addresses->addrs[i].len; - grpc_subchannel *subchannel = grpc_subchannel_factory_create_subchannel( - exec_ctx, args->subchannel_factory, &sc_args); + grpc_subchannel *subchannel = grpc_client_channel_factory_create_subchannel( + exec_ctx, args->client_channel_factory, &sc_args); if (subchannel != NULL) { p->subchannels[subchannel_idx++] = subchannel; @@ -439,6 +465,14 @@ static const grpc_lb_policy_factory_vtable pick_first_factory_vtable = { static grpc_lb_policy_factory pick_first_lb_policy_factory = { &pick_first_factory_vtable}; -grpc_lb_policy_factory *grpc_pick_first_lb_factory_create() { +static grpc_lb_policy_factory *pick_first_lb_factory_create() { return &pick_first_lb_policy_factory; } + +/* Plugin registration */ + +void grpc_lb_policy_pick_first_init() { + grpc_register_lb_policy(pick_first_lb_factory_create()); +} + +void grpc_lb_policy_pick_first_shutdown() {} diff --git a/src/core/lib/client_config/lb_policies/round_robin.c b/src/core/ext/lb_policy/round_robin/round_robin.c similarity index 89% rename from src/core/lib/client_config/lb_policies/round_robin.c rename to src/core/ext/lb_policy/round_robin/round_robin.c index a4bc2c478610e72e415fa0a51417974ddfe807c1..3f6051b8925145100aaa7a80f71cca62bf11d4f4 100644 --- a/src/core/lib/client_config/lb_policies/round_robin.c +++ b/src/core/ext/lb_policy/round_robin/round_robin.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,11 +31,12 @@ * */ -#include "src/core/lib/client_config/lb_policies/round_robin.h" - #include <string.h> #include <grpc/support/alloc.h> + +#include "src/core/ext/client_config/lb_policy_registry.h" +#include "src/core/lib/debug/trace.h" #include "src/core/lib/transport/connectivity_state.h" typedef struct round_robin_lb_policy round_robin_lb_policy; @@ -48,6 +49,7 @@ int grpc_lb_round_robin_trace = 0; typedef struct pending_pick { struct pending_pick *next; grpc_pollset *pollset; + uint32_t initial_metadata_flags; grpc_connected_subchannel **target; grpc_closure *on_complete; } pending_pick; @@ -199,7 +201,7 @@ static void remove_disconnected_sc_locked(round_robin_lb_policy *p, gpr_free(node); } -void rr_destroy(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { +static void rr_destroy(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { round_robin_lb_policy *p = (round_robin_lb_policy *)pol; size_t i; ready_list *elem; @@ -226,7 +228,7 @@ void rr_destroy(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { gpr_free(p); } -void rr_shutdown(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { +static void rr_shutdown(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { round_robin_lb_policy *p = (round_robin_lb_policy *)pol; pending_pick *pp; size_t i; @@ -274,6 +276,32 @@ static void rr_cancel_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, gpr_mu_unlock(&p->mu); } +static void rr_cancel_picks(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, + uint32_t initial_metadata_flags_mask, + uint32_t initial_metadata_flags_eq) { + round_robin_lb_policy *p = (round_robin_lb_policy *)pol; + pending_pick *pp; + gpr_mu_lock(&p->mu); + pp = p->pending_picks; + p->pending_picks = NULL; + while (pp != NULL) { + pending_pick *next = pp->next; + if ((pp->initial_metadata_flags & initial_metadata_flags_mask) == + initial_metadata_flags_eq) { + grpc_pollset_set_del_pollset(exec_ctx, p->base.interested_parties, + pp->pollset); + *pp->target = NULL; + grpc_exec_ctx_enqueue(exec_ctx, pp->on_complete, false, NULL); + gpr_free(pp); + } else { + pp->next = p->pending_picks; + p->pending_picks = pp; + } + pp = next; + } + gpr_mu_unlock(&p->mu); +} + static void start_picking(grpc_exec_ctx *exec_ctx, round_robin_lb_policy *p) { size_t i; p->started_picking = 1; @@ -291,7 +319,7 @@ static void start_picking(grpc_exec_ctx *exec_ctx, round_robin_lb_policy *p) { } } -void rr_exit_idle(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { +static void rr_exit_idle(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { round_robin_lb_policy *p = (round_robin_lb_policy *)pol; gpr_mu_lock(&p->mu); if (!p->started_picking) { @@ -300,9 +328,11 @@ void rr_exit_idle(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol) { gpr_mu_unlock(&p->mu); } -int rr_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, grpc_pollset *pollset, - grpc_metadata_batch *initial_metadata, - grpc_connected_subchannel **target, grpc_closure *on_complete) { +static int rr_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, + grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, + uint32_t initial_metadata_flags, + grpc_connected_subchannel **target, + grpc_closure *on_complete) { round_robin_lb_policy *p = (round_robin_lb_policy *)pol; pending_pick *pp; ready_list *selected; @@ -328,6 +358,7 @@ int rr_pick(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, grpc_pollset *pollset, pp->pollset = pollset; pp->target = target; pp->on_complete = on_complete; + pp->initial_metadata_flags = initial_metadata_flags; p->pending_picks = pp; gpr_mu_unlock(&p->mu); return 0; @@ -483,14 +514,9 @@ static void rr_ping_one(grpc_exec_ctx *exec_ctx, grpc_lb_policy *pol, } static const grpc_lb_policy_vtable round_robin_lb_policy_vtable = { - rr_destroy, - rr_shutdown, - rr_pick, - rr_cancel_pick, - rr_ping_one, - rr_exit_idle, - rr_check_connectivity, - rr_notify_on_state_change}; + rr_destroy, rr_shutdown, rr_pick, + rr_cancel_pick, rr_cancel_picks, rr_ping_one, + rr_exit_idle, rr_check_connectivity, rr_notify_on_state_change}; static void round_robin_factory_ref(grpc_lb_policy_factory *factory) {} @@ -500,7 +526,7 @@ static grpc_lb_policy *create_round_robin(grpc_exec_ctx *exec_ctx, grpc_lb_policy_factory *factory, grpc_lb_policy_args *args) { GPR_ASSERT(args->addresses != NULL); - GPR_ASSERT(args->subchannel_factory != NULL); + GPR_ASSERT(args->client_channel_factory != NULL); round_robin_lb_policy *p = gpr_malloc(sizeof(*p)); memset(p, 0, sizeof(*p)); @@ -516,8 +542,8 @@ static grpc_lb_policy *create_round_robin(grpc_exec_ctx *exec_ctx, sc_args.addr = (struct sockaddr *)(args->addresses->addrs[i].addr); sc_args.addr_len = (size_t)args->addresses->addrs[i].len; - grpc_subchannel *subchannel = grpc_subchannel_factory_create_subchannel( - exec_ctx, args->subchannel_factory, &sc_args); + grpc_subchannel *subchannel = grpc_client_channel_factory_create_subchannel( + exec_ctx, args->client_channel_factory, &sc_args); if (subchannel != NULL) { subchannel_data *sd = gpr_malloc(sizeof(*sd)); @@ -558,6 +584,15 @@ static const grpc_lb_policy_factory_vtable round_robin_factory_vtable = { static grpc_lb_policy_factory round_robin_lb_policy_factory = { &round_robin_factory_vtable}; -grpc_lb_policy_factory *grpc_round_robin_lb_factory_create() { +static grpc_lb_policy_factory *round_robin_lb_factory_create() { return &round_robin_lb_policy_factory; } + +/* Plugin registration */ + +void grpc_lb_policy_round_robin_init() { + grpc_register_lb_policy(round_robin_lb_factory_create()); + grpc_register_tracer("round_robin", &grpc_lb_round_robin_trace); +} + +void grpc_lb_policy_round_robin_shutdown() {} diff --git a/src/core/ext/resolver/dns/native/README.md b/src/core/ext/resolver/dns/native/README.md new file mode 100644 index 0000000000000000000000000000000000000000..695de47b9f74f20deb136710e0f477f7d0bd44b8 --- /dev/null +++ b/src/core/ext/resolver/dns/native/README.md @@ -0,0 +1,2 @@ +dns: scheme name resolution, using getaddrbyname +(or other OS specific implementation) diff --git a/src/core/lib/client_config/resolvers/dns_resolver.c b/src/core/ext/resolver/dns/native/dns_resolver.c similarity index 92% rename from src/core/lib/client_config/resolvers/dns_resolver.c rename to src/core/ext/resolver/dns/native/dns_resolver.c index 62bccdd0459a0b69d6faaeec4a17fb98c8519157..2749b0ca01034de42496831b96d2ea4490bde332 100644 --- a/src/core/lib/client_config/resolvers/dns_resolver.c +++ b/src/core/ext/resolver/dns/native/dns_resolver.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,15 +31,14 @@ * */ -#include "src/core/lib/client_config/resolvers/dns_resolver.h" - #include <string.h> #include <grpc/support/alloc.h> #include <grpc/support/host_port.h> #include <grpc/support/string_util.h> -#include "src/core/lib/client_config/lb_policy_registry.h" +#include "src/core/ext/client_config/lb_policy_registry.h" +#include "src/core/ext/client_config/resolver_registry.h" #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/iomgr/timer.h" #include "src/core/lib/support/backoff.h" @@ -60,7 +59,7 @@ typedef struct { /** default port to use */ char *default_port; /** subchannel factory */ - grpc_subchannel_factory *subchannel_factory; + grpc_client_channel_factory *client_channel_factory; /** load balancing policy name */ char *lb_policy_name; @@ -171,7 +170,7 @@ static void dns_on_resolved(grpc_exec_ctx *exec_ctx, void *arg, config = grpc_client_config_create(); memset(&lb_policy_args, 0, sizeof(lb_policy_args)); lb_policy_args.addresses = addresses; - lb_policy_args.subchannel_factory = r->subchannel_factory; + lb_policy_args.client_channel_factory = r->client_channel_factory; lb_policy = grpc_lb_policy_create(exec_ctx, r->lb_policy_name, &lb_policy_args); if (lb_policy != NULL) { @@ -229,7 +228,7 @@ static void dns_destroy(grpc_exec_ctx *exec_ctx, grpc_resolver *gr) { if (r->resolved_config) { grpc_client_config_unref(exec_ctx, r->resolved_config); } - grpc_subchannel_factory_unref(exec_ctx, r->subchannel_factory); + grpc_client_channel_factory_unref(exec_ctx, r->client_channel_factory); gpr_free(r->name); gpr_free(r->default_port); gpr_free(r->lb_policy_name); @@ -256,10 +255,10 @@ static grpc_resolver *dns_create(grpc_resolver_args *args, grpc_resolver_init(&r->base, &dns_resolver_vtable); r->name = gpr_strdup(path); r->default_port = gpr_strdup(default_port); - r->subchannel_factory = args->subchannel_factory; + r->client_channel_factory = args->client_channel_factory; gpr_backoff_init(&r->backoff_state, BACKOFF_MULTIPLIER, BACKOFF_JITTER, BACKOFF_MIN_SECONDS * 1000, BACKOFF_MAX_SECONDS * 1000); - grpc_subchannel_factory_ref(r->subchannel_factory); + grpc_client_channel_factory_ref(r->client_channel_factory); r->lb_policy_name = gpr_strdup(lb_policy_name); return &r->base; } @@ -277,8 +276,8 @@ static grpc_resolver *dns_factory_create_resolver( return dns_create(args, "https", "pick_first"); } -char *dns_factory_get_default_host_name(grpc_resolver_factory *factory, - grpc_uri *uri) { +static char *dns_factory_get_default_host_name(grpc_resolver_factory *factory, + grpc_uri *uri) { const char *path = uri->path; if (path[0] == '/') ++path; return gpr_strdup(path); @@ -289,6 +288,12 @@ static const grpc_resolver_factory_vtable dns_factory_vtable = { dns_factory_get_default_host_name, "dns"}; static grpc_resolver_factory dns_resolver_factory = {&dns_factory_vtable}; -grpc_resolver_factory *grpc_dns_resolver_factory_create() { +static grpc_resolver_factory *dns_resolver_factory_create() { return &dns_resolver_factory; } + +void grpc_resolver_dns_native_init(void) { + grpc_register_resolver_type(dns_resolver_factory_create()); +} + +void grpc_resolver_dns_native_shutdown(void) {} diff --git a/src/core/ext/resolver/sockaddr/README.md b/src/core/ext/resolver/sockaddr/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e307ba88f578354dbaea5d427aa63aa1331c94f7 --- /dev/null +++ b/src/core/ext/resolver/sockaddr/README.md @@ -0,0 +1 @@ +Support for resolving ipv4:, ipv6:, unix: schemes diff --git a/src/core/lib/client_config/resolvers/sockaddr_resolver.c b/src/core/ext/resolver/sockaddr/sockaddr_resolver.c similarity index 82% rename from src/core/lib/client_config/resolvers/sockaddr_resolver.c rename to src/core/ext/resolver/sockaddr/sockaddr_resolver.c index c787bd57d68ff43172379c6329ed7d4c0aed92f1..1d54a86c39a817e373e28be19459a117c94e9939 100644 --- a/src/core/lib/client_config/resolvers/sockaddr_resolver.c +++ b/src/core/ext/resolver/sockaddr/sockaddr_resolver.c @@ -31,18 +31,21 @@ * */ -#include <grpc/support/port_platform.h> - -#include "src/core/lib/client_config/resolvers/sockaddr_resolver.h" - +#include <stdbool.h> #include <stdio.h> #include <string.h> #include <grpc/support/alloc.h> #include <grpc/support/host_port.h> +#include <grpc/support/port_platform.h> #include <grpc/support/string_util.h> -#include "src/core/lib/client_config/lb_policy_registry.h" +#ifdef GPR_HAVE_UNIX_SOCKET +#include <sys/un.h> +#endif + +#include "src/core/ext/client_config/lb_policy_registry.h" +#include "src/core/ext/client_config/resolver_registry.h" #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/iomgr/unix_sockets_posix.h" #include "src/core/lib/support/string.h" @@ -53,7 +56,7 @@ typedef struct { /** refcount */ gpr_refcount refs; /** subchannel factory */ - grpc_subchannel_factory *subchannel_factory; + grpc_client_channel_factory *client_channel_factory; /** load balancing policy name */ char *lb_policy_name; @@ -126,7 +129,7 @@ static void sockaddr_maybe_finish_next_locked(grpc_exec_ctx *exec_ctx, grpc_lb_policy_args lb_policy_args; memset(&lb_policy_args, 0, sizeof(lb_policy_args)); lb_policy_args.addresses = r->addresses; - lb_policy_args.subchannel_factory = r->subchannel_factory; + lb_policy_args.client_channel_factory = r->client_channel_factory; grpc_lb_policy *lb_policy = grpc_lb_policy_create(exec_ctx, r->lb_policy_name, &lb_policy_args); grpc_client_config_set_lb_policy(cfg, lb_policy); @@ -141,7 +144,7 @@ static void sockaddr_maybe_finish_next_locked(grpc_exec_ctx *exec_ctx, static void sockaddr_destroy(grpc_exec_ctx *exec_ctx, grpc_resolver *gr) { sockaddr_resolver *r = (sockaddr_resolver *)gr; gpr_mu_destroy(&r->mu); - grpc_subchannel_factory_unref(exec_ctx, r->subchannel_factory); + grpc_client_channel_factory_unref(exec_ctx, r->client_channel_factory); grpc_resolved_addresses_destroy(r->addresses); gpr_free(r->lb_policy_name); gpr_free(r); @@ -163,6 +166,24 @@ static char *ipv6_get_default_authority(grpc_resolver_factory *factory, return ip_get_default_authority(uri); } +#ifdef GPR_HAVE_UNIX_SOCKET +static int parse_unix(grpc_uri *uri, struct sockaddr_storage *addr, + size_t *len) { + struct sockaddr_un *un = (struct sockaddr_un *)addr; + + un->sun_family = AF_UNIX; + strcpy(un->sun_path, uri->path); + *len = strlen(un->sun_path) + sizeof(un->sun_family) + 1; + + return 1; +} + +char *unix_get_default_authority(grpc_resolver_factory *factory, + grpc_uri *uri) { + return gpr_strdup("localhost"); +} +#endif + static int parse_ipv4(grpc_uri *uri, struct sockaddr_storage *addr, size_t *len) { const char *host_port = uri->path; @@ -264,22 +285,24 @@ static grpc_resolver *sockaddr_create( r = gpr_malloc(sizeof(sockaddr_resolver)); memset(r, 0, sizeof(*r)); - r->lb_policy_name = NULL; - if (0 != strcmp(args->uri->query, "")) { - gpr_slice query_slice; - gpr_slice_buffer query_parts; - - query_slice = - gpr_slice_new(args->uri->query, strlen(args->uri->query), do_nothing); - gpr_slice_buffer_init(&query_parts); - gpr_slice_split(query_slice, "=", &query_parts); - GPR_ASSERT(query_parts.count == 2); - if (0 == gpr_slice_str_cmp(query_parts.slices[0], "lb_policy")) { - r->lb_policy_name = gpr_dump_slice(query_parts.slices[1], GPR_DUMP_ASCII); - } - gpr_slice_buffer_destroy(&query_parts); - gpr_slice_unref(query_slice); + r->lb_policy_name = + gpr_strdup(grpc_uri_get_query_arg(args->uri, "lb_policy")); + const char *lb_enabled_qpart = + grpc_uri_get_query_arg(args->uri, "lb_enabled"); + /* anything other than "0" is interpreted as true */ + const bool lb_enabled = + (lb_enabled_qpart != NULL && (strcmp("0", lb_enabled_qpart) != 0)); + + if (r->lb_policy_name != NULL && strcmp("grpclb", r->lb_policy_name) == 0 && + !lb_enabled) { + /* we want grpclb but the "resolved" addresses aren't LB enabled. Bail + * out, as this is meant mostly for tests. */ + gpr_log(GPR_ERROR, + "Requested 'grpclb' LB policy but resolved addresses don't " + "support load balancing."); + abort(); } + if (r->lb_policy_name == NULL) { r->lb_policy_name = gpr_strdup(default_lb_policy_name); } @@ -319,8 +342,8 @@ static grpc_resolver *sockaddr_create( gpr_ref_init(&r->refs, 1); gpr_mu_init(&r->mu); grpc_resolver_init(&r->base, &sockaddr_resolver_vtable); - r->subchannel_factory = args->subchannel_factory; - grpc_subchannel_factory_ref(r->subchannel_factory); + r->client_channel_factory = args->client_channel_factory; + grpc_client_channel_factory_ref(r->client_channel_factory); return &r->base; } @@ -333,22 +356,29 @@ static void sockaddr_factory_ref(grpc_resolver_factory *factory) {} static void sockaddr_factory_unref(grpc_resolver_factory *factory) {} -#define DECL_FACTORY(name, prefix) \ +#define DECL_FACTORY(name) \ static grpc_resolver *name##_factory_create_resolver( \ grpc_resolver_factory *factory, grpc_resolver_args *args) { \ - return sockaddr_create(args, "pick_first", prefix##parse_##name); \ + return sockaddr_create(args, "pick_first", parse_##name); \ } \ static const grpc_resolver_factory_vtable name##_factory_vtable = { \ sockaddr_factory_ref, sockaddr_factory_unref, \ - name##_factory_create_resolver, prefix##name##_get_default_authority, \ - #name}; \ + name##_factory_create_resolver, name##_get_default_authority, #name}; \ static grpc_resolver_factory name##_resolver_factory = { \ - &name##_factory_vtable}; \ - grpc_resolver_factory *grpc_##name##_resolver_factory_create() { \ - return &name##_resolver_factory; \ - } + &name##_factory_vtable} + +#ifdef GPR_HAVE_UNIX_SOCKET +DECL_FACTORY(unix); +#endif +DECL_FACTORY(ipv4); +DECL_FACTORY(ipv6); +void grpc_resolver_sockaddr_init(void) { + grpc_register_resolver_type(&ipv4_resolver_factory); + grpc_register_resolver_type(&ipv6_resolver_factory); #ifdef GPR_HAVE_UNIX_SOCKET -DECL_FACTORY(unix, grpc_) + grpc_register_resolver_type(&unix_resolver_factory); #endif -DECL_FACTORY(ipv4, ) DECL_FACTORY(ipv6, ) +} + +void grpc_resolver_sockaddr_shutdown(void) {} diff --git a/src/core/ext/resolver/zookeeper/README.md b/src/core/ext/resolver/zookeeper/README.md new file mode 100644 index 0000000000000000000000000000000000000000..ce6f39683bb56ab255a5e72e9eb87e453f13b57e --- /dev/null +++ b/src/core/ext/resolver/zookeeper/README.md @@ -0,0 +1 @@ +Zookeeper based name resolver: WIP diff --git a/src/core/lib/client_config/resolvers/zookeeper_resolver.c b/src/core/ext/resolver/zookeeper/zookeeper_resolver.c similarity index 96% rename from src/core/lib/client_config/resolvers/zookeeper_resolver.c rename to src/core/ext/resolver/zookeeper/zookeeper_resolver.c index 404dfcd4234afaa3688fe54767b5d21f20fcc11a..898632c3cd4369ec7136fc9139094dc399ce4c83 100644 --- a/src/core/lib/client_config/resolvers/zookeeper_resolver.c +++ b/src/core/ext/resolver/zookeeper/zookeeper_resolver.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,8 +31,6 @@ * */ -#include "src/core/lib/client_config/resolvers/zookeeper_resolver.h" - #include <string.h> #include <grpc/support/alloc.h> @@ -41,8 +39,8 @@ #include <grpc/grpc_zookeeper.h> #include <zookeeper/zookeeper.h> -#include "src/core/lib/client_config/lb_policy_registry.h" -#include "src/core/lib/client_config/resolver_registry.h" +#include "src/core/ext/client_config/lb_policy_registry.h" +#include "src/core/ext/client_config/resolver_registry.h" #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/json/json.h" #include "src/core/lib/support/string.h" @@ -59,7 +57,7 @@ typedef struct { /** name to resolve */ char *name; /** subchannel factory */ - grpc_subchannel_factory *subchannel_factory; + grpc_client_channel_factory *client_channel_factory; /** load balancing policy name */ char *lb_policy_name; @@ -189,9 +187,8 @@ static void zookeeper_on_resolved(grpc_exec_ctx *exec_ctx, void *arg, if (addresses != NULL) { grpc_lb_policy_args lb_policy_args; config = grpc_client_config_create(); - lb_policy_args.addresses = addresses; - lb_policy_args.subchannel_factory = r->subchannel_factory; + lb_policy_args.client_channel_factory = r->client_channel_factory; lb_policy = grpc_lb_policy_create(exec_ctx, r->lb_policy_name, &lb_policy_args); @@ -426,7 +423,7 @@ static void zookeeper_destroy(grpc_exec_ctx *exec_ctx, grpc_resolver *gr) { if (r->resolved_config != NULL) { grpc_client_config_unref(exec_ctx, r->resolved_config); } - grpc_subchannel_factory_unref(exec_ctx, r->subchannel_factory); + grpc_client_channel_factory_unref(exec_ctx, r->client_channel_factory); gpr_free(r->name); gpr_free(r->lb_policy_name); gpr_free(r); @@ -456,8 +453,8 @@ static grpc_resolver *zookeeper_create(grpc_resolver_args *args, grpc_resolver_init(&r->base, &zookeeper_resolver_vtable); r->name = gpr_strdup(path); - r->subchannel_factory = args->subchannel_factory; - grpc_subchannel_factory_ref(r->subchannel_factory); + r->client_channel_factory = args->client_channel_factory; + grpc_client_channel_factory_ref(r->client_channel_factory); r->lb_policy_name = gpr_strdup(lb_policy_name); @@ -474,15 +471,6 @@ static grpc_resolver *zookeeper_create(grpc_resolver_args *args, return &r->base; } -static void zookeeper_plugin_init() { - grpc_register_resolver_type(grpc_zookeeper_resolver_factory_create()); -} - -void grpc_zookeeper_register() { - GRPC_API_TRACE("grpc_zookeeper_register(void)", 0, ()); - grpc_register_plugin(zookeeper_plugin_init, NULL); -} - /* * FACTORY */ @@ -509,6 +497,15 @@ static const grpc_resolver_factory_vtable zookeeper_factory_vtable = { static grpc_resolver_factory zookeeper_resolver_factory = { &zookeeper_factory_vtable}; -grpc_resolver_factory *grpc_zookeeper_resolver_factory_create() { +static grpc_resolver_factory *zookeeper_resolver_factory_create() { return &zookeeper_resolver_factory; } + +static void zookeeper_plugin_init() { + grpc_register_resolver_type(zookeeper_resolver_factory_create()); +} + +void grpc_zookeeper_register() { + GRPC_API_TRACE("grpc_zookeeper_register(void)", 0, ()); + grpc_register_plugin(zookeeper_plugin_init, NULL); +} diff --git a/src/core/ext/transport/chttp2/transport/alpn.c b/src/core/ext/transport/chttp2/alpn/alpn.c similarity index 95% rename from src/core/ext/transport/chttp2/transport/alpn.c rename to src/core/ext/transport/chttp2/alpn/alpn.c index c901905d025e1e3fb7939e0c3840f806df13d1d4..48b02172651f52960d94d43537c72cf9d8acd418 100644 --- a/src/core/ext/transport/chttp2/transport/alpn.c +++ b/src/core/ext/transport/chttp2/alpn/alpn.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/ext/transport/chttp2/transport/alpn.h" +#include "src/core/ext/transport/chttp2/alpn/alpn.h" #include <grpc/support/log.h> #include <grpc/support/useful.h> diff --git a/src/core/ext/transport/chttp2/transport/alpn.h b/src/core/ext/transport/chttp2/alpn/alpn.h similarity index 90% rename from src/core/ext/transport/chttp2/transport/alpn.h rename to src/core/ext/transport/chttp2/alpn/alpn.h index 94843a14568c4b8c5eab732dd1f89b70223f2d54..1316770f111441f467057447a58514377de5ac0b 100644 --- a/src/core/ext/transport/chttp2/transport/alpn.h +++ b/src/core/ext/transport/chttp2/alpn/alpn.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,8 +31,8 @@ * */ -#ifndef GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_ALPN_H -#define GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_ALPN_H +#ifndef GRPC_CORE_EXT_TRANSPORT_CHTTP2_ALPN_ALPN_H +#define GRPC_CORE_EXT_TRANSPORT_CHTTP2_ALPN_ALPN_H #include <string.h> @@ -46,4 +46,4 @@ size_t grpc_chttp2_num_alpn_versions(void); * grpc_chttp2_num_alpn_versions()) */ const char *grpc_chttp2_get_alpn_version_index(size_t i); -#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_ALPN_H */ +#endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_ALPN_ALPN_H */ diff --git a/src/core/ext/transport/chttp2/client/insecure/channel_create.c b/src/core/ext/transport/chttp2/client/insecure/channel_create.c index cf987a02e017bd5047da184f16c614f94d9fe718..0ed115793b078e9217ef16a60658f4b1611fc081 100644 --- a/src/core/ext/transport/chttp2/client/insecure/channel_create.c +++ b/src/core/ext/transport/chttp2/client/insecure/channel_create.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,13 +40,12 @@ #include <grpc/support/slice.h> #include <grpc/support/slice_buffer.h> +#include "src/core/ext/client_config/client_channel.h" +#include "src/core/ext/client_config/resolver_registry.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/census/grpc_filter.h" #include "src/core/lib/channel/channel_args.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/compress_filter.h" #include "src/core/lib/channel/http_client_filter.h" -#include "src/core/lib/client_config/resolver_registry.h" #include "src/core/lib/iomgr/tcp_client.h" #include "src/core/lib/surface/api_trace.h" #include "src/core/lib/surface/channel.h" @@ -136,31 +135,35 @@ static const grpc_connector_vtable connector_vtable = { connector_ref, connector_unref, connector_shutdown, connector_connect}; typedef struct { - grpc_subchannel_factory base; + grpc_client_channel_factory base; gpr_refcount refs; grpc_channel_args *merge_args; grpc_channel *master; -} subchannel_factory; +} client_channel_factory; -static void subchannel_factory_ref(grpc_subchannel_factory *scf) { - subchannel_factory *f = (subchannel_factory *)scf; +static void client_channel_factory_ref( + grpc_client_channel_factory *cc_factory) { + client_channel_factory *f = (client_channel_factory *)cc_factory; gpr_ref(&f->refs); } -static void subchannel_factory_unref(grpc_exec_ctx *exec_ctx, - grpc_subchannel_factory *scf) { - subchannel_factory *f = (subchannel_factory *)scf; +static void client_channel_factory_unref( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory) { + client_channel_factory *f = (client_channel_factory *)cc_factory; if (gpr_unref(&f->refs)) { - GRPC_CHANNEL_INTERNAL_UNREF(exec_ctx, f->master, "subchannel_factory"); + if (f->master != NULL) { + GRPC_CHANNEL_INTERNAL_UNREF(exec_ctx, f->master, + "client_channel_factory"); + } grpc_channel_args_destroy(f->merge_args); gpr_free(f); } } -static grpc_subchannel *subchannel_factory_create_subchannel( - grpc_exec_ctx *exec_ctx, grpc_subchannel_factory *scf, +static grpc_subchannel *client_channel_factory_create_subchannel( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory, grpc_subchannel_args *args) { - subchannel_factory *f = (subchannel_factory *)scf; + client_channel_factory *f = (client_channel_factory *)cc_factory; connector *c = gpr_malloc(sizeof(*c)); grpc_channel_args *final_args = grpc_channel_args_merge(args->args, f->merge_args); @@ -175,9 +178,33 @@ static grpc_subchannel *subchannel_factory_create_subchannel( return s; } -static const grpc_subchannel_factory_vtable subchannel_factory_vtable = { - subchannel_factory_ref, subchannel_factory_unref, - subchannel_factory_create_subchannel}; +static grpc_channel *client_channel_factory_create_channel( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory, + const char *target, grpc_client_channel_type type, + grpc_channel_args *args) { + client_channel_factory *f = (client_channel_factory *)cc_factory; + grpc_channel_args *final_args = grpc_channel_args_merge(args, f->merge_args); + grpc_channel *channel = grpc_channel_create(exec_ctx, target, final_args, + GRPC_CLIENT_CHANNEL, NULL); + grpc_channel_args_destroy(final_args); + grpc_resolver *resolver = grpc_resolver_create(target, &f->base); + if (!resolver) { + GRPC_CHANNEL_INTERNAL_UNREF(exec_ctx, channel, + "client_channel_factory_create_channel"); + return NULL; + } + + grpc_client_channel_set_resolver( + exec_ctx, grpc_channel_get_channel_stack(channel), resolver); + GRPC_RESOLVER_UNREF(exec_ctx, resolver, "create_channel"); + + return channel; +} + +static const grpc_client_channel_factory_vtable client_channel_factory_vtable = + {client_channel_factory_ref, client_channel_factory_unref, + client_channel_factory_create_subchannel, + client_channel_factory_create_channel}; /* Create a client channel: Asynchronously: - resolve target @@ -186,38 +213,27 @@ static const grpc_subchannel_factory_vtable subchannel_factory_vtable = { grpc_channel *grpc_insecure_channel_create(const char *target, const grpc_channel_args *args, void *reserved) { - grpc_channel *channel = NULL; - grpc_resolver *resolver; - subchannel_factory *f; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; GRPC_API_TRACE( "grpc_insecure_channel_create(target=%p, args=%p, reserved=%p)", 3, (target, args, reserved)); GPR_ASSERT(!reserved); - channel = - grpc_channel_create(&exec_ctx, target, args, GRPC_CLIENT_CHANNEL, NULL); - - f = gpr_malloc(sizeof(*f)); - f->base.vtable = &subchannel_factory_vtable; + client_channel_factory *f = gpr_malloc(sizeof(*f)); + memset(f, 0, sizeof(*f)); + f->base.vtable = &client_channel_factory_vtable; gpr_ref_init(&f->refs, 1); f->merge_args = grpc_channel_args_copy(args); - f->master = channel; - GRPC_CHANNEL_INTERNAL_REF(f->master, "subchannel_factory"); - resolver = grpc_resolver_create(target, &f->base); - if (!resolver) { - GRPC_CHANNEL_INTERNAL_UNREF(&exec_ctx, f->master, "subchannel_factory"); - grpc_subchannel_factory_unref(&exec_ctx, &f->base); - grpc_exec_ctx_finish(&exec_ctx); - return NULL; - } - grpc_client_channel_set_resolver( - &exec_ctx, grpc_channel_get_channel_stack(channel), resolver); - GRPC_RESOLVER_UNREF(&exec_ctx, resolver, "create"); - grpc_subchannel_factory_unref(&exec_ctx, &f->base); + grpc_channel *channel = client_channel_factory_create_channel( + &exec_ctx, &f->base, target, GRPC_CLIENT_CHANNEL_TYPE_REGULAR, NULL); + if (channel != NULL) { + f->master = channel; + GRPC_CHANNEL_INTERNAL_REF(f->master, "grpc_insecure_channel_create"); + } + grpc_client_channel_factory_unref(&exec_ctx, &f->base); grpc_exec_ctx_finish(&exec_ctx); - return channel; + return channel; /* may be NULL */ } diff --git a/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c b/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c index 203475ba5276af44f1c16c591b276247a3ab9768..58af6f995a4dc1da5465299e03790674f3c3ebf2 100644 --- a/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c +++ b/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,10 +40,10 @@ #include <grpc/support/slice.h> #include <grpc/support/slice_buffer.h> +#include "src/core/ext/client_config/client_channel.h" +#include "src/core/ext/client_config/resolver_registry.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" #include "src/core/lib/channel/channel_args.h" -#include "src/core/lib/channel/client_channel.h" -#include "src/core/lib/client_config/resolver_registry.h" #include "src/core/lib/iomgr/tcp_client.h" #include "src/core/lib/security/auth_filters.h" #include "src/core/lib/security/credentials.h" @@ -192,34 +192,38 @@ static const grpc_connector_vtable connector_vtable = { connector_ref, connector_unref, connector_shutdown, connector_connect}; typedef struct { - grpc_subchannel_factory base; + grpc_client_channel_factory base; gpr_refcount refs; grpc_channel_args *merge_args; grpc_channel_security_connector *security_connector; grpc_channel *master; -} subchannel_factory; +} client_channel_factory; -static void subchannel_factory_ref(grpc_subchannel_factory *scf) { - subchannel_factory *f = (subchannel_factory *)scf; +static void client_channel_factory_ref( + grpc_client_channel_factory *cc_factory) { + client_channel_factory *f = (client_channel_factory *)cc_factory; gpr_ref(&f->refs); } -static void subchannel_factory_unref(grpc_exec_ctx *exec_ctx, - grpc_subchannel_factory *scf) { - subchannel_factory *f = (subchannel_factory *)scf; +static void client_channel_factory_unref( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory) { + client_channel_factory *f = (client_channel_factory *)cc_factory; if (gpr_unref(&f->refs)) { GRPC_SECURITY_CONNECTOR_UNREF(&f->security_connector->base, - "subchannel_factory"); - GRPC_CHANNEL_INTERNAL_UNREF(exec_ctx, f->master, "subchannel_factory"); + "client_channel_factory"); + if (f->master != NULL) { + GRPC_CHANNEL_INTERNAL_UNREF(exec_ctx, f->master, + "client_channel_factory"); + } grpc_channel_args_destroy(f->merge_args); gpr_free(f); } } -static grpc_subchannel *subchannel_factory_create_subchannel( - grpc_exec_ctx *exec_ctx, grpc_subchannel_factory *scf, +static grpc_subchannel *client_channel_factory_create_subchannel( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory, grpc_subchannel_args *args) { - subchannel_factory *f = (subchannel_factory *)scf; + client_channel_factory *f = (client_channel_factory *)cc_factory; connector *c = gpr_malloc(sizeof(*c)); grpc_channel_args *final_args = grpc_channel_args_merge(args->args, f->merge_args); @@ -236,9 +240,37 @@ static grpc_subchannel *subchannel_factory_create_subchannel( return s; } -static const grpc_subchannel_factory_vtable subchannel_factory_vtable = { - subchannel_factory_ref, subchannel_factory_unref, - subchannel_factory_create_subchannel}; +static grpc_channel *client_channel_factory_create_channel( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory, + const char *target, grpc_client_channel_type type, + grpc_channel_args *args) { + client_channel_factory *f = (client_channel_factory *)cc_factory; + + grpc_channel_args *final_args = grpc_channel_args_merge(args, f->merge_args); + grpc_channel *channel = grpc_channel_create(exec_ctx, target, final_args, + GRPC_CLIENT_CHANNEL, NULL); + grpc_channel_args_destroy(final_args); + + grpc_resolver *resolver = grpc_resolver_create(target, &f->base); + if (resolver != NULL) { + grpc_client_channel_set_resolver( + exec_ctx, grpc_channel_get_channel_stack(channel), resolver); + GRPC_RESOLVER_UNREF(exec_ctx, resolver, "create"); + } else { + GRPC_CHANNEL_INTERNAL_UNREF(exec_ctx, channel, + "client_channel_factory_create_channel"); + channel = NULL; + } + + GRPC_SECURITY_CONNECTOR_UNREF(&f->security_connector->base, + "client_channel_factory_create_channel"); + return channel; +} + +static const grpc_client_channel_factory_vtable client_channel_factory_vtable = + {client_channel_factory_ref, client_channel_factory_unref, + client_channel_factory_create_subchannel, + client_channel_factory_create_channel}; /* Create a secure client channel: Asynchronously: - resolve target @@ -248,13 +280,11 @@ grpc_channel *grpc_secure_channel_create(grpc_channel_credentials *creds, const char *target, const grpc_channel_args *args, void *reserved) { - grpc_channel *channel; grpc_arg connector_arg; grpc_channel_args *args_copy; grpc_channel_args *new_args_from_connector; grpc_channel_security_connector *security_connector; - grpc_resolver *resolver; - subchannel_factory *f; + client_channel_factory *f; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; GRPC_API_TRACE( @@ -284,35 +314,30 @@ grpc_channel *grpc_secure_channel_create(grpc_channel_credentials *creds, new_args_from_connector != NULL ? new_args_from_connector : args, &connector_arg, 1); - channel = grpc_channel_create(&exec_ctx, target, args_copy, - GRPC_CLIENT_CHANNEL, NULL); - f = gpr_malloc(sizeof(*f)); - f->base.vtable = &subchannel_factory_vtable; + memset(f, 0, sizeof(*f)); + f->base.vtable = &client_channel_factory_vtable; gpr_ref_init(&f->refs, 1); - GRPC_SECURITY_CONNECTOR_REF(&security_connector->base, "subchannel_factory"); - f->security_connector = security_connector; + f->merge_args = grpc_channel_args_copy(args_copy); - f->master = channel; - GRPC_CHANNEL_INTERNAL_REF(channel, "subchannel_factory"); - resolver = grpc_resolver_create(target, &f->base); - if (resolver) { - grpc_client_channel_set_resolver( - &exec_ctx, grpc_channel_get_channel_stack(channel), resolver); - GRPC_RESOLVER_UNREF(&exec_ctx, resolver, "create"); - } - grpc_subchannel_factory_unref(&exec_ctx, &f->base); - GRPC_SECURITY_CONNECTOR_UNREF(&security_connector->base, "channel_create"); grpc_channel_args_destroy(args_copy); if (new_args_from_connector != NULL) { grpc_channel_args_destroy(new_args_from_connector); } - if (!resolver) { - GRPC_CHANNEL_INTERNAL_UNREF(&exec_ctx, channel, "subchannel_factory"); - channel = NULL; + GRPC_SECURITY_CONNECTOR_REF(&security_connector->base, + "grpc_secure_channel_create"); + f->security_connector = security_connector; + + grpc_channel *channel = client_channel_factory_create_channel( + &exec_ctx, &f->base, target, GRPC_CLIENT_CHANNEL_TYPE_REGULAR, NULL); + if (channel != NULL) { + f->master = channel; + GRPC_CHANNEL_INTERNAL_REF(f->master, "grpc_secure_channel_create"); } + + grpc_client_channel_factory_unref(&exec_ctx, &f->base); grpc_exec_ctx_finish(&exec_ctx); - return channel; + return channel; /* may be NULL */ } diff --git a/src/core/ext/transport/chttp2/server/insecure/server_chttp2.c b/src/core/ext/transport/chttp2/server/insecure/server_chttp2.c index c1ccfbf6390c2887eec801d6ef651cd3d62f2272..e21fa2a0727e8e599a19514d2a5122804316e386 100644 --- a/src/core/ext/transport/chttp2/server/insecure/server_chttp2.c +++ b/src/core/ext/transport/chttp2/server/insecure/server_chttp2.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c b/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c index 80834f4e885be4fb2926c521fedf4b1e386c0e55..698b2bef61086343efc41f33f2bb661e3e52c78c 100644 --- a/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c +++ b/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/bin_encoder.c b/src/core/ext/transport/chttp2/transport/bin_encoder.c index d39f99c2710d560679a6cd6f4b4b9087e137d49f..db68e750ac8875b6af86de7b85f4c00f39fdf60e 100644 --- a/src/core/ext/transport/chttp2/transport/bin_encoder.c +++ b/src/core/ext/transport/chttp2/transport/bin_encoder.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -175,7 +175,7 @@ static void enc_add1(huff_out *out, uint8_t a) { enc_flush_some(out); } -gpr_slice grpc_chttp2_base64_encode_and_huffman_compress(gpr_slice input) { +gpr_slice grpc_chttp2_base64_encode_and_huffman_compress_impl(gpr_slice input) { size_t input_length = GPR_SLICE_LENGTH(input); size_t input_triplets = input_length / 3; size_t tail_case = input_length % 3; diff --git a/src/core/ext/transport/chttp2/transport/bin_encoder.h b/src/core/ext/transport/chttp2/transport/bin_encoder.h index 39dae973c9df7f1fbe9c8a6922031012e0085ae2..61ebbafa9a5b98e58c4561928e7e48088b4220db 100644 --- a/src/core/ext/transport/chttp2/transport/bin_encoder.h +++ b/src/core/ext/transport/chttp2/transport/bin_encoder.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -49,6 +49,6 @@ gpr_slice grpc_chttp2_huffman_compress(gpr_slice input); gpr_slice y = grpc_chttp2_huffman_compress(x); gpr_slice_unref(x); return y; */ -gpr_slice grpc_chttp2_base64_encode_and_huffman_compress(gpr_slice input); +gpr_slice grpc_chttp2_base64_encode_and_huffman_compress_impl(gpr_slice input); #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_BIN_ENCODER_H */ diff --git a/src/core/ext/transport/chttp2/transport/chttp2_plugin.c b/src/core/ext/transport/chttp2/transport/chttp2_plugin.c new file mode 100644 index 0000000000000000000000000000000000000000..bd87253ed32aa820294a478f8f2a14d58ceb0b15 --- /dev/null +++ b/src/core/ext/transport/chttp2/transport/chttp2_plugin.c @@ -0,0 +1,46 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include "src/core/ext/transport/chttp2/transport/bin_encoder.h" +#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" +#include "src/core/lib/debug/trace.h" +#include "src/core/lib/transport/metadata.h" + +void grpc_chttp2_plugin_init(void) { + grpc_chttp2_base64_encode_and_huffman_compress = + grpc_chttp2_base64_encode_and_huffman_compress_impl; + grpc_register_tracer("http", &grpc_http_trace); + grpc_register_tracer("flowctl", &grpc_flowctl_trace); +} + +void grpc_chttp2_plugin_shutdown(void) {} diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index 0a307a73a642fb5e709fbc58f70c4d5a4b7f8914..b4cd185e62e0a583cbaa1773059bbe372c454914 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -758,23 +758,35 @@ static void maybe_start_some_streams( } } +#define CLOSURE_BARRIER_STATS_BIT (1 << 0) +#define CLOSURE_BARRIER_FAILURE_BIT (1 << 1) +#define CLOSURE_BARRIER_FIRST_REF_BIT (1 << 16) + static grpc_closure *add_closure_barrier(grpc_closure *closure) { - closure->final_data += 2; + closure->final_data += CLOSURE_BARRIER_FIRST_REF_BIT; return closure; } void grpc_chttp2_complete_closure_step(grpc_exec_ctx *exec_ctx, + grpc_chttp2_stream_global *stream_global, grpc_closure **pclosure, int success) { grpc_closure *closure = *pclosure; if (closure == NULL) { return; } - closure->final_data -= 2; + closure->final_data -= CLOSURE_BARRIER_FIRST_REF_BIT; if (!success) { - closure->final_data |= 1; + closure->final_data |= CLOSURE_BARRIER_FAILURE_BIT; } - if (closure->final_data < 2) { - grpc_exec_ctx_enqueue(exec_ctx, closure, closure->final_data == 0, NULL); + if (closure->final_data < CLOSURE_BARRIER_FIRST_REF_BIT) { + if (closure->final_data & CLOSURE_BARRIER_STATS_BIT) { + grpc_transport_move_stats(&stream_global->stats, + stream_global->collecting_stats); + stream_global->collecting_stats = NULL; + } + grpc_exec_ctx_enqueue( + exec_ctx, closure, + (closure->final_data & CLOSURE_BARRIER_FAILURE_BIT) == 0, NULL); } *pclosure = NULL; } @@ -807,7 +819,13 @@ static void perform_stream_op_locked( } /* use final_data as a barrier until enqueue time; the inital counter is dropped at the end of this function */ - on_complete->final_data = 2; + on_complete->final_data = CLOSURE_BARRIER_FIRST_REF_BIT; + + if (op->collect_stats != NULL) { + GPR_ASSERT(stream_global->collecting_stats == NULL); + stream_global->collecting_stats = op->collect_stats; + on_complete->final_data |= CLOSURE_BARRIER_STATS_BIT; + } if (op->cancel_with_status != GRPC_STATUS_OK) { cancel_from_api(exec_ctx, transport_global, stream_global, @@ -840,7 +858,8 @@ static void perform_stream_op_locked( } } else { grpc_chttp2_complete_closure_step( - exec_ctx, &stream_global->send_initial_metadata_finished, 0); + exec_ctx, stream_global, + &stream_global->send_initial_metadata_finished, 0); } } @@ -850,7 +869,7 @@ static void perform_stream_op_locked( stream_global->send_message_finished = add_closure_barrier(on_complete); if (stream_global->write_closed) { grpc_chttp2_complete_closure_step( - exec_ctx, &stream_global->send_message_finished, 0); + exec_ctx, stream_global, &stream_global->send_message_finished, 0); } else { stream_global->send_message = op->send_message; if (stream_global->id != 0) { @@ -870,7 +889,8 @@ static void perform_stream_op_locked( } if (stream_global->write_closed) { grpc_chttp2_complete_closure_step( - exec_ctx, &stream_global->send_trailing_metadata_finished, + exec_ctx, stream_global, + &stream_global->send_trailing_metadata_finished, grpc_metadata_batch_is_empty(op->send_trailing_metadata)); } else if (stream_global->id != 0) { /* TODO(ctiller): check if there's flow control for any outstanding @@ -909,7 +929,7 @@ static void perform_stream_op_locked( grpc_chttp2_list_add_check_read_ops(transport_global, stream_global); } - grpc_chttp2_complete_closure_step(exec_ctx, &on_complete, 1); + grpc_chttp2_complete_closure_step(exec_ctx, stream_global, &on_complete, 1); GPR_TIMER_END("perform_stream_op_locked", 0); } @@ -1080,7 +1100,8 @@ static void check_read_ops(grpc_exec_ctx *exec_ctx, &stream_global->received_trailing_metadata, stream_global->recv_trailing_metadata); grpc_chttp2_complete_closure_step( - exec_ctx, &stream_global->recv_trailing_metadata_finished, 1); + exec_ctx, stream_global, + &stream_global->recv_trailing_metadata_finished, 1); } } } @@ -1126,15 +1147,18 @@ static void cancel_from_api(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global, grpc_status_code status) { - if (stream_global->id != 0) { - gpr_slice_buffer_add( - &transport_global->qbuf, - grpc_chttp2_rst_stream_create( - stream_global->id, - (uint32_t)grpc_chttp2_grpc_status_to_http2_error(status))); + if (!stream_global->read_closed || !stream_global->write_closed) { + if (stream_global->id != 0) { + gpr_slice_buffer_add( + &transport_global->qbuf, + grpc_chttp2_rst_stream_create( + stream_global->id, + (uint32_t)grpc_chttp2_grpc_status_to_http2_error(status), + &stream_global->stats.outgoing)); + } + grpc_chttp2_fake_status(exec_ctx, transport_global, stream_global, status, + NULL); } - grpc_chttp2_fake_status(exec_ctx, transport_global, stream_global, status, - NULL); grpc_chttp2_mark_stream_closed(exec_ctx, transport_global, stream_global, 1, 1); } @@ -1179,10 +1203,12 @@ void grpc_chttp2_fake_status(grpc_exec_ctx *exec_ctx, static void fail_pending_writes(grpc_exec_ctx *exec_ctx, grpc_chttp2_stream_global *stream_global) { grpc_chttp2_complete_closure_step( - exec_ctx, &stream_global->send_initial_metadata_finished, 0); + exec_ctx, stream_global, &stream_global->send_initial_metadata_finished, + 0); grpc_chttp2_complete_closure_step( - exec_ctx, &stream_global->send_trailing_metadata_finished, 0); - grpc_chttp2_complete_closure_step(exec_ctx, + exec_ctx, stream_global, &stream_global->send_trailing_metadata_finished, + 0); + grpc_chttp2_complete_closure_step(exec_ctx, stream_global, &stream_global->send_message_finished, 0); } @@ -1319,7 +1345,8 @@ static void close_from_api(grpc_exec_ctx *exec_ctx, gpr_slice_buffer_add( &transport_global->qbuf, - grpc_chttp2_rst_stream_create(stream_global->id, GRPC_CHTTP2_NO_ERROR)); + grpc_chttp2_rst_stream_create(stream_global->id, GRPC_CHTTP2_NO_ERROR, + &stream_global->stats.outgoing)); if (optional_message) { gpr_slice_ref(*optional_message); diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.h b/src/core/ext/transport/chttp2/transport/chttp2_transport.h index 8ebf9fced62328dd2b764da644f4bc0c58b9eb15..5da4276f826004aa2c5c66d49fa7808030a649e6 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.h +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/frame.h b/src/core/ext/transport/chttp2/transport/frame.h index e1311a180559381e33bcd0f08a4ac69f42c0da10..5c72d91c2af0720517cd874f9cee6f0321a0e6a6 100644 --- a/src/core/ext/transport/chttp2/transport/frame.h +++ b/src/core/ext/transport/chttp2/transport/frame.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/frame_data.c b/src/core/ext/transport/chttp2/transport/frame_data.c index cdd624647c8b117022c599bfd243a57e4e44db0b..3a6d80e0a32ad39bc7dcabb0ff4ec0564cc9b97f 100644 --- a/src/core/ext/transport/chttp2/transport/frame_data.c +++ b/src/core/ext/transport/chttp2/transport/frame_data.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -113,11 +113,13 @@ grpc_byte_stream *grpc_chttp2_incoming_frame_queue_pop( void grpc_chttp2_encode_data(uint32_t id, gpr_slice_buffer *inbuf, uint32_t write_bytes, int is_eof, + grpc_transport_one_way_stats *stats, gpr_slice_buffer *outbuf) { gpr_slice hdr; uint8_t *p; + static const size_t header_size = 9; - hdr = gpr_slice_malloc(9); + hdr = gpr_slice_malloc(header_size); p = GPR_SLICE_START_PTR(hdr); GPR_ASSERT(write_bytes < (1 << 24)); *p++ = (uint8_t)(write_bytes >> 16); @@ -132,6 +134,9 @@ void grpc_chttp2_encode_data(uint32_t id, gpr_slice_buffer *inbuf, gpr_slice_buffer_add(outbuf, hdr); gpr_slice_buffer_move_first(inbuf, write_bytes, outbuf); + + stats->framing_bytes += header_size; + stats->data_bytes += write_bytes; } grpc_chttp2_parse_error grpc_chttp2_data_parser_parse( @@ -154,8 +159,12 @@ grpc_chttp2_parse_error grpc_chttp2_data_parser_parse( } switch (p->state) { - fh_0: + case GRPC_CHTTP2_DATA_ERROR: + p->state = GRPC_CHTTP2_DATA_ERROR; + return GRPC_CHTTP2_STREAM_ERROR; + fh_0: case GRPC_CHTTP2_DATA_FH_0: + stream_parsing->stats.incoming.framing_bytes++; p->frame_type = *cur; switch (p->frame_type) { case 0: @@ -166,6 +175,7 @@ grpc_chttp2_parse_error grpc_chttp2_data_parser_parse( break; default: gpr_log(GPR_ERROR, "Bad GRPC frame type 0x%02x", p->frame_type); + p->state = GRPC_CHTTP2_DATA_ERROR; return GRPC_CHTTP2_STREAM_ERROR; } if (++cur == end) { @@ -174,6 +184,7 @@ grpc_chttp2_parse_error grpc_chttp2_data_parser_parse( } /* fallthrough */ case GRPC_CHTTP2_DATA_FH_1: + stream_parsing->stats.incoming.framing_bytes++; p->frame_size = ((uint32_t)*cur) << 24; if (++cur == end) { p->state = GRPC_CHTTP2_DATA_FH_2; @@ -181,6 +192,7 @@ grpc_chttp2_parse_error grpc_chttp2_data_parser_parse( } /* fallthrough */ case GRPC_CHTTP2_DATA_FH_2: + stream_parsing->stats.incoming.framing_bytes++; p->frame_size |= ((uint32_t)*cur) << 16; if (++cur == end) { p->state = GRPC_CHTTP2_DATA_FH_3; @@ -188,6 +200,7 @@ grpc_chttp2_parse_error grpc_chttp2_data_parser_parse( } /* fallthrough */ case GRPC_CHTTP2_DATA_FH_3: + stream_parsing->stats.incoming.framing_bytes++; p->frame_size |= ((uint32_t)*cur) << 8; if (++cur == end) { p->state = GRPC_CHTTP2_DATA_FH_4; @@ -195,6 +208,7 @@ grpc_chttp2_parse_error grpc_chttp2_data_parser_parse( } /* fallthrough */ case GRPC_CHTTP2_DATA_FH_4: + stream_parsing->stats.incoming.framing_bytes++; p->frame_size |= ((uint32_t)*cur); p->state = GRPC_CHTTP2_DATA_FRAME; ++cur; @@ -208,14 +222,14 @@ grpc_chttp2_parse_error grpc_chttp2_data_parser_parse( message_flags, &p->incoming_frames); /* fallthrough */ case GRPC_CHTTP2_DATA_FRAME: + grpc_chttp2_list_add_parsing_seen_stream(transport_parsing, + stream_parsing); if (cur == end) { - grpc_chttp2_list_add_parsing_seen_stream(transport_parsing, - stream_parsing); return GRPC_CHTTP2_PARSE_OK; } - grpc_chttp2_list_add_parsing_seen_stream(transport_parsing, - stream_parsing); - if ((uint32_t)(end - cur) == p->frame_size) { + uint32_t remaining = (uint32_t)(end - cur); + if (remaining == p->frame_size) { + stream_parsing->stats.incoming.data_bytes += p->frame_size; grpc_chttp2_incoming_byte_stream_push( exec_ctx, p->parsing_frame, gpr_slice_sub(slice, (size_t)(cur - beg), (size_t)(end - beg))); @@ -224,7 +238,8 @@ grpc_chttp2_parse_error grpc_chttp2_data_parser_parse( p->parsing_frame = NULL; p->state = GRPC_CHTTP2_DATA_FH_0; return GRPC_CHTTP2_PARSE_OK; - } else if ((uint32_t)(end - cur) > p->frame_size) { + } else if (remaining > p->frame_size) { + stream_parsing->stats.incoming.data_bytes += p->frame_size; grpc_chttp2_incoming_byte_stream_push( exec_ctx, p->parsing_frame, gpr_slice_sub(slice, (size_t)(cur - beg), @@ -235,11 +250,12 @@ grpc_chttp2_parse_error grpc_chttp2_data_parser_parse( cur += p->frame_size; goto fh_0; /* loop */ } else { + GPR_ASSERT(remaining <= p->frame_size); grpc_chttp2_incoming_byte_stream_push( exec_ctx, p->parsing_frame, gpr_slice_sub(slice, (size_t)(cur - beg), (size_t)(end - beg))); - GPR_ASSERT((size_t)(end - cur) <= p->frame_size); - p->frame_size -= (uint32_t)(end - cur); + p->frame_size -= remaining; + stream_parsing->stats.incoming.data_bytes += remaining; return GRPC_CHTTP2_PARSE_OK; } } diff --git a/src/core/ext/transport/chttp2/transport/frame_data.h b/src/core/ext/transport/chttp2/transport/frame_data.h index f2762ed9de8b2b42403c54fceea00853233aca7f..af71f483a2196c0df9265ca969be6a8b9ffb0516 100644 --- a/src/core/ext/transport/chttp2/transport/frame_data.h +++ b/src/core/ext/transport/chttp2/transport/frame_data.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,6 +41,7 @@ #include "src/core/ext/transport/chttp2/transport/frame.h" #include "src/core/lib/iomgr/exec_ctx.h" #include "src/core/lib/transport/byte_stream.h" +#include "src/core/lib/transport/transport.h" typedef enum { GRPC_CHTTP2_DATA_FH_0, @@ -48,7 +49,8 @@ typedef enum { GRPC_CHTTP2_DATA_FH_2, GRPC_CHTTP2_DATA_FH_3, GRPC_CHTTP2_DATA_FH_4, - GRPC_CHTTP2_DATA_FRAME + GRPC_CHTTP2_DATA_FRAME, + GRPC_CHTTP2_DATA_ERROR } grpc_chttp2_stream_state; typedef struct grpc_chttp2_incoming_byte_stream @@ -96,6 +98,7 @@ grpc_chttp2_parse_error grpc_chttp2_data_parser_parse( void grpc_chttp2_encode_data(uint32_t id, gpr_slice_buffer *inbuf, uint32_t write_bytes, int is_eof, + grpc_transport_one_way_stats *stats, gpr_slice_buffer *outbuf); #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_DATA_H */ diff --git a/src/core/ext/transport/chttp2/transport/frame_goaway.c b/src/core/ext/transport/chttp2/transport/frame_goaway.c index 3697fdef418e4de901824e7f595ff86f49ff339e..69accb7696dd8ad93a982b379446d2b35a830974 100644 --- a/src/core/ext/transport/chttp2/transport/frame_goaway.c +++ b/src/core/ext/transport/chttp2/transport/frame_goaway.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/frame_goaway.h b/src/core/ext/transport/chttp2/transport/frame_goaway.h index e655134434954ada182fde9796ed4e78f838e224..7c38b26a39b985e738af7754dbea0bae9d5ff81c 100644 --- a/src/core/ext/transport/chttp2/transport/frame_goaway.h +++ b/src/core/ext/transport/chttp2/transport/frame_goaway.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/frame_ping.c b/src/core/ext/transport/chttp2/transport/frame_ping.c index c0192a734d72d8d71a89ac9d40559214e834e5d3..7e1815f0fee8985104a71ca9777069c335e87666 100644 --- a/src/core/ext/transport/chttp2/transport/frame_ping.c +++ b/src/core/ext/transport/chttp2/transport/frame_ping.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/frame_ping.h b/src/core/ext/transport/chttp2/transport/frame_ping.h index 1c1d513c993da3cfaa27448bbde0745ae85a9979..4f7fcc130582b79713f61df9ac86d9e1fb4a848f 100644 --- a/src/core/ext/transport/chttp2/transport/frame_ping.h +++ b/src/core/ext/transport/chttp2/transport/frame_ping.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/frame_rst_stream.c b/src/core/ext/transport/chttp2/transport/frame_rst_stream.c index acfc3627e8558f57560e4f9240b779384e7bd81c..22467e9ddd2a18310f77a5e1ad1b323ee25c4828 100644 --- a/src/core/ext/transport/chttp2/transport/frame_rst_stream.c +++ b/src/core/ext/transport/chttp2/transport/frame_rst_stream.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -38,8 +38,11 @@ #include "src/core/ext/transport/chttp2/transport/frame.h" -gpr_slice grpc_chttp2_rst_stream_create(uint32_t id, uint32_t code) { - gpr_slice slice = gpr_slice_malloc(13); +gpr_slice grpc_chttp2_rst_stream_create(uint32_t id, uint32_t code, + grpc_transport_one_way_stats *stats) { + static const size_t frame_size = 13; + gpr_slice slice = gpr_slice_malloc(frame_size); + stats->framing_bytes += frame_size; uint8_t *p = GPR_SLICE_START_PTR(slice); *p++ = 0; @@ -84,6 +87,7 @@ grpc_chttp2_parse_error grpc_chttp2_rst_stream_parser_parse( cur++; p->byte++; } + stream_parsing->stats.incoming.framing_bytes += (uint64_t)(end - cur); if (p->byte == 4) { GPR_ASSERT(is_last); diff --git a/src/core/ext/transport/chttp2/transport/frame_rst_stream.h b/src/core/ext/transport/chttp2/transport/frame_rst_stream.h index 134f1368a01a7e3681ccdbbd6c4ba7f948115dee..9c1e756a943ac2dd5862aabf14b67f03814cd88e 100644 --- a/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +++ b/src/core/ext/transport/chttp2/transport/frame_rst_stream.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -37,13 +37,15 @@ #include <grpc/support/slice.h> #include "src/core/ext/transport/chttp2/transport/frame.h" #include "src/core/lib/iomgr/exec_ctx.h" +#include "src/core/lib/transport/transport.h" typedef struct { uint8_t byte; uint8_t reason_bytes[4]; } grpc_chttp2_rst_stream_parser; -gpr_slice grpc_chttp2_rst_stream_create(uint32_t stream_id, uint32_t code); +gpr_slice grpc_chttp2_rst_stream_create(uint32_t stream_id, uint32_t code, + grpc_transport_one_way_stats *stats); grpc_chttp2_parse_error grpc_chttp2_rst_stream_parser_begin_frame( grpc_chttp2_rst_stream_parser *parser, uint32_t length, uint8_t flags); diff --git a/src/core/ext/transport/chttp2/transport/frame_settings.c b/src/core/ext/transport/chttp2/transport/frame_settings.c index 799d87b87d0b5d9d24bb43a53c05a4cb24208da2..a3c1e15f35e95ffee4fdaf391416575ea2825395 100644 --- a/src/core/ext/transport/chttp2/transport/frame_settings.c +++ b/src/core/ext/transport/chttp2/transport/frame_settings.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/frame_settings.h b/src/core/ext/transport/chttp2/transport/frame_settings.h index 73524addf0ea39d616eec8a35d8450cc3fe28c2f..d9e30f1ed07577d29270c0199d4d69bb10f2a717 100644 --- a/src/core/ext/transport/chttp2/transport/frame_settings.h +++ b/src/core/ext/transport/chttp2/transport/frame_settings.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/frame_window_update.c b/src/core/ext/transport/chttp2/transport/frame_window_update.c index 1a561cebafb876940d462512f9d197f5d2e040c2..90243418bdeba1eb361501fae6397b5217b18238 100644 --- a/src/core/ext/transport/chttp2/transport/frame_window_update.c +++ b/src/core/ext/transport/chttp2/transport/frame_window_update.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,9 +36,11 @@ #include <grpc/support/log.h> -gpr_slice grpc_chttp2_window_update_create(uint32_t id, - uint32_t window_update) { - gpr_slice slice = gpr_slice_malloc(13); +gpr_slice grpc_chttp2_window_update_create( + uint32_t id, uint32_t window_update, grpc_transport_one_way_stats *stats) { + static const size_t frame_size = 13; + gpr_slice slice = gpr_slice_malloc(frame_size); + stats->header_bytes += frame_size; uint8_t *p = GPR_SLICE_START_PTR(slice); GPR_ASSERT(window_update); @@ -87,6 +89,10 @@ grpc_chttp2_parse_error grpc_chttp2_window_update_parser_parse( p->byte++; } + if (stream_parsing != NULL) { + stream_parsing->stats.incoming.framing_bytes += (uint32_t)(end - cur); + } + if (p->byte == 4) { uint32_t received_update = p->amount; if (received_update == 0 || (received_update & 0x80000000u)) { diff --git a/src/core/ext/transport/chttp2/transport/frame_window_update.h b/src/core/ext/transport/chttp2/transport/frame_window_update.h index f9f670b6f14cdd468d41cdd0f6c1f10f359a0953..d6e87b9329f5d83b88fcceb61288727017faa2eb 100644 --- a/src/core/ext/transport/chttp2/transport/frame_window_update.h +++ b/src/core/ext/transport/chttp2/transport/frame_window_update.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -37,6 +37,7 @@ #include <grpc/support/slice.h> #include "src/core/ext/transport/chttp2/transport/frame.h" #include "src/core/lib/iomgr/exec_ctx.h" +#include "src/core/lib/transport/transport.h" typedef struct { uint8_t byte; @@ -44,7 +45,8 @@ typedef struct { uint32_t amount; } grpc_chttp2_window_update_parser; -gpr_slice grpc_chttp2_window_update_create(uint32_t id, uint32_t window_delta); +gpr_slice grpc_chttp2_window_update_create(uint32_t id, uint32_t window_delta, + grpc_transport_one_way_stats *stats); grpc_chttp2_parse_error grpc_chttp2_window_update_parser_begin_frame( grpc_chttp2_window_update_parser *parser, uint32_t length, uint8_t flags); diff --git a/src/core/ext/transport/chttp2/transport/hpack_encoder.c b/src/core/ext/transport/chttp2/transport/hpack_encoder.c index 819addd9e30411c0b6a860aa093d50f887821fb7..555027c8660dba3b442ad9c78b9e7c89395bcd58 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_encoder.c +++ b/src/core/ext/transport/chttp2/transport/hpack_encoder.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -49,6 +49,7 @@ #include "src/core/ext/transport/chttp2/transport/hpack_table.h" #include "src/core/ext/transport/chttp2/transport/timeout_encoding.h" #include "src/core/ext/transport/chttp2/transport/varint.h" +#include "src/core/lib/transport/metadata.h" #include "src/core/lib/transport/static_metadata.h" #define HASH_FRAGMENT_1(x) ((x)&255) @@ -74,6 +75,7 @@ typedef struct { /* output stream id */ uint32_t stream_id; gpr_slice_buffer *output; + grpc_transport_one_way_stats *stats; } framer_state; /* fills p (which is expected to be 9 bytes long) with a data frame header */ @@ -102,6 +104,7 @@ static void finish_frame(framer_state *st, int is_header_boundary, st->stream_id, st->output->length - st->output_length_at_start_of_frame, (uint8_t)((is_last_in_stream ? GRPC_CHTTP2_DATA_FLAG_END_STREAM : 0) | (is_header_boundary ? GRPC_CHTTP2_DATA_FLAG_END_HEADERS : 0))); + st->stats->framing_bytes += 9; st->is_first_frame = 0; } @@ -147,8 +150,10 @@ static void add_header_data(framer_state *st, gpr_slice slice) { remaining = GRPC_CHTTP2_MAX_PAYLOAD_LENGTH + st->output_length_at_start_of_frame - st->output->length; if (len <= remaining) { + st->stats->header_bytes += len; gpr_slice_buffer_add(st->output, slice); } else { + st->stats->header_bytes += remaining; gpr_slice_buffer_add(st->output, gpr_slice_split_head(&slice, remaining)); finish_frame(st, 0, 0); begin_frame(st); @@ -178,8 +183,7 @@ static void add_elem(grpc_chttp2_hpack_compressor *c, grpc_mdelem *elem) { uint32_t key_hash = elem->key->hash; uint32_t elem_hash = GRPC_MDSTR_KV_HASH(key_hash, elem->value->hash); uint32_t new_index = c->tail_remote_index + c->table_elems + 1; - size_t elem_size = 32 + GPR_SLICE_LENGTH(elem->key->slice) + - GPR_SLICE_LENGTH(elem->value->slice); + size_t elem_size = grpc_mdelem_get_size_in_hpack_table(elem); GPR_ASSERT(elem_size < 65536); @@ -395,8 +399,7 @@ static void hpack_enc(grpc_chttp2_hpack_compressor *c, grpc_mdelem *elem, } /* should this elem be in the table? */ - decoder_space_usage = 32 + GPR_SLICE_LENGTH(elem->key->slice) + - GPR_SLICE_LENGTH(elem->value->slice); + decoder_space_usage = grpc_mdelem_get_size_in_hpack_table(elem); should_add_elem = decoder_space_usage < MAX_DECODER_SPACE_USAGE && c->filter_elems[HASH_FRAGMENT_1(elem_hash)] >= c->filter_elems_sum / ONE_ON_ADD_PROBABILITY; @@ -535,6 +538,7 @@ void grpc_chttp2_hpack_compressor_set_max_table_size( void grpc_chttp2_encode_header(grpc_chttp2_hpack_compressor *c, uint32_t stream_id, grpc_metadata_batch *metadata, int is_eof, + grpc_transport_one_way_stats *stats, gpr_slice_buffer *outbuf) { framer_state st; grpc_linked_mdelem *l; @@ -546,6 +550,7 @@ void grpc_chttp2_encode_header(grpc_chttp2_hpack_compressor *c, st.stream_id = stream_id; st.output = outbuf; st.is_first_frame = 1; + st.stats = stats; /* Encode a metadata batch; store the returned values, representing a metadata element that needs to be unreffed back into the metadata diff --git a/src/core/ext/transport/chttp2/transport/hpack_encoder.h b/src/core/ext/transport/chttp2/transport/hpack_encoder.h index d79de35979c6d0675768a8dc0cfdcc41cd8c166f..0f7b0b063ab879518b4d5773faff6ab0d5ccfa3b 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_encoder.h +++ b/src/core/ext/transport/chttp2/transport/hpack_encoder.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,6 +40,7 @@ #include "src/core/ext/transport/chttp2/transport/frame.h" #include "src/core/lib/transport/metadata.h" #include "src/core/lib/transport/metadata_batch.h" +#include "src/core/lib/transport/transport.h" #define GRPC_CHTTP2_HPACKC_NUM_FILTERS 256 #define GRPC_CHTTP2_HPACKC_NUM_VALUES 256 @@ -90,6 +91,7 @@ void grpc_chttp2_hpack_compressor_set_max_usable_size( void grpc_chttp2_encode_header(grpc_chttp2_hpack_compressor *c, uint32_t id, grpc_metadata_batch *metadata, int is_eof, + grpc_transport_one_way_stats *stats, gpr_slice_buffer *outbuf); #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_ENCODER_H */ diff --git a/src/core/ext/transport/chttp2/transport/hpack_parser.c b/src/core/ext/transport/chttp2/transport/hpack_parser.c index ec3387efb8dcb9b23f003add0288c0f6a1b133d3..a36d2fc3820f9ac9e5ce67e1fe77a9e3ebb599e6 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_parser.c +++ b/src/core/ext/transport/chttp2/transport/hpack_parser.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -1426,6 +1426,9 @@ grpc_chttp2_parse_error grpc_chttp2_header_parser_parse( grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last) { grpc_chttp2_hpack_parser *parser = hpack_parser; GPR_TIMER_BEGIN("grpc_chttp2_hpack_parser_parse", 0); + if (stream_parsing != NULL) { + stream_parsing->stats.incoming.header_bytes += GPR_SLICE_LENGTH(slice); + } if (!grpc_chttp2_hpack_parser_parse(parser, GPR_SLICE_START_PTR(slice), GPR_SLICE_END_PTR(slice))) { GPR_TIMER_END("grpc_chttp2_hpack_parser_parse", 0); diff --git a/src/core/ext/transport/chttp2/transport/hpack_parser.h b/src/core/ext/transport/chttp2/transport/hpack_parser.h index 0aaddc8b9c7aee3b7aa86c78f262dcef8dd45011..855d6c5d521443ef088e4c111276195e7088b8ac 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_parser.h +++ b/src/core/ext/transport/chttp2/transport/hpack_parser.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/hpack_table.c b/src/core/ext/transport/chttp2/transport/hpack_table.c index 67cd1bb10af78d29dff002149235231d6b358319..4d64506de29239257b25f18bafc6e6027d88df87 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_table.c +++ b/src/core/ext/transport/chttp2/transport/hpack_table.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/hpack_table.h b/src/core/ext/transport/chttp2/transport/hpack_table.h index b3475c8f5c36ca26da964a926ebf3fdffe2974ad..074fea36d8c476594d4272edfd8711c24710e778 100644 --- a/src/core/ext/transport/chttp2/transport/hpack_table.h +++ b/src/core/ext/transport/chttp2/transport/hpack_table.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/http2_errors.h b/src/core/ext/transport/chttp2/transport/http2_errors.h index 85542e233700df60354207c6bd2f5ab9ab2d152a..deab2b7e3e8bc8391cc8dd28abc73c30b15f51c3 100644 --- a/src/core/ext/transport/chttp2/transport/http2_errors.h +++ b/src/core/ext/transport/chttp2/transport/http2_errors.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/huffsyms.c b/src/core/ext/transport/chttp2/transport/huffsyms.c index 91f62bf34b89eb1420a458bfd839dd7195a33807..68b34e4e2dd4489f03bfe911928214bd910925a4 100644 --- a/src/core/ext/transport/chttp2/transport/huffsyms.c +++ b/src/core/ext/transport/chttp2/transport/huffsyms.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/huffsyms.h b/src/core/ext/transport/chttp2/transport/huffsyms.h index 780baeaf55a01d0ef1780d19c3cfc66c8b712110..fee00954a0e02635c37cd963a98e88baf4f6558d 100644 --- a/src/core/ext/transport/chttp2/transport/huffsyms.h +++ b/src/core/ext/transport/chttp2/transport/huffsyms.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/incoming_metadata.c b/src/core/ext/transport/chttp2/transport/incoming_metadata.c index ef5fd4fe032b900a2a1f9fa8c3dfae0fdb995945..db21744f0c0281a04f31bbf6cc16f55842f7d1c2 100644 --- a/src/core/ext/transport/chttp2/transport/incoming_metadata.c +++ b/src/core/ext/transport/chttp2/transport/incoming_metadata.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/incoming_metadata.h b/src/core/ext/transport/chttp2/transport/incoming_metadata.h index 5e1dc723897f3a89f190cd47b1948b2763410e27..17ecf8e1811ff0a4113e64abbe4f1e0580cf6ec8 100644 --- a/src/core/ext/transport/chttp2/transport/incoming_metadata.h +++ b/src/core/ext/transport/chttp2/transport/incoming_metadata.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h index 2fae6536232a00c25218b433bd47a4f2151a1ee0..98cd38abd43c2c2b681c2cf803e28af595100938 100644 --- a/src/core/ext/transport/chttp2/transport/internal.h +++ b/src/core/ext/transport/chttp2/transport/internal.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -394,6 +394,9 @@ typedef struct { grpc_metadata_batch *recv_trailing_metadata; grpc_closure *recv_trailing_metadata_finished; + grpc_transport_stream_stats *collecting_stats; + grpc_transport_stream_stats stats; + /** when the application requests writes be closed, the write_closed is 'queued'; when the close is flow controlled into the send path, we are 'sending' it; when the write has been performed it is 'sent' */ @@ -435,6 +438,8 @@ typedef struct { gpr_slice fetching_slice; size_t stream_fetched; grpc_closure finished_fetch; + /** stats gathered during the write */ + grpc_transport_one_way_stats stats; } grpc_chttp2_stream_writing; struct grpc_chttp2_stream_parsing { @@ -460,6 +465,8 @@ struct grpc_chttp2_stream_parsing { int64_t outgoing_window; /** number of bytes received - reset at end of parse thread execution */ int64_t received_bytes; + /** stats gathered during the parse */ + grpc_transport_stream_stats stats; /** incoming metadata */ grpc_chttp2_incoming_metadata_buffer metadata_buffer[2]; @@ -635,6 +642,7 @@ void grpc_chttp2_parsing_become_skip_parser( grpc_exec_ctx *exec_ctx, grpc_chttp2_transport_parsing *transport_parsing); void grpc_chttp2_complete_closure_step(grpc_exec_ctx *exec_ctx, + grpc_chttp2_stream_global *stream_global, grpc_closure **pclosure, int success); #define GRPC_CHTTP2_CLIENT_CONNECT_STRING "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" diff --git a/src/core/ext/transport/chttp2/transport/parsing.c b/src/core/ext/transport/chttp2/transport/parsing.c index a9f043cee3988f3c7dd67134ce006c7105094ac6..e827a43f7a4ff474809eaf56c02d5c91e385ea4f 100644 --- a/src/core/ext/transport/chttp2/transport/parsing.c +++ b/src/core/ext/transport/chttp2/transport/parsing.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -112,7 +112,7 @@ void grpc_chttp2_publish_reads( GOAWAY last-grpc_chttp2_stream-id=0 in this case. */ if (!transport_parsing->is_client) { transport_global->last_incoming_stream_id = - transport_parsing->incoming_stream_id; + transport_parsing->last_incoming_stream_id; } /* update global settings */ @@ -171,6 +171,9 @@ void grpc_chttp2_publish_reads( grpc_chttp2_list_add_check_read_ops(transport_global, stream_global); } + /* flush stats to global stream state */ + grpc_transport_move_stats(&stream_parsing->stats, &stream_global->stats); + /* update outgoing flow control window */ was_zero = stream_global->outgoing_window <= 0; GRPC_CHTTP2_FLOW_MOVE_STREAM("parsed", transport_global, stream_global, @@ -368,7 +371,9 @@ int grpc_chttp2_perform_read(grpc_exec_ctx *exec_ctx, if (!init_frame_parser(exec_ctx, transport_parsing)) { return 0; } - if (transport_parsing->incoming_stream_id) { + if (transport_parsing->incoming_stream_id != 0 && + transport_parsing->incoming_stream_id > + transport_parsing->last_incoming_stream_id) { transport_parsing->last_incoming_stream_id = transport_parsing->incoming_stream_id; } @@ -544,8 +549,13 @@ static int init_data_frame_parser( grpc_chttp2_parsing_lookup_stream(transport_parsing, transport_parsing->incoming_stream_id); grpc_chttp2_parse_error err = GRPC_CHTTP2_PARSE_OK; - if (!stream_parsing || stream_parsing->received_close) + if (stream_parsing == NULL) { return init_skip_frame_parser(exec_ctx, transport_parsing, 0); + } + stream_parsing->stats.incoming.framing_bytes += 9; + if (stream_parsing->received_close) { + return init_skip_frame_parser(exec_ctx, transport_parsing, 0); + } if (err == GRPC_CHTTP2_PARSE_OK) { err = update_incoming_window(exec_ctx, transport_parsing, stream_parsing); } @@ -566,7 +576,8 @@ static int init_data_frame_parser( gpr_slice_buffer_add( &transport_parsing->qbuf, grpc_chttp2_rst_stream_create(transport_parsing->incoming_stream_id, - GRPC_CHTTP2_PROTOCOL_ERROR)); + GRPC_CHTTP2_PROTOCOL_ERROR, + &stream_parsing->stats.outgoing)); return init_skip_frame_parser(exec_ctx, transport_parsing, 0); case GRPC_CHTTP2_CONNECTION_ERROR: return 0; @@ -717,6 +728,7 @@ static int init_header_frame_parser( transport_parsing->incoming_stream = stream_parsing; } GPR_ASSERT(stream_parsing != NULL && (via_accept == 0 || via_accept == 1)); + stream_parsing->stats.incoming.framing_bytes += 9; if (stream_parsing->received_close) { gpr_log(GPR_ERROR, "skipping already closed grpc_chttp2_stream header"); transport_parsing->incoming_stream = NULL; @@ -752,9 +764,14 @@ static int init_window_update_frame_parser( &transport_parsing->simple.window_update, transport_parsing->incoming_frame_size, transport_parsing->incoming_frame_flags); - if (transport_parsing->incoming_stream_id) { - transport_parsing->incoming_stream = grpc_chttp2_parsing_lookup_stream( - transport_parsing, transport_parsing->incoming_stream_id); + if (transport_parsing->incoming_stream_id != 0) { + grpc_chttp2_stream_parsing *stream_parsing = + transport_parsing->incoming_stream = grpc_chttp2_parsing_lookup_stream( + transport_parsing, transport_parsing->incoming_stream_id); + if (stream_parsing == NULL) { + return init_skip_frame_parser(exec_ctx, transport_parsing, 0); + } + stream_parsing->stats.incoming.framing_bytes += 9; } transport_parsing->parser = grpc_chttp2_window_update_parser_parse; transport_parsing->parser_data = &transport_parsing->simple.window_update; @@ -778,11 +795,13 @@ static int init_rst_stream_parser( &transport_parsing->simple.rst_stream, transport_parsing->incoming_frame_size, transport_parsing->incoming_frame_flags); - transport_parsing->incoming_stream = grpc_chttp2_parsing_lookup_stream( - transport_parsing, transport_parsing->incoming_stream_id); + grpc_chttp2_stream_parsing *stream_parsing = + transport_parsing->incoming_stream = grpc_chttp2_parsing_lookup_stream( + transport_parsing, transport_parsing->incoming_stream_id); if (!transport_parsing->incoming_stream) { return init_skip_frame_parser(exec_ctx, transport_parsing, 0); } + stream_parsing->stats.incoming.framing_bytes += 9; transport_parsing->parser = grpc_chttp2_rst_stream_parser_parse; transport_parsing->parser_data = &transport_parsing->simple.rst_stream; return ok; @@ -856,7 +875,8 @@ static int parse_frame_slice(grpc_exec_ctx *exec_ctx, gpr_slice_buffer_add( &transport_parsing->qbuf, grpc_chttp2_rst_stream_create(transport_parsing->incoming_stream_id, - GRPC_CHTTP2_PROTOCOL_ERROR)); + GRPC_CHTTP2_PROTOCOL_ERROR, + &stream_parsing->stats.outgoing)); } return 1; case GRPC_CHTTP2_CONNECTION_ERROR: diff --git a/src/core/ext/transport/chttp2/transport/status_conversion.c b/src/core/ext/transport/chttp2/transport/status_conversion.c index 5a795799898930ca4290e7a0b46d8b95b95f68d3..c42fb9b3a1e49e56d077de51cdb9af6565de46ee 100644 --- a/src/core/ext/transport/chttp2/transport/status_conversion.c +++ b/src/core/ext/transport/chttp2/transport/status_conversion.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/status_conversion.h b/src/core/ext/transport/chttp2/transport/status_conversion.h index e92a5f670268f17a6f5f21ebb880a623ea938343..e7285e6fd51125e805877cf381c232024aaa4929 100644 --- a/src/core/ext/transport/chttp2/transport/status_conversion.h +++ b/src/core/ext/transport/chttp2/transport/status_conversion.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/stream_lists.c b/src/core/ext/transport/chttp2/transport/stream_lists.c index 01ed49b1ec32c80b1d395fde95da022c2df9eab6..e5b35aadca032d766f37d75257931a74ed7de326 100644 --- a/src/core/ext/transport/chttp2/transport/stream_lists.c +++ b/src/core/ext/transport/chttp2/transport/stream_lists.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/stream_map.c b/src/core/ext/transport/chttp2/transport/stream_map.c index 3fb13896505787dd45b4119dd810eb677413fba6..f70791c42275d131f4524e2e07698ee9c766beac 100644 --- a/src/core/ext/transport/chttp2/transport/stream_map.c +++ b/src/core/ext/transport/chttp2/transport/stream_map.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/stream_map.h b/src/core/ext/transport/chttp2/transport/stream_map.h index 4e8586fe46ab73a9d48553c323dd81594c33d893..b1d59ca6a36fd1c2b669900efee86a91656ffffb 100644 --- a/src/core/ext/transport/chttp2/transport/stream_map.h +++ b/src/core/ext/transport/chttp2/transport/stream_map.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/timeout_encoding.c b/src/core/ext/transport/chttp2/transport/timeout_encoding.c index d5b9da92528a4f39ba686be243d17bb1fff230f2..b7f79124939b25e4e4047157cdf96a93a2817193 100644 --- a/src/core/ext/transport/chttp2/transport/timeout_encoding.c +++ b/src/core/ext/transport/chttp2/transport/timeout_encoding.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/timeout_encoding.h b/src/core/ext/transport/chttp2/transport/timeout_encoding.h index dc64f9cc3f59b7c7b9df965f4bc004c54e23f56f..df2324c7912e196f1b0adda7f554c1111b699dca 100644 --- a/src/core/ext/transport/chttp2/transport/timeout_encoding.h +++ b/src/core/ext/transport/chttp2/transport/timeout_encoding.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/varint.c b/src/core/ext/transport/chttp2/transport/varint.c index 6721d042a25dcdac68a9ebef9f65b6e8686fb578..e434ad3c07260935dabdcfdd6db78666787330c0 100644 --- a/src/core/ext/transport/chttp2/transport/varint.c +++ b/src/core/ext/transport/chttp2/transport/varint.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/varint.h b/src/core/ext/transport/chttp2/transport/varint.h index 6442ea3c5a5ad447f7e58006be6bfe5acf92b822..450e5fd119147b17ce14a6e0f93724b99717a3f9 100644 --- a/src/core/ext/transport/chttp2/transport/varint.h +++ b/src/core/ext/transport/chttp2/transport/varint.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/ext/transport/chttp2/transport/writing.c b/src/core/ext/transport/chttp2/transport/writing.c index 8d5886f2255fb08b20f85b497d1f21d151a6b285..a8fb463939a1d9e7f881d6b5612b844087cb7557 100644 --- a/src/core/ext/transport/chttp2/transport/writing.c +++ b/src/core/ext/transport/chttp2/transport/writing.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -161,8 +161,10 @@ int grpc_chttp2_unlocking_check_writes( transport_global->announce_incoming_window, UINT32_MAX); GRPC_CHTTP2_FLOW_DEBIT_TRANSPORT("write", transport_global, announce_incoming_window, announced); - gpr_slice_buffer_add(&transport_writing->outbuf, - grpc_chttp2_window_update_create(0, announced)); + grpc_transport_one_way_stats throwaway_stats; + gpr_slice_buffer_add( + &transport_writing->outbuf, + grpc_chttp2_window_update_create(0, announced, &throwaway_stats)); } GPR_TIMER_END("grpc_chttp2_unlocking_check_writes", 0); @@ -205,7 +207,8 @@ static void finalize_outbuf(grpc_exec_ctx *exec_ctx, if (stream_writing->send_initial_metadata != NULL) { grpc_chttp2_encode_header( &transport_writing->hpack_compressor, stream_writing->id, - stream_writing->send_initial_metadata, 0, &transport_writing->outbuf); + stream_writing->send_initial_metadata, 0, &stream_writing->stats, + &transport_writing->outbuf); stream_writing->send_initial_metadata = NULL; stream_writing->sent_initial_metadata = 1; } @@ -216,7 +219,8 @@ static void finalize_outbuf(grpc_exec_ctx *exec_ctx, gpr_slice_buffer_add( &transport_writing->outbuf, grpc_chttp2_window_update_create(stream_writing->id, - stream_writing->announce_window)); + stream_writing->announce_window, + &stream_writing->stats)); GRPC_CHTTP2_FLOW_DEBIT_STREAM("write", transport_writing, stream_writing, announce_window, announce); stream_writing->announce_window = 0; @@ -255,7 +259,8 @@ static void finalize_outbuf(grpc_exec_ctx *exec_ctx, stream_writing->send_trailing_metadata); grpc_chttp2_encode_data( stream_writing->id, &stream_writing->flow_controlled_buffer, - send_bytes, is_last_frame, &transport_writing->outbuf); + send_bytes, is_last_frame, &stream_writing->stats, + &transport_writing->outbuf); GRPC_CHTTP2_FLOW_DEBIT_STREAM("write", transport_writing, stream_writing, outgoing_window, send_bytes); @@ -281,19 +286,20 @@ static void finalize_outbuf(grpc_exec_ctx *exec_ctx, stream_writing->send_trailing_metadata != NULL) { if (grpc_metadata_batch_is_empty( stream_writing->send_trailing_metadata)) { - grpc_chttp2_encode_data(stream_writing->id, - &stream_writing->flow_controlled_buffer, 0, 1, - &transport_writing->outbuf); + grpc_chttp2_encode_data( + stream_writing->id, &stream_writing->flow_controlled_buffer, 0, 1, + &stream_writing->stats, &transport_writing->outbuf); } else { - grpc_chttp2_encode_header(&transport_writing->hpack_compressor, - stream_writing->id, - stream_writing->send_trailing_metadata, 1, - &transport_writing->outbuf); + grpc_chttp2_encode_header( + &transport_writing->hpack_compressor, stream_writing->id, + stream_writing->send_trailing_metadata, 1, &stream_writing->stats, + &transport_writing->outbuf); } if (!transport_writing->is_client && !stream_writing->read_closed) { gpr_slice_buffer_add(&transport_writing->outbuf, grpc_chttp2_rst_stream_create( - stream_writing->id, GRPC_CHTTP2_NO_ERROR)); + stream_writing->id, GRPC_CHTTP2_NO_ERROR, + &stream_writing->stats)); } stream_writing->send_trailing_metadata = NULL; stream_writing->sent_trailing_metadata = 1; @@ -328,17 +334,21 @@ void grpc_chttp2_cleanup_writing( transport_global, transport_writing, &stream_global, &stream_writing)) { if (stream_writing->sent_initial_metadata) { grpc_chttp2_complete_closure_step( - exec_ctx, &stream_global->send_initial_metadata_finished, 1); + exec_ctx, stream_global, + &stream_global->send_initial_metadata_finished, 1); } + grpc_transport_move_one_way_stats(&stream_writing->stats, + &stream_global->stats.outgoing); if (stream_writing->sent_message) { GPR_ASSERT(stream_writing->send_message == NULL); grpc_chttp2_complete_closure_step( - exec_ctx, &stream_global->send_message_finished, 1); + exec_ctx, stream_global, &stream_global->send_message_finished, 1); stream_writing->sent_message = 0; } if (stream_writing->sent_trailing_metadata) { grpc_chttp2_complete_closure_step( - exec_ctx, &stream_global->send_trailing_metadata_finished, 1); + exec_ctx, stream_global, + &stream_global->send_trailing_metadata_finished, 1); } if (stream_writing->sent_trailing_metadata) { grpc_chttp2_mark_stream_closed(exec_ctx, transport_global, stream_global, diff --git a/src/core/lib/channel/channel_args.c b/src/core/lib/channel/channel_args.c index 1a02f1f4aa44e200bb6467b94e9573502068f9b0..28d2d78d00f81e015037f41c98be72d0022c7064 100644 --- a/src/core/lib/channel/channel_args.c +++ b/src/core/lib/channel/channel_args.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,6 @@ #include <grpc/grpc.h> #include "src/core/lib/support/string.h" -#include <grpc/census.h> #include <grpc/support/alloc.h> #include <grpc/support/log.h> #include <grpc/support/string_util.h> @@ -165,17 +164,6 @@ void grpc_channel_args_destroy(grpc_channel_args *a) { gpr_free(a); } -int grpc_channel_args_is_census_enabled(const grpc_channel_args *a) { - size_t i; - if (a == NULL) return 0; - for (i = 0; i < a->num_args; i++) { - if (0 == strcmp(a->args[i].key, GRPC_ARG_ENABLE_CENSUS)) { - return a->args[i].value.integer != 0 && census_enabled(); - } - } - return census_enabled(); -} - grpc_compression_algorithm grpc_channel_args_get_compression_algorithm( const grpc_channel_args *a) { size_t i; diff --git a/src/core/lib/channel/channel_args.h b/src/core/lib/channel/channel_args.h index 1ea202c5431ed711c72ef09017f4d53a5565f34f..0a51780a14ee346bf7d6ae95dd92925e7ba893e2 100644 --- a/src/core/lib/channel/channel_args.h +++ b/src/core/lib/channel/channel_args.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/channel/channel_stack.c b/src/core/lib/channel/channel_stack.c index 52283e35fad72551f88ea8a8db1d12d9e3c7465f..e36066d8639d653a79705f5b16d80915109d9f56 100644 --- a/src/core/lib/channel/channel_stack.c +++ b/src/core/lib/channel/channel_stack.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/channel/channel_stack.h b/src/core/lib/channel/channel_stack.h index b29bee411d3b1e006c7765851de971e8baddd2f9..9e3a25a152d6408bb759a69ff7a41ba5ea986384 100644 --- a/src/core/lib/channel/channel_stack.h +++ b/src/core/lib/channel/channel_stack.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/channel/channel_stack_builder.c b/src/core/lib/channel/channel_stack_builder.c index 1ce0c4e07ff09128af28befdf6668a8b7a9f586f..a8646c956577347772f0871ddc1841824fa57391 100644 --- a/src/core/lib/channel/channel_stack_builder.c +++ b/src/core/lib/channel/channel_stack_builder.c @@ -36,6 +36,7 @@ #include <string.h> #include <grpc/support/alloc.h> +#include <grpc/support/string_util.h> int grpc_trace_channel_stack_builder = 0; @@ -52,8 +53,9 @@ struct grpc_channel_stack_builder { filter_node begin; filter_node end; // various set/get-able parameters - const grpc_channel_args *args; + grpc_channel_args *args; grpc_transport *transport; + char *target; const char *name; }; @@ -76,6 +78,17 @@ grpc_channel_stack_builder *grpc_channel_stack_builder_create(void) { return b; } +void grpc_channel_stack_builder_set_target(grpc_channel_stack_builder *b, + const char *target) { + gpr_free(b->target); + b->target = gpr_strdup(target); +} + +const char *grpc_channel_stack_builder_get_target( + grpc_channel_stack_builder *b) { + return b->target; +} + static grpc_channel_stack_builder_iterator *create_iterator_at_filter_node( grpc_channel_stack_builder *builder, filter_node *node) { grpc_channel_stack_builder_iterator *it = gpr_malloc(sizeof(*it)); @@ -126,8 +139,10 @@ void grpc_channel_stack_builder_set_name(grpc_channel_stack_builder *builder, void grpc_channel_stack_builder_set_channel_arguments( grpc_channel_stack_builder *builder, const grpc_channel_args *args) { - GPR_ASSERT(builder->args == NULL); - builder->args = args; + if (builder->args != NULL) { + grpc_channel_args_destroy(builder->args); + } + builder->args = grpc_channel_args_copy(args); } void grpc_channel_stack_builder_set_transport( @@ -205,6 +220,10 @@ void grpc_channel_stack_builder_destroy(grpc_channel_stack_builder *builder) { gpr_free(p); p = next; } + if (builder->args != NULL) { + grpc_channel_args_destroy(builder->args); + } + gpr_free(builder->target); gpr_free(builder); } diff --git a/src/core/lib/channel/channel_stack_builder.h b/src/core/lib/channel/channel_stack_builder.h index 8532c4462a58521b86cdac3fb5f906cd4287d216..0e6bfd9aa690e8ae8bc69a02c443eabb2f7898e3 100644 --- a/src/core/lib/channel/channel_stack_builder.h +++ b/src/core/lib/channel/channel_stack_builder.h @@ -52,6 +52,13 @@ grpc_channel_stack_builder *grpc_channel_stack_builder_create(void); void grpc_channel_stack_builder_set_name(grpc_channel_stack_builder *builder, const char *name); +/// Set the target uri +void grpc_channel_stack_builder_set_target(grpc_channel_stack_builder *b, + const char *target); + +const char *grpc_channel_stack_builder_get_target( + grpc_channel_stack_builder *b); + /// Attach \a transport to the builder (does not take ownership) void grpc_channel_stack_builder_set_transport( grpc_channel_stack_builder *builder, grpc_transport *transport); @@ -60,8 +67,7 @@ void grpc_channel_stack_builder_set_transport( grpc_transport *grpc_channel_stack_builder_get_transport( grpc_channel_stack_builder *builder); -/// Set channel arguments: \a args must continue to exist until after -/// grpc_channel_stack_builder_finish returns +/// Set channel arguments: copies args void grpc_channel_stack_builder_set_channel_arguments( grpc_channel_stack_builder *builder, const grpc_channel_args *args); diff --git a/src/core/lib/channel/compress_filter.c b/src/core/lib/channel/compress_filter.c index 04bb7cc76f1f77edff03a24f29cb9d59752319b0..229fdb5ef602387d115bebdab8513474294f93f4 100644 --- a/src/core/lib/channel/compress_filter.c +++ b/src/core/lib/channel/compress_filter.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/channel/compress_filter.h b/src/core/lib/channel/compress_filter.h index 9010074335a9aa6e1ae7976f4cfb06e41d4decd5..0d973329c441d7234d09ca5390e237341320ac7c 100644 --- a/src/core/lib/channel/compress_filter.h +++ b/src/core/lib/channel/compress_filter.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/channel/connected_channel.c b/src/core/lib/channel/connected_channel.c index 5e3a8974ce7d26a21881851e583392f8cb63f5d4..c1debab4c620f370c0770f1a912bf97cd96f7d44 100644 --- a/src/core/lib/channel/connected_channel.c +++ b/src/core/lib/channel/connected_channel.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/channel/connected_channel.h b/src/core/lib/channel/connected_channel.h index 4f20b751ccdb8b90ddd91e4037bae69bb7e99cb1..3142d647b7e4257a14106a41f9ef7c34164739b0 100644 --- a/src/core/lib/channel/connected_channel.h +++ b/src/core/lib/channel/connected_channel.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/channel/context.h b/src/core/lib/channel/context.h index bca102da9af7f3c2ddd06a7b65c23412df0b494d..c50e84279d46686a5f448579e4bf4c5d2384e92f 100644 --- a/src/core/lib/channel/context.h +++ b/src/core/lib/channel/context.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/channel/http_client_filter.c b/src/core/lib/channel/http_client_filter.c index 7dbac38414607673378613b515bfa3a6a436e562..211f537c6919b6e69da003c2dfb341d149079167 100644 --- a/src/core/lib/channel/http_client_filter.c +++ b/src/core/lib/channel/http_client_filter.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -111,8 +111,12 @@ static void hc_mutate_op(grpc_call_element *elem, elem); /* Send : prefixed headers, which have to be before any application layer headers. */ - grpc_metadata_batch_add_head(op->send_initial_metadata, &calld->method, - GRPC_MDELEM_METHOD_POST); + grpc_metadata_batch_add_head( + op->send_initial_metadata, &calld->method, + op->send_initial_metadata_flags & + GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST + ? GRPC_MDELEM_METHOD_PUT + : GRPC_MDELEM_METHOD_POST); grpc_metadata_batch_add_head(op->send_initial_metadata, &calld->scheme, channeld->static_scheme); grpc_metadata_batch_add_tail(op->send_initial_metadata, &calld->te_trailers, diff --git a/src/core/lib/channel/http_client_filter.h b/src/core/lib/channel/http_client_filter.h index 418426e9ccb54ab71593d454c948e89703057cbc..a884b36318a8feda91ae7b7b20df1760a5eb1d5c 100644 --- a/src/core/lib/channel/http_client_filter.h +++ b/src/core/lib/channel/http_client_filter.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/channel/http_server_filter.c b/src/core/lib/channel/http_server_filter.c index df99b77ab3153aa53c346748509a805f839f1716..c140c61b8f3307dc062ff5534eac04877592091d 100644 --- a/src/core/lib/channel/http_server_filter.c +++ b/src/core/lib/channel/http_server_filter.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,7 +41,7 @@ typedef struct call_data { uint8_t seen_path; - uint8_t seen_post; + uint8_t seen_method; uint8_t sent_status; uint8_t seen_scheme; uint8_t seen_te_trailers; @@ -50,6 +50,7 @@ typedef struct call_data { grpc_linked_mdelem content_type; grpc_metadata_batch *recv_initial_metadata; + bool *recv_idempotent_request; /** Closure to call when finished with the hs_on_recv hook */ grpc_closure *on_done_recv; /** Receive closures are chained: we inject this closure as the on_done_recv @@ -72,11 +73,16 @@ static grpc_mdelem *server_filter(void *user_data, grpc_mdelem *md) { /* Check if it is one of the headers we care about. */ if (md == GRPC_MDELEM_TE_TRAILERS || md == GRPC_MDELEM_METHOD_POST || - md == GRPC_MDELEM_SCHEME_HTTP || md == GRPC_MDELEM_SCHEME_HTTPS || + md == GRPC_MDELEM_METHOD_PUT || md == GRPC_MDELEM_SCHEME_HTTP || + md == GRPC_MDELEM_SCHEME_HTTPS || md == GRPC_MDELEM_CONTENT_TYPE_APPLICATION_SLASH_GRPC) { /* swallow it */ if (md == GRPC_MDELEM_METHOD_POST) { - calld->seen_post = 1; + calld->seen_method = 1; + *calld->recv_idempotent_request = false; + } else if (md == GRPC_MDELEM_METHOD_PUT) { + calld->seen_method = 1; + *calld->recv_idempotent_request = true; } else if (md->key == GRPC_MDSTR_SCHEME) { calld->seen_scheme = 1; } else if (md == GRPC_MDELEM_TE_TRAILERS) { @@ -142,7 +148,7 @@ static void hs_on_recv(grpc_exec_ctx *exec_ctx, void *user_data, bool success) { /* Have we seen the required http2 transport headers? (:method, :scheme, content-type, with :path and :authority covered at the channel level right now) */ - if (calld->seen_post && calld->seen_scheme && calld->seen_te_trailers && + if (calld->seen_method && calld->seen_scheme && calld->seen_te_trailers && calld->seen_path && calld->seen_authority) { /* do nothing */ } else { @@ -152,7 +158,7 @@ static void hs_on_recv(grpc_exec_ctx *exec_ctx, void *user_data, bool success) { if (!calld->seen_authority) { gpr_log(GPR_ERROR, "Missing :authority header"); } - if (!calld->seen_post) { + if (!calld->seen_method) { gpr_log(GPR_ERROR, "Missing :method header"); } if (!calld->seen_scheme) { @@ -185,7 +191,9 @@ static void hs_mutate_op(grpc_call_element *elem, if (op->recv_initial_metadata) { /* substitute our callback for the higher callback */ + GPR_ASSERT(op->recv_idempotent_request != NULL); calld->recv_initial_metadata = op->recv_initial_metadata; + calld->recv_idempotent_request = op->recv_idempotent_request; calld->on_done_recv = op->recv_initial_metadata_ready; op->recv_initial_metadata_ready = &calld->hs_on_recv; } diff --git a/src/core/lib/channel/http_server_filter.h b/src/core/lib/channel/http_server_filter.h index c8cf920ded16ad86d221bfd02040c6f8af752727..77ba2d263d1ac1aa0b14e9618e8587f8f4a6edff 100644 --- a/src/core/lib/channel/http_server_filter.h +++ b/src/core/lib/channel/http_server_filter.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/compression/algorithm_metadata.h b/src/core/lib/compression/algorithm_metadata.h index 47f33abdc7e31e8ce73b14a9f97104ea438fb19b..1f9cc15f230eb4756b359e9ac314d8999ff1a6c4 100644 --- a/src/core/lib/compression/algorithm_metadata.h +++ b/src/core/lib/compression/algorithm_metadata.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/compression/compression_algorithm.c b/src/core/lib/compression/compression_algorithm.c index f781b45042eef2bcee559bc93a880dded6dee4f6..7039364b7bcbb5b2c0896802b047aa6d6b1eee41 100644 --- a/src/core/lib/compression/compression_algorithm.c +++ b/src/core/lib/compression/compression_algorithm.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/compression/message_compress.c b/src/core/lib/compression/message_compress.c index b4b6a2d75e0a2f2732f4a710f5e6cbc698e4474f..cbe0b5a2856a1304f0500f4e645924ada28ff170 100644 --- a/src/core/lib/compression/message_compress.c +++ b/src/core/lib/compression/message_compress.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/compression/message_compress.h b/src/core/lib/compression/message_compress.h index b71608139eb401d6ca2dd82cd24f9b3a9145ca40..c69eaaf006365a816047dbfd764bc9407feb045f 100644 --- a/src/core/lib/compression/message_compress.h +++ b/src/core/lib/compression/message_compress.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/debug/trace.c b/src/core/lib/debug/trace.c index 786dd9324fba7f4aaf8f780b304599181ee8d1bf..555f497b7847681f70dd2b29e5179b2433d3c0b0 100644 --- a/src/core/lib/debug/trace.c +++ b/src/core/lib/debug/trace.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/debug/trace.h b/src/core/lib/debug/trace.h index 76ea5a7c64e79c449ba7c881de38acbcff91f32e..7afc38db7e1f936f7fffb20564cd6ed4daeea57e 100644 --- a/src/core/lib/debug/trace.h +++ b/src/core/lib/debug/trace.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/http/format_request.c b/src/core/lib/http/format_request.c index 95b39186460d76d8b6ad2c6cacc329b4de1bcf56..9240356feaac6fdc9c84107c823f9fc23bec1461 100644 --- a/src/core/lib/http/format_request.c +++ b/src/core/lib/http/format_request.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/http/format_request.h b/src/core/lib/http/format_request.h index 2e933d804b03ad592a5971dd0626c8586e7dcaae..1543efe4b08bf2ecc2955843ae2f0707b4c67928 100644 --- a/src/core/lib/http/format_request.h +++ b/src/core/lib/http/format_request.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/http/httpcli.c b/src/core/lib/http/httpcli.c index aab28ad8b6222a860c73626d33488d174e9306ff..76bd1b64dc9c2cb9ea4866dacdb26adc87626fc2 100644 --- a/src/core/lib/http/httpcli.c +++ b/src/core/lib/http/httpcli.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/http/httpcli.h b/src/core/lib/http/httpcli.h index b8d54a858665aec6a3e140b42174c2eb4cf29dc3..11a32a125c8c1072459736401b91f82cc5093b8f 100644 --- a/src/core/lib/http/httpcli.h +++ b/src/core/lib/http/httpcli.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/http/httpcli_security_connector.c b/src/core/lib/http/httpcli_security_connector.c index 6f1630ac1f1271117477fefbb8e4fa18002680e6..ea4bff30d4b245a052d3c9f569a88f4fc0436ebe 100644 --- a/src/core/lib/http/httpcli_security_connector.c +++ b/src/core/lib/http/httpcli_security_connector.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/http/parser.c b/src/core/lib/http/parser.c index 2782ad758e239951b5f18a1147137f455395b9bb..01d17fb623760f3beeb371f40250e69c69b5935b 100644 --- a/src/core/lib/http/parser.c +++ b/src/core/lib/http/parser.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/http/parser.h b/src/core/lib/http/parser.h index 6a72174aa60d288a31bf61b7fe0ea85f38167160..8bd73f649abf0dba98b29d033715d324cc7eae7c 100644 --- a/src/core/lib/http/parser.h +++ b/src/core/lib/http/parser.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/closure.c b/src/core/lib/iomgr/closure.c index 724ebc284a7543176448e2ef34d8c6a46d4e40fc..d6f073fc9dba48ddeba06b1cb1e38187c462b8f1 100644 --- a/src/core/lib/iomgr/closure.c +++ b/src/core/lib/iomgr/closure.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/closure.h b/src/core/lib/iomgr/closure.h index 2597cf170683401d99d849317a16537aced0dc33..8652b53a8b8ec88a8ecc6681e3eeb8bf7137d913 100644 --- a/src/core/lib/iomgr/closure.h +++ b/src/core/lib/iomgr/closure.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/endpoint.c b/src/core/lib/iomgr/endpoint.c index 576b5a6e5c0a16b93ea8bbc5caf27c4823a78e35..1ab3733d381cc31e0be54049c1b78e4beabfafa4 100644 --- a/src/core/lib/iomgr/endpoint.c +++ b/src/core/lib/iomgr/endpoint.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/endpoint.h b/src/core/lib/iomgr/endpoint.h index 918e705fbd13634446e9dd927ad9080bacc16b30..3877ceb1e261d19f050e15e9260764230c4e4b89 100644 --- a/src/core/lib/iomgr/endpoint.h +++ b/src/core/lib/iomgr/endpoint.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/endpoint_pair.h b/src/core/lib/iomgr/endpoint_pair.h index bef8bb351899990b5a387c3e1e052e455304388e..5cd78051bdf292e3a4d0113e63150b0cc0d6d09a 100644 --- a/src/core/lib/iomgr/endpoint_pair.h +++ b/src/core/lib/iomgr/endpoint_pair.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/endpoint_pair_windows.c b/src/core/lib/iomgr/endpoint_pair_windows.c index cba18db81f2d66fab92e91dc920221c63ec124a0..582704e267ed287b6fad46e49e13b60764dfeb43 100644 --- a/src/core/lib/iomgr/endpoint_pair_windows.c +++ b/src/core/lib/iomgr/endpoint_pair_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/ev_poll_and_epoll_posix.c b/src/core/lib/iomgr/ev_poll_and_epoll_posix.c new file mode 100644 index 0000000000000000000000000000000000000000..3c8127e1a8c13f60b15a04d346a644fe98d21509 --- /dev/null +++ b/src/core/lib/iomgr/ev_poll_and_epoll_posix.c @@ -0,0 +1,1936 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/* This file will be removed shortly: it's here to keep refactoring + * steps simple and auditable. + * It's the combination of the old files: + * - fd_posix.{h,c} + * - pollset_posix.{h,c} + * - pullset_multipoller_with_{poll,epoll}.{h,c} + * The new version will be split into: + * - ev_poll_posix.{h,c} + * - ev_epoll_posix.{h,c} + */ + +#include <grpc/support/port_platform.h> + +#ifdef GPR_POSIX_SOCKET + +#include "src/core/lib/iomgr/ev_poll_and_epoll_posix.h" + +#include <assert.h> +#include <errno.h> +#include <poll.h> +#include <string.h> +#include <sys/socket.h> +#include <unistd.h> + +#include <grpc/support/alloc.h> +#include <grpc/support/log.h> +#include <grpc/support/string_util.h> +#include <grpc/support/tls.h> +#include <grpc/support/useful.h> + +#include "src/core/lib/iomgr/iomgr_internal.h" +#include "src/core/lib/iomgr/wakeup_fd_posix.h" +#include "src/core/lib/profiling/timers.h" +#include "src/core/lib/support/block_annotate.h" + +/******************************************************************************* + * FD declarations + */ + +typedef struct grpc_fd_watcher { + struct grpc_fd_watcher *next; + struct grpc_fd_watcher *prev; + grpc_pollset *pollset; + grpc_pollset_worker *worker; + grpc_fd *fd; +} grpc_fd_watcher; + +struct grpc_fd { + int fd; + /* refst format: + bit0: 1=active/0=orphaned + bit1-n: refcount + meaning that mostly we ref by two to avoid altering the orphaned bit, + and just unref by 1 when we're ready to flag the object as orphaned */ + gpr_atm refst; + + gpr_mu mu; + int shutdown; + int closed; + int released; + + /* The watcher list. + + The following watcher related fields are protected by watcher_mu. + + An fd_watcher is an ephemeral object created when an fd wants to + begin polling, and destroyed after the poll. + + It denotes the fd's interest in whether to read poll or write poll + or both or neither on this fd. + + If a watcher is asked to poll for reads or writes, the read_watcher + or write_watcher fields are set respectively. A watcher may be asked + to poll for both, in which case both fields will be set. + + read_watcher and write_watcher may be NULL if no watcher has been + asked to poll for reads or writes. + + If an fd_watcher is not asked to poll for reads or writes, it's added + to a linked list of inactive watchers, rooted at inactive_watcher_root. + If at a later time there becomes need of a poller to poll, one of + the inactive pollers may be kicked out of their poll loops to take + that responsibility. */ + grpc_fd_watcher inactive_watcher_root; + grpc_fd_watcher *read_watcher; + grpc_fd_watcher *write_watcher; + + grpc_closure *read_closure; + grpc_closure *write_closure; + + struct grpc_fd *freelist_next; + + grpc_closure *on_done_closure; + + grpc_iomgr_object iomgr_object; +}; + +/* Begin polling on an fd. + Registers that the given pollset is interested in this fd - so that if read + or writability interest changes, the pollset can be kicked to pick up that + new interest. + Return value is: + (fd_needs_read? read_mask : 0) | (fd_needs_write? write_mask : 0) + i.e. a combination of read_mask and write_mask determined by the fd's current + interest in said events. + Polling strategies that do not need to alter their behavior depending on the + fd's current interest (such as epoll) do not need to call this function. + MUST NOT be called with a pollset lock taken */ +static uint32_t fd_begin_poll(grpc_fd *fd, grpc_pollset *pollset, + grpc_pollset_worker *worker, uint32_t read_mask, + uint32_t write_mask, grpc_fd_watcher *rec); +/* Complete polling previously started with fd_begin_poll + MUST NOT be called with a pollset lock taken + if got_read or got_write are 1, also does the become_{readable,writable} as + appropriate. */ +static void fd_end_poll(grpc_exec_ctx *exec_ctx, grpc_fd_watcher *rec, + int got_read, int got_write); + +/* Return 1 if this fd is orphaned, 0 otherwise */ +static bool fd_is_orphaned(grpc_fd *fd); + +/* Reference counting for fds */ +/*#define GRPC_FD_REF_COUNT_DEBUG*/ +#ifdef GRPC_FD_REF_COUNT_DEBUG +static void fd_ref(grpc_fd *fd, const char *reason, const char *file, int line); +static void fd_unref(grpc_fd *fd, const char *reason, const char *file, + int line); +#define GRPC_FD_REF(fd, reason) fd_ref(fd, reason, __FILE__, __LINE__) +#define GRPC_FD_UNREF(fd, reason) fd_unref(fd, reason, __FILE__, __LINE__) +#else +static void fd_ref(grpc_fd *fd); +static void fd_unref(grpc_fd *fd); +#define GRPC_FD_REF(fd, reason) fd_ref(fd) +#define GRPC_FD_UNREF(fd, reason) fd_unref(fd) +#endif + +static void fd_global_init(void); +static void fd_global_shutdown(void); + +#define CLOSURE_NOT_READY ((grpc_closure *)0) +#define CLOSURE_READY ((grpc_closure *)1) + +/******************************************************************************* + * pollset declarations + */ + +typedef struct grpc_pollset_vtable grpc_pollset_vtable; + +typedef struct grpc_cached_wakeup_fd { + grpc_wakeup_fd fd; + struct grpc_cached_wakeup_fd *next; +} grpc_cached_wakeup_fd; + +struct grpc_pollset_worker { + grpc_cached_wakeup_fd *wakeup_fd; + int reevaluate_polling_on_wakeup; + int kicked_specifically; + struct grpc_pollset_worker *next; + struct grpc_pollset_worker *prev; +}; + +struct grpc_pollset { + /* pollsets under posix can mutate representation as fds are added and + removed. + For example, we may choose a poll() based implementation on linux for + few fds, and an epoll() based implementation for many fds */ + const grpc_pollset_vtable *vtable; + gpr_mu mu; + grpc_pollset_worker root_worker; + int in_flight_cbs; + int shutting_down; + int called_shutdown; + int kicked_without_pollers; + grpc_closure *shutdown_done; + grpc_closure_list idle_jobs; + union { + int fd; + void *ptr; + } data; + /* Local cache of eventfds for workers */ + grpc_cached_wakeup_fd *local_wakeup_cache; +}; + +struct grpc_pollset_vtable { + void (*add_fd)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + struct grpc_fd *fd, int and_unlock_pollset); + void (*maybe_work_and_unlock)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + grpc_pollset_worker *worker, + gpr_timespec deadline, gpr_timespec now); + void (*finish_shutdown)(grpc_pollset *pollset); + void (*destroy)(grpc_pollset *pollset); +}; + +/* Add an fd to a pollset */ +static void pollset_add_fd(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + struct grpc_fd *fd); + +static void pollset_set_add_fd(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, grpc_fd *fd); + +/* Convert a timespec to milliseconds: + - very small or negative poll times are clamped to zero to do a + non-blocking poll (which becomes spin polling) + - other small values are rounded up to one millisecond + - longer than a millisecond polls are rounded up to the next nearest + millisecond to avoid spinning + - infinite timeouts are converted to -1 */ +static int poll_deadline_to_millis_timeout(gpr_timespec deadline, + gpr_timespec now); + +/* Allow kick to wakeup the currently polling worker */ +#define GRPC_POLLSET_CAN_KICK_SELF 1 +/* Force the wakee to repoll when awoken */ +#define GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP 2 +/* As per pollset_kick, with an extended set of flags (defined above) + -- mostly for fd_posix's use. */ +static void pollset_kick_ext(grpc_pollset *p, + grpc_pollset_worker *specific_worker, + uint32_t flags); + +/* turn a pollset into a multipoller: platform specific */ +typedef void (*platform_become_multipoller_type)(grpc_exec_ctx *exec_ctx, + grpc_pollset *pollset, + struct grpc_fd **fds, + size_t fd_count); +static platform_become_multipoller_type platform_become_multipoller; + +/* Return 1 if the pollset has active threads in pollset_work (pollset must + * be locked) */ +static int pollset_has_workers(grpc_pollset *pollset); + +static void remove_fd_from_all_epoll_sets(int fd); + +/******************************************************************************* + * pollset_set definitions + */ + +struct grpc_pollset_set { + gpr_mu mu; + + size_t pollset_count; + size_t pollset_capacity; + grpc_pollset **pollsets; + + size_t pollset_set_count; + size_t pollset_set_capacity; + struct grpc_pollset_set **pollset_sets; + + size_t fd_count; + size_t fd_capacity; + grpc_fd **fds; +}; + +/******************************************************************************* + * fd_posix.c + */ + +/* We need to keep a freelist not because of any concerns of malloc performance + * but instead so that implementations with multiple threads in (for example) + * epoll_wait deal with the race between pollset removal and incoming poll + * notifications. + * + * The problem is that the poller ultimately holds a reference to this + * object, so it is very difficult to know when is safe to free it, at least + * without some expensive synchronization. + * + * If we keep the object freelisted, in the worst case losing this race just + * becomes a spurious read notification on a reused fd. + */ +/* TODO(klempner): We could use some form of polling generation count to know + * when these are safe to free. */ +/* TODO(klempner): Consider disabling freelisting if we don't have multiple + * threads in poll on the same fd */ +/* TODO(klempner): Batch these allocations to reduce fragmentation */ +static grpc_fd *fd_freelist = NULL; +static gpr_mu fd_freelist_mu; + +static void freelist_fd(grpc_fd *fd) { + gpr_mu_lock(&fd_freelist_mu); + fd->freelist_next = fd_freelist; + fd_freelist = fd; + grpc_iomgr_unregister_object(&fd->iomgr_object); + gpr_mu_unlock(&fd_freelist_mu); +} + +static grpc_fd *alloc_fd(int fd) { + grpc_fd *r = NULL; + gpr_mu_lock(&fd_freelist_mu); + if (fd_freelist != NULL) { + r = fd_freelist; + fd_freelist = fd_freelist->freelist_next; + } + gpr_mu_unlock(&fd_freelist_mu); + if (r == NULL) { + r = gpr_malloc(sizeof(grpc_fd)); + gpr_mu_init(&r->mu); + } + + gpr_mu_lock(&r->mu); + gpr_atm_rel_store(&r->refst, 1); + r->shutdown = 0; + r->read_closure = CLOSURE_NOT_READY; + r->write_closure = CLOSURE_NOT_READY; + r->fd = fd; + r->inactive_watcher_root.next = r->inactive_watcher_root.prev = + &r->inactive_watcher_root; + r->freelist_next = NULL; + r->read_watcher = r->write_watcher = NULL; + r->on_done_closure = NULL; + r->closed = 0; + r->released = 0; + gpr_mu_unlock(&r->mu); + return r; +} + +static void destroy(grpc_fd *fd) { + gpr_mu_destroy(&fd->mu); + gpr_free(fd); +} + +#ifdef GRPC_FD_REF_COUNT_DEBUG +#define REF_BY(fd, n, reason) ref_by(fd, n, reason, __FILE__, __LINE__) +#define UNREF_BY(fd, n, reason) unref_by(fd, n, reason, __FILE__, __LINE__) +static void ref_by(grpc_fd *fd, int n, const char *reason, const char *file, + int line) { + gpr_log(GPR_DEBUG, "FD %d %p ref %d %d -> %d [%s; %s:%d]", fd->fd, fd, n, + gpr_atm_no_barrier_load(&fd->refst), + gpr_atm_no_barrier_load(&fd->refst) + n, reason, file, line); +#else +#define REF_BY(fd, n, reason) ref_by(fd, n) +#define UNREF_BY(fd, n, reason) unref_by(fd, n) +static void ref_by(grpc_fd *fd, int n) { +#endif + GPR_ASSERT(gpr_atm_no_barrier_fetch_add(&fd->refst, n) > 0); +} + +#ifdef GRPC_FD_REF_COUNT_DEBUG +static void unref_by(grpc_fd *fd, int n, const char *reason, const char *file, + int line) { + gpr_atm old; + gpr_log(GPR_DEBUG, "FD %d %p unref %d %d -> %d [%s; %s:%d]", fd->fd, fd, n, + gpr_atm_no_barrier_load(&fd->refst), + gpr_atm_no_barrier_load(&fd->refst) - n, reason, file, line); +#else +static void unref_by(grpc_fd *fd, int n) { + gpr_atm old; +#endif + old = gpr_atm_full_fetch_add(&fd->refst, -n); + if (old == n) { + freelist_fd(fd); + } else { + GPR_ASSERT(old > n); + } +} + +static void fd_global_init(void) { gpr_mu_init(&fd_freelist_mu); } + +static void fd_global_shutdown(void) { + gpr_mu_lock(&fd_freelist_mu); + gpr_mu_unlock(&fd_freelist_mu); + while (fd_freelist != NULL) { + grpc_fd *fd = fd_freelist; + fd_freelist = fd_freelist->freelist_next; + destroy(fd); + } + gpr_mu_destroy(&fd_freelist_mu); +} + +static grpc_fd *fd_create(int fd, const char *name) { + grpc_fd *r = alloc_fd(fd); + char *name2; + gpr_asprintf(&name2, "%s fd=%d", name, fd); + grpc_iomgr_register_object(&r->iomgr_object, name2); + gpr_free(name2); +#ifdef GRPC_FD_REF_COUNT_DEBUG + gpr_log(GPR_DEBUG, "FD %d %p create %s", fd, r, name); +#endif + return r; +} + +static bool fd_is_orphaned(grpc_fd *fd) { + return (gpr_atm_acq_load(&fd->refst) & 1) == 0; +} + +static void pollset_kick_locked(grpc_fd_watcher *watcher) { + gpr_mu_lock(&watcher->pollset->mu); + GPR_ASSERT(watcher->worker); + pollset_kick_ext(watcher->pollset, watcher->worker, + GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP); + gpr_mu_unlock(&watcher->pollset->mu); +} + +static void maybe_wake_one_watcher_locked(grpc_fd *fd) { + if (fd->inactive_watcher_root.next != &fd->inactive_watcher_root) { + pollset_kick_locked(fd->inactive_watcher_root.next); + } else if (fd->read_watcher) { + pollset_kick_locked(fd->read_watcher); + } else if (fd->write_watcher) { + pollset_kick_locked(fd->write_watcher); + } +} + +static void wake_all_watchers_locked(grpc_fd *fd) { + grpc_fd_watcher *watcher; + for (watcher = fd->inactive_watcher_root.next; + watcher != &fd->inactive_watcher_root; watcher = watcher->next) { + pollset_kick_locked(watcher); + } + if (fd->read_watcher) { + pollset_kick_locked(fd->read_watcher); + } + if (fd->write_watcher && fd->write_watcher != fd->read_watcher) { + pollset_kick_locked(fd->write_watcher); + } +} + +static int has_watchers(grpc_fd *fd) { + return fd->read_watcher != NULL || fd->write_watcher != NULL || + fd->inactive_watcher_root.next != &fd->inactive_watcher_root; +} + +static void close_fd_locked(grpc_exec_ctx *exec_ctx, grpc_fd *fd) { + fd->closed = 1; + if (!fd->released) { + close(fd->fd); + } else { + remove_fd_from_all_epoll_sets(fd->fd); + } + grpc_exec_ctx_enqueue(exec_ctx, fd->on_done_closure, true, NULL); +} + +static int fd_wrapped_fd(grpc_fd *fd) { + if (fd->released || fd->closed) { + return -1; + } else { + return fd->fd; + } +} + +static void fd_orphan(grpc_exec_ctx *exec_ctx, grpc_fd *fd, + grpc_closure *on_done, int *release_fd, + const char *reason) { + fd->on_done_closure = on_done; + fd->released = release_fd != NULL; + if (!fd->released) { + shutdown(fd->fd, SHUT_RDWR); + } else { + *release_fd = fd->fd; + } + gpr_mu_lock(&fd->mu); + REF_BY(fd, 1, reason); /* remove active status, but keep referenced */ + if (!has_watchers(fd)) { + close_fd_locked(exec_ctx, fd); + } else { + wake_all_watchers_locked(fd); + } + gpr_mu_unlock(&fd->mu); + UNREF_BY(fd, 2, reason); /* drop the reference */ +} + +/* increment refcount by two to avoid changing the orphan bit */ +#ifdef GRPC_FD_REF_COUNT_DEBUG +static void fd_ref(grpc_fd *fd, const char *reason, const char *file, + int line) { + ref_by(fd, 2, reason, file, line); +} + +static void fd_unref(grpc_fd *fd, const char *reason, const char *file, + int line) { + unref_by(fd, 2, reason, file, line); +} +#else +static void fd_ref(grpc_fd *fd) { ref_by(fd, 2); } + +static void fd_unref(grpc_fd *fd) { unref_by(fd, 2); } +#endif + +static void notify_on_locked(grpc_exec_ctx *exec_ctx, grpc_fd *fd, + grpc_closure **st, grpc_closure *closure) { + if (*st == CLOSURE_NOT_READY) { + /* not ready ==> switch to a waiting state by setting the closure */ + *st = closure; + } else if (*st == CLOSURE_READY) { + /* already ready ==> queue the closure to run immediately */ + *st = CLOSURE_NOT_READY; + grpc_exec_ctx_enqueue(exec_ctx, closure, !fd->shutdown, NULL); + maybe_wake_one_watcher_locked(fd); + } else { + /* upcallptr was set to a different closure. This is an error! */ + gpr_log(GPR_ERROR, + "User called a notify_on function with a previous callback still " + "pending"); + abort(); + } +} + +/* returns 1 if state becomes not ready */ +static int set_ready_locked(grpc_exec_ctx *exec_ctx, grpc_fd *fd, + grpc_closure **st) { + if (*st == CLOSURE_READY) { + /* duplicate ready ==> ignore */ + return 0; + } else if (*st == CLOSURE_NOT_READY) { + /* not ready, and not waiting ==> flag ready */ + *st = CLOSURE_READY; + return 0; + } else { + /* waiting ==> queue closure */ + grpc_exec_ctx_enqueue(exec_ctx, *st, !fd->shutdown, NULL); + *st = CLOSURE_NOT_READY; + return 1; + } +} + +static void fd_shutdown(grpc_exec_ctx *exec_ctx, grpc_fd *fd) { + gpr_mu_lock(&fd->mu); + GPR_ASSERT(!fd->shutdown); + fd->shutdown = 1; + set_ready_locked(exec_ctx, fd, &fd->read_closure); + set_ready_locked(exec_ctx, fd, &fd->write_closure); + gpr_mu_unlock(&fd->mu); +} + +static void fd_notify_on_read(grpc_exec_ctx *exec_ctx, grpc_fd *fd, + grpc_closure *closure) { + gpr_mu_lock(&fd->mu); + notify_on_locked(exec_ctx, fd, &fd->read_closure, closure); + gpr_mu_unlock(&fd->mu); +} + +static void fd_notify_on_write(grpc_exec_ctx *exec_ctx, grpc_fd *fd, + grpc_closure *closure) { + gpr_mu_lock(&fd->mu); + notify_on_locked(exec_ctx, fd, &fd->write_closure, closure); + gpr_mu_unlock(&fd->mu); +} + +static uint32_t fd_begin_poll(grpc_fd *fd, grpc_pollset *pollset, + grpc_pollset_worker *worker, uint32_t read_mask, + uint32_t write_mask, grpc_fd_watcher *watcher) { + uint32_t mask = 0; + grpc_closure *cur; + int requested; + /* keep track of pollers that have requested our events, in case they change + */ + GRPC_FD_REF(fd, "poll"); + + gpr_mu_lock(&fd->mu); + + /* if we are shutdown, then don't add to the watcher set */ + if (fd->shutdown) { + watcher->fd = NULL; + watcher->pollset = NULL; + watcher->worker = NULL; + gpr_mu_unlock(&fd->mu); + GRPC_FD_UNREF(fd, "poll"); + return 0; + } + + /* if there is nobody polling for read, but we need to, then start doing so */ + cur = fd->read_closure; + requested = cur != CLOSURE_READY; + if (read_mask && fd->read_watcher == NULL && requested) { + fd->read_watcher = watcher; + mask |= read_mask; + } + /* if there is nobody polling for write, but we need to, then start doing so + */ + cur = fd->write_closure; + requested = cur != CLOSURE_READY; + if (write_mask && fd->write_watcher == NULL && requested) { + fd->write_watcher = watcher; + mask |= write_mask; + } + /* if not polling, remember this watcher in case we need someone to later */ + if (mask == 0 && worker != NULL) { + watcher->next = &fd->inactive_watcher_root; + watcher->prev = watcher->next->prev; + watcher->next->prev = watcher->prev->next = watcher; + } + watcher->pollset = pollset; + watcher->worker = worker; + watcher->fd = fd; + gpr_mu_unlock(&fd->mu); + + return mask; +} + +static void fd_end_poll(grpc_exec_ctx *exec_ctx, grpc_fd_watcher *watcher, + int got_read, int got_write) { + int was_polling = 0; + int kick = 0; + grpc_fd *fd = watcher->fd; + + if (fd == NULL) { + return; + } + + gpr_mu_lock(&fd->mu); + + if (watcher == fd->read_watcher) { + /* remove read watcher, kick if we still need a read */ + was_polling = 1; + if (!got_read) { + kick = 1; + } + fd->read_watcher = NULL; + } + if (watcher == fd->write_watcher) { + /* remove write watcher, kick if we still need a write */ + was_polling = 1; + if (!got_write) { + kick = 1; + } + fd->write_watcher = NULL; + } + if (!was_polling && watcher->worker != NULL) { + /* remove from inactive list */ + watcher->next->prev = watcher->prev; + watcher->prev->next = watcher->next; + } + if (got_read) { + if (set_ready_locked(exec_ctx, fd, &fd->read_closure)) { + kick = 1; + } + } + if (got_write) { + if (set_ready_locked(exec_ctx, fd, &fd->write_closure)) { + kick = 1; + } + } + if (kick) { + maybe_wake_one_watcher_locked(fd); + } + if (fd_is_orphaned(fd) && !has_watchers(fd) && !fd->closed) { + close_fd_locked(exec_ctx, fd); + } + gpr_mu_unlock(&fd->mu); + + GRPC_FD_UNREF(fd, "poll"); +} + +/******************************************************************************* + * pollset_posix.c + */ + +GPR_TLS_DECL(g_current_thread_poller); +GPR_TLS_DECL(g_current_thread_worker); + +/** The alarm system needs to be able to wakeup 'some poller' sometimes + * (specifically when a new alarm needs to be triggered earlier than the next + * alarm 'epoch'). + * This wakeup_fd gives us something to alert on when such a case occurs. */ +grpc_wakeup_fd grpc_global_wakeup_fd; + +static void remove_worker(grpc_pollset *p, grpc_pollset_worker *worker) { + worker->prev->next = worker->next; + worker->next->prev = worker->prev; +} + +static int pollset_has_workers(grpc_pollset *p) { + return p->root_worker.next != &p->root_worker; +} + +static grpc_pollset_worker *pop_front_worker(grpc_pollset *p) { + if (pollset_has_workers(p)) { + grpc_pollset_worker *w = p->root_worker.next; + remove_worker(p, w); + return w; + } else { + return NULL; + } +} + +static void push_back_worker(grpc_pollset *p, grpc_pollset_worker *worker) { + worker->next = &p->root_worker; + worker->prev = worker->next->prev; + worker->prev->next = worker->next->prev = worker; +} + +static void push_front_worker(grpc_pollset *p, grpc_pollset_worker *worker) { + worker->prev = &p->root_worker; + worker->next = worker->prev->next; + worker->prev->next = worker->next->prev = worker; +} + +static void pollset_kick_ext(grpc_pollset *p, + grpc_pollset_worker *specific_worker, + uint32_t flags) { + GPR_TIMER_BEGIN("pollset_kick_ext", 0); + + /* pollset->mu already held */ + if (specific_worker != NULL) { + if (specific_worker == GRPC_POLLSET_KICK_BROADCAST) { + GPR_TIMER_BEGIN("pollset_kick_ext.broadcast", 0); + GPR_ASSERT((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) == 0); + for (specific_worker = p->root_worker.next; + specific_worker != &p->root_worker; + specific_worker = specific_worker->next) { + grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd); + } + p->kicked_without_pollers = 1; + GPR_TIMER_END("pollset_kick_ext.broadcast", 0); + } else if (gpr_tls_get(&g_current_thread_worker) != + (intptr_t)specific_worker) { + GPR_TIMER_MARK("different_thread_worker", 0); + if ((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) != 0) { + specific_worker->reevaluate_polling_on_wakeup = 1; + } + specific_worker->kicked_specifically = 1; + grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd); + } else if ((flags & GRPC_POLLSET_CAN_KICK_SELF) != 0) { + GPR_TIMER_MARK("kick_yoself", 0); + if ((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) != 0) { + specific_worker->reevaluate_polling_on_wakeup = 1; + } + specific_worker->kicked_specifically = 1; + grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd); + } + } else if (gpr_tls_get(&g_current_thread_poller) != (intptr_t)p) { + GPR_ASSERT((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) == 0); + GPR_TIMER_MARK("kick_anonymous", 0); + specific_worker = pop_front_worker(p); + if (specific_worker != NULL) { + if (gpr_tls_get(&g_current_thread_worker) == (intptr_t)specific_worker) { + GPR_TIMER_MARK("kick_anonymous_not_self", 0); + push_back_worker(p, specific_worker); + specific_worker = pop_front_worker(p); + if ((flags & GRPC_POLLSET_CAN_KICK_SELF) == 0 && + gpr_tls_get(&g_current_thread_worker) == + (intptr_t)specific_worker) { + push_back_worker(p, specific_worker); + specific_worker = NULL; + } + } + if (specific_worker != NULL) { + GPR_TIMER_MARK("finally_kick", 0); + push_back_worker(p, specific_worker); + grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd); + } + } else { + GPR_TIMER_MARK("kicked_no_pollers", 0); + p->kicked_without_pollers = 1; + } + } + + GPR_TIMER_END("pollset_kick_ext", 0); +} + +static void pollset_kick(grpc_pollset *p, + grpc_pollset_worker *specific_worker) { + pollset_kick_ext(p, specific_worker, 0); +} + +/* global state management */ + +static void pollset_global_init(void) { + gpr_tls_init(&g_current_thread_poller); + gpr_tls_init(&g_current_thread_worker); + grpc_wakeup_fd_global_init(); + grpc_wakeup_fd_init(&grpc_global_wakeup_fd); +} + +static void pollset_global_shutdown(void) { + grpc_wakeup_fd_destroy(&grpc_global_wakeup_fd); + gpr_tls_destroy(&g_current_thread_poller); + gpr_tls_destroy(&g_current_thread_worker); + grpc_wakeup_fd_global_destroy(); +} + +static void kick_poller(void) { grpc_wakeup_fd_wakeup(&grpc_global_wakeup_fd); } + +/* main interface */ + +static void become_basic_pollset(grpc_pollset *pollset, grpc_fd *fd_or_null); + +static void pollset_init(grpc_pollset *pollset, gpr_mu **mu) { + gpr_mu_init(&pollset->mu); + *mu = &pollset->mu; + pollset->root_worker.next = pollset->root_worker.prev = &pollset->root_worker; + pollset->in_flight_cbs = 0; + pollset->shutting_down = 0; + pollset->called_shutdown = 0; + pollset->kicked_without_pollers = 0; + pollset->idle_jobs.head = pollset->idle_jobs.tail = NULL; + pollset->local_wakeup_cache = NULL; + pollset->kicked_without_pollers = 0; + become_basic_pollset(pollset, NULL); +} + +static void pollset_destroy(grpc_pollset *pollset) { + GPR_ASSERT(pollset->in_flight_cbs == 0); + GPR_ASSERT(!pollset_has_workers(pollset)); + GPR_ASSERT(pollset->idle_jobs.head == pollset->idle_jobs.tail); + pollset->vtable->destroy(pollset); + while (pollset->local_wakeup_cache) { + grpc_cached_wakeup_fd *next = pollset->local_wakeup_cache->next; + grpc_wakeup_fd_destroy(&pollset->local_wakeup_cache->fd); + gpr_free(pollset->local_wakeup_cache); + pollset->local_wakeup_cache = next; + } + gpr_mu_destroy(&pollset->mu); +} + +static void pollset_reset(grpc_pollset *pollset) { + GPR_ASSERT(pollset->shutting_down); + GPR_ASSERT(pollset->in_flight_cbs == 0); + GPR_ASSERT(!pollset_has_workers(pollset)); + GPR_ASSERT(pollset->idle_jobs.head == pollset->idle_jobs.tail); + pollset->vtable->destroy(pollset); + pollset->shutting_down = 0; + pollset->called_shutdown = 0; + pollset->kicked_without_pollers = 0; + become_basic_pollset(pollset, NULL); +} + +static void pollset_add_fd(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + grpc_fd *fd) { + gpr_mu_lock(&pollset->mu); + pollset->vtable->add_fd(exec_ctx, pollset, fd, 1); +/* the following (enabled only in debug) will reacquire and then release + our lock - meaning that if the unlocking flag passed to add_fd above is + not respected, the code will deadlock (in a way that we have a chance of + debugging) */ +#ifndef NDEBUG + gpr_mu_lock(&pollset->mu); + gpr_mu_unlock(&pollset->mu); +#endif +} + +static void finish_shutdown(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset) { + GPR_ASSERT(grpc_closure_list_empty(pollset->idle_jobs)); + pollset->vtable->finish_shutdown(pollset); + grpc_exec_ctx_enqueue(exec_ctx, pollset->shutdown_done, true, NULL); +} + +static void pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + grpc_pollset_worker **worker_hdl, gpr_timespec now, + gpr_timespec deadline) { + grpc_pollset_worker worker; + *worker_hdl = &worker; + + /* pollset->mu already held */ + int added_worker = 0; + int locked = 1; + int queued_work = 0; + int keep_polling = 0; + GPR_TIMER_BEGIN("pollset_work", 0); + /* this must happen before we (potentially) drop pollset->mu */ + worker.next = worker.prev = NULL; + worker.reevaluate_polling_on_wakeup = 0; + if (pollset->local_wakeup_cache != NULL) { + worker.wakeup_fd = pollset->local_wakeup_cache; + pollset->local_wakeup_cache = worker.wakeup_fd->next; + } else { + worker.wakeup_fd = gpr_malloc(sizeof(*worker.wakeup_fd)); + grpc_wakeup_fd_init(&worker.wakeup_fd->fd); + } + worker.kicked_specifically = 0; + /* If there's work waiting for the pollset to be idle, and the + pollset is idle, then do that work */ + if (!pollset_has_workers(pollset) && + !grpc_closure_list_empty(pollset->idle_jobs)) { + GPR_TIMER_MARK("pollset_work.idle_jobs", 0); + grpc_exec_ctx_enqueue_list(exec_ctx, &pollset->idle_jobs, NULL); + goto done; + } + /* If we're shutting down then we don't execute any extended work */ + if (pollset->shutting_down) { + GPR_TIMER_MARK("pollset_work.shutting_down", 0); + goto done; + } + /* Give do_promote priority so we don't starve it out */ + if (pollset->in_flight_cbs) { + GPR_TIMER_MARK("pollset_work.in_flight_cbs", 0); + gpr_mu_unlock(&pollset->mu); + locked = 0; + goto done; + } + /* Start polling, and keep doing so while we're being asked to + re-evaluate our pollers (this allows poll() based pollers to + ensure they don't miss wakeups) */ + keep_polling = 1; + while (keep_polling) { + keep_polling = 0; + if (!pollset->kicked_without_pollers) { + if (!added_worker) { + push_front_worker(pollset, &worker); + added_worker = 1; + gpr_tls_set(&g_current_thread_worker, (intptr_t)&worker); + } + gpr_tls_set(&g_current_thread_poller, (intptr_t)pollset); + GPR_TIMER_BEGIN("maybe_work_and_unlock", 0); + pollset->vtable->maybe_work_and_unlock(exec_ctx, pollset, &worker, + deadline, now); + GPR_TIMER_END("maybe_work_and_unlock", 0); + locked = 0; + gpr_tls_set(&g_current_thread_poller, 0); + } else { + GPR_TIMER_MARK("pollset_work.kicked_without_pollers", 0); + pollset->kicked_without_pollers = 0; + } + /* Finished execution - start cleaning up. + Note that we may arrive here from outside the enclosing while() loop. + In that case we won't loop though as we haven't added worker to the + worker list, which means nobody could ask us to re-evaluate polling). */ + done: + if (!locked) { + queued_work |= grpc_exec_ctx_flush(exec_ctx); + gpr_mu_lock(&pollset->mu); + locked = 1; + } + /* If we're forced to re-evaluate polling (via pollset_kick with + GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) then we land here and force + a loop */ + if (worker.reevaluate_polling_on_wakeup) { + worker.reevaluate_polling_on_wakeup = 0; + pollset->kicked_without_pollers = 0; + if (queued_work || worker.kicked_specifically) { + /* If there's queued work on the list, then set the deadline to be + immediate so we get back out of the polling loop quickly */ + deadline = gpr_inf_past(GPR_CLOCK_MONOTONIC); + } + keep_polling = 1; + } + } + if (added_worker) { + remove_worker(pollset, &worker); + gpr_tls_set(&g_current_thread_worker, 0); + } + /* release wakeup fd to the local pool */ + worker.wakeup_fd->next = pollset->local_wakeup_cache; + pollset->local_wakeup_cache = worker.wakeup_fd; + /* check shutdown conditions */ + if (pollset->shutting_down) { + if (pollset_has_workers(pollset)) { + pollset_kick(pollset, NULL); + } else if (!pollset->called_shutdown && pollset->in_flight_cbs == 0) { + pollset->called_shutdown = 1; + gpr_mu_unlock(&pollset->mu); + finish_shutdown(exec_ctx, pollset); + grpc_exec_ctx_flush(exec_ctx); + /* Continuing to access pollset here is safe -- it is the caller's + * responsibility to not destroy when it has outstanding calls to + * pollset_work. + * TODO(dklempner): Can we refactor the shutdown logic to avoid this? */ + gpr_mu_lock(&pollset->mu); + } else if (!grpc_closure_list_empty(pollset->idle_jobs)) { + grpc_exec_ctx_enqueue_list(exec_ctx, &pollset->idle_jobs, NULL); + gpr_mu_unlock(&pollset->mu); + grpc_exec_ctx_flush(exec_ctx); + gpr_mu_lock(&pollset->mu); + } + } + *worker_hdl = NULL; + GPR_TIMER_END("pollset_work", 0); +} + +static void pollset_shutdown(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + grpc_closure *closure) { + GPR_ASSERT(!pollset->shutting_down); + pollset->shutting_down = 1; + pollset->shutdown_done = closure; + pollset_kick(pollset, GRPC_POLLSET_KICK_BROADCAST); + if (!pollset_has_workers(pollset)) { + grpc_exec_ctx_enqueue_list(exec_ctx, &pollset->idle_jobs, NULL); + } + if (!pollset->called_shutdown && pollset->in_flight_cbs == 0 && + !pollset_has_workers(pollset)) { + pollset->called_shutdown = 1; + finish_shutdown(exec_ctx, pollset); + } +} + +static int poll_deadline_to_millis_timeout(gpr_timespec deadline, + gpr_timespec now) { + gpr_timespec timeout; + static const int64_t max_spin_polling_us = 10; + if (gpr_time_cmp(deadline, gpr_inf_future(deadline.clock_type)) == 0) { + return -1; + } + if (gpr_time_cmp(deadline, gpr_time_add(now, gpr_time_from_micros( + max_spin_polling_us, + GPR_TIMESPAN))) <= 0) { + return 0; + } + timeout = gpr_time_sub(deadline, now); + return gpr_time_to_millis(gpr_time_add( + timeout, gpr_time_from_nanos(GPR_NS_PER_MS - 1, GPR_TIMESPAN))); +} + +/* + * basic_pollset - a vtable that provides polling for zero or one file + * descriptor via poll() + */ + +typedef struct grpc_unary_promote_args { + const grpc_pollset_vtable *original_vtable; + grpc_pollset *pollset; + grpc_fd *fd; + grpc_closure promotion_closure; +} grpc_unary_promote_args; + +static void basic_do_promote(grpc_exec_ctx *exec_ctx, void *args, + bool success) { + grpc_unary_promote_args *up_args = args; + const grpc_pollset_vtable *original_vtable = up_args->original_vtable; + grpc_pollset *pollset = up_args->pollset; + grpc_fd *fd = up_args->fd; + + /* + * This is quite tricky. There are a number of cases to keep in mind here: + * 1. fd may have been orphaned + * 2. The pollset may no longer be a unary poller (and we can't let case #1 + * leak to other pollset types!) + * 3. pollset's fd (which may have changed) may have been orphaned + * 4. The pollset may be shutting down. + */ + + gpr_mu_lock(&pollset->mu); + /* First we need to ensure that nobody is polling concurrently */ + GPR_ASSERT(!pollset_has_workers(pollset)); + + gpr_free(up_args); + /* At this point the pollset may no longer be a unary poller. In that case + * we should just call the right add function and be done. */ + /* TODO(klempner): If we're not careful this could cause infinite recursion. + * That's not a problem for now because empty_pollset has a trivial poller + * and we don't have any mechanism to unbecome multipoller. */ + pollset->in_flight_cbs--; + if (pollset->shutting_down) { + /* We don't care about this pollset anymore. */ + if (pollset->in_flight_cbs == 0 && !pollset->called_shutdown) { + pollset->called_shutdown = 1; + finish_shutdown(exec_ctx, pollset); + } + } else if (fd_is_orphaned(fd)) { + /* Don't try to add it to anything, we'll drop our ref on it below */ + } else if (pollset->vtable != original_vtable) { + pollset->vtable->add_fd(exec_ctx, pollset, fd, 0); + } else if (fd != pollset->data.ptr) { + grpc_fd *fds[2]; + fds[0] = pollset->data.ptr; + fds[1] = fd; + + if (fds[0] && !fd_is_orphaned(fds[0])) { + platform_become_multipoller(exec_ctx, pollset, fds, GPR_ARRAY_SIZE(fds)); + GRPC_FD_UNREF(fds[0], "basicpoll"); + } else { + /* old fd is orphaned and we haven't cleaned it up until now, so remain a + * unary poller */ + /* Note that it is possible that fds[1] is also orphaned at this point. + * That's okay, we'll correct it at the next add or poll. */ + if (fds[0]) GRPC_FD_UNREF(fds[0], "basicpoll"); + pollset->data.ptr = fd; + GRPC_FD_REF(fd, "basicpoll"); + } + } + + gpr_mu_unlock(&pollset->mu); + + /* Matching ref in basic_pollset_add_fd */ + GRPC_FD_UNREF(fd, "basicpoll_add"); +} + +static void basic_pollset_add_fd(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + grpc_fd *fd, int and_unlock_pollset) { + grpc_unary_promote_args *up_args; + GPR_ASSERT(fd); + if (fd == pollset->data.ptr) goto exit; + + if (!pollset_has_workers(pollset)) { + /* Fast path -- no in flight cbs */ + /* TODO(klempner): Comment this out and fix any test failures or establish + * they are due to timing issues */ + grpc_fd *fds[2]; + fds[0] = pollset->data.ptr; + fds[1] = fd; + + if (fds[0] == NULL) { + pollset->data.ptr = fd; + GRPC_FD_REF(fd, "basicpoll"); + } else if (!fd_is_orphaned(fds[0])) { + platform_become_multipoller(exec_ctx, pollset, fds, GPR_ARRAY_SIZE(fds)); + GRPC_FD_UNREF(fds[0], "basicpoll"); + } else { + /* old fd is orphaned and we haven't cleaned it up until now, so remain a + * unary poller */ + GRPC_FD_UNREF(fds[0], "basicpoll"); + pollset->data.ptr = fd; + GRPC_FD_REF(fd, "basicpoll"); + } + goto exit; + } + + /* Now we need to promote. This needs to happen when we're not polling. Since + * this may be called from poll, the wait needs to happen asynchronously. */ + GRPC_FD_REF(fd, "basicpoll_add"); + pollset->in_flight_cbs++; + up_args = gpr_malloc(sizeof(*up_args)); + up_args->fd = fd; + up_args->original_vtable = pollset->vtable; + up_args->pollset = pollset; + up_args->promotion_closure.cb = basic_do_promote; + up_args->promotion_closure.cb_arg = up_args; + + grpc_closure_list_add(&pollset->idle_jobs, &up_args->promotion_closure, 1); + pollset_kick(pollset, GRPC_POLLSET_KICK_BROADCAST); + +exit: + if (and_unlock_pollset) { + gpr_mu_unlock(&pollset->mu); + } +} + +static void basic_pollset_maybe_work_and_unlock(grpc_exec_ctx *exec_ctx, + grpc_pollset *pollset, + grpc_pollset_worker *worker, + gpr_timespec deadline, + gpr_timespec now) { +#define POLLOUT_CHECK (POLLOUT | POLLHUP | POLLERR) +#define POLLIN_CHECK (POLLIN | POLLHUP | POLLERR) + + struct pollfd pfd[3]; + grpc_fd *fd; + grpc_fd_watcher fd_watcher; + int timeout; + int r; + nfds_t nfds; + + fd = pollset->data.ptr; + if (fd && fd_is_orphaned(fd)) { + GRPC_FD_UNREF(fd, "basicpoll"); + fd = pollset->data.ptr = NULL; + } + timeout = poll_deadline_to_millis_timeout(deadline, now); + pfd[0].fd = GRPC_WAKEUP_FD_GET_READ_FD(&grpc_global_wakeup_fd); + pfd[0].events = POLLIN; + pfd[0].revents = 0; + pfd[1].fd = GRPC_WAKEUP_FD_GET_READ_FD(&worker->wakeup_fd->fd); + pfd[1].events = POLLIN; + pfd[1].revents = 0; + nfds = 2; + if (fd) { + pfd[2].fd = fd->fd; + pfd[2].revents = 0; + GRPC_FD_REF(fd, "basicpoll_begin"); + gpr_mu_unlock(&pollset->mu); + pfd[2].events = + (short)fd_begin_poll(fd, pollset, worker, POLLIN, POLLOUT, &fd_watcher); + if (pfd[2].events != 0) { + nfds++; + } + } else { + gpr_mu_unlock(&pollset->mu); + } + + /* TODO(vpai): Consider first doing a 0 timeout poll here to avoid + even going into the blocking annotation if possible */ + /* poll fd count (argument 2) is shortened by one if we have no events + to poll on - such that it only includes the kicker */ + GPR_TIMER_BEGIN("poll", 0); + GRPC_SCHEDULING_START_BLOCKING_REGION; + r = grpc_poll_function(pfd, nfds, timeout); + GRPC_SCHEDULING_END_BLOCKING_REGION; + GPR_TIMER_END("poll", 0); + + if (r < 0) { + if (errno != EINTR) { + gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno)); + } + if (fd) { + fd_end_poll(exec_ctx, &fd_watcher, 0, 0); + } + } else if (r == 0) { + if (fd) { + fd_end_poll(exec_ctx, &fd_watcher, 0, 0); + } + } else { + if (pfd[0].revents & POLLIN_CHECK) { + grpc_wakeup_fd_consume_wakeup(&grpc_global_wakeup_fd); + } + if (pfd[1].revents & POLLIN_CHECK) { + grpc_wakeup_fd_consume_wakeup(&worker->wakeup_fd->fd); + } + if (nfds > 2) { + fd_end_poll(exec_ctx, &fd_watcher, pfd[2].revents & POLLIN_CHECK, + pfd[2].revents & POLLOUT_CHECK); + } else if (fd) { + fd_end_poll(exec_ctx, &fd_watcher, 0, 0); + } + } + + if (fd) { + GRPC_FD_UNREF(fd, "basicpoll_begin"); + } +} + +static void basic_pollset_destroy(grpc_pollset *pollset) { + if (pollset->data.ptr != NULL) { + GRPC_FD_UNREF(pollset->data.ptr, "basicpoll"); + pollset->data.ptr = NULL; + } +} + +static const grpc_pollset_vtable basic_pollset = { + basic_pollset_add_fd, basic_pollset_maybe_work_and_unlock, + basic_pollset_destroy, basic_pollset_destroy}; + +static void become_basic_pollset(grpc_pollset *pollset, grpc_fd *fd_or_null) { + pollset->vtable = &basic_pollset; + pollset->data.ptr = fd_or_null; + if (fd_or_null != NULL) { + GRPC_FD_REF(fd_or_null, "basicpoll"); + } +} + +/******************************************************************************* + * pollset_multipoller_with_poll_posix.c + */ + +#ifndef GPR_LINUX_MULTIPOLL_WITH_EPOLL + +typedef struct { + /* all polled fds */ + size_t fd_count; + size_t fd_capacity; + grpc_fd **fds; + /* fds that have been removed from the pollset explicitly */ + size_t del_count; + size_t del_capacity; + grpc_fd **dels; +} poll_hdr; + +static void multipoll_with_poll_pollset_add_fd(grpc_exec_ctx *exec_ctx, + grpc_pollset *pollset, + grpc_fd *fd, + int and_unlock_pollset) { + size_t i; + poll_hdr *h = pollset->data.ptr; + /* TODO(ctiller): this is O(num_fds^2); maybe switch to a hash set here */ + for (i = 0; i < h->fd_count; i++) { + if (h->fds[i] == fd) goto exit; + } + if (h->fd_count == h->fd_capacity) { + h->fd_capacity = GPR_MAX(h->fd_capacity + 8, h->fd_count * 3 / 2); + h->fds = gpr_realloc(h->fds, sizeof(grpc_fd *) * h->fd_capacity); + } + h->fds[h->fd_count++] = fd; + GRPC_FD_REF(fd, "multipoller"); +exit: + if (and_unlock_pollset) { + gpr_mu_unlock(&pollset->mu); + } +} + +static void multipoll_with_poll_pollset_maybe_work_and_unlock( + grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker *worker, + gpr_timespec deadline, gpr_timespec now) { +#define POLLOUT_CHECK (POLLOUT | POLLHUP | POLLERR) +#define POLLIN_CHECK (POLLIN | POLLHUP | POLLERR) + + int timeout; + int r; + size_t i, j, fd_count; + nfds_t pfd_count; + poll_hdr *h; + /* TODO(ctiller): inline some elements to avoid an allocation */ + grpc_fd_watcher *watchers; + struct pollfd *pfds; + + h = pollset->data.ptr; + timeout = poll_deadline_to_millis_timeout(deadline, now); + /* TODO(ctiller): perform just one malloc here if we exceed the inline case */ + pfds = gpr_malloc(sizeof(*pfds) * (h->fd_count + 2)); + watchers = gpr_malloc(sizeof(*watchers) * (h->fd_count + 2)); + fd_count = 0; + pfd_count = 2; + pfds[0].fd = GRPC_WAKEUP_FD_GET_READ_FD(&grpc_global_wakeup_fd); + pfds[0].events = POLLIN; + pfds[0].revents = 0; + pfds[1].fd = GRPC_WAKEUP_FD_GET_READ_FD(&worker->wakeup_fd->fd); + pfds[1].events = POLLIN; + pfds[1].revents = 0; + for (i = 0; i < h->fd_count; i++) { + int remove = fd_is_orphaned(h->fds[i]); + for (j = 0; !remove && j < h->del_count; j++) { + if (h->fds[i] == h->dels[j]) remove = 1; + } + if (remove) { + GRPC_FD_UNREF(h->fds[i], "multipoller"); + } else { + h->fds[fd_count++] = h->fds[i]; + watchers[pfd_count].fd = h->fds[i]; + GRPC_FD_REF(watchers[pfd_count].fd, "multipoller_start"); + pfds[pfd_count].fd = h->fds[i]->fd; + pfds[pfd_count].revents = 0; + pfd_count++; + } + } + for (j = 0; j < h->del_count; j++) { + GRPC_FD_UNREF(h->dels[j], "multipoller_del"); + } + h->del_count = 0; + h->fd_count = fd_count; + gpr_mu_unlock(&pollset->mu); + + for (i = 2; i < pfd_count; i++) { + grpc_fd *fd = watchers[i].fd; + pfds[i].events = (short)fd_begin_poll(fd, pollset, worker, POLLIN, POLLOUT, + &watchers[i]); + GRPC_FD_UNREF(fd, "multipoller_start"); + } + + /* TODO(vpai): Consider first doing a 0 timeout poll here to avoid + even going into the blocking annotation if possible */ + GRPC_SCHEDULING_START_BLOCKING_REGION; + r = grpc_poll_function(pfds, pfd_count, timeout); + GRPC_SCHEDULING_END_BLOCKING_REGION; + + if (r < 0) { + if (errno != EINTR) { + gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno)); + } + for (i = 2; i < pfd_count; i++) { + fd_end_poll(exec_ctx, &watchers[i], 0, 0); + } + } else if (r == 0) { + for (i = 2; i < pfd_count; i++) { + fd_end_poll(exec_ctx, &watchers[i], 0, 0); + } + } else { + if (pfds[0].revents & POLLIN_CHECK) { + grpc_wakeup_fd_consume_wakeup(&grpc_global_wakeup_fd); + } + if (pfds[1].revents & POLLIN_CHECK) { + grpc_wakeup_fd_consume_wakeup(&worker->wakeup_fd->fd); + } + for (i = 2; i < pfd_count; i++) { + if (watchers[i].fd == NULL) { + fd_end_poll(exec_ctx, &watchers[i], 0, 0); + continue; + } + fd_end_poll(exec_ctx, &watchers[i], pfds[i].revents & POLLIN_CHECK, + pfds[i].revents & POLLOUT_CHECK); + } + } + + gpr_free(pfds); + gpr_free(watchers); +} + +static void multipoll_with_poll_pollset_finish_shutdown(grpc_pollset *pollset) { + size_t i; + poll_hdr *h = pollset->data.ptr; + for (i = 0; i < h->fd_count; i++) { + GRPC_FD_UNREF(h->fds[i], "multipoller"); + } + for (i = 0; i < h->del_count; i++) { + GRPC_FD_UNREF(h->dels[i], "multipoller_del"); + } + h->fd_count = 0; + h->del_count = 0; +} + +static void multipoll_with_poll_pollset_destroy(grpc_pollset *pollset) { + poll_hdr *h = pollset->data.ptr; + multipoll_with_poll_pollset_finish_shutdown(pollset); + gpr_free(h->fds); + gpr_free(h->dels); + gpr_free(h); +} + +static const grpc_pollset_vtable multipoll_with_poll_pollset = { + multipoll_with_poll_pollset_add_fd, + multipoll_with_poll_pollset_maybe_work_and_unlock, + multipoll_with_poll_pollset_finish_shutdown, + multipoll_with_poll_pollset_destroy}; + +static void poll_become_multipoller(grpc_exec_ctx *exec_ctx, + grpc_pollset *pollset, grpc_fd **fds, + size_t nfds) { + size_t i; + poll_hdr *h = gpr_malloc(sizeof(poll_hdr)); + pollset->vtable = &multipoll_with_poll_pollset; + pollset->data.ptr = h; + h->fd_count = nfds; + h->fd_capacity = nfds; + h->fds = gpr_malloc(nfds * sizeof(grpc_fd *)); + h->del_count = 0; + h->del_capacity = 0; + h->dels = NULL; + for (i = 0; i < nfds; i++) { + h->fds[i] = fds[i]; + GRPC_FD_REF(fds[i], "multipoller"); + } +} + +#endif /* !GPR_LINUX_MULTIPOLL_WITH_EPOLL */ + +/******************************************************************************* + * pollset_multipoller_with_epoll_posix.c + */ + +#ifdef GPR_LINUX_MULTIPOLL_WITH_EPOLL + +#include <errno.h> +#include <poll.h> +#include <string.h> +#include <sys/epoll.h> +#include <unistd.h> + +#include <grpc/support/alloc.h> +#include <grpc/support/log.h> +#include <grpc/support/useful.h> + +#include "src/core/lib/iomgr/ev_posix.h" +#include "src/core/lib/profiling/timers.h" +#include "src/core/lib/support/block_annotate.h" + +static void set_ready(grpc_exec_ctx *exec_ctx, grpc_fd *fd, grpc_closure **st) { + /* only one set_ready can be active at once (but there may be a racing + notify_on) */ + gpr_mu_lock(&fd->mu); + set_ready_locked(exec_ctx, fd, st); + gpr_mu_unlock(&fd->mu); +} + +static void fd_become_readable(grpc_exec_ctx *exec_ctx, grpc_fd *fd) { + set_ready(exec_ctx, fd, &fd->read_closure); +} + +static void fd_become_writable(grpc_exec_ctx *exec_ctx, grpc_fd *fd) { + set_ready(exec_ctx, fd, &fd->write_closure); +} + +struct epoll_fd_list { + int *epoll_fds; + size_t count; + size_t capacity; +}; + +static struct epoll_fd_list epoll_fd_global_list; +static gpr_once init_epoll_fd_list_mu = GPR_ONCE_INIT; +static gpr_mu epoll_fd_list_mu; + +static void init_mu(void) { gpr_mu_init(&epoll_fd_list_mu); } + +static void add_epoll_fd_to_global_list(int epoll_fd) { + gpr_once_init(&init_epoll_fd_list_mu, init_mu); + + gpr_mu_lock(&epoll_fd_list_mu); + if (epoll_fd_global_list.count == epoll_fd_global_list.capacity) { + epoll_fd_global_list.capacity = + GPR_MAX((size_t)8, epoll_fd_global_list.capacity * 2); + epoll_fd_global_list.epoll_fds = + gpr_realloc(epoll_fd_global_list.epoll_fds, + epoll_fd_global_list.capacity * sizeof(int)); + } + epoll_fd_global_list.epoll_fds[epoll_fd_global_list.count++] = epoll_fd; + gpr_mu_unlock(&epoll_fd_list_mu); +} + +static void remove_epoll_fd_from_global_list(int epoll_fd) { + gpr_mu_lock(&epoll_fd_list_mu); + GPR_ASSERT(epoll_fd_global_list.count > 0); + for (size_t i = 0; i < epoll_fd_global_list.count; i++) { + if (epoll_fd == epoll_fd_global_list.epoll_fds[i]) { + epoll_fd_global_list.epoll_fds[i] = + epoll_fd_global_list.epoll_fds[--(epoll_fd_global_list.count)]; + break; + } + } + gpr_mu_unlock(&epoll_fd_list_mu); +} + +static void remove_fd_from_all_epoll_sets(int fd) { + int err; + gpr_once_init(&init_epoll_fd_list_mu, init_mu); + gpr_mu_lock(&epoll_fd_list_mu); + if (epoll_fd_global_list.count == 0) { + gpr_mu_unlock(&epoll_fd_list_mu); + return; + } + for (size_t i = 0; i < epoll_fd_global_list.count; i++) { + err = epoll_ctl(epoll_fd_global_list.epoll_fds[i], EPOLL_CTL_DEL, fd, NULL); + if (err < 0 && errno != ENOENT) { + gpr_log(GPR_ERROR, "epoll_ctl del for %d failed: %s", fd, + strerror(errno)); + } + } + gpr_mu_unlock(&epoll_fd_list_mu); +} + +typedef struct { + grpc_pollset *pollset; + grpc_fd *fd; + grpc_closure closure; +} delayed_add; + +typedef struct { int epoll_fd; } epoll_hdr; + +static void finally_add_fd(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + grpc_fd *fd) { + epoll_hdr *h = pollset->data.ptr; + struct epoll_event ev; + int err; + grpc_fd_watcher watcher; + + /* We pretend to be polling whilst adding an fd to keep the fd from being + closed during the add. This may result in a spurious wakeup being assigned + to this pollset whilst adding, but that should be benign. */ + GPR_ASSERT(fd_begin_poll(fd, pollset, NULL, 0, 0, &watcher) == 0); + if (watcher.fd != NULL) { + ev.events = (uint32_t)(EPOLLIN | EPOLLOUT | EPOLLET); + ev.data.ptr = fd; + err = epoll_ctl(h->epoll_fd, EPOLL_CTL_ADD, fd->fd, &ev); + if (err < 0) { + /* FDs may be added to a pollset multiple times, so EEXIST is normal. */ + if (errno != EEXIST) { + gpr_log(GPR_ERROR, "epoll_ctl add for %d failed: %s", fd->fd, + strerror(errno)); + } + } + } + fd_end_poll(exec_ctx, &watcher, 0, 0); +} + +static void perform_delayed_add(grpc_exec_ctx *exec_ctx, void *arg, + bool iomgr_status) { + delayed_add *da = arg; + + if (!fd_is_orphaned(da->fd)) { + finally_add_fd(exec_ctx, da->pollset, da->fd); + } + + gpr_mu_lock(&da->pollset->mu); + da->pollset->in_flight_cbs--; + if (da->pollset->shutting_down) { + /* We don't care about this pollset anymore. */ + if (da->pollset->in_flight_cbs == 0 && !da->pollset->called_shutdown) { + da->pollset->called_shutdown = 1; + grpc_exec_ctx_enqueue(exec_ctx, da->pollset->shutdown_done, true, NULL); + } + } + gpr_mu_unlock(&da->pollset->mu); + + GRPC_FD_UNREF(da->fd, "delayed_add"); + + gpr_free(da); +} + +static void multipoll_with_epoll_pollset_add_fd(grpc_exec_ctx *exec_ctx, + grpc_pollset *pollset, + grpc_fd *fd, + int and_unlock_pollset) { + if (and_unlock_pollset) { + gpr_mu_unlock(&pollset->mu); + finally_add_fd(exec_ctx, pollset, fd); + } else { + delayed_add *da = gpr_malloc(sizeof(*da)); + da->pollset = pollset; + da->fd = fd; + GRPC_FD_REF(fd, "delayed_add"); + grpc_closure_init(&da->closure, perform_delayed_add, da); + pollset->in_flight_cbs++; + grpc_exec_ctx_enqueue(exec_ctx, &da->closure, true, NULL); + } +} + +/* TODO(klempner): We probably want to turn this down a bit */ +#define GRPC_EPOLL_MAX_EVENTS 1000 + +static void multipoll_with_epoll_pollset_maybe_work_and_unlock( + grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker *worker, + gpr_timespec deadline, gpr_timespec now) { + struct epoll_event ep_ev[GRPC_EPOLL_MAX_EVENTS]; + int ep_rv; + int poll_rv; + epoll_hdr *h = pollset->data.ptr; + int timeout_ms; + struct pollfd pfds[2]; + + /* If you want to ignore epoll's ability to sanely handle parallel pollers, + * for a more apples-to-apples performance comparison with poll, add a + * if (pollset->counter != 0) { return 0; } + * here. + */ + + gpr_mu_unlock(&pollset->mu); + + timeout_ms = poll_deadline_to_millis_timeout(deadline, now); + + pfds[0].fd = GRPC_WAKEUP_FD_GET_READ_FD(&worker->wakeup_fd->fd); + pfds[0].events = POLLIN; + pfds[0].revents = 0; + pfds[1].fd = h->epoll_fd; + pfds[1].events = POLLIN; + pfds[1].revents = 0; + + /* TODO(vpai): Consider first doing a 0 timeout poll here to avoid + even going into the blocking annotation if possible */ + GPR_TIMER_BEGIN("poll", 0); + GRPC_SCHEDULING_START_BLOCKING_REGION; + poll_rv = grpc_poll_function(pfds, 2, timeout_ms); + GRPC_SCHEDULING_END_BLOCKING_REGION; + GPR_TIMER_END("poll", 0); + + if (poll_rv < 0) { + if (errno != EINTR) { + gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno)); + } + } else if (poll_rv == 0) { + /* do nothing */ + } else { + if (pfds[0].revents) { + grpc_wakeup_fd_consume_wakeup(&worker->wakeup_fd->fd); + } + if (pfds[1].revents) { + do { + /* The following epoll_wait never blocks; it has a timeout of 0 */ + ep_rv = epoll_wait(h->epoll_fd, ep_ev, GRPC_EPOLL_MAX_EVENTS, 0); + if (ep_rv < 0) { + if (errno != EINTR) { + gpr_log(GPR_ERROR, "epoll_wait() failed: %s", strerror(errno)); + } + } else { + int i; + for (i = 0; i < ep_rv; ++i) { + grpc_fd *fd = ep_ev[i].data.ptr; + /* TODO(klempner): We might want to consider making err and pri + * separate events */ + int cancel = ep_ev[i].events & (EPOLLERR | EPOLLHUP); + int read_ev = ep_ev[i].events & (EPOLLIN | EPOLLPRI); + int write_ev = ep_ev[i].events & EPOLLOUT; + if (fd == NULL) { + grpc_wakeup_fd_consume_wakeup(&grpc_global_wakeup_fd); + } else { + if (read_ev || cancel) { + fd_become_readable(exec_ctx, fd); + } + if (write_ev || cancel) { + fd_become_writable(exec_ctx, fd); + } + } + } + } + } while (ep_rv == GRPC_EPOLL_MAX_EVENTS); + } + } +} + +static void multipoll_with_epoll_pollset_finish_shutdown( + grpc_pollset *pollset) {} + +static void multipoll_with_epoll_pollset_destroy(grpc_pollset *pollset) { + epoll_hdr *h = pollset->data.ptr; + close(h->epoll_fd); + remove_epoll_fd_from_global_list(h->epoll_fd); + gpr_free(h); +} + +static const grpc_pollset_vtable multipoll_with_epoll_pollset = { + multipoll_with_epoll_pollset_add_fd, + multipoll_with_epoll_pollset_maybe_work_and_unlock, + multipoll_with_epoll_pollset_finish_shutdown, + multipoll_with_epoll_pollset_destroy}; + +static void epoll_become_multipoller(grpc_exec_ctx *exec_ctx, + grpc_pollset *pollset, grpc_fd **fds, + size_t nfds) { + size_t i; + epoll_hdr *h = gpr_malloc(sizeof(epoll_hdr)); + struct epoll_event ev; + int err; + + pollset->vtable = &multipoll_with_epoll_pollset; + pollset->data.ptr = h; + h->epoll_fd = epoll_create1(EPOLL_CLOEXEC); + if (h->epoll_fd < 0) { + /* TODO(klempner): Fall back to poll here, especially on ENOSYS */ + gpr_log(GPR_ERROR, "epoll_create1 failed: %s", strerror(errno)); + abort(); + } + add_epoll_fd_to_global_list(h->epoll_fd); + + ev.events = (uint32_t)(EPOLLIN | EPOLLET); + ev.data.ptr = NULL; + err = epoll_ctl(h->epoll_fd, EPOLL_CTL_ADD, + GRPC_WAKEUP_FD_GET_READ_FD(&grpc_global_wakeup_fd), &ev); + if (err < 0) { + gpr_log(GPR_ERROR, "epoll_ctl add for %d failed: %s", + GRPC_WAKEUP_FD_GET_READ_FD(&grpc_global_wakeup_fd), + strerror(errno)); + } + + for (i = 0; i < nfds; i++) { + multipoll_with_epoll_pollset_add_fd(exec_ctx, pollset, fds[i], 0); + } +} + +#else /* GPR_LINUX_MULTIPOLL_WITH_EPOLL */ + +static void remove_fd_from_all_epoll_sets(int fd) {} + +#endif /* GPR_LINUX_MULTIPOLL_WITH_EPOLL */ + +/******************************************************************************* + * pollset_set_posix.c + */ + +static grpc_pollset_set *pollset_set_create(void) { + grpc_pollset_set *pollset_set = gpr_malloc(sizeof(*pollset_set)); + memset(pollset_set, 0, sizeof(*pollset_set)); + gpr_mu_init(&pollset_set->mu); + return pollset_set; +} + +static void pollset_set_destroy(grpc_pollset_set *pollset_set) { + size_t i; + gpr_mu_destroy(&pollset_set->mu); + for (i = 0; i < pollset_set->fd_count; i++) { + GRPC_FD_UNREF(pollset_set->fds[i], "pollset_set"); + } + gpr_free(pollset_set->pollsets); + gpr_free(pollset_set->pollset_sets); + gpr_free(pollset_set->fds); + gpr_free(pollset_set); +} + +static void pollset_set_add_pollset(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, + grpc_pollset *pollset) { + size_t i, j; + gpr_mu_lock(&pollset_set->mu); + if (pollset_set->pollset_count == pollset_set->pollset_capacity) { + pollset_set->pollset_capacity = + GPR_MAX(8, 2 * pollset_set->pollset_capacity); + pollset_set->pollsets = + gpr_realloc(pollset_set->pollsets, pollset_set->pollset_capacity * + sizeof(*pollset_set->pollsets)); + } + pollset_set->pollsets[pollset_set->pollset_count++] = pollset; + for (i = 0, j = 0; i < pollset_set->fd_count; i++) { + if (fd_is_orphaned(pollset_set->fds[i])) { + GRPC_FD_UNREF(pollset_set->fds[i], "pollset_set"); + } else { + pollset_add_fd(exec_ctx, pollset, pollset_set->fds[i]); + pollset_set->fds[j++] = pollset_set->fds[i]; + } + } + pollset_set->fd_count = j; + gpr_mu_unlock(&pollset_set->mu); +} + +static void pollset_set_del_pollset(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, + grpc_pollset *pollset) { + size_t i; + gpr_mu_lock(&pollset_set->mu); + for (i = 0; i < pollset_set->pollset_count; i++) { + if (pollset_set->pollsets[i] == pollset) { + pollset_set->pollset_count--; + GPR_SWAP(grpc_pollset *, pollset_set->pollsets[i], + pollset_set->pollsets[pollset_set->pollset_count]); + break; + } + } + gpr_mu_unlock(&pollset_set->mu); +} + +static void pollset_set_add_pollset_set(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *bag, + grpc_pollset_set *item) { + size_t i, j; + gpr_mu_lock(&bag->mu); + if (bag->pollset_set_count == bag->pollset_set_capacity) { + bag->pollset_set_capacity = GPR_MAX(8, 2 * bag->pollset_set_capacity); + bag->pollset_sets = + gpr_realloc(bag->pollset_sets, + bag->pollset_set_capacity * sizeof(*bag->pollset_sets)); + } + bag->pollset_sets[bag->pollset_set_count++] = item; + for (i = 0, j = 0; i < bag->fd_count; i++) { + if (fd_is_orphaned(bag->fds[i])) { + GRPC_FD_UNREF(bag->fds[i], "pollset_set"); + } else { + pollset_set_add_fd(exec_ctx, item, bag->fds[i]); + bag->fds[j++] = bag->fds[i]; + } + } + bag->fd_count = j; + gpr_mu_unlock(&bag->mu); +} + +static void pollset_set_del_pollset_set(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *bag, + grpc_pollset_set *item) { + size_t i; + gpr_mu_lock(&bag->mu); + for (i = 0; i < bag->pollset_set_count; i++) { + if (bag->pollset_sets[i] == item) { + bag->pollset_set_count--; + GPR_SWAP(grpc_pollset_set *, bag->pollset_sets[i], + bag->pollset_sets[bag->pollset_set_count]); + break; + } + } + gpr_mu_unlock(&bag->mu); +} + +static void pollset_set_add_fd(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, grpc_fd *fd) { + size_t i; + gpr_mu_lock(&pollset_set->mu); + if (pollset_set->fd_count == pollset_set->fd_capacity) { + pollset_set->fd_capacity = GPR_MAX(8, 2 * pollset_set->fd_capacity); + pollset_set->fds = gpr_realloc( + pollset_set->fds, pollset_set->fd_capacity * sizeof(*pollset_set->fds)); + } + GRPC_FD_REF(fd, "pollset_set"); + pollset_set->fds[pollset_set->fd_count++] = fd; + for (i = 0; i < pollset_set->pollset_count; i++) { + pollset_add_fd(exec_ctx, pollset_set->pollsets[i], fd); + } + for (i = 0; i < pollset_set->pollset_set_count; i++) { + pollset_set_add_fd(exec_ctx, pollset_set->pollset_sets[i], fd); + } + gpr_mu_unlock(&pollset_set->mu); +} + +static void pollset_set_del_fd(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, grpc_fd *fd) { + size_t i; + gpr_mu_lock(&pollset_set->mu); + for (i = 0; i < pollset_set->fd_count; i++) { + if (pollset_set->fds[i] == fd) { + pollset_set->fd_count--; + GPR_SWAP(grpc_fd *, pollset_set->fds[i], + pollset_set->fds[pollset_set->fd_count]); + GRPC_FD_UNREF(fd, "pollset_set"); + break; + } + } + for (i = 0; i < pollset_set->pollset_set_count; i++) { + pollset_set_del_fd(exec_ctx, pollset_set->pollset_sets[i], fd); + } + gpr_mu_unlock(&pollset_set->mu); +} + +/******************************************************************************* + * event engine binding + */ + +static void shutdown_engine(void) { + fd_global_shutdown(); + pollset_global_shutdown(); +} + +static const grpc_event_engine_vtable vtable = { + .pollset_size = sizeof(grpc_pollset), + + .fd_create = fd_create, + .fd_wrapped_fd = fd_wrapped_fd, + .fd_orphan = fd_orphan, + .fd_shutdown = fd_shutdown, + .fd_notify_on_read = fd_notify_on_read, + .fd_notify_on_write = fd_notify_on_write, + + .pollset_init = pollset_init, + .pollset_shutdown = pollset_shutdown, + .pollset_reset = pollset_reset, + .pollset_destroy = pollset_destroy, + .pollset_work = pollset_work, + .pollset_kick = pollset_kick, + .pollset_add_fd = pollset_add_fd, + + .pollset_set_create = pollset_set_create, + .pollset_set_destroy = pollset_set_destroy, + .pollset_set_add_pollset = pollset_set_add_pollset, + .pollset_set_del_pollset = pollset_set_del_pollset, + .pollset_set_add_pollset_set = pollset_set_add_pollset_set, + .pollset_set_del_pollset_set = pollset_set_del_pollset_set, + .pollset_set_add_fd = pollset_set_add_fd, + .pollset_set_del_fd = pollset_set_del_fd, + + .kick_poller = kick_poller, + + .shutdown_engine = shutdown_engine, +}; + +const grpc_event_engine_vtable *grpc_init_poll_and_epoll_posix(void) { +#ifdef GPR_LINUX_MULTIPOLL_WITH_EPOLL + platform_become_multipoller = epoll_become_multipoller; +#else + platform_become_multipoller = poll_become_multipoller; +#endif + fd_global_init(); + pollset_global_init(); + return &vtable; +} + +#endif diff --git a/src/core/lib/client_config/resolvers/dns_resolver.h b/src/core/lib/iomgr/ev_poll_and_epoll_posix.h similarity index 80% rename from src/core/lib/client_config/resolvers/dns_resolver.h rename to src/core/lib/iomgr/ev_poll_and_epoll_posix.h index eb46e41c776a3fa2c2cd6e739eefddeb421c5601..06d6dbf29dd79a1ca28cf1a5ccad75435befad34 100644 --- a/src/core/lib/client_config/resolvers/dns_resolver.h +++ b/src/core/lib/iomgr/ev_poll_and_epoll_posix.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,12 +31,11 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_DNS_RESOLVER_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_DNS_RESOLVER_H +#ifndef GRPC_CORE_LIB_IOMGR_EV_POLL_AND_EPOLL_POSIX_H +#define GRPC_CORE_LIB_IOMGR_EV_POLL_AND_EPOLL_POSIX_H -#include "src/core/lib/client_config/resolver_factory.h" +#include "src/core/lib/iomgr/ev_posix.h" -/** Create a dns resolver factory */ -grpc_resolver_factory *grpc_dns_resolver_factory_create(void); +const grpc_event_engine_vtable *grpc_init_poll_and_epoll_posix(void); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_DNS_RESOLVER_H */ +#endif /* GRPC_CORE_LIB_IOMGR_EV_POLL_AND_EPOLL_POSIX_H */ diff --git a/src/core/lib/iomgr/ev_posix.c b/src/core/lib/iomgr/ev_posix.c new file mode 100644 index 0000000000000000000000000000000000000000..0eb95a2e091a02e38e9d9ffa3a7ffb655416482b --- /dev/null +++ b/src/core/lib/iomgr/ev_posix.c @@ -0,0 +1,165 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include <grpc/support/port_platform.h> + +#ifdef GPR_POSIX_SOCKET + +#include "src/core/lib/iomgr/ev_posix.h" + +#include <grpc/support/log.h> + +#include "src/core/lib/iomgr/ev_poll_and_epoll_posix.h" + +static const grpc_event_engine_vtable *g_event_engine; + +grpc_poll_function_type grpc_poll_function = poll; +grpc_wakeup_fd grpc_global_wakeup_fd; + +void grpc_event_engine_init(void) { + if ((g_event_engine = grpc_init_poll_and_epoll_posix())) { + return; + } + gpr_log(GPR_ERROR, "No event engine could be initialized"); + abort(); +} + +void grpc_event_engine_shutdown(void) { g_event_engine->shutdown_engine(); } + +grpc_fd *grpc_fd_create(int fd, const char *name) { + return g_event_engine->fd_create(fd, name); +} + +int grpc_fd_wrapped_fd(grpc_fd *fd) { + return g_event_engine->fd_wrapped_fd(fd); +} + +void grpc_fd_orphan(grpc_exec_ctx *exec_ctx, grpc_fd *fd, grpc_closure *on_done, + int *release_fd, const char *reason) { + g_event_engine->fd_orphan(exec_ctx, fd, on_done, release_fd, reason); +} + +void grpc_fd_shutdown(grpc_exec_ctx *exec_ctx, grpc_fd *fd) { + g_event_engine->fd_shutdown(exec_ctx, fd); +} + +void grpc_fd_notify_on_read(grpc_exec_ctx *exec_ctx, grpc_fd *fd, + grpc_closure *closure) { + g_event_engine->fd_notify_on_read(exec_ctx, fd, closure); +} + +void grpc_fd_notify_on_write(grpc_exec_ctx *exec_ctx, grpc_fd *fd, + grpc_closure *closure) { + g_event_engine->fd_notify_on_write(exec_ctx, fd, closure); +} + +size_t grpc_pollset_size(void) { return g_event_engine->pollset_size; } + +void grpc_pollset_init(grpc_pollset *pollset, gpr_mu **mu) { + g_event_engine->pollset_init(pollset, mu); +} + +void grpc_pollset_shutdown(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + grpc_closure *closure) { + g_event_engine->pollset_shutdown(exec_ctx, pollset, closure); +} + +void grpc_pollset_reset(grpc_pollset *pollset) { + g_event_engine->pollset_reset(pollset); +} + +void grpc_pollset_destroy(grpc_pollset *pollset) { + g_event_engine->pollset_destroy(pollset); +} + +void grpc_pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + grpc_pollset_worker **worker, gpr_timespec now, + gpr_timespec deadline) { + g_event_engine->pollset_work(exec_ctx, pollset, worker, now, deadline); +} + +void grpc_pollset_kick(grpc_pollset *pollset, + grpc_pollset_worker *specific_worker) { + g_event_engine->pollset_kick(pollset, specific_worker); +} + +void grpc_pollset_add_fd(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + struct grpc_fd *fd) { + g_event_engine->pollset_add_fd(exec_ctx, pollset, fd); +} + +grpc_pollset_set *grpc_pollset_set_create(void) { + return g_event_engine->pollset_set_create(); +} + +void grpc_pollset_set_destroy(grpc_pollset_set *pollset_set) { + g_event_engine->pollset_set_destroy(pollset_set); +} + +void grpc_pollset_set_add_pollset(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, + grpc_pollset *pollset) { + g_event_engine->pollset_set_add_pollset(exec_ctx, pollset_set, pollset); +} + +void grpc_pollset_set_del_pollset(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, + grpc_pollset *pollset) { + g_event_engine->pollset_set_del_pollset(exec_ctx, pollset_set, pollset); +} + +void grpc_pollset_set_add_pollset_set(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *bag, + grpc_pollset_set *item) { + g_event_engine->pollset_set_add_pollset_set(exec_ctx, bag, item); +} + +void grpc_pollset_set_del_pollset_set(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *bag, + grpc_pollset_set *item) { + g_event_engine->pollset_set_del_pollset_set(exec_ctx, bag, item); +} + +void grpc_pollset_set_add_fd(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, grpc_fd *fd) { + g_event_engine->pollset_set_add_fd(exec_ctx, pollset_set, fd); +} + +void grpc_pollset_set_del_fd(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, grpc_fd *fd) { + g_event_engine->pollset_set_del_fd(exec_ctx, pollset_set, fd); +} + +void grpc_kick_poller(void) { g_event_engine->kick_poller(); } + +#endif // GPR_POSIX_SOCKET diff --git a/src/core/lib/iomgr/ev_posix.h b/src/core/lib/iomgr/ev_posix.h new file mode 100644 index 0000000000000000000000000000000000000000..1fa9f5ef2d69f2c71706ab0b51987d3d05203d24 --- /dev/null +++ b/src/core/lib/iomgr/ev_posix.h @@ -0,0 +1,158 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_CORE_LIB_IOMGR_EV_POSIX_H +#define GRPC_CORE_LIB_IOMGR_EV_POSIX_H + +#include <poll.h> + +#include "src/core/lib/iomgr/exec_ctx.h" +#include "src/core/lib/iomgr/pollset.h" +#include "src/core/lib/iomgr/pollset_set.h" +#include "src/core/lib/iomgr/wakeup_fd_posix.h" + +typedef struct grpc_fd grpc_fd; + +typedef struct grpc_event_engine_vtable { + size_t pollset_size; + + grpc_fd *(*fd_create)(int fd, const char *name); + int (*fd_wrapped_fd)(grpc_fd *fd); + void (*fd_orphan)(grpc_exec_ctx *exec_ctx, grpc_fd *fd, grpc_closure *on_done, + int *release_fd, const char *reason); + void (*fd_shutdown)(grpc_exec_ctx *exec_ctx, grpc_fd *fd); + void (*fd_notify_on_read)(grpc_exec_ctx *exec_ctx, grpc_fd *fd, + grpc_closure *closure); + void (*fd_notify_on_write)(grpc_exec_ctx *exec_ctx, grpc_fd *fd, + grpc_closure *closure); + + void (*pollset_init)(grpc_pollset *pollset, gpr_mu **mu); + void (*pollset_shutdown)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + grpc_closure *closure); + void (*pollset_reset)(grpc_pollset *pollset); + void (*pollset_destroy)(grpc_pollset *pollset); + void (*pollset_work)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + grpc_pollset_worker **worker, gpr_timespec now, + gpr_timespec deadline); + void (*pollset_kick)(grpc_pollset *pollset, + grpc_pollset_worker *specific_worker); + void (*pollset_add_fd)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + struct grpc_fd *fd); + + grpc_pollset_set *(*pollset_set_create)(void); + void (*pollset_set_destroy)(grpc_pollset_set *pollset_set); + void (*pollset_set_add_pollset)(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, + grpc_pollset *pollset); + void (*pollset_set_del_pollset)(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, + grpc_pollset *pollset); + void (*pollset_set_add_pollset_set)(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *bag, + grpc_pollset_set *item); + void (*pollset_set_del_pollset_set)(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *bag, + grpc_pollset_set *item); + void (*pollset_set_add_fd)(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, grpc_fd *fd); + void (*pollset_set_del_fd)(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, grpc_fd *fd); + + void (*kick_poller)(void); + + void (*shutdown_engine)(void); +} grpc_event_engine_vtable; + +void grpc_event_engine_init(void); +void grpc_event_engine_shutdown(void); + +/* Create a wrapped file descriptor. + Requires fd is a non-blocking file descriptor. + This takes ownership of closing fd. */ +grpc_fd *grpc_fd_create(int fd, const char *name); + +/* Return the wrapped fd, or -1 if it has been released or closed. */ +int grpc_fd_wrapped_fd(grpc_fd *fd); + +/* Releases fd to be asynchronously destroyed. + on_done is called when the underlying file descriptor is definitely close()d. + If on_done is NULL, no callback will be made. + If release_fd is not NULL, it's set to fd and fd will not be closed. + Requires: *fd initialized; no outstanding notify_on_read or + notify_on_write. + MUST NOT be called with a pollset lock taken */ +void grpc_fd_orphan(grpc_exec_ctx *exec_ctx, grpc_fd *fd, grpc_closure *on_done, + int *release_fd, const char *reason); + +/* Cause any current callbacks to error out with GRPC_CALLBACK_CANCELLED. */ +void grpc_fd_shutdown(grpc_exec_ctx *exec_ctx, grpc_fd *fd); + +/* Register read interest, causing read_cb to be called once when fd becomes + readable, on deadline specified by deadline, or on shutdown triggered by + grpc_fd_shutdown. + read_cb will be called with read_cb_arg when *fd becomes readable. + read_cb is Called with status of GRPC_CALLBACK_SUCCESS if readable, + GRPC_CALLBACK_TIMED_OUT if the call timed out, + and CANCELLED if the call was cancelled. + + Requires:This method must not be called before the read_cb for any previous + call runs. Edge triggered events are used whenever they are supported by the + underlying platform. This means that users must drain fd in read_cb before + calling notify_on_read again. Users are also expected to handle spurious + events, i.e read_cb is called while nothing can be readable from fd */ +void grpc_fd_notify_on_read(grpc_exec_ctx *exec_ctx, grpc_fd *fd, + grpc_closure *closure); + +/* Exactly the same semantics as above, except based on writable events. */ +void grpc_fd_notify_on_write(grpc_exec_ctx *exec_ctx, grpc_fd *fd, + grpc_closure *closure); + +/* pollset_posix functions */ + +/* Add an fd to a pollset */ +void grpc_pollset_add_fd(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, + struct grpc_fd *fd); + +/* pollset_set_posix functions */ + +void grpc_pollset_set_add_fd(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, grpc_fd *fd); +void grpc_pollset_set_del_fd(grpc_exec_ctx *exec_ctx, + grpc_pollset_set *pollset_set, grpc_fd *fd); + +/* override to allow tests to hook poll() usage */ +typedef int (*grpc_poll_function_type)(struct pollfd *, nfds_t, int); +extern grpc_poll_function_type grpc_poll_function; +extern grpc_wakeup_fd grpc_global_wakeup_fd; + +#endif /* GRPC_CORE_LIB_IOMGR_EV_POSIX_H */ diff --git a/src/core/lib/iomgr/exec_ctx.c b/src/core/lib/iomgr/exec_ctx.c index 1ed6da623a1d06b1fc202f10d493fe23b78ed42e..2146c7dd1f71f2b74bd884abe5054e4deb5f7fb5 100644 --- a/src/core/lib/iomgr/exec_ctx.c +++ b/src/core/lib/iomgr/exec_ctx.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/exec_ctx.h b/src/core/lib/iomgr/exec_ctx.h index e62ea2dedf5fbcf0dcb6ab523f9f1f9737fc5ed4..e09ef024008179b3d2840f84005d43291ef28471 100644 --- a/src/core/lib/iomgr/exec_ctx.h +++ b/src/core/lib/iomgr/exec_ctx.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/executor.c b/src/core/lib/iomgr/executor.c index 42a9db3cbb526b44e62181eb34b6a7db4fc1b2c2..36e22e4271bbfb562bcbb8d44a0d8db93a0c6d21 100644 --- a/src/core/lib/iomgr/executor.c +++ b/src/core/lib/iomgr/executor.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/executor.h b/src/core/lib/iomgr/executor.h index f1871416a08a93e611502f1a48588010a0369fdf..b7e6f51aa50ba7fcd1ee0741b378aa48f0e6bf1f 100644 --- a/src/core/lib/iomgr/executor.h +++ b/src/core/lib/iomgr/executor.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/fd_posix.c b/src/core/lib/iomgr/fd_posix.c deleted file mode 100644 index 72c924bdcba1c5d16eafc17dbc3c52350ef55e34..0000000000000000000000000000000000000000 --- a/src/core/lib/iomgr/fd_posix.c +++ /dev/null @@ -1,454 +0,0 @@ -/* - * - * Copyright 2015-2016, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include <grpc/support/port_platform.h> - -#ifdef GPR_POSIX_SOCKET - -#include "src/core/lib/iomgr/fd_posix.h" - -#include <assert.h> -#include <sys/socket.h> -#include <unistd.h> - -#include <grpc/support/alloc.h> -#include <grpc/support/log.h> -#include <grpc/support/string_util.h> -#include <grpc/support/useful.h> - -#include "src/core/lib/iomgr/pollset_posix.h" - -#define CLOSURE_NOT_READY ((grpc_closure *)0) -#define CLOSURE_READY ((grpc_closure *)1) - -/* We need to keep a freelist not because of any concerns of malloc performance - * but instead so that implementations with multiple threads in (for example) - * epoll_wait deal with the race between pollset removal and incoming poll - * notifications. - * - * The problem is that the poller ultimately holds a reference to this - * object, so it is very difficult to know when is safe to free it, at least - * without some expensive synchronization. - * - * If we keep the object freelisted, in the worst case losing this race just - * becomes a spurious read notification on a reused fd. - */ -/* TODO(klempner): We could use some form of polling generation count to know - * when these are safe to free. */ -/* TODO(klempner): Consider disabling freelisting if we don't have multiple - * threads in poll on the same fd */ -/* TODO(klempner): Batch these allocations to reduce fragmentation */ -static grpc_fd *fd_freelist = NULL; -static gpr_mu fd_freelist_mu; - -static void freelist_fd(grpc_fd *fd) { - gpr_mu_lock(&fd_freelist_mu); - fd->freelist_next = fd_freelist; - fd_freelist = fd; - grpc_iomgr_unregister_object(&fd->iomgr_object); - gpr_mu_unlock(&fd_freelist_mu); -} - -static grpc_fd *alloc_fd(int fd) { - grpc_fd *r = NULL; - gpr_mu_lock(&fd_freelist_mu); - if (fd_freelist != NULL) { - r = fd_freelist; - fd_freelist = fd_freelist->freelist_next; - } - gpr_mu_unlock(&fd_freelist_mu); - if (r == NULL) { - r = gpr_malloc(sizeof(grpc_fd)); - gpr_mu_init(&r->mu); - } - - gpr_mu_lock(&r->mu); - r->shutdown = 0; - r->read_closure = CLOSURE_NOT_READY; - r->write_closure = CLOSURE_NOT_READY; - r->fd = fd; - r->inactive_watcher_root.next = r->inactive_watcher_root.prev = - &r->inactive_watcher_root; - r->freelist_next = NULL; - r->read_watcher = r->write_watcher = NULL; - r->on_done_closure = NULL; - r->closed = 0; - r->released = 0; - gpr_atm_rel_store(&r->refst, 1); - gpr_mu_unlock(&r->mu); - - return r; -} - -static void destroy(grpc_fd *fd) { - gpr_mu_destroy(&fd->mu); - gpr_free(fd); -} - -#ifdef GRPC_FD_REF_COUNT_DEBUG -#define REF_BY(fd, n, reason) ref_by(fd, n, reason, __FILE__, __LINE__) -#define UNREF_BY(fd, n, reason) unref_by(fd, n, reason, __FILE__, __LINE__) -static void ref_by(grpc_fd *fd, int n, const char *reason, const char *file, - int line) { - gpr_log(GPR_DEBUG, "FD %d %p ref %d %d -> %d [%s; %s:%d]", fd->fd, fd, n, - gpr_atm_no_barrier_load(&fd->refst), - gpr_atm_no_barrier_load(&fd->refst) + n, reason, file, line); -#else -#define REF_BY(fd, n, reason) ref_by(fd, n) -#define UNREF_BY(fd, n, reason) unref_by(fd, n) -static void ref_by(grpc_fd *fd, int n) { -#endif - GPR_ASSERT(gpr_atm_no_barrier_fetch_add(&fd->refst, n) > 0); -} - -#ifdef GRPC_FD_REF_COUNT_DEBUG -static void unref_by(grpc_fd *fd, int n, const char *reason, const char *file, - int line) { - gpr_atm old; - gpr_log(GPR_DEBUG, "FD %d %p unref %d %d -> %d [%s; %s:%d]", fd->fd, fd, n, - gpr_atm_no_barrier_load(&fd->refst), - gpr_atm_no_barrier_load(&fd->refst) - n, reason, file, line); -#else -static void unref_by(grpc_fd *fd, int n) { - gpr_atm old; -#endif - old = gpr_atm_full_fetch_add(&fd->refst, -n); - if (old == n) { - freelist_fd(fd); - } else { - GPR_ASSERT(old > n); - } -} - -void grpc_fd_global_init(void) { gpr_mu_init(&fd_freelist_mu); } - -void grpc_fd_global_shutdown(void) { - gpr_mu_lock(&fd_freelist_mu); - gpr_mu_unlock(&fd_freelist_mu); - while (fd_freelist != NULL) { - grpc_fd *fd = fd_freelist; - fd_freelist = fd_freelist->freelist_next; - destroy(fd); - } - gpr_mu_destroy(&fd_freelist_mu); -} - -grpc_fd *grpc_fd_create(int fd, const char *name) { - grpc_fd *r = alloc_fd(fd); - char *name2; - gpr_asprintf(&name2, "%s fd=%d", name, fd); - grpc_iomgr_register_object(&r->iomgr_object, name2); - gpr_free(name2); -#ifdef GRPC_FD_REF_COUNT_DEBUG - gpr_log(GPR_DEBUG, "FD %d %p create %s", fd, r, name); -#endif - return r; -} - -int grpc_fd_is_orphaned(grpc_fd *fd) { - return (gpr_atm_acq_load(&fd->refst) & 1) == 0; -} - -static void pollset_kick_locked(grpc_fd_watcher *watcher) { - gpr_mu_lock(&watcher->pollset->mu); - GPR_ASSERT(watcher->worker); - grpc_pollset_kick_ext(watcher->pollset, watcher->worker, - GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP); - gpr_mu_unlock(&watcher->pollset->mu); -} - -static void maybe_wake_one_watcher_locked(grpc_fd *fd) { - if (fd->inactive_watcher_root.next != &fd->inactive_watcher_root) { - pollset_kick_locked(fd->inactive_watcher_root.next); - } else if (fd->read_watcher) { - pollset_kick_locked(fd->read_watcher); - } else if (fd->write_watcher) { - pollset_kick_locked(fd->write_watcher); - } -} - -static void wake_all_watchers_locked(grpc_fd *fd) { - grpc_fd_watcher *watcher; - for (watcher = fd->inactive_watcher_root.next; - watcher != &fd->inactive_watcher_root; watcher = watcher->next) { - pollset_kick_locked(watcher); - } - if (fd->read_watcher) { - pollset_kick_locked(fd->read_watcher); - } - if (fd->write_watcher && fd->write_watcher != fd->read_watcher) { - pollset_kick_locked(fd->write_watcher); - } -} - -static int has_watchers(grpc_fd *fd) { - return fd->read_watcher != NULL || fd->write_watcher != NULL || - fd->inactive_watcher_root.next != &fd->inactive_watcher_root; -} - -static void close_fd_locked(grpc_exec_ctx *exec_ctx, grpc_fd *fd) { - fd->closed = 1; - if (!fd->released) { - close(fd->fd); - } else { - grpc_remove_fd_from_all_epoll_sets(fd->fd); - } - grpc_exec_ctx_enqueue(exec_ctx, fd->on_done_closure, true, NULL); -} - -int grpc_fd_wrapped_fd(grpc_fd *fd) { - if (fd->released || fd->closed) { - return -1; - } else { - return fd->fd; - } -} - -void grpc_fd_orphan(grpc_exec_ctx *exec_ctx, grpc_fd *fd, grpc_closure *on_done, - int *release_fd, const char *reason) { - fd->on_done_closure = on_done; - fd->released = release_fd != NULL; - if (!fd->released) { - shutdown(fd->fd, SHUT_RDWR); - } else { - *release_fd = fd->fd; - } - gpr_mu_lock(&fd->mu); - REF_BY(fd, 1, reason); /* remove active status, but keep referenced */ - if (!has_watchers(fd)) { - close_fd_locked(exec_ctx, fd); - } else { - wake_all_watchers_locked(fd); - } - gpr_mu_unlock(&fd->mu); - UNREF_BY(fd, 2, reason); /* drop the reference */ -} - -/* increment refcount by two to avoid changing the orphan bit */ -#ifdef GRPC_FD_REF_COUNT_DEBUG -void grpc_fd_ref(grpc_fd *fd, const char *reason, const char *file, int line) { - ref_by(fd, 2, reason, file, line); -} - -void grpc_fd_unref(grpc_fd *fd, const char *reason, const char *file, - int line) { - unref_by(fd, 2, reason, file, line); -} -#else -void grpc_fd_ref(grpc_fd *fd) { ref_by(fd, 2); } - -void grpc_fd_unref(grpc_fd *fd) { unref_by(fd, 2); } -#endif - -static void notify_on_locked(grpc_exec_ctx *exec_ctx, grpc_fd *fd, - grpc_closure **st, grpc_closure *closure) { - if (*st == CLOSURE_NOT_READY) { - /* not ready ==> switch to a waiting state by setting the closure */ - *st = closure; - } else if (*st == CLOSURE_READY) { - /* already ready ==> queue the closure to run immediately */ - *st = CLOSURE_NOT_READY; - grpc_exec_ctx_enqueue(exec_ctx, closure, !fd->shutdown, NULL); - maybe_wake_one_watcher_locked(fd); - } else { - /* upcallptr was set to a different closure. This is an error! */ - gpr_log(GPR_ERROR, - "User called a notify_on function with a previous callback still " - "pending"); - abort(); - } -} - -/* returns 1 if state becomes not ready */ -static int set_ready_locked(grpc_exec_ctx *exec_ctx, grpc_fd *fd, - grpc_closure **st) { - if (*st == CLOSURE_READY) { - /* duplicate ready ==> ignore */ - return 0; - } else if (*st == CLOSURE_NOT_READY) { - /* not ready, and not waiting ==> flag ready */ - *st = CLOSURE_READY; - return 0; - } else { - /* waiting ==> queue closure */ - grpc_exec_ctx_enqueue(exec_ctx, *st, !fd->shutdown, NULL); - *st = CLOSURE_NOT_READY; - return 1; - } -} - -static void set_ready(grpc_exec_ctx *exec_ctx, grpc_fd *fd, grpc_closure **st) { - /* only one set_ready can be active at once (but there may be a racing - notify_on) */ - gpr_mu_lock(&fd->mu); - set_ready_locked(exec_ctx, fd, st); - gpr_mu_unlock(&fd->mu); -} - -void grpc_fd_shutdown(grpc_exec_ctx *exec_ctx, grpc_fd *fd) { - gpr_mu_lock(&fd->mu); - GPR_ASSERT(!fd->shutdown); - fd->shutdown = 1; - set_ready_locked(exec_ctx, fd, &fd->read_closure); - set_ready_locked(exec_ctx, fd, &fd->write_closure); - gpr_mu_unlock(&fd->mu); -} - -void grpc_fd_notify_on_read(grpc_exec_ctx *exec_ctx, grpc_fd *fd, - grpc_closure *closure) { - gpr_mu_lock(&fd->mu); - notify_on_locked(exec_ctx, fd, &fd->read_closure, closure); - gpr_mu_unlock(&fd->mu); -} - -void grpc_fd_notify_on_write(grpc_exec_ctx *exec_ctx, grpc_fd *fd, - grpc_closure *closure) { - gpr_mu_lock(&fd->mu); - notify_on_locked(exec_ctx, fd, &fd->write_closure, closure); - gpr_mu_unlock(&fd->mu); -} - -uint32_t grpc_fd_begin_poll(grpc_fd *fd, grpc_pollset *pollset, - grpc_pollset_worker *worker, uint32_t read_mask, - uint32_t write_mask, grpc_fd_watcher *watcher) { - uint32_t mask = 0; - grpc_closure *cur; - int requested; - /* keep track of pollers that have requested our events, in case they change - */ - GRPC_FD_REF(fd, "poll"); - - gpr_mu_lock(&fd->mu); - - /* if we are shutdown, then don't add to the watcher set */ - if (fd->shutdown) { - watcher->fd = NULL; - watcher->pollset = NULL; - watcher->worker = NULL; - gpr_mu_unlock(&fd->mu); - GRPC_FD_UNREF(fd, "poll"); - return 0; - } - - /* if there is nobody polling for read, but we need to, then start doing so */ - cur = fd->read_closure; - requested = cur != CLOSURE_READY; - if (read_mask && fd->read_watcher == NULL && requested) { - fd->read_watcher = watcher; - mask |= read_mask; - } - /* if there is nobody polling for write, but we need to, then start doing so - */ - cur = fd->write_closure; - requested = cur != CLOSURE_READY; - if (write_mask && fd->write_watcher == NULL && requested) { - fd->write_watcher = watcher; - mask |= write_mask; - } - /* if not polling, remember this watcher in case we need someone to later */ - if (mask == 0 && worker != NULL) { - watcher->next = &fd->inactive_watcher_root; - watcher->prev = watcher->next->prev; - watcher->next->prev = watcher->prev->next = watcher; - } - watcher->pollset = pollset; - watcher->worker = worker; - watcher->fd = fd; - gpr_mu_unlock(&fd->mu); - - return mask; -} - -void grpc_fd_end_poll(grpc_exec_ctx *exec_ctx, grpc_fd_watcher *watcher, - int got_read, int got_write) { - int was_polling = 0; - int kick = 0; - grpc_fd *fd = watcher->fd; - - if (fd == NULL) { - return; - } - - gpr_mu_lock(&fd->mu); - - if (watcher == fd->read_watcher) { - /* remove read watcher, kick if we still need a read */ - was_polling = 1; - if (!got_read) { - kick = 1; - } - fd->read_watcher = NULL; - } - if (watcher == fd->write_watcher) { - /* remove write watcher, kick if we still need a write */ - was_polling = 1; - if (!got_write) { - kick = 1; - } - fd->write_watcher = NULL; - } - if (!was_polling && watcher->worker != NULL) { - /* remove from inactive list */ - watcher->next->prev = watcher->prev; - watcher->prev->next = watcher->next; - } - if (got_read) { - if (set_ready_locked(exec_ctx, fd, &fd->read_closure)) { - kick = 1; - } - } - if (got_write) { - if (set_ready_locked(exec_ctx, fd, &fd->write_closure)) { - kick = 1; - } - } - if (kick) { - maybe_wake_one_watcher_locked(fd); - } - if (grpc_fd_is_orphaned(fd) && !has_watchers(fd) && !fd->closed) { - close_fd_locked(exec_ctx, fd); - } - gpr_mu_unlock(&fd->mu); - - GRPC_FD_UNREF(fd, "poll"); -} - -void grpc_fd_become_readable(grpc_exec_ctx *exec_ctx, grpc_fd *fd) { - set_ready(exec_ctx, fd, &fd->read_closure); -} - -void grpc_fd_become_writable(grpc_exec_ctx *exec_ctx, grpc_fd *fd) { - set_ready(exec_ctx, fd, &fd->write_closure); -} - -#endif diff --git a/src/core/lib/iomgr/fd_posix.h b/src/core/lib/iomgr/fd_posix.h deleted file mode 100644 index 69d09ef5e3e8768a2bb0b3e58f147cf93f7800c0..0000000000000000000000000000000000000000 --- a/src/core/lib/iomgr/fd_posix.h +++ /dev/null @@ -1,192 +0,0 @@ -/* - * - * Copyright 2015-2016, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#ifndef GRPC_CORE_LIB_IOMGR_FD_POSIX_H -#define GRPC_CORE_LIB_IOMGR_FD_POSIX_H - -#include <grpc/support/atm.h> -#include <grpc/support/sync.h> -#include <grpc/support/time.h> -#include "src/core/lib/iomgr/iomgr_internal.h" -#include "src/core/lib/iomgr/pollset.h" - -typedef struct grpc_fd grpc_fd; - -typedef struct grpc_fd_watcher { - struct grpc_fd_watcher *next; - struct grpc_fd_watcher *prev; - grpc_pollset *pollset; - grpc_pollset_worker *worker; - grpc_fd *fd; -} grpc_fd_watcher; - -struct grpc_fd { - int fd; - /* refst format: - bit0: 1=active/0=orphaned - bit1-n: refcount - meaning that mostly we ref by two to avoid altering the orphaned bit, - and just unref by 1 when we're ready to flag the object as orphaned */ - gpr_atm refst; - - gpr_mu mu; - int shutdown; - int closed; - int released; - - /* The watcher list. - - The following watcher related fields are protected by watcher_mu. - - An fd_watcher is an ephemeral object created when an fd wants to - begin polling, and destroyed after the poll. - - It denotes the fd's interest in whether to read poll or write poll - or both or neither on this fd. - - If a watcher is asked to poll for reads or writes, the read_watcher - or write_watcher fields are set respectively. A watcher may be asked - to poll for both, in which case both fields will be set. - - read_watcher and write_watcher may be NULL if no watcher has been - asked to poll for reads or writes. - - If an fd_watcher is not asked to poll for reads or writes, it's added - to a linked list of inactive watchers, rooted at inactive_watcher_root. - If at a later time there becomes need of a poller to poll, one of - the inactive pollers may be kicked out of their poll loops to take - that responsibility. */ - grpc_fd_watcher inactive_watcher_root; - grpc_fd_watcher *read_watcher; - grpc_fd_watcher *write_watcher; - - grpc_closure *read_closure; - grpc_closure *write_closure; - - struct grpc_fd *freelist_next; - - grpc_closure *on_done_closure; - - grpc_iomgr_object iomgr_object; -}; - -/* Create a wrapped file descriptor. - Requires fd is a non-blocking file descriptor. - This takes ownership of closing fd. */ -grpc_fd *grpc_fd_create(int fd, const char *name); - -/* Return the wrapped fd, or -1 if it has been released or closed. */ -int grpc_fd_wrapped_fd(grpc_fd *fd); - -/* Releases fd to be asynchronously destroyed. - on_done is called when the underlying file descriptor is definitely close()d. - If on_done is NULL, no callback will be made. - If release_fd is not NULL, it's set to fd and fd will not be closed. - Requires: *fd initialized; no outstanding notify_on_read or - notify_on_write. - MUST NOT be called with a pollset lock taken */ -void grpc_fd_orphan(grpc_exec_ctx *exec_ctx, grpc_fd *fd, grpc_closure *on_done, - int *release_fd, const char *reason); - -/* Begin polling on an fd. - Registers that the given pollset is interested in this fd - so that if read - or writability interest changes, the pollset can be kicked to pick up that - new interest. - Return value is: - (fd_needs_read? read_mask : 0) | (fd_needs_write? write_mask : 0) - i.e. a combination of read_mask and write_mask determined by the fd's current - interest in said events. - Polling strategies that do not need to alter their behavior depending on the - fd's current interest (such as epoll) do not need to call this function. - MUST NOT be called with a pollset lock taken */ -uint32_t grpc_fd_begin_poll(grpc_fd *fd, grpc_pollset *pollset, - grpc_pollset_worker *worker, uint32_t read_mask, - uint32_t write_mask, grpc_fd_watcher *rec); -/* Complete polling previously started with grpc_fd_begin_poll - MUST NOT be called with a pollset lock taken - if got_read or got_write are 1, also does the become_{readable,writable} as - appropriate. */ -void grpc_fd_end_poll(grpc_exec_ctx *exec_ctx, grpc_fd_watcher *rec, - int got_read, int got_write); - -/* Return 1 if this fd is orphaned, 0 otherwise */ -int grpc_fd_is_orphaned(grpc_fd *fd); - -/* Cause any current callbacks to error out with GRPC_CALLBACK_CANCELLED. */ -void grpc_fd_shutdown(grpc_exec_ctx *exec_ctx, grpc_fd *fd); - -/* Register read interest, causing read_cb to be called once when fd becomes - readable, on deadline specified by deadline, or on shutdown triggered by - grpc_fd_shutdown. - read_cb will be called with read_cb_arg when *fd becomes readable. - read_cb is Called with status of GRPC_CALLBACK_SUCCESS if readable, - GRPC_CALLBACK_TIMED_OUT if the call timed out, - and CANCELLED if the call was cancelled. - - Requires:This method must not be called before the read_cb for any previous - call runs. Edge triggered events are used whenever they are supported by the - underlying platform. This means that users must drain fd in read_cb before - calling notify_on_read again. Users are also expected to handle spurious - events, i.e read_cb is called while nothing can be readable from fd */ -void grpc_fd_notify_on_read(grpc_exec_ctx *exec_ctx, grpc_fd *fd, - grpc_closure *closure); - -/* Exactly the same semantics as above, except based on writable events. */ -void grpc_fd_notify_on_write(grpc_exec_ctx *exec_ctx, grpc_fd *fd, - grpc_closure *closure); - -/* Notification from the poller to an fd that it has become readable or - writable. - If allow_synchronous_callback is 1, allow running the fd callback inline - in this callstack, otherwise register an asynchronous callback and return */ -void grpc_fd_become_readable(grpc_exec_ctx *exec_ctx, grpc_fd *fd); -void grpc_fd_become_writable(grpc_exec_ctx *exec_ctx, grpc_fd *fd); - -/* Reference counting for fds */ -/*#define GRPC_FD_REF_COUNT_DEBUG*/ -#ifdef GRPC_FD_REF_COUNT_DEBUG -void grpc_fd_ref(grpc_fd *fd, const char *reason, const char *file, int line); -void grpc_fd_unref(grpc_fd *fd, const char *reason, const char *file, int line); -#define GRPC_FD_REF(fd, reason) grpc_fd_ref(fd, reason, __FILE__, __LINE__) -#define GRPC_FD_UNREF(fd, reason) grpc_fd_unref(fd, reason, __FILE__, __LINE__) -#else -void grpc_fd_ref(grpc_fd *fd); -void grpc_fd_unref(grpc_fd *fd); -#define GRPC_FD_REF(fd, reason) grpc_fd_ref(fd) -#define GRPC_FD_UNREF(fd, reason) grpc_fd_unref(fd) -#endif - -void grpc_fd_global_init(void); -void grpc_fd_global_shutdown(void); - -#endif /* GRPC_CORE_LIB_IOMGR_FD_POSIX_H */ diff --git a/src/core/lib/iomgr/iocp_windows.c b/src/core/lib/iomgr/iocp_windows.c index 682a32c0daeaaa97fc255d8c4c40d30ad3ced88c..d46558ab1b1c7255278337ba3427ec491d1c031f 100644 --- a/src/core/lib/iomgr/iocp_windows.c +++ b/src/core/lib/iomgr/iocp_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/iocp_windows.h b/src/core/lib/iomgr/iocp_windows.h index 856c837fb444dd03dc5ffc9d86dd45e784409fae..ae210fa7d7017d1bb0360527097d9e1ede4ec198 100644 --- a/src/core/lib/iomgr/iocp_windows.h +++ b/src/core/lib/iomgr/iocp_windows.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/iomgr.c b/src/core/lib/iomgr/iomgr.c index bb544c82803a95a91812430aaa77299349d0b23d..146663984d624e738cfb32fba6df5d400d82c1ad 100644 --- a/src/core/lib/iomgr/iomgr.c +++ b/src/core/lib/iomgr/iomgr.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -63,7 +63,6 @@ void grpc_iomgr_init(void) { g_root_object.next = g_root_object.prev = &g_root_object; g_root_object.name = "root"; grpc_iomgr_platform_init(); - grpc_pollset_global_init(); } static size_t count_objects(void) { @@ -138,7 +137,6 @@ void grpc_iomgr_shutdown(void) { gpr_mu_lock(&g_mu); gpr_mu_unlock(&g_mu); - grpc_pollset_global_shutdown(); grpc_iomgr_platform_shutdown(); grpc_exec_ctx_global_shutdown(); gpr_mu_destroy(&g_mu); diff --git a/src/core/lib/iomgr/iomgr.h b/src/core/lib/iomgr/iomgr.h index babf0a85b7f8569ae6da1b169221f9ea1ad7fce5..6c82de78acffd5e3bc2ba849be38220a2fc53d2b 100644 --- a/src/core/lib/iomgr/iomgr.h +++ b/src/core/lib/iomgr/iomgr.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/iomgr_internal.h b/src/core/lib/iomgr/iomgr_internal.h index 0963630c6145a4f3418509d2fb57801ca1f44862..805be1f1e46bfdfa4aba7cca9e5a02072a5ffd30 100644 --- a/src/core/lib/iomgr/iomgr_internal.h +++ b/src/core/lib/iomgr/iomgr_internal.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,7 +36,6 @@ #include <stdbool.h> -#include <grpc/support/sync.h> #include "src/core/lib/iomgr/iomgr.h" typedef struct grpc_iomgr_object { @@ -45,9 +44,6 @@ typedef struct grpc_iomgr_object { struct grpc_iomgr_object *prev; } grpc_iomgr_object; -void grpc_pollset_global_init(void); -void grpc_pollset_global_shutdown(void); - void grpc_iomgr_register_object(grpc_iomgr_object *obj, const char *name); void grpc_iomgr_unregister_object(grpc_iomgr_object *obj); diff --git a/src/core/lib/iomgr/iomgr_posix.c b/src/core/lib/iomgr/iomgr_posix.c index e4990f7bcefd3f56ffd85afdfc74b185066f4cdc..016c501f754fe4b9b23d4a39084ab14517e51148 100644 --- a/src/core/lib/iomgr/iomgr_posix.c +++ b/src/core/lib/iomgr/iomgr_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,17 +36,17 @@ #ifdef GPR_POSIX_SOCKET #include "src/core/lib/debug/trace.h" -#include "src/core/lib/iomgr/fd_posix.h" +#include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/iomgr_posix.h" #include "src/core/lib/iomgr/tcp_posix.h" void grpc_iomgr_platform_init(void) { - grpc_fd_global_init(); + grpc_event_engine_init(); grpc_register_tracer("tcp", &grpc_tcp_trace); } void grpc_iomgr_platform_flush(void) {} -void grpc_iomgr_platform_shutdown(void) { grpc_fd_global_shutdown(); } +void grpc_iomgr_platform_shutdown(void) { grpc_event_engine_shutdown(); } #endif /* GRPC_POSIX_SOCKET */ diff --git a/src/core/lib/iomgr/iomgr_posix.h b/src/core/lib/iomgr/iomgr_posix.h index 6a8996e403c036296f10ca6bf86603dd3f08c39a..d5eade962a0764975c9bf5d30d38d59eb3a58c2c 100644 --- a/src/core/lib/iomgr/iomgr_posix.h +++ b/src/core/lib/iomgr/iomgr_posix.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/iomgr_windows.c b/src/core/lib/iomgr/iomgr_windows.c index af7e61639493762b58ec1d58eb4af373b48a6804..398517fc7595f5e3fe1b673b53ed6016baa1c20d 100644 --- a/src/core/lib/iomgr/iomgr_windows.c +++ b/src/core/lib/iomgr/iomgr_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,6 +41,7 @@ #include "src/core/lib/iomgr/iocp_windows.h" #include "src/core/lib/iomgr/iomgr.h" +#include "src/core/lib/iomgr/pollset_windows.h" #include "src/core/lib/iomgr/socket_windows.h" /* Windows' io manager is going to be fully designed using IO completion @@ -61,11 +62,13 @@ static void winsock_shutdown(void) { void grpc_iomgr_platform_init(void) { winsock_init(); grpc_iocp_init(); + grpc_pollset_global_init(); } void grpc_iomgr_platform_flush(void) { grpc_iocp_flush(); } void grpc_iomgr_platform_shutdown(void) { + grpc_pollset_global_shutdown(); grpc_iocp_shutdown(); winsock_shutdown(); } diff --git a/src/core/lib/iomgr/pollset.h b/src/core/lib/iomgr/pollset.h index 615612486236a15c3d7342394dc16ad370a3955b..c40a474877850cc262418605952b4bae76786fa6 100644 --- a/src/core/lib/iomgr/pollset.h +++ b/src/core/lib/iomgr/pollset.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/pollset_multipoller_with_epoll.c b/src/core/lib/iomgr/pollset_multipoller_with_epoll.c deleted file mode 100644 index fa1b0d2d845921a0e5b5809e121c2a987011b788..0000000000000000000000000000000000000000 --- a/src/core/lib/iomgr/pollset_multipoller_with_epoll.c +++ /dev/null @@ -1,324 +0,0 @@ -/* - * - * Copyright 2015-2016, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include <grpc/support/port_platform.h> - -#ifdef GPR_LINUX_MULTIPOLL_WITH_EPOLL - -#include <errno.h> -#include <poll.h> -#include <string.h> -#include <sys/epoll.h> -#include <unistd.h> - -#include <grpc/support/alloc.h> -#include <grpc/support/log.h> -#include <grpc/support/useful.h> -#include "src/core/lib/iomgr/fd_posix.h" -#include "src/core/lib/iomgr/pollset_posix.h" -#include "src/core/lib/profiling/timers.h" -#include "src/core/lib/support/block_annotate.h" - -struct epoll_fd_list { - int *epoll_fds; - size_t count; - size_t capacity; -}; - -static struct epoll_fd_list epoll_fd_global_list; -static gpr_once init_epoll_fd_list_mu = GPR_ONCE_INIT; -static gpr_mu epoll_fd_list_mu; - -static void init_mu(void) { gpr_mu_init(&epoll_fd_list_mu); } - -static void add_epoll_fd_to_global_list(int epoll_fd) { - gpr_once_init(&init_epoll_fd_list_mu, init_mu); - - gpr_mu_lock(&epoll_fd_list_mu); - if (epoll_fd_global_list.count == epoll_fd_global_list.capacity) { - epoll_fd_global_list.capacity = - GPR_MAX((size_t)8, epoll_fd_global_list.capacity * 2); - epoll_fd_global_list.epoll_fds = - gpr_realloc(epoll_fd_global_list.epoll_fds, - epoll_fd_global_list.capacity * sizeof(int)); - } - epoll_fd_global_list.epoll_fds[epoll_fd_global_list.count++] = epoll_fd; - gpr_mu_unlock(&epoll_fd_list_mu); -} - -static void remove_epoll_fd_from_global_list(int epoll_fd) { - gpr_mu_lock(&epoll_fd_list_mu); - GPR_ASSERT(epoll_fd_global_list.count > 0); - for (size_t i = 0; i < epoll_fd_global_list.count; i++) { - if (epoll_fd == epoll_fd_global_list.epoll_fds[i]) { - epoll_fd_global_list.epoll_fds[i] = - epoll_fd_global_list.epoll_fds[--(epoll_fd_global_list.count)]; - break; - } - } - gpr_mu_unlock(&epoll_fd_list_mu); -} - -void grpc_remove_fd_from_all_epoll_sets(int fd) { - int err; - gpr_once_init(&init_epoll_fd_list_mu, init_mu); - gpr_mu_lock(&epoll_fd_list_mu); - if (epoll_fd_global_list.count == 0) { - gpr_mu_unlock(&epoll_fd_list_mu); - return; - } - for (size_t i = 0; i < epoll_fd_global_list.count; i++) { - err = epoll_ctl(epoll_fd_global_list.epoll_fds[i], EPOLL_CTL_DEL, fd, NULL); - if (err < 0 && errno != ENOENT) { - gpr_log(GPR_ERROR, "epoll_ctl del for %d failed: %s", fd, - strerror(errno)); - } - } - gpr_mu_unlock(&epoll_fd_list_mu); -} - -typedef struct { - grpc_pollset *pollset; - grpc_fd *fd; - grpc_closure closure; -} delayed_add; - -typedef struct { int epoll_fd; } pollset_hdr; - -static void finally_add_fd(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - grpc_fd *fd) { - pollset_hdr *h = pollset->data.ptr; - struct epoll_event ev; - int err; - grpc_fd_watcher watcher; - - /* We pretend to be polling whilst adding an fd to keep the fd from being - closed during the add. This may result in a spurious wakeup being assigned - to this pollset whilst adding, but that should be benign. */ - GPR_ASSERT(grpc_fd_begin_poll(fd, pollset, NULL, 0, 0, &watcher) == 0); - if (watcher.fd != NULL) { - ev.events = (uint32_t)(EPOLLIN | EPOLLOUT | EPOLLET); - ev.data.ptr = fd; - err = epoll_ctl(h->epoll_fd, EPOLL_CTL_ADD, fd->fd, &ev); - if (err < 0) { - /* FDs may be added to a pollset multiple times, so EEXIST is normal. */ - if (errno != EEXIST) { - gpr_log(GPR_ERROR, "epoll_ctl add for %d failed: %s", fd->fd, - strerror(errno)); - } - } - } - grpc_fd_end_poll(exec_ctx, &watcher, 0, 0); -} - -static void perform_delayed_add(grpc_exec_ctx *exec_ctx, void *arg, - bool iomgr_status) { - delayed_add *da = arg; - - if (!grpc_fd_is_orphaned(da->fd)) { - finally_add_fd(exec_ctx, da->pollset, da->fd); - } - - gpr_mu_lock(&da->pollset->mu); - da->pollset->in_flight_cbs--; - if (da->pollset->shutting_down) { - /* We don't care about this pollset anymore. */ - if (da->pollset->in_flight_cbs == 0 && !da->pollset->called_shutdown) { - da->pollset->called_shutdown = 1; - grpc_exec_ctx_enqueue(exec_ctx, da->pollset->shutdown_done, true, NULL); - } - } - gpr_mu_unlock(&da->pollset->mu); - - GRPC_FD_UNREF(da->fd, "delayed_add"); - - gpr_free(da); -} - -static void multipoll_with_epoll_pollset_add_fd(grpc_exec_ctx *exec_ctx, - grpc_pollset *pollset, - grpc_fd *fd, - int and_unlock_pollset) { - if (and_unlock_pollset) { - gpr_mu_unlock(&pollset->mu); - finally_add_fd(exec_ctx, pollset, fd); - } else { - delayed_add *da = gpr_malloc(sizeof(*da)); - da->pollset = pollset; - da->fd = fd; - GRPC_FD_REF(fd, "delayed_add"); - grpc_closure_init(&da->closure, perform_delayed_add, da); - pollset->in_flight_cbs++; - grpc_exec_ctx_enqueue(exec_ctx, &da->closure, true, NULL); - } -} - -/* TODO(klempner): We probably want to turn this down a bit */ -#define GRPC_EPOLL_MAX_EVENTS 1000 - -static void multipoll_with_epoll_pollset_maybe_work_and_unlock( - grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker *worker, - gpr_timespec deadline, gpr_timespec now) { - struct epoll_event ep_ev[GRPC_EPOLL_MAX_EVENTS]; - int ep_rv; - int poll_rv; - pollset_hdr *h = pollset->data.ptr; - int timeout_ms; - struct pollfd pfds[2]; - - /* If you want to ignore epoll's ability to sanely handle parallel pollers, - * for a more apples-to-apples performance comparison with poll, add a - * if (pollset->counter != 0) { return 0; } - * here. - */ - - gpr_mu_unlock(&pollset->mu); - - timeout_ms = grpc_poll_deadline_to_millis_timeout(deadline, now); - - pfds[0].fd = GRPC_WAKEUP_FD_GET_READ_FD(&worker->wakeup_fd->fd); - pfds[0].events = POLLIN; - pfds[0].revents = 0; - pfds[1].fd = h->epoll_fd; - pfds[1].events = POLLIN; - pfds[1].revents = 0; - - /* TODO(vpai): Consider first doing a 0 timeout poll here to avoid - even going into the blocking annotation if possible */ - GPR_TIMER_BEGIN("poll", 0); - GRPC_SCHEDULING_START_BLOCKING_REGION; - poll_rv = grpc_poll_function(pfds, 2, timeout_ms); - GRPC_SCHEDULING_END_BLOCKING_REGION; - GPR_TIMER_END("poll", 0); - - if (poll_rv < 0) { - if (errno != EINTR) { - gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno)); - } - } else if (poll_rv == 0) { - /* do nothing */ - } else { - if (pfds[0].revents) { - grpc_wakeup_fd_consume_wakeup(&worker->wakeup_fd->fd); - } - if (pfds[1].revents) { - do { - /* The following epoll_wait never blocks; it has a timeout of 0 */ - ep_rv = epoll_wait(h->epoll_fd, ep_ev, GRPC_EPOLL_MAX_EVENTS, 0); - if (ep_rv < 0) { - if (errno != EINTR) { - gpr_log(GPR_ERROR, "epoll_wait() failed: %s", strerror(errno)); - } - } else { - int i; - for (i = 0; i < ep_rv; ++i) { - grpc_fd *fd = ep_ev[i].data.ptr; - /* TODO(klempner): We might want to consider making err and pri - * separate events */ - int cancel = ep_ev[i].events & (EPOLLERR | EPOLLHUP); - int read_ev = ep_ev[i].events & (EPOLLIN | EPOLLPRI); - int write_ev = ep_ev[i].events & EPOLLOUT; - if (fd == NULL) { - grpc_wakeup_fd_consume_wakeup(&grpc_global_wakeup_fd); - } else { - if (read_ev || cancel) { - grpc_fd_become_readable(exec_ctx, fd); - } - if (write_ev || cancel) { - grpc_fd_become_writable(exec_ctx, fd); - } - } - } - } - } while (ep_rv == GRPC_EPOLL_MAX_EVENTS); - } - } -} - -static void multipoll_with_epoll_pollset_finish_shutdown( - grpc_pollset *pollset) {} - -static void multipoll_with_epoll_pollset_destroy(grpc_pollset *pollset) { - pollset_hdr *h = pollset->data.ptr; - close(h->epoll_fd); - remove_epoll_fd_from_global_list(h->epoll_fd); - gpr_free(h); -} - -static const grpc_pollset_vtable multipoll_with_epoll_pollset = { - multipoll_with_epoll_pollset_add_fd, - multipoll_with_epoll_pollset_maybe_work_and_unlock, - multipoll_with_epoll_pollset_finish_shutdown, - multipoll_with_epoll_pollset_destroy}; - -static void epoll_become_multipoller(grpc_exec_ctx *exec_ctx, - grpc_pollset *pollset, grpc_fd **fds, - size_t nfds) { - size_t i; - pollset_hdr *h = gpr_malloc(sizeof(pollset_hdr)); - struct epoll_event ev; - int err; - - pollset->vtable = &multipoll_with_epoll_pollset; - pollset->data.ptr = h; - h->epoll_fd = epoll_create1(EPOLL_CLOEXEC); - if (h->epoll_fd < 0) { - /* TODO(klempner): Fall back to poll here, especially on ENOSYS */ - gpr_log(GPR_ERROR, "epoll_create1 failed: %s", strerror(errno)); - abort(); - } - add_epoll_fd_to_global_list(h->epoll_fd); - - ev.events = (uint32_t)(EPOLLIN | EPOLLET); - ev.data.ptr = NULL; - err = epoll_ctl(h->epoll_fd, EPOLL_CTL_ADD, - GRPC_WAKEUP_FD_GET_READ_FD(&grpc_global_wakeup_fd), &ev); - if (err < 0) { - gpr_log(GPR_ERROR, "epoll_ctl add for %d failed: %s", - GRPC_WAKEUP_FD_GET_READ_FD(&grpc_global_wakeup_fd), - strerror(errno)); - } - - for (i = 0; i < nfds; i++) { - multipoll_with_epoll_pollset_add_fd(exec_ctx, pollset, fds[i], 0); - } -} - -grpc_platform_become_multipoller_type grpc_platform_become_multipoller = - epoll_become_multipoller; - -#else /* GPR_LINUX_MULTIPOLL_WITH_EPOLL */ - -void grpc_remove_fd_from_all_epoll_sets(int fd) {} - -#endif /* GPR_LINUX_MULTIPOLL_WITH_EPOLL */ diff --git a/src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c b/src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c deleted file mode 100644 index 9b33f6dbb22808bf0d38768b57c7aa9b05ed54dd..0000000000000000000000000000000000000000 --- a/src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c +++ /dev/null @@ -1,234 +0,0 @@ -/* - * - * Copyright 2015-2016, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include <grpc/support/port_platform.h> - -#ifdef GPR_POSIX_SOCKET - -#include "src/core/lib/iomgr/pollset_posix.h" - -#include <errno.h> -#include <poll.h> -#include <stdlib.h> -#include <string.h> - -#include <grpc/support/alloc.h> -#include <grpc/support/log.h> -#include <grpc/support/useful.h> - -#include "src/core/lib/iomgr/fd_posix.h" -#include "src/core/lib/iomgr/iomgr_internal.h" -#include "src/core/lib/iomgr/pollset_posix.h" -#include "src/core/lib/support/block_annotate.h" - -typedef struct { - /* all polled fds */ - size_t fd_count; - size_t fd_capacity; - grpc_fd **fds; - /* fds that have been removed from the pollset explicitly */ - size_t del_count; - size_t del_capacity; - grpc_fd **dels; -} pollset_hdr; - -static void multipoll_with_poll_pollset_add_fd(grpc_exec_ctx *exec_ctx, - grpc_pollset *pollset, - grpc_fd *fd, - int and_unlock_pollset) { - size_t i; - pollset_hdr *h = pollset->data.ptr; - /* TODO(ctiller): this is O(num_fds^2); maybe switch to a hash set here */ - for (i = 0; i < h->fd_count; i++) { - if (h->fds[i] == fd) goto exit; - } - if (h->fd_count == h->fd_capacity) { - h->fd_capacity = GPR_MAX(h->fd_capacity + 8, h->fd_count * 3 / 2); - h->fds = gpr_realloc(h->fds, sizeof(grpc_fd *) * h->fd_capacity); - } - h->fds[h->fd_count++] = fd; - GRPC_FD_REF(fd, "multipoller"); -exit: - if (and_unlock_pollset) { - gpr_mu_unlock(&pollset->mu); - } -} - -static void multipoll_with_poll_pollset_maybe_work_and_unlock( - grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_pollset_worker *worker, - gpr_timespec deadline, gpr_timespec now) { -#define POLLOUT_CHECK (POLLOUT | POLLHUP | POLLERR) -#define POLLIN_CHECK (POLLIN | POLLHUP | POLLERR) - - int timeout; - int r; - size_t i, j, fd_count; - nfds_t pfd_count; - pollset_hdr *h; - /* TODO(ctiller): inline some elements to avoid an allocation */ - grpc_fd_watcher *watchers; - struct pollfd *pfds; - - h = pollset->data.ptr; - timeout = grpc_poll_deadline_to_millis_timeout(deadline, now); - /* TODO(ctiller): perform just one malloc here if we exceed the inline case */ - pfds = gpr_malloc(sizeof(*pfds) * (h->fd_count + 2)); - watchers = gpr_malloc(sizeof(*watchers) * (h->fd_count + 2)); - fd_count = 0; - pfd_count = 2; - pfds[0].fd = GRPC_WAKEUP_FD_GET_READ_FD(&grpc_global_wakeup_fd); - pfds[0].events = POLLIN; - pfds[0].revents = 0; - pfds[1].fd = GRPC_WAKEUP_FD_GET_READ_FD(&worker->wakeup_fd->fd); - pfds[1].events = POLLIN; - pfds[1].revents = 0; - for (i = 0; i < h->fd_count; i++) { - int remove = grpc_fd_is_orphaned(h->fds[i]); - for (j = 0; !remove && j < h->del_count; j++) { - if (h->fds[i] == h->dels[j]) remove = 1; - } - if (remove) { - GRPC_FD_UNREF(h->fds[i], "multipoller"); - } else { - h->fds[fd_count++] = h->fds[i]; - watchers[pfd_count].fd = h->fds[i]; - GRPC_FD_REF(watchers[pfd_count].fd, "multipoller_start"); - pfds[pfd_count].fd = h->fds[i]->fd; - pfds[pfd_count].revents = 0; - pfd_count++; - } - } - for (j = 0; j < h->del_count; j++) { - GRPC_FD_UNREF(h->dels[j], "multipoller_del"); - } - h->del_count = 0; - h->fd_count = fd_count; - gpr_mu_unlock(&pollset->mu); - - for (i = 2; i < pfd_count; i++) { - grpc_fd *fd = watchers[i].fd; - pfds[i].events = (short)grpc_fd_begin_poll(fd, pollset, worker, POLLIN, - POLLOUT, &watchers[i]); - GRPC_FD_UNREF(fd, "multipoller_start"); - } - - /* TODO(vpai): Consider first doing a 0 timeout poll here to avoid - even going into the blocking annotation if possible */ - GRPC_SCHEDULING_START_BLOCKING_REGION; - r = grpc_poll_function(pfds, pfd_count, timeout); - GRPC_SCHEDULING_END_BLOCKING_REGION; - - if (r < 0) { - if (errno != EINTR) { - gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno)); - } - for (i = 2; i < pfd_count; i++) { - grpc_fd_end_poll(exec_ctx, &watchers[i], 0, 0); - } - } else if (r == 0) { - for (i = 2; i < pfd_count; i++) { - grpc_fd_end_poll(exec_ctx, &watchers[i], 0, 0); - } - } else { - if (pfds[0].revents & POLLIN_CHECK) { - grpc_wakeup_fd_consume_wakeup(&grpc_global_wakeup_fd); - } - if (pfds[1].revents & POLLIN_CHECK) { - grpc_wakeup_fd_consume_wakeup(&worker->wakeup_fd->fd); - } - for (i = 2; i < pfd_count; i++) { - if (watchers[i].fd == NULL) { - grpc_fd_end_poll(exec_ctx, &watchers[i], 0, 0); - continue; - } - grpc_fd_end_poll(exec_ctx, &watchers[i], pfds[i].revents & POLLIN_CHECK, - pfds[i].revents & POLLOUT_CHECK); - } - } - - gpr_free(pfds); - gpr_free(watchers); -} - -static void multipoll_with_poll_pollset_finish_shutdown(grpc_pollset *pollset) { - size_t i; - pollset_hdr *h = pollset->data.ptr; - for (i = 0; i < h->fd_count; i++) { - GRPC_FD_UNREF(h->fds[i], "multipoller"); - } - for (i = 0; i < h->del_count; i++) { - GRPC_FD_UNREF(h->dels[i], "multipoller_del"); - } - h->fd_count = 0; - h->del_count = 0; -} - -static void multipoll_with_poll_pollset_destroy(grpc_pollset *pollset) { - pollset_hdr *h = pollset->data.ptr; - multipoll_with_poll_pollset_finish_shutdown(pollset); - gpr_free(h->fds); - gpr_free(h->dels); - gpr_free(h); -} - -static const grpc_pollset_vtable multipoll_with_poll_pollset = { - multipoll_with_poll_pollset_add_fd, - multipoll_with_poll_pollset_maybe_work_and_unlock, - multipoll_with_poll_pollset_finish_shutdown, - multipoll_with_poll_pollset_destroy}; - -void grpc_poll_become_multipoller(grpc_exec_ctx *exec_ctx, - grpc_pollset *pollset, grpc_fd **fds, - size_t nfds) { - size_t i; - pollset_hdr *h = gpr_malloc(sizeof(pollset_hdr)); - pollset->vtable = &multipoll_with_poll_pollset; - pollset->data.ptr = h; - h->fd_count = nfds; - h->fd_capacity = nfds; - h->fds = gpr_malloc(nfds * sizeof(grpc_fd *)); - h->del_count = 0; - h->del_capacity = 0; - h->dels = NULL; - for (i = 0; i < nfds; i++) { - h->fds[i] = fds[i]; - GRPC_FD_REF(fds[i], "multipoller"); - } -} - -#endif /* GPR_POSIX_SOCKET */ - -#ifdef GPR_POSIX_MULTIPOLL_WITH_POLL -grpc_platform_become_multipoller_type grpc_platform_become_multipoller = - grpc_poll_become_multipoller; -#endif diff --git a/src/core/lib/iomgr/pollset_posix.c b/src/core/lib/iomgr/pollset_posix.c deleted file mode 100644 index 259c7bc1946aa6b0f7325ac5ce72a9f10688f96b..0000000000000000000000000000000000000000 --- a/src/core/lib/iomgr/pollset_posix.c +++ /dev/null @@ -1,633 +0,0 @@ -/* - * - * Copyright 2015-2016, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include <grpc/support/port_platform.h> - -#ifdef GPR_POSIX_SOCKET - -#include "src/core/lib/iomgr/pollset_posix.h" - -#include <errno.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> - -#include <grpc/support/alloc.h> -#include <grpc/support/log.h> -#include <grpc/support/thd.h> -#include <grpc/support/tls.h> -#include <grpc/support/useful.h> -#include "src/core/lib/iomgr/fd_posix.h" -#include "src/core/lib/iomgr/iomgr_internal.h" -#include "src/core/lib/iomgr/socket_utils_posix.h" -#include "src/core/lib/profiling/timers.h" -#include "src/core/lib/support/block_annotate.h" - -GPR_TLS_DECL(g_current_thread_poller); -GPR_TLS_DECL(g_current_thread_worker); - -/** Default poll() function - a pointer so that it can be overridden by some - * tests */ -grpc_poll_function_type grpc_poll_function = poll; - -/** The alarm system needs to be able to wakeup 'some poller' sometimes - * (specifically when a new alarm needs to be triggered earlier than the next - * alarm 'epoch'). - * This wakeup_fd gives us something to alert on when such a case occurs. */ -grpc_wakeup_fd grpc_global_wakeup_fd; - -static void remove_worker(grpc_pollset *p, grpc_pollset_worker *worker) { - worker->prev->next = worker->next; - worker->next->prev = worker->prev; -} - -int grpc_pollset_has_workers(grpc_pollset *p) { - return p->root_worker.next != &p->root_worker; -} - -static grpc_pollset_worker *pop_front_worker(grpc_pollset *p) { - if (grpc_pollset_has_workers(p)) { - grpc_pollset_worker *w = p->root_worker.next; - remove_worker(p, w); - return w; - } else { - return NULL; - } -} - -static void push_back_worker(grpc_pollset *p, grpc_pollset_worker *worker) { - worker->next = &p->root_worker; - worker->prev = worker->next->prev; - worker->prev->next = worker->next->prev = worker; -} - -static void push_front_worker(grpc_pollset *p, grpc_pollset_worker *worker) { - worker->prev = &p->root_worker; - worker->next = worker->prev->next; - worker->prev->next = worker->next->prev = worker; -} - -size_t grpc_pollset_size(void) { return sizeof(grpc_pollset); } - -void grpc_pollset_kick_ext(grpc_pollset *p, - grpc_pollset_worker *specific_worker, - uint32_t flags) { - GPR_TIMER_BEGIN("grpc_pollset_kick_ext", 0); - - /* pollset->mu already held */ - if (specific_worker != NULL) { - if (specific_worker == GRPC_POLLSET_KICK_BROADCAST) { - GPR_TIMER_BEGIN("grpc_pollset_kick_ext.broadcast", 0); - GPR_ASSERT((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) == 0); - for (specific_worker = p->root_worker.next; - specific_worker != &p->root_worker; - specific_worker = specific_worker->next) { - grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd); - } - p->kicked_without_pollers = 1; - GPR_TIMER_END("grpc_pollset_kick_ext.broadcast", 0); - } else if (gpr_tls_get(&g_current_thread_worker) != - (intptr_t)specific_worker) { - GPR_TIMER_MARK("different_thread_worker", 0); - if ((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) != 0) { - specific_worker->reevaluate_polling_on_wakeup = 1; - } - specific_worker->kicked_specifically = 1; - grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd); - } else if ((flags & GRPC_POLLSET_CAN_KICK_SELF) != 0) { - GPR_TIMER_MARK("kick_yoself", 0); - if ((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) != 0) { - specific_worker->reevaluate_polling_on_wakeup = 1; - } - specific_worker->kicked_specifically = 1; - grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd); - } - } else if (gpr_tls_get(&g_current_thread_poller) != (intptr_t)p) { - GPR_ASSERT((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) == 0); - GPR_TIMER_MARK("kick_anonymous", 0); - specific_worker = pop_front_worker(p); - if (specific_worker != NULL) { - if (gpr_tls_get(&g_current_thread_worker) == (intptr_t)specific_worker) { - GPR_TIMER_MARK("kick_anonymous_not_self", 0); - push_back_worker(p, specific_worker); - specific_worker = pop_front_worker(p); - if ((flags & GRPC_POLLSET_CAN_KICK_SELF) == 0 && - gpr_tls_get(&g_current_thread_worker) == - (intptr_t)specific_worker) { - push_back_worker(p, specific_worker); - specific_worker = NULL; - } - } - if (specific_worker != NULL) { - GPR_TIMER_MARK("finally_kick", 0); - push_back_worker(p, specific_worker); - grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd); - } - } else { - GPR_TIMER_MARK("kicked_no_pollers", 0); - p->kicked_without_pollers = 1; - } - } - - GPR_TIMER_END("grpc_pollset_kick_ext", 0); -} - -void grpc_pollset_kick(grpc_pollset *p, grpc_pollset_worker *specific_worker) { - grpc_pollset_kick_ext(p, specific_worker, 0); -} - -/* global state management */ - -void grpc_pollset_global_init(void) { - gpr_tls_init(&g_current_thread_poller); - gpr_tls_init(&g_current_thread_worker); - grpc_wakeup_fd_global_init(); - grpc_wakeup_fd_init(&grpc_global_wakeup_fd); -} - -void grpc_pollset_global_shutdown(void) { - grpc_wakeup_fd_destroy(&grpc_global_wakeup_fd); - gpr_tls_destroy(&g_current_thread_poller); - gpr_tls_destroy(&g_current_thread_worker); - grpc_wakeup_fd_global_destroy(); -} - -void grpc_kick_poller(void) { grpc_wakeup_fd_wakeup(&grpc_global_wakeup_fd); } - -/* main interface */ - -static void become_basic_pollset(grpc_pollset *pollset, grpc_fd *fd_or_null); - -void grpc_pollset_init(grpc_pollset *pollset, gpr_mu **mu) { - gpr_mu_init(&pollset->mu); - *mu = &pollset->mu; - pollset->root_worker.next = pollset->root_worker.prev = &pollset->root_worker; - pollset->in_flight_cbs = 0; - pollset->shutting_down = 0; - pollset->called_shutdown = 0; - pollset->kicked_without_pollers = 0; - pollset->idle_jobs.head = pollset->idle_jobs.tail = NULL; - pollset->local_wakeup_cache = NULL; - pollset->kicked_without_pollers = 0; - become_basic_pollset(pollset, NULL); -} - -void grpc_pollset_destroy(grpc_pollset *pollset) { - GPR_ASSERT(pollset->in_flight_cbs == 0); - GPR_ASSERT(!grpc_pollset_has_workers(pollset)); - GPR_ASSERT(pollset->idle_jobs.head == pollset->idle_jobs.tail); - pollset->vtable->destroy(pollset); - while (pollset->local_wakeup_cache) { - grpc_cached_wakeup_fd *next = pollset->local_wakeup_cache->next; - grpc_wakeup_fd_destroy(&pollset->local_wakeup_cache->fd); - gpr_free(pollset->local_wakeup_cache); - pollset->local_wakeup_cache = next; - } -} - -void grpc_pollset_reset(grpc_pollset *pollset) { - GPR_ASSERT(pollset->shutting_down); - GPR_ASSERT(pollset->in_flight_cbs == 0); - GPR_ASSERT(!grpc_pollset_has_workers(pollset)); - GPR_ASSERT(pollset->idle_jobs.head == pollset->idle_jobs.tail); - pollset->vtable->destroy(pollset); - pollset->shutting_down = 0; - pollset->called_shutdown = 0; - pollset->kicked_without_pollers = 0; - become_basic_pollset(pollset, NULL); -} - -void grpc_pollset_add_fd(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - grpc_fd *fd) { - gpr_mu_lock(&pollset->mu); - pollset->vtable->add_fd(exec_ctx, pollset, fd, 1); -/* the following (enabled only in debug) will reacquire and then release - our lock - meaning that if the unlocking flag passed to add_fd above is - not respected, the code will deadlock (in a way that we have a chance of - debugging) */ -#ifndef NDEBUG - gpr_mu_lock(&pollset->mu); - gpr_mu_unlock(&pollset->mu); -#endif -} - -static void finish_shutdown(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset) { - GPR_ASSERT(grpc_closure_list_empty(pollset->idle_jobs)); - pollset->vtable->finish_shutdown(pollset); - grpc_exec_ctx_enqueue(exec_ctx, pollset->shutdown_done, true, NULL); -} - -void grpc_pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - grpc_pollset_worker **worker_hdl, gpr_timespec now, - gpr_timespec deadline) { - grpc_pollset_worker worker; - *worker_hdl = &worker; - - /* pollset->mu already held */ - int added_worker = 0; - int locked = 1; - int queued_work = 0; - int keep_polling = 0; - GPR_TIMER_BEGIN("grpc_pollset_work", 0); - /* this must happen before we (potentially) drop pollset->mu */ - worker.next = worker.prev = NULL; - worker.reevaluate_polling_on_wakeup = 0; - if (pollset->local_wakeup_cache != NULL) { - worker.wakeup_fd = pollset->local_wakeup_cache; - pollset->local_wakeup_cache = worker.wakeup_fd->next; - } else { - worker.wakeup_fd = gpr_malloc(sizeof(*worker.wakeup_fd)); - grpc_wakeup_fd_init(&worker.wakeup_fd->fd); - } - worker.kicked_specifically = 0; - /* If there's work waiting for the pollset to be idle, and the - pollset is idle, then do that work */ - if (!grpc_pollset_has_workers(pollset) && - !grpc_closure_list_empty(pollset->idle_jobs)) { - GPR_TIMER_MARK("grpc_pollset_work.idle_jobs", 0); - grpc_exec_ctx_enqueue_list(exec_ctx, &pollset->idle_jobs, NULL); - goto done; - } - /* If we're shutting down then we don't execute any extended work */ - if (pollset->shutting_down) { - GPR_TIMER_MARK("grpc_pollset_work.shutting_down", 0); - goto done; - } - /* Give do_promote priority so we don't starve it out */ - if (pollset->in_flight_cbs) { - GPR_TIMER_MARK("grpc_pollset_work.in_flight_cbs", 0); - gpr_mu_unlock(&pollset->mu); - locked = 0; - goto done; - } - /* Start polling, and keep doing so while we're being asked to - re-evaluate our pollers (this allows poll() based pollers to - ensure they don't miss wakeups) */ - keep_polling = 1; - while (keep_polling) { - keep_polling = 0; - if (!pollset->kicked_without_pollers) { - if (!added_worker) { - push_front_worker(pollset, &worker); - added_worker = 1; - gpr_tls_set(&g_current_thread_worker, (intptr_t)&worker); - } - gpr_tls_set(&g_current_thread_poller, (intptr_t)pollset); - GPR_TIMER_BEGIN("maybe_work_and_unlock", 0); - pollset->vtable->maybe_work_and_unlock(exec_ctx, pollset, &worker, - deadline, now); - GPR_TIMER_END("maybe_work_and_unlock", 0); - locked = 0; - gpr_tls_set(&g_current_thread_poller, 0); - } else { - GPR_TIMER_MARK("grpc_pollset_work.kicked_without_pollers", 0); - pollset->kicked_without_pollers = 0; - } - /* Finished execution - start cleaning up. - Note that we may arrive here from outside the enclosing while() loop. - In that case we won't loop though as we haven't added worker to the - worker list, which means nobody could ask us to re-evaluate polling). */ - done: - if (!locked) { - queued_work |= grpc_exec_ctx_flush(exec_ctx); - gpr_mu_lock(&pollset->mu); - locked = 1; - } - /* If we're forced to re-evaluate polling (via grpc_pollset_kick with - GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) then we land here and force - a loop */ - if (worker.reevaluate_polling_on_wakeup) { - worker.reevaluate_polling_on_wakeup = 0; - pollset->kicked_without_pollers = 0; - if (queued_work || worker.kicked_specifically) { - /* If there's queued work on the list, then set the deadline to be - immediate so we get back out of the polling loop quickly */ - deadline = gpr_inf_past(GPR_CLOCK_MONOTONIC); - } - keep_polling = 1; - } - } - if (added_worker) { - remove_worker(pollset, &worker); - gpr_tls_set(&g_current_thread_worker, 0); - } - /* release wakeup fd to the local pool */ - worker.wakeup_fd->next = pollset->local_wakeup_cache; - pollset->local_wakeup_cache = worker.wakeup_fd; - /* check shutdown conditions */ - if (pollset->shutting_down) { - if (grpc_pollset_has_workers(pollset)) { - grpc_pollset_kick(pollset, NULL); - } else if (!pollset->called_shutdown && pollset->in_flight_cbs == 0) { - pollset->called_shutdown = 1; - gpr_mu_unlock(&pollset->mu); - finish_shutdown(exec_ctx, pollset); - grpc_exec_ctx_flush(exec_ctx); - /* Continuing to access pollset here is safe -- it is the caller's - * responsibility to not destroy when it has outstanding calls to - * grpc_pollset_work. - * TODO(dklempner): Can we refactor the shutdown logic to avoid this? */ - gpr_mu_lock(&pollset->mu); - } else if (!grpc_closure_list_empty(pollset->idle_jobs)) { - grpc_exec_ctx_enqueue_list(exec_ctx, &pollset->idle_jobs, NULL); - gpr_mu_unlock(&pollset->mu); - grpc_exec_ctx_flush(exec_ctx); - gpr_mu_lock(&pollset->mu); - } - } - *worker_hdl = NULL; - GPR_TIMER_END("grpc_pollset_work", 0); -} - -void grpc_pollset_shutdown(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - grpc_closure *closure) { - GPR_ASSERT(!pollset->shutting_down); - pollset->shutting_down = 1; - pollset->shutdown_done = closure; - grpc_pollset_kick(pollset, GRPC_POLLSET_KICK_BROADCAST); - if (!grpc_pollset_has_workers(pollset)) { - grpc_exec_ctx_enqueue_list(exec_ctx, &pollset->idle_jobs, NULL); - } - if (!pollset->called_shutdown && pollset->in_flight_cbs == 0 && - !grpc_pollset_has_workers(pollset)) { - pollset->called_shutdown = 1; - finish_shutdown(exec_ctx, pollset); - } -} - -int grpc_poll_deadline_to_millis_timeout(gpr_timespec deadline, - gpr_timespec now) { - gpr_timespec timeout; - static const int64_t max_spin_polling_us = 10; - if (gpr_time_cmp(deadline, gpr_inf_future(deadline.clock_type)) == 0) { - return -1; - } - if (gpr_time_cmp(deadline, gpr_time_add(now, gpr_time_from_micros( - max_spin_polling_us, - GPR_TIMESPAN))) <= 0) { - return 0; - } - timeout = gpr_time_sub(deadline, now); - return gpr_time_to_millis(gpr_time_add( - timeout, gpr_time_from_nanos(GPR_NS_PER_MS - 1, GPR_TIMESPAN))); -} - -/* - * basic_pollset - a vtable that provides polling for zero or one file - * descriptor via poll() - */ - -typedef struct grpc_unary_promote_args { - const grpc_pollset_vtable *original_vtable; - grpc_pollset *pollset; - grpc_fd *fd; - grpc_closure promotion_closure; -} grpc_unary_promote_args; - -static void basic_do_promote(grpc_exec_ctx *exec_ctx, void *args, - bool success) { - grpc_unary_promote_args *up_args = args; - const grpc_pollset_vtable *original_vtable = up_args->original_vtable; - grpc_pollset *pollset = up_args->pollset; - grpc_fd *fd = up_args->fd; - - /* - * This is quite tricky. There are a number of cases to keep in mind here: - * 1. fd may have been orphaned - * 2. The pollset may no longer be a unary poller (and we can't let case #1 - * leak to other pollset types!) - * 3. pollset's fd (which may have changed) may have been orphaned - * 4. The pollset may be shutting down. - */ - - gpr_mu_lock(&pollset->mu); - /* First we need to ensure that nobody is polling concurrently */ - GPR_ASSERT(!grpc_pollset_has_workers(pollset)); - - gpr_free(up_args); - /* At this point the pollset may no longer be a unary poller. In that case - * we should just call the right add function and be done. */ - /* TODO(klempner): If we're not careful this could cause infinite recursion. - * That's not a problem for now because empty_pollset has a trivial poller - * and we don't have any mechanism to unbecome multipoller. */ - pollset->in_flight_cbs--; - if (pollset->shutting_down) { - /* We don't care about this pollset anymore. */ - if (pollset->in_flight_cbs == 0 && !pollset->called_shutdown) { - pollset->called_shutdown = 1; - finish_shutdown(exec_ctx, pollset); - } - } else if (grpc_fd_is_orphaned(fd)) { - /* Don't try to add it to anything, we'll drop our ref on it below */ - } else if (pollset->vtable != original_vtable) { - pollset->vtable->add_fd(exec_ctx, pollset, fd, 0); - } else if (fd != pollset->data.ptr) { - grpc_fd *fds[2]; - fds[0] = pollset->data.ptr; - fds[1] = fd; - - if (fds[0] && !grpc_fd_is_orphaned(fds[0])) { - grpc_platform_become_multipoller(exec_ctx, pollset, fds, - GPR_ARRAY_SIZE(fds)); - GRPC_FD_UNREF(fds[0], "basicpoll"); - } else { - /* old fd is orphaned and we haven't cleaned it up until now, so remain a - * unary poller */ - /* Note that it is possible that fds[1] is also orphaned at this point. - * That's okay, we'll correct it at the next add or poll. */ - if (fds[0]) GRPC_FD_UNREF(fds[0], "basicpoll"); - pollset->data.ptr = fd; - GRPC_FD_REF(fd, "basicpoll"); - } - } - - gpr_mu_unlock(&pollset->mu); - - /* Matching ref in basic_pollset_add_fd */ - GRPC_FD_UNREF(fd, "basicpoll_add"); -} - -static void basic_pollset_add_fd(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - grpc_fd *fd, int and_unlock_pollset) { - grpc_unary_promote_args *up_args; - GPR_ASSERT(fd); - if (fd == pollset->data.ptr) goto exit; - - if (!grpc_pollset_has_workers(pollset)) { - /* Fast path -- no in flight cbs */ - /* TODO(klempner): Comment this out and fix any test failures or establish - * they are due to timing issues */ - grpc_fd *fds[2]; - fds[0] = pollset->data.ptr; - fds[1] = fd; - - if (fds[0] == NULL) { - pollset->data.ptr = fd; - GRPC_FD_REF(fd, "basicpoll"); - } else if (!grpc_fd_is_orphaned(fds[0])) { - grpc_platform_become_multipoller(exec_ctx, pollset, fds, - GPR_ARRAY_SIZE(fds)); - GRPC_FD_UNREF(fds[0], "basicpoll"); - } else { - /* old fd is orphaned and we haven't cleaned it up until now, so remain a - * unary poller */ - GRPC_FD_UNREF(fds[0], "basicpoll"); - pollset->data.ptr = fd; - GRPC_FD_REF(fd, "basicpoll"); - } - goto exit; - } - - /* Now we need to promote. This needs to happen when we're not polling. Since - * this may be called from poll, the wait needs to happen asynchronously. */ - GRPC_FD_REF(fd, "basicpoll_add"); - pollset->in_flight_cbs++; - up_args = gpr_malloc(sizeof(*up_args)); - up_args->fd = fd; - up_args->original_vtable = pollset->vtable; - up_args->pollset = pollset; - up_args->promotion_closure.cb = basic_do_promote; - up_args->promotion_closure.cb_arg = up_args; - - grpc_closure_list_add(&pollset->idle_jobs, &up_args->promotion_closure, 1); - grpc_pollset_kick(pollset, GRPC_POLLSET_KICK_BROADCAST); - -exit: - if (and_unlock_pollset) { - gpr_mu_unlock(&pollset->mu); - } -} - -static void basic_pollset_maybe_work_and_unlock(grpc_exec_ctx *exec_ctx, - grpc_pollset *pollset, - grpc_pollset_worker *worker, - gpr_timespec deadline, - gpr_timespec now) { -#define POLLOUT_CHECK (POLLOUT | POLLHUP | POLLERR) -#define POLLIN_CHECK (POLLIN | POLLHUP | POLLERR) - - struct pollfd pfd[3]; - grpc_fd *fd; - grpc_fd_watcher fd_watcher; - int timeout; - int r; - nfds_t nfds; - - fd = pollset->data.ptr; - if (fd && grpc_fd_is_orphaned(fd)) { - GRPC_FD_UNREF(fd, "basicpoll"); - fd = pollset->data.ptr = NULL; - } - timeout = grpc_poll_deadline_to_millis_timeout(deadline, now); - pfd[0].fd = GRPC_WAKEUP_FD_GET_READ_FD(&grpc_global_wakeup_fd); - pfd[0].events = POLLIN; - pfd[0].revents = 0; - pfd[1].fd = GRPC_WAKEUP_FD_GET_READ_FD(&worker->wakeup_fd->fd); - pfd[1].events = POLLIN; - pfd[1].revents = 0; - nfds = 2; - if (fd) { - pfd[2].fd = fd->fd; - pfd[2].revents = 0; - GRPC_FD_REF(fd, "basicpoll_begin"); - gpr_mu_unlock(&pollset->mu); - pfd[2].events = (short)grpc_fd_begin_poll(fd, pollset, worker, POLLIN, - POLLOUT, &fd_watcher); - if (pfd[2].events != 0) { - nfds++; - } - } else { - gpr_mu_unlock(&pollset->mu); - } - - /* TODO(vpai): Consider first doing a 0 timeout poll here to avoid - even going into the blocking annotation if possible */ - /* poll fd count (argument 2) is shortened by one if we have no events - to poll on - such that it only includes the kicker */ - GPR_TIMER_BEGIN("poll", 0); - GRPC_SCHEDULING_START_BLOCKING_REGION; - r = grpc_poll_function(pfd, nfds, timeout); - GRPC_SCHEDULING_END_BLOCKING_REGION; - GPR_TIMER_END("poll", 0); - - if (r < 0) { - if (errno != EINTR) { - gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno)); - } - if (fd) { - grpc_fd_end_poll(exec_ctx, &fd_watcher, 0, 0); - } - } else if (r == 0) { - if (fd) { - grpc_fd_end_poll(exec_ctx, &fd_watcher, 0, 0); - } - } else { - if (pfd[0].revents & POLLIN_CHECK) { - grpc_wakeup_fd_consume_wakeup(&grpc_global_wakeup_fd); - } - if (pfd[1].revents & POLLIN_CHECK) { - grpc_wakeup_fd_consume_wakeup(&worker->wakeup_fd->fd); - } - if (nfds > 2) { - grpc_fd_end_poll(exec_ctx, &fd_watcher, pfd[2].revents & POLLIN_CHECK, - pfd[2].revents & POLLOUT_CHECK); - } else if (fd) { - grpc_fd_end_poll(exec_ctx, &fd_watcher, 0, 0); - } - } - - if (fd) { - GRPC_FD_UNREF(fd, "basicpoll_begin"); - } -} - -static void basic_pollset_destroy(grpc_pollset *pollset) { - if (pollset->data.ptr != NULL) { - GRPC_FD_UNREF(pollset->data.ptr, "basicpoll"); - pollset->data.ptr = NULL; - } -} - -static const grpc_pollset_vtable basic_pollset = { - basic_pollset_add_fd, basic_pollset_maybe_work_and_unlock, - basic_pollset_destroy, basic_pollset_destroy}; - -static void become_basic_pollset(grpc_pollset *pollset, grpc_fd *fd_or_null) { - pollset->vtable = &basic_pollset; - pollset->data.ptr = fd_or_null; - if (fd_or_null != NULL) { - GRPC_FD_REF(fd_or_null, "basicpoll"); - } -} - -#endif /* GPR_POSIX_POLLSET */ diff --git a/src/core/lib/iomgr/pollset_posix.h b/src/core/lib/iomgr/pollset_posix.h deleted file mode 100644 index 7d8e9fc2794d0a6823083badce15637df741eac7..0000000000000000000000000000000000000000 --- a/src/core/lib/iomgr/pollset_posix.h +++ /dev/null @@ -1,153 +0,0 @@ -/* - * - * Copyright 2015-2016, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#ifndef GRPC_CORE_LIB_IOMGR_POLLSET_POSIX_H -#define GRPC_CORE_LIB_IOMGR_POLLSET_POSIX_H - -#include <poll.h> - -#include <grpc/support/sync.h> - -#include "src/core/lib/iomgr/exec_ctx.h" -#include "src/core/lib/iomgr/iomgr.h" -#include "src/core/lib/iomgr/pollset.h" -#include "src/core/lib/iomgr/wakeup_fd_posix.h" - -typedef struct grpc_pollset_vtable grpc_pollset_vtable; - -/* forward declare only in this file to avoid leaking impl details via - pollset.h; real users of grpc_fd should always include 'fd_posix.h' and not - use the struct tag */ -struct grpc_fd; - -typedef struct grpc_cached_wakeup_fd { - grpc_wakeup_fd fd; - struct grpc_cached_wakeup_fd *next; -} grpc_cached_wakeup_fd; - -struct grpc_pollset_worker { - grpc_cached_wakeup_fd *wakeup_fd; - int reevaluate_polling_on_wakeup; - int kicked_specifically; - struct grpc_pollset_worker *next; - struct grpc_pollset_worker *prev; -}; - -struct grpc_pollset { - /* pollsets under posix can mutate representation as fds are added and - removed. - For example, we may choose a poll() based implementation on linux for - few fds, and an epoll() based implementation for many fds */ - const grpc_pollset_vtable *vtable; - gpr_mu mu; - grpc_pollset_worker root_worker; - int in_flight_cbs; - int shutting_down; - int called_shutdown; - int kicked_without_pollers; - grpc_closure *shutdown_done; - grpc_closure_list idle_jobs; - union { - int fd; - void *ptr; - } data; - /* Local cache of eventfds for workers */ - grpc_cached_wakeup_fd *local_wakeup_cache; -}; - -struct grpc_pollset_vtable { - void (*add_fd)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - struct grpc_fd *fd, int and_unlock_pollset); - void (*maybe_work_and_unlock)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - grpc_pollset_worker *worker, - gpr_timespec deadline, gpr_timespec now); - void (*finish_shutdown)(grpc_pollset *pollset); - void (*destroy)(grpc_pollset *pollset); -}; - -/* Add an fd to a pollset */ -void grpc_pollset_add_fd(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, - struct grpc_fd *fd); - -/* Returns the fd to listen on for kicks */ -int grpc_kick_read_fd(grpc_pollset *p); -/* Call after polling has been kicked to leave the kicked state */ -void grpc_kick_drain(grpc_pollset *p); - -/* Convert a timespec to milliseconds: - - very small or negative poll times are clamped to zero to do a - non-blocking poll (which becomes spin polling) - - other small values are rounded up to one millisecond - - longer than a millisecond polls are rounded up to the next nearest - millisecond to avoid spinning - - infinite timeouts are converted to -1 */ -int grpc_poll_deadline_to_millis_timeout(gpr_timespec deadline, - gpr_timespec now); - -/* Allow kick to wakeup the currently polling worker */ -#define GRPC_POLLSET_CAN_KICK_SELF 1 -/* Force the wakee to repoll when awoken */ -#define GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP 2 -/* As per grpc_pollset_kick, with an extended set of flags (defined above) - -- mostly for fd_posix's use. */ -void grpc_pollset_kick_ext(grpc_pollset *p, - grpc_pollset_worker *specific_worker, - uint32_t flags); - -/* turn a pollset into a multipoller: platform specific */ -typedef void (*grpc_platform_become_multipoller_type)(grpc_exec_ctx *exec_ctx, - grpc_pollset *pollset, - struct grpc_fd **fds, - size_t fd_count); -extern grpc_platform_become_multipoller_type grpc_platform_become_multipoller; - -void grpc_poll_become_multipoller(grpc_exec_ctx *exec_ctx, - grpc_pollset *pollset, struct grpc_fd **fds, - size_t fd_count); - -/* Return 1 if the pollset has active threads in grpc_pollset_work (pollset must - * be locked) */ -int grpc_pollset_has_workers(grpc_pollset *pollset); - -void grpc_remove_fd_from_all_epoll_sets(int fd); - -/* override to allow tests to hook poll() usage */ -/* NOTE: Any changes to grpc_poll_function must take place when the gRPC - is certainly not doing any polling anywhere. - Otherwise, there might be a race between changing the variable and actually - doing a polling operation */ -typedef int (*grpc_poll_function_type)(struct pollfd *, nfds_t, int); -extern grpc_poll_function_type grpc_poll_function; -extern grpc_wakeup_fd grpc_global_wakeup_fd; - -#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_POSIX_H */ diff --git a/src/core/lib/iomgr/pollset_set.h b/src/core/lib/iomgr/pollset_set.h index fb29d692d7531c231d34ff9cd2a4c393fc691e73..34bb728c410983b856878dc84cd7db2cc6967d3a 100644 --- a/src/core/lib/iomgr/pollset_set.h +++ b/src/core/lib/iomgr/pollset_set.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/pollset_set_posix.c b/src/core/lib/iomgr/pollset_set_posix.c deleted file mode 100644 index d6142f9b6b660fad96789cc1d04023866aac52a9..0000000000000000000000000000000000000000 --- a/src/core/lib/iomgr/pollset_set_posix.c +++ /dev/null @@ -1,202 +0,0 @@ -/* - * - * Copyright 2015-2016, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include <grpc/support/port_platform.h> - -#ifdef GPR_POSIX_SOCKET - -#include <stdlib.h> -#include <string.h> - -#include <grpc/support/alloc.h> -#include <grpc/support/useful.h> - -#include "src/core/lib/iomgr/pollset_posix.h" -#include "src/core/lib/iomgr/pollset_set_posix.h" - -struct grpc_pollset_set { - gpr_mu mu; - - size_t pollset_count; - size_t pollset_capacity; - grpc_pollset **pollsets; - - size_t pollset_set_count; - size_t pollset_set_capacity; - struct grpc_pollset_set **pollset_sets; - - size_t fd_count; - size_t fd_capacity; - grpc_fd **fds; -}; - -grpc_pollset_set *grpc_pollset_set_create(void) { - grpc_pollset_set *pollset_set = gpr_malloc(sizeof(*pollset_set)); - memset(pollset_set, 0, sizeof(*pollset_set)); - gpr_mu_init(&pollset_set->mu); - return pollset_set; -} - -void grpc_pollset_set_destroy(grpc_pollset_set *pollset_set) { - size_t i; - gpr_mu_destroy(&pollset_set->mu); - for (i = 0; i < pollset_set->fd_count; i++) { - GRPC_FD_UNREF(pollset_set->fds[i], "pollset_set"); - } - gpr_free(pollset_set->pollsets); - gpr_free(pollset_set->pollset_sets); - gpr_free(pollset_set->fds); - gpr_free(pollset_set); -} - -void grpc_pollset_set_add_pollset(grpc_exec_ctx *exec_ctx, - grpc_pollset_set *pollset_set, - grpc_pollset *pollset) { - size_t i, j; - gpr_mu_lock(&pollset_set->mu); - if (pollset_set->pollset_count == pollset_set->pollset_capacity) { - pollset_set->pollset_capacity = - GPR_MAX(8, 2 * pollset_set->pollset_capacity); - pollset_set->pollsets = - gpr_realloc(pollset_set->pollsets, pollset_set->pollset_capacity * - sizeof(*pollset_set->pollsets)); - } - pollset_set->pollsets[pollset_set->pollset_count++] = pollset; - for (i = 0, j = 0; i < pollset_set->fd_count; i++) { - if (grpc_fd_is_orphaned(pollset_set->fds[i])) { - GRPC_FD_UNREF(pollset_set->fds[i], "pollset_set"); - } else { - grpc_pollset_add_fd(exec_ctx, pollset, pollset_set->fds[i]); - pollset_set->fds[j++] = pollset_set->fds[i]; - } - } - pollset_set->fd_count = j; - gpr_mu_unlock(&pollset_set->mu); -} - -void grpc_pollset_set_del_pollset(grpc_exec_ctx *exec_ctx, - grpc_pollset_set *pollset_set, - grpc_pollset *pollset) { - size_t i; - gpr_mu_lock(&pollset_set->mu); - for (i = 0; i < pollset_set->pollset_count; i++) { - if (pollset_set->pollsets[i] == pollset) { - pollset_set->pollset_count--; - GPR_SWAP(grpc_pollset *, pollset_set->pollsets[i], - pollset_set->pollsets[pollset_set->pollset_count]); - break; - } - } - gpr_mu_unlock(&pollset_set->mu); -} - -void grpc_pollset_set_add_pollset_set(grpc_exec_ctx *exec_ctx, - grpc_pollset_set *bag, - grpc_pollset_set *item) { - size_t i, j; - gpr_mu_lock(&bag->mu); - if (bag->pollset_set_count == bag->pollset_set_capacity) { - bag->pollset_set_capacity = GPR_MAX(8, 2 * bag->pollset_set_capacity); - bag->pollset_sets = - gpr_realloc(bag->pollset_sets, - bag->pollset_set_capacity * sizeof(*bag->pollset_sets)); - } - bag->pollset_sets[bag->pollset_set_count++] = item; - for (i = 0, j = 0; i < bag->fd_count; i++) { - if (grpc_fd_is_orphaned(bag->fds[i])) { - GRPC_FD_UNREF(bag->fds[i], "pollset_set"); - } else { - grpc_pollset_set_add_fd(exec_ctx, item, bag->fds[i]); - bag->fds[j++] = bag->fds[i]; - } - } - bag->fd_count = j; - gpr_mu_unlock(&bag->mu); -} - -void grpc_pollset_set_del_pollset_set(grpc_exec_ctx *exec_ctx, - grpc_pollset_set *bag, - grpc_pollset_set *item) { - size_t i; - gpr_mu_lock(&bag->mu); - for (i = 0; i < bag->pollset_set_count; i++) { - if (bag->pollset_sets[i] == item) { - bag->pollset_set_count--; - GPR_SWAP(grpc_pollset_set *, bag->pollset_sets[i], - bag->pollset_sets[bag->pollset_set_count]); - break; - } - } - gpr_mu_unlock(&bag->mu); -} - -void grpc_pollset_set_add_fd(grpc_exec_ctx *exec_ctx, - grpc_pollset_set *pollset_set, grpc_fd *fd) { - size_t i; - gpr_mu_lock(&pollset_set->mu); - if (pollset_set->fd_count == pollset_set->fd_capacity) { - pollset_set->fd_capacity = GPR_MAX(8, 2 * pollset_set->fd_capacity); - pollset_set->fds = gpr_realloc( - pollset_set->fds, pollset_set->fd_capacity * sizeof(*pollset_set->fds)); - } - GRPC_FD_REF(fd, "pollset_set"); - pollset_set->fds[pollset_set->fd_count++] = fd; - for (i = 0; i < pollset_set->pollset_count; i++) { - grpc_pollset_add_fd(exec_ctx, pollset_set->pollsets[i], fd); - } - for (i = 0; i < pollset_set->pollset_set_count; i++) { - grpc_pollset_set_add_fd(exec_ctx, pollset_set->pollset_sets[i], fd); - } - gpr_mu_unlock(&pollset_set->mu); -} - -void grpc_pollset_set_del_fd(grpc_exec_ctx *exec_ctx, - grpc_pollset_set *pollset_set, grpc_fd *fd) { - size_t i; - gpr_mu_lock(&pollset_set->mu); - for (i = 0; i < pollset_set->fd_count; i++) { - if (pollset_set->fds[i] == fd) { - pollset_set->fd_count--; - GPR_SWAP(grpc_fd *, pollset_set->fds[i], - pollset_set->fds[pollset_set->fd_count]); - GRPC_FD_UNREF(fd, "pollset_set"); - break; - } - } - for (i = 0; i < pollset_set->pollset_set_count; i++) { - grpc_pollset_set_del_fd(exec_ctx, pollset_set->pollset_sets[i], fd); - } - gpr_mu_unlock(&pollset_set->mu); -} - -#endif /* GPR_POSIX_SOCKET */ diff --git a/src/core/lib/iomgr/pollset_set_posix.h b/src/core/lib/iomgr/pollset_set_posix.h deleted file mode 100644 index 4e6b063c6f6b7856a59d8e1a90ad1ef11b6209ba..0000000000000000000000000000000000000000 --- a/src/core/lib/iomgr/pollset_set_posix.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * - * Copyright 2015-2016, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#ifndef GRPC_CORE_LIB_IOMGR_POLLSET_SET_POSIX_H -#define GRPC_CORE_LIB_IOMGR_POLLSET_SET_POSIX_H - -#include "src/core/lib/iomgr/fd_posix.h" -#include "src/core/lib/iomgr/pollset_set.h" - -void grpc_pollset_set_add_fd(grpc_exec_ctx *exec_ctx, - grpc_pollset_set *pollset_set, grpc_fd *fd); -void grpc_pollset_set_del_fd(grpc_exec_ctx *exec_ctx, - grpc_pollset_set *pollset_set, grpc_fd *fd); - -#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_SET_POSIX_H */ diff --git a/src/core/lib/iomgr/pollset_set_windows.c b/src/core/lib/iomgr/pollset_set_windows.c index 720fc331edc95c1a67e15046c8a013b6061076f1..89f60b92fb83b2ca221cfa25c4631f3a9a9fd3f4 100644 --- a/src/core/lib/iomgr/pollset_set_windows.c +++ b/src/core/lib/iomgr/pollset_set_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/pollset_set_windows.h b/src/core/lib/iomgr/pollset_set_windows.h index 7c2cea23de2dc8ab54413990099b5b057beb63cd..0356749b150386701bb4656e02f4a35b6ce38282 100644 --- a/src/core/lib/iomgr/pollset_set_windows.h +++ b/src/core/lib/iomgr/pollset_set_windows.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/pollset_windows.c b/src/core/lib/iomgr/pollset_windows.c index 6b339127a8fd6551fdc3e9d52846aad35e0969aa..bff5c586f8596704def8629ccc1dc19e009f8bb3 100644 --- a/src/core/lib/iomgr/pollset_windows.c +++ b/src/core/lib/iomgr/pollset_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -47,7 +47,7 @@ gpr_mu grpc_polling_mu; static grpc_pollset_worker *g_active_poller; static grpc_pollset_worker g_global_root_worker; -void grpc_pollset_global_init() { +void grpc_pollset_global_init(void) { gpr_mu_init(&grpc_polling_mu); g_active_poller = NULL; g_global_root_worker.links[GRPC_POLLSET_WORKER_LINK_GLOBAL].next = @@ -55,7 +55,7 @@ void grpc_pollset_global_init() { &g_global_root_worker; } -void grpc_pollset_global_shutdown() { gpr_mu_destroy(&grpc_polling_mu); } +void grpc_pollset_global_shutdown(void) { gpr_mu_destroy(&grpc_polling_mu); } static void remove_worker(grpc_pollset_worker *worker, grpc_pollset_worker_link_type type) { diff --git a/src/core/lib/iomgr/pollset_windows.h b/src/core/lib/iomgr/pollset_windows.h index fa9553ffea33a1dc5a708fe5757c0ceab7e5f563..2642013afc8fa04facd3e6c6a2b97a686ed10d91 100644 --- a/src/core/lib/iomgr/pollset_windows.h +++ b/src/core/lib/iomgr/pollset_windows.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -72,4 +72,7 @@ struct grpc_pollset { grpc_closure *on_shutdown; }; +void grpc_pollset_global_init(void); +void grpc_pollset_global_shutdown(void); + #endif /* GRPC_CORE_LIB_IOMGR_POLLSET_WINDOWS_H */ diff --git a/src/core/lib/iomgr/resolve_address.h b/src/core/lib/iomgr/resolve_address.h index f748288685c8d6dce330d95e8366e44eb2425bc6..ecc06340a350c853b82c7b4da475d5fa0877309a 100644 --- a/src/core/lib/iomgr/resolve_address.h +++ b/src/core/lib/iomgr/resolve_address.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/resolve_address_posix.c b/src/core/lib/iomgr/resolve_address_posix.c index ebecb39c1672f7bf6035e7d893822ad317278b59..b9d3bbdb899204b2f36808b4855739e65b10a8d2 100644 --- a/src/core/lib/iomgr/resolve_address_posix.c +++ b/src/core/lib/iomgr/resolve_address_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/resolve_address_windows.c b/src/core/lib/iomgr/resolve_address_windows.c index bde1f1b7f78bca4b7cb55f582cb8d8a51eceef91..82763d11f4fb1635707350c4d3a40a9161078e31 100644 --- a/src/core/lib/iomgr/resolve_address_windows.c +++ b/src/core/lib/iomgr/resolve_address_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/sockaddr.h b/src/core/lib/iomgr/sockaddr.h index 66a930ee6aee181dbc86fcb2ab6ab24d28aff9c6..891a2f094f5073f75eb9db6697a0f6dbbab84644 100644 --- a/src/core/lib/iomgr/sockaddr.h +++ b/src/core/lib/iomgr/sockaddr.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/sockaddr_posix.h b/src/core/lib/iomgr/sockaddr_posix.h index 79a7467c5d330718869981a20ebedfb7206bcca8..b150de42f7004d26d43669df7132f353038d17f6 100644 --- a/src/core/lib/iomgr/sockaddr_posix.h +++ b/src/core/lib/iomgr/sockaddr_posix.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/sockaddr_utils.h b/src/core/lib/iomgr/sockaddr_utils.h index 20a3e3bec31265d15d4f6725795a9ca11529a586..9f81992e6beac3266f2c0ff6d9441116284d269b 100644 --- a/src/core/lib/iomgr/sockaddr_utils.h +++ b/src/core/lib/iomgr/sockaddr_utils.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/sockaddr_win32.h b/src/core/lib/iomgr/sockaddr_win32.h index 2dd7111240b81fad41574e9fd481604d2fd33b65..02aeae761905c44264636ab157166031de6f7542 100644 --- a/src/core/lib/iomgr/sockaddr_win32.h +++ b/src/core/lib/iomgr/sockaddr_win32.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/socket_utils_common_posix.c b/src/core/lib/iomgr/socket_utils_common_posix.c index b433aee7fa9203147670fc1aa4c8b7c834fe6b12..fa83ceef301bc351ec5d8e6367ba469f67c58a7f 100644 --- a/src/core/lib/iomgr/socket_utils_common_posix.c +++ b/src/core/lib/iomgr/socket_utils_common_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/socket_utils_linux.c b/src/core/lib/iomgr/socket_utils_linux.c index e7dfe892caddd8296988b692d3e63b33dfa33d72..144e3110c8b3621170910cd8d9b932f5ddc82124 100644 --- a/src/core/lib/iomgr/socket_utils_linux.c +++ b/src/core/lib/iomgr/socket_utils_linux.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/socket_utils_posix.c b/src/core/lib/iomgr/socket_utils_posix.c index b2fa00c5c1d104cafb2104e81a5f0993b1a39a2c..57ae64c10312b3a0f6ced0117d9d6f35404c07c2 100644 --- a/src/core/lib/iomgr/socket_utils_posix.c +++ b/src/core/lib/iomgr/socket_utils_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/socket_utils_posix.h b/src/core/lib/iomgr/socket_utils_posix.h index f73ad6317db80276abbecf495df8ffd4930cf1b0..a8f6e5e6586f99b19846212d446ad0bed8de0bb7 100644 --- a/src/core/lib/iomgr/socket_utils_posix.h +++ b/src/core/lib/iomgr/socket_utils_posix.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/socket_windows.c b/src/core/lib/iomgr/socket_windows.c index 1023a6d4f8913a50cfa81474a8f81e996fafe85c..ebd77e0372409cdb3505ab310e5fd32a6ffde699 100644 --- a/src/core/lib/iomgr/socket_windows.c +++ b/src/core/lib/iomgr/socket_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/socket_windows.h b/src/core/lib/iomgr/socket_windows.h index 74447896c93524cae5c17c6f30eadc95bad792ce..73c4384987ada7424e483361c29c6dffd8535901 100644 --- a/src/core/lib/iomgr/socket_windows.h +++ b/src/core/lib/iomgr/socket_windows.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/tcp_client.h b/src/core/lib/iomgr/tcp_client.h index 6bbe26445a088e8b9f79f8613164c0c8b905cfe5..a07e0b9f0cbefb940073c2a9b9244261e32445ef 100644 --- a/src/core/lib/iomgr/tcp_client.h +++ b/src/core/lib/iomgr/tcp_client.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/tcp_client_posix.c b/src/core/lib/iomgr/tcp_client_posix.c index b8ef643298a644e089e152ef550c7027418204c3..6430cb629f676ef8e738c251840e4693d775945f 100644 --- a/src/core/lib/iomgr/tcp_client_posix.c +++ b/src/core/lib/iomgr/tcp_client_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -47,9 +47,8 @@ #include <grpc/support/string_util.h> #include <grpc/support/time.h> +#include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/iomgr_posix.h" -#include "src/core/lib/iomgr/pollset_posix.h" -#include "src/core/lib/iomgr/pollset_set_posix.h" #include "src/core/lib/iomgr/sockaddr_utils.h" #include "src/core/lib/iomgr/socket_utils_posix.h" #include "src/core/lib/iomgr/tcp_posix.h" @@ -140,7 +139,8 @@ static void on_writable(grpc_exec_ctx *exec_ctx, void *acp, bool success) { if (success) { do { so_error_size = sizeof(so_error); - err = getsockopt(fd->fd, SOL_SOCKET, SO_ERROR, &so_error, &so_error_size); + err = getsockopt(grpc_fd_wrapped_fd(fd), SOL_SOCKET, SO_ERROR, &so_error, + &so_error_size); } while (err < 0 && errno == EINTR); if (err < 0) { gpr_log(GPR_ERROR, "failed to connect to '%s': getsockopt(ERROR): %s", diff --git a/src/core/lib/iomgr/tcp_client_windows.c b/src/core/lib/iomgr/tcp_client_windows.c index 86b8d5897593ecc3efad555e7a0f377c37060b26..7d78beb15ade9b17072c63922051460a6424a9c6 100644 --- a/src/core/lib/iomgr/tcp_client_windows.c +++ b/src/core/lib/iomgr/tcp_client_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -103,7 +103,8 @@ static void on_connect(grpc_exec_ctx *exec_ctx, void *acp, bool from_iocp) { GPR_ASSERT(transfered_bytes == 0); if (!wsa_success) { char *utf8_message = gpr_format_message(WSAGetLastError()); - gpr_log(GPR_ERROR, "on_connect error: %s", utf8_message); + gpr_log(GPR_ERROR, "on_connect error connecting to '%s': %s", + ac->addr_name, utf8_message); gpr_free(utf8_message); } else { *ep = grpc_tcp_create(ac->socket, ac->addr_name); diff --git a/src/core/lib/iomgr/tcp_posix.c b/src/core/lib/iomgr/tcp_posix.c index 1898d96901d8dfbb7080901f185d7c9fadc00895..7210aef5d5c2ea6b51f901c5e7969aa4e6fb3c51 100644 --- a/src/core/lib/iomgr/tcp_posix.c +++ b/src/core/lib/iomgr/tcp_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -52,8 +52,7 @@ #include <grpc/support/time.h> #include "src/core/lib/debug/trace.h" -#include "src/core/lib/iomgr/pollset_posix.h" -#include "src/core/lib/iomgr/pollset_set_posix.h" +#include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/profiling/timers.h" #include "src/core/lib/support/string.h" @@ -454,7 +453,7 @@ grpc_endpoint *grpc_tcp_create(grpc_fd *em_fd, size_t slice_size, grpc_tcp *tcp = (grpc_tcp *)gpr_malloc(sizeof(grpc_tcp)); tcp->base.vtable = &vtable; tcp->peer_string = gpr_strdup(peer_string); - tcp->fd = em_fd->fd; + tcp->fd = grpc_fd_wrapped_fd(em_fd); tcp->read_cb = NULL; tcp->write_cb = NULL; tcp->release_fd_cb = NULL; diff --git a/src/core/lib/iomgr/tcp_posix.h b/src/core/lib/iomgr/tcp_posix.h index 09c4436f1ff8a25a605c1b5c2c6e86b794c1b999..99125836d69e1d188534471812973fd782ce7a4c 100644 --- a/src/core/lib/iomgr/tcp_posix.h +++ b/src/core/lib/iomgr/tcp_posix.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -45,7 +45,7 @@ */ #include "src/core/lib/iomgr/endpoint.h" -#include "src/core/lib/iomgr/fd_posix.h" +#include "src/core/lib/iomgr/ev_posix.h" #define GRPC_TCP_DEFAULT_READ_SLICE_SIZE 8192 diff --git a/src/core/lib/iomgr/tcp_server.h b/src/core/lib/iomgr/tcp_server.h index 81edb61997e13fe8262439fd9be41af00f9bfc4f..99b9f297291e3c9f2710ab379878442d2df04d09 100644 --- a/src/core/lib/iomgr/tcp_server.h +++ b/src/core/lib/iomgr/tcp_server.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/tcp_server_posix.c b/src/core/lib/iomgr/tcp_server_posix.c index ef1bf9aa94efc86a8ad14b2ce2726d530b1fc95d..cfb5251684503634de12e2a69a82fcf697050ef8 100644 --- a/src/core/lib/iomgr/tcp_server_posix.c +++ b/src/core/lib/iomgr/tcp_server_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -59,7 +59,6 @@ #include <grpc/support/string_util.h> #include <grpc/support/sync.h> #include <grpc/support/time.h> -#include "src/core/lib/iomgr/pollset_posix.h" #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/iomgr/sockaddr_utils.h" #include "src/core/lib/iomgr/socket_utils_posix.h" diff --git a/src/core/lib/iomgr/tcp_server_windows.c b/src/core/lib/iomgr/tcp_server_windows.c index 3d6a29b2e242742ab845784e19c5d339dfe03223..9f9d7dcb5407fda40f8b279fde13cfeef757f60c 100644 --- a/src/core/lib/iomgr/tcp_server_windows.c +++ b/src/core/lib/iomgr/tcp_server_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/tcp_windows.c b/src/core/lib/iomgr/tcp_windows.c index c1ce725f2c8e1a94062986835166a285212dba3c..7ee689a7e46ea395dfb1f34b20d9427d95169d93 100644 --- a/src/core/lib/iomgr/tcp_windows.c +++ b/src/core/lib/iomgr/tcp_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/tcp_windows.h b/src/core/lib/iomgr/tcp_windows.h index 7a9ebd85eb67fc5ddc884ebd0a28c6a84be85a32..a2f58eddd53b8fe92fbfac9ea57d64bb6a1855b6 100644 --- a/src/core/lib/iomgr/tcp_windows.h +++ b/src/core/lib/iomgr/tcp_windows.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/time_averaged_stats.c b/src/core/lib/iomgr/time_averaged_stats.c index f24d68087ef0544c28da4254e391dde020a9f4df..da9cae6f281ff80b4d69287728d0f76091e664b9 100644 --- a/src/core/lib/iomgr/time_averaged_stats.c +++ b/src/core/lib/iomgr/time_averaged_stats.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/time_averaged_stats.h b/src/core/lib/iomgr/time_averaged_stats.h index 4a662e17ec604484107f8a65d6f2f0ad0f23149d..284b31f94a09f7041dc7886d13f524a52edd4b32 100644 --- a/src/core/lib/iomgr/time_averaged_stats.h +++ b/src/core/lib/iomgr/time_averaged_stats.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/timer.c b/src/core/lib/iomgr/timer.c index 4748f9b27026fc6d13759f1296d41a919962b736..713f15b69ec28009bf85613c06f089a007ee2a3c 100644 --- a/src/core/lib/iomgr/timer.c +++ b/src/core/lib/iomgr/timer.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/timer.h b/src/core/lib/iomgr/timer.h index 54f301c5ed08cf19f79da662e3e3ab0fe58de620..a825d2a28b10202b10f4a6320f8e8d21481c2ad5 100644 --- a/src/core/lib/iomgr/timer.h +++ b/src/core/lib/iomgr/timer.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/timer_heap.c b/src/core/lib/iomgr/timer_heap.c index d43b6ccf75e917af65daf81032fc046226ead01c..2ad9bb9cd23c9ca34c6e406acc27a1472b7c7e51 100644 --- a/src/core/lib/iomgr/timer_heap.c +++ b/src/core/lib/iomgr/timer_heap.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/timer_heap.h b/src/core/lib/iomgr/timer_heap.h index d5112cf0deaf7ceaf9b329d7c544472b7817b1c9..576c20e09aeea5cb8e0426ecfaed029e6e0c18ca 100644 --- a/src/core/lib/iomgr/timer_heap.h +++ b/src/core/lib/iomgr/timer_heap.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/udp_server.c b/src/core/lib/iomgr/udp_server.c index 9068109c3a00e551bd6c95303a8b77a4c198fd8b..a0b9709be5b51048f2df3be31d47d4f175c3b6e2 100644 --- a/src/core/lib/iomgr/udp_server.c +++ b/src/core/lib/iomgr/udp_server.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -60,12 +60,10 @@ #include <grpc/support/string_util.h> #include <grpc/support/sync.h> #include <grpc/support/time.h> -#include "src/core/lib/iomgr/fd_posix.h" -#include "src/core/lib/iomgr/pollset_posix.h" +#include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/iomgr/sockaddr_utils.h" #include "src/core/lib/iomgr/socket_utils_posix.h" -#include "src/core/lib/iomgr/unix_sockets_posix.h" #include "src/core/lib/support/string.h" #define INIT_PORT_CAP 2 diff --git a/src/core/lib/iomgr/udp_server.h b/src/core/lib/iomgr/udp_server.h index 316845ad660833901786a6c37920f4dd9e1887c5..d8cf957a22ac1cbae3f4b4477477db112b50338f 100644 --- a/src/core/lib/iomgr/udp_server.h +++ b/src/core/lib/iomgr/udp_server.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ #define GRPC_CORE_LIB_IOMGR_UDP_SERVER_H #include "src/core/lib/iomgr/endpoint.h" -#include "src/core/lib/iomgr/fd_posix.h" +#include "src/core/lib/iomgr/ev_posix.h" /* Forward decl of struct grpc_server */ /* This is not typedef'ed to avoid a typedef-redefinition error */ diff --git a/src/core/lib/iomgr/unix_sockets_posix.c b/src/core/lib/iomgr/unix_sockets_posix.c index 42e44989e0cea3f4736691ab2332c32281c0d172..5767c852dfe495568219bc50013f07a54d18ab0d 100644 --- a/src/core/lib/iomgr/unix_sockets_posix.c +++ b/src/core/lib/iomgr/unix_sockets_posix.c @@ -41,6 +41,7 @@ #include <sys/un.h> #include <grpc/support/alloc.h> +#include <grpc/support/log.h> void grpc_create_socketpair_if_unix(int sv[2]) { GPR_ASSERT(socketpair(AF_UNIX, SOCK_STREAM, 0, sv) == 0); @@ -75,21 +76,6 @@ void grpc_unlink_if_unix_domain_socket(const struct sockaddr *addr) { } } -int grpc_parse_unix(grpc_uri *uri, struct sockaddr_storage *addr, size_t *len) { - struct sockaddr_un *un = (struct sockaddr_un *)addr; - - un->sun_family = AF_UNIX; - strcpy(un->sun_path, uri->path); - *len = strlen(un->sun_path) + sizeof(un->sun_family) + 1; - - return 1; -} - -char *grpc_unix_get_default_authority(grpc_resolver_factory *factory, - grpc_uri *uri) { - return gpr_strdup("localhost"); -} - char *grpc_sockaddr_to_uri_unix_if_possible(const struct sockaddr *addr) { if (addr->sa_family != AF_UNIX) { return NULL; diff --git a/src/core/lib/iomgr/unix_sockets_posix.h b/src/core/lib/iomgr/unix_sockets_posix.h index 752cab85a53be997f357d67a2ecf08d6f0f43180..6758c498e5f0b0a1ec1c85bda44d25060eb5f808 100644 --- a/src/core/lib/iomgr/unix_sockets_posix.h +++ b/src/core/lib/iomgr/unix_sockets_posix.h @@ -38,8 +38,6 @@ #include <grpc/support/string_util.h> -#include "src/core/lib/client_config/resolver_factory.h" -#include "src/core/lib/client_config/uri_parser.h" #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/iomgr/sockaddr.h" @@ -51,11 +49,6 @@ int grpc_is_unix_socket(const struct sockaddr *addr); void grpc_unlink_if_unix_domain_socket(const struct sockaddr *addr); -int grpc_parse_unix(grpc_uri *uri, struct sockaddr_storage *addr, size_t *len); - -char *grpc_unix_get_default_authority(grpc_resolver_factory *factory, - grpc_uri *uri); - char *grpc_sockaddr_to_uri_unix_if_possible(const struct sockaddr *addr); #endif /* GRPC_CORE_LIB_IOMGR_UNIX_SOCKETS_POSIX_H */ diff --git a/src/core/lib/iomgr/unix_sockets_posix_noop.c b/src/core/lib/iomgr/unix_sockets_posix_noop.c index 06f6ee05e719c17a8306d43e5c0e35c3c2a82220..d30952789f55da0ffa33f337ac27fd99ebdf7ac8 100644 --- a/src/core/lib/iomgr/unix_sockets_posix_noop.c +++ b/src/core/lib/iomgr/unix_sockets_posix_noop.c @@ -35,7 +35,14 @@ #ifndef GPR_HAVE_UNIX_SOCKET -void grpc_create_socketpair_if_unix(int sv[2]) {} +#include <grpc/support/log.h> + +void grpc_create_socketpair_if_unix(int sv[2]) { + // TODO: Either implement this for the non-Unix socket case or make + // sure that it is never called in any such case. Until then, leave an + // assertion to notify if this gets called inadvertently + GPR_ASSERT(0); +} grpc_resolved_addresses *grpc_resolve_unix_domain_address(const char *name) { return NULL; @@ -45,15 +52,6 @@ int grpc_is_unix_socket(const struct sockaddr *addr) { return false; } void grpc_unlink_if_unix_domain_socket(const struct sockaddr *addr) {} -int grpc_parse_unix(grpc_uri *uri, struct sockaddr_storage *addr, size_t *len) { - return 0; -} - -char *grpc_unix_get_default_authority(grpc_resolver_factory *factory, - grpc_uri *uri) { - return NULL; -} - char *grpc_sockaddr_to_uri_unix_if_possible(const struct sockaddr *addr) { return NULL; } diff --git a/src/core/lib/iomgr/wakeup_fd_eventfd.c b/src/core/lib/iomgr/wakeup_fd_eventfd.c index 41ded0ca4defa4c88b22d50cc800fec5e4eb4776..8a772add138d3423f4bc6ede7feb40805c1658cb 100644 --- a/src/core/lib/iomgr/wakeup_fd_eventfd.c +++ b/src/core/lib/iomgr/wakeup_fd_eventfd.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/wakeup_fd_nospecial.c b/src/core/lib/iomgr/wakeup_fd_nospecial.c index 39defa65c66dfe03d8124e6d25c496118edecaf2..cb2f707dc5235a3662e1e1530ba2f7bd85720d5a 100644 --- a/src/core/lib/iomgr/wakeup_fd_nospecial.c +++ b/src/core/lib/iomgr/wakeup_fd_nospecial.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/wakeup_fd_pipe.c b/src/core/lib/iomgr/wakeup_fd_pipe.c index 820919e4dd24e496504983d76e0db787657e8c02..e9b9a0119f1fec98a4e8c93f324f87a73f04d5dd 100644 --- a/src/core/lib/iomgr/wakeup_fd_pipe.c +++ b/src/core/lib/iomgr/wakeup_fd_pipe.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/wakeup_fd_pipe.h b/src/core/lib/iomgr/wakeup_fd_pipe.h index bbdb1fc448690d5031cc97561f940134ef334e8b..8972efc2702ce01225a29e9a2fc75ab0d788778b 100644 --- a/src/core/lib/iomgr/wakeup_fd_pipe.h +++ b/src/core/lib/iomgr/wakeup_fd_pipe.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/wakeup_fd_posix.c b/src/core/lib/iomgr/wakeup_fd_posix.c index c4d174fb34872d47bd679b4d21db1144ba9dae08..525369c35665a92007500eb33d988ffe7ae4e672 100644 --- a/src/core/lib/iomgr/wakeup_fd_posix.c +++ b/src/core/lib/iomgr/wakeup_fd_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/wakeup_fd_posix.h b/src/core/lib/iomgr/wakeup_fd_posix.h index 20988d5fd3c6269cc9dccb0674a2e75777d0a473..6b069c1837f5275a3341b3a519aaf54acc16f0dd 100644 --- a/src/core/lib/iomgr/wakeup_fd_posix.h +++ b/src/core/lib/iomgr/wakeup_fd_posix.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/workqueue.h b/src/core/lib/iomgr/workqueue.h index 9c420c57de602b0f1903286333cd1fcdf0dbcb76..3e2b22367049cad038a64eb20a584ca9e98ac626 100644 --- a/src/core/lib/iomgr/workqueue.h +++ b/src/core/lib/iomgr/workqueue.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/workqueue_posix.c b/src/core/lib/iomgr/workqueue_posix.c index 76830ef12d2aeec14ace5e2965b8dcfd65cb0141..80e7a0b206ce4a5af1debeb5066907ef597d360f 100644 --- a/src/core/lib/iomgr/workqueue_posix.c +++ b/src/core/lib/iomgr/workqueue_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,8 +43,7 @@ #include <grpc/support/log.h> #include <grpc/support/useful.h> -#include "src/core/lib/iomgr/fd_posix.h" -#include "src/core/lib/iomgr/pollset_posix.h" +#include "src/core/lib/iomgr/ev_posix.h" static void on_readable(grpc_exec_ctx *exec_ctx, void *arg, bool success); diff --git a/src/core/lib/iomgr/workqueue_posix.h b/src/core/lib/iomgr/workqueue_posix.h index 956de8fb2733fad76979646eca4e39fd2baeb16b..dcb47e7b59d3c3e8d0695735a5a828282be60530 100644 --- a/src/core/lib/iomgr/workqueue_posix.h +++ b/src/core/lib/iomgr/workqueue_posix.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/workqueue_windows.c b/src/core/lib/iomgr/workqueue_windows.c index 6697f93498a0b399996f9d2f9d718fcdca73e498..c3c0446a57d5b203f551c689b84db87d6b3fce1f 100644 --- a/src/core/lib/iomgr/workqueue_windows.c +++ b/src/core/lib/iomgr/workqueue_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/iomgr/workqueue_windows.h b/src/core/lib/iomgr/workqueue_windows.h index 8e6980b6d9fba6b1b023fed3dc1129731d3529a8..e5d59130bb6badc103782de0ba63553166bf9baf 100644 --- a/src/core/lib/iomgr/workqueue_windows.h +++ b/src/core/lib/iomgr/workqueue_windows.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/json/json.c b/src/core/lib/json/json.c index 9793045d916619587fe488dc09590cfd3a157825..5b583a1f2e0f235294d200e2c37fb50ca389cba0 100644 --- a/src/core/lib/json/json.c +++ b/src/core/lib/json/json.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/json/json.h b/src/core/lib/json/json.h index 41d87dd5ceb763344659d8c02e0d6caf719c1f07..681df4bb77da579245b8a2e47eccef2a2dfadb61 100644 --- a/src/core/lib/json/json.h +++ b/src/core/lib/json/json.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/json/json_common.h b/src/core/lib/json/json_common.h index ce980040f8c8eb2ef6637ecce0bfa193307f5b04..fa13088be958b8cbdb59d2baa70df881ea2027c7 100644 --- a/src/core/lib/json/json_common.h +++ b/src/core/lib/json/json_common.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/json/json_reader.c b/src/core/lib/json/json_reader.c index 4cff13dff1da813f3338608d0b036118e293e564..bc04bccc65e7d23da664230c9184fea855b838ec 100644 --- a/src/core/lib/json/json_reader.c +++ b/src/core/lib/json/json_reader.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -180,6 +180,13 @@ grpc_json_reader_status grpc_json_reader_run(grpc_json_reader *reader) { case GRPC_JSON_STATE_VALUE_NUMBER_WITH_DECIMAL: case GRPC_JSON_STATE_VALUE_NUMBER_ZERO: case GRPC_JSON_STATE_VALUE_NUMBER_EPM: + if (reader->depth == 0) { + return GRPC_JSON_PARSE_ERROR; + } else if ((c == '}') && !reader->in_object) { + return GRPC_JSON_PARSE_ERROR; + } else if ((c == ']') && !reader->in_array) { + return GRPC_JSON_PARSE_ERROR; + } success = (uint32_t)json_reader_set_number(reader); if (!success) return GRPC_JSON_PARSE_ERROR; json_reader_string_clear(reader); @@ -195,8 +202,10 @@ grpc_json_reader_status grpc_json_reader_run(grpc_json_reader *reader) { } if (reader->in_object) { reader->state = GRPC_JSON_STATE_OBJECT_KEY_BEGIN; - } else { + } else if (reader->in_array) { reader->state = GRPC_JSON_STATE_VALUE_BEGIN; + } else { + return GRPC_JSON_PARSE_ERROR; } } else { if (reader->depth-- == 0) return GRPC_JSON_PARSE_ERROR; diff --git a/src/core/lib/json/json_reader.h b/src/core/lib/json/json_reader.h index 37a838889da26ba0816f7189f718e920f87a76d8..e0322c5507f7c8ccc153ebaf2602ce460a05fd3d 100644 --- a/src/core/lib/json/json_reader.h +++ b/src/core/lib/json/json_reader.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/json/json_string.c b/src/core/lib/json/json_string.c index 8e6f1253dc3c69507033baaaccef8e7d9e9e545f..4af7ee7179c1b44a081b1fd40f8e89fe3bc3051e 100644 --- a/src/core/lib/json/json_string.c +++ b/src/core/lib/json/json_string.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/json/json_writer.c b/src/core/lib/json/json_writer.c index d614a72fc4713f577aed08cafab92fa7c59c561c..b6a17f41e855cef0abd0a62bfdb9509fcf9c31ed 100644 --- a/src/core/lib/json/json_writer.c +++ b/src/core/lib/json/json_writer.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/json/json_writer.h b/src/core/lib/json/json_writer.h index f90e79cd74bca75f45a20168407e7af4c3033fed..faeb41d0316c764cbed2dcc7e5749f82306ca102 100644 --- a/src/core/lib/json/json_writer.h +++ b/src/core/lib/json/json_writer.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/profiling/basic_timers.c b/src/core/lib/profiling/basic_timers.c index 15a95849810ed1452268d35e512adb245c3a25c8..93e0b99e9097e53920e55fa8db1b82952dd44569 100644 --- a/src/core/lib/profiling/basic_timers.c +++ b/src/core/lib/profiling/basic_timers.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/profiling/stap_timers.c b/src/core/lib/profiling/stap_timers.c index f55c1a569ad5d3a060bb206466310d5050b83614..25e38e6d99affc2aaf532cf4a16b36f6d3502ee6 100644 --- a/src/core/lib/profiling/stap_timers.c +++ b/src/core/lib/profiling/stap_timers.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/profiling/timers.h b/src/core/lib/profiling/timers.h index 1303593ffbfdd303caabaec2d6c3feb5615088ca..c8567e813725f73c9636fabcf215099835ddda80 100644 --- a/src/core/lib/profiling/timers.h +++ b/src/core/lib/profiling/timers.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/auth_filters.h b/src/core/lib/security/auth_filters.h index 162b60e2c85ecda9664de271381349186ff25164..7fb56c3f3afb27c0c38f8cb6d67e3d450b85a675 100644 --- a/src/core/lib/security/auth_filters.h +++ b/src/core/lib/security/auth_filters.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/b64.c b/src/core/lib/security/b64.c index 1d3879534c653b236c7e884fbed2bf469d023816..87f0e05280e5ba9b0776706c2d5ce3bdc72677d4 100644 --- a/src/core/lib/security/b64.c +++ b/src/core/lib/security/b64.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/b64.h b/src/core/lib/security/b64.h index 0bf372a1e7e8eaeace2a8c69b0b472bdfb919f55..c515e7af2c99adab6b92e21d275f5e3d30d50e84 100644 --- a/src/core/lib/security/b64.h +++ b/src/core/lib/security/b64.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/client_auth_filter.c b/src/core/lib/security/client_auth_filter.c index af6073e560444ba72b8e46384d2765615be339da..943b1da85c60dc0c22714d5b2122ddbe59452435 100644 --- a/src/core/lib/security/client_auth_filter.c +++ b/src/core/lib/security/client_auth_filter.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/credentials.c b/src/core/lib/security/credentials.c index 99a07e5c1321878b323e238f1f5b761442d11414..2c7d31519c7764bf118b4e1f98af7481d4f098cd 100644 --- a/src/core/lib/security/credentials.c +++ b/src/core/lib/security/credentials.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/credentials.h b/src/core/lib/security/credentials.h index 7168b98942daed96a361c399c55ac48d85d38ba4..0373ceaa3fc5c3157fe752967e9d1797bd0b787e 100644 --- a/src/core/lib/security/credentials.h +++ b/src/core/lib/security/credentials.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/credentials_metadata.c b/src/core/lib/security/credentials_metadata.c index c3bfcb11b519f3104f04d8dfdd7d25d11d2455cd..bd00194278e84b63b345f49a233e2241e07cc6ba 100644 --- a/src/core/lib/security/credentials_metadata.c +++ b/src/core/lib/security/credentials_metadata.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/credentials_posix.c b/src/core/lib/security/credentials_posix.c index b758cd0a1ad8ada39de6a5236e50f4ec83de0b2f..a07de182a0d55fce8e33b6954934e15e44eb9333 100644 --- a/src/core/lib/security/credentials_posix.c +++ b/src/core/lib/security/credentials_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/credentials_win32.c b/src/core/lib/security/credentials_win32.c index a225ab0d7d4f4e3f0bade7d14af086cf1a687712..d29847af38ad40e1d8051bbe146098c027842d71 100644 --- a/src/core/lib/security/credentials_win32.c +++ b/src/core/lib/security/credentials_win32.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/google_default_credentials.c b/src/core/lib/security/google_default_credentials.c index 5c342288cc61cee7e6782de97019bff07f968b6c..236f1d7fa7e8f778d045b858727baad6e3c96fa5 100644 --- a/src/core/lib/security/google_default_credentials.c +++ b/src/core/lib/security/google_default_credentials.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/handshake.c b/src/core/lib/security/handshake.c index adb6d7fe4ed6095136fc1a161cd24f706af33138..d5fe0c7b7d93560284ed82585205a0c4e1d82f37 100644 --- a/src/core/lib/security/handshake.c +++ b/src/core/lib/security/handshake.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/handshake.h b/src/core/lib/security/handshake.h index b5d7bb3282693d75a02e574303e7444d04c443b2..f34476ed49d777d65d55c6ff0ead98d37d4120a3 100644 --- a/src/core/lib/security/handshake.h +++ b/src/core/lib/security/handshake.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/json_token.c b/src/core/lib/security/json_token.c index 97054286d9a34f3c78dc0912c8ca53aca170d6f6..d5bc2c8d6081d3b0c8567c3e1c89496922ff447e 100644 --- a/src/core/lib/security/json_token.c +++ b/src/core/lib/security/json_token.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/json_token.h b/src/core/lib/security/json_token.h index 376fb038750dfe8ec9160d55ff72ada19ccbc17b..123fa652fd808079961589fa2887f2e7bf940580 100644 --- a/src/core/lib/security/json_token.h +++ b/src/core/lib/security/json_token.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/jwt_verifier.c b/src/core/lib/security/jwt_verifier.c index 460b92f9a01043a75eca0c885f60d1386b00bd8d..0e012294de76cd15f5dbafed357ca23e3c324066 100644 --- a/src/core/lib/security/jwt_verifier.c +++ b/src/core/lib/security/jwt_verifier.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/jwt_verifier.h b/src/core/lib/security/jwt_verifier.h index 28a9eff048c2208919ddfb01a2589cb21b25a77e..98a4f6b1162880f19ffb02fa06d2589821adeb03 100644 --- a/src/core/lib/security/jwt_verifier.h +++ b/src/core/lib/security/jwt_verifier.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/secure_endpoint.c b/src/core/lib/security/secure_endpoint.c index e233b081ef2ba4cbbae615cffe02060af0140c93..27b0e989107bcf938f537629e36d808dae0ce2a3 100644 --- a/src/core/lib/security/secure_endpoint.c +++ b/src/core/lib/security/secure_endpoint.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/secure_endpoint.h b/src/core/lib/security/secure_endpoint.h index 57bd160a524816ed245577597510362aa2c80e7b..ff1c6639de6f185199cc9f4f6982037fdba5b0d9 100644 --- a/src/core/lib/security/secure_endpoint.h +++ b/src/core/lib/security/secure_endpoint.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/security_connector.c b/src/core/lib/security/security_connector.c index 48b23a9dcfe85233c0729c95cae47a8e2dd56f37..59863ba064b8bf1e9d63b86719564deab9db9c0a 100644 --- a/src/core/lib/security/security_connector.c +++ b/src/core/lib/security/security_connector.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -42,7 +42,7 @@ #include <grpc/support/slice_buffer.h> #include <grpc/support/string_util.h> -#include "src/core/ext/transport/chttp2/transport/alpn.h" +#include "src/core/ext/transport/chttp2/alpn/alpn.h" #include "src/core/lib/security/credentials.h" #include "src/core/lib/security/handshake.h" #include "src/core/lib/security/secure_endpoint.h" diff --git a/src/core/lib/security/security_connector.h b/src/core/lib/security/security_connector.h index d50091c6287d944944cc7b38564c42f99fe3ef31..c9e262b1adf4ce31cea809056e87722c90be93ce 100644 --- a/src/core/lib/security/security_connector.h +++ b/src/core/lib/security/security_connector.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/security_context.c b/src/core/lib/security/security_context.c index 0e66373bd802846468ed71c52739e3ecc4d12f9f..343e0b5b8b11cf1eef285497e6c112c70ed5f997 100644 --- a/src/core/lib/security/security_context.c +++ b/src/core/lib/security/security_context.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/security_context.h b/src/core/lib/security/security_context.h index e9e4e503bc0cb4d6ebff19363644acda1d01c848..81161ec47dee41c1d66d13308d0470533093a7b0 100644 --- a/src/core/lib/security/security_context.h +++ b/src/core/lib/security/security_context.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/security/server_auth_filter.c b/src/core/lib/security/server_auth_filter.c index 158cde0e2cb7b18779aadac7e562177fde9bfb91..7844dc87cb58853fd2c2c42be3d4505329d65dc9 100644 --- a/src/core/lib/security/server_auth_filter.c +++ b/src/core/lib/security/server_auth_filter.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/alloc.c b/src/core/lib/support/alloc.c index 27fa6a95ed1bbc19946bc76f8f56ea5cd3cea021..020917f79c87fa6b81c9beff7bc376666ed8df10 100644 --- a/src/core/lib/support/alloc.c +++ b/src/core/lib/support/alloc.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/avl.c b/src/core/lib/support/avl.c index f378b3ee17af0a4e3cecfa90a5b3defe5a3d8f43..8d3ce23e6c321d2c984ba8f4d43951009b53cc0f 100644 --- a/src/core/lib/support/avl.c +++ b/src/core/lib/support/avl.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/block_annotate.h b/src/core/lib/support/block_annotate.h index bd3071655ef926038ce7a20ba564850f7627701d..8fb380241f14f07df7aaae5595e1c061e1f41186 100644 --- a/src/core/lib/support/block_annotate.h +++ b/src/core/lib/support/block_annotate.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/cmdline.c b/src/core/lib/support/cmdline.c index 35c4990b22f1bc194df185bc4de6fc4ca44be3fb..d47498676db890505203ffe4f0bcfa3be358c868 100644 --- a/src/core/lib/support/cmdline.c +++ b/src/core/lib/support/cmdline.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/cpu_iphone.c b/src/core/lib/support/cpu_iphone.c index e83191badaefbbc1599eb9f1f5310a8b6f06a9c9..82b49b47bc0a0c9dcc06b1be9c8d8aadc353eb44 100644 --- a/src/core/lib/support/cpu_iphone.c +++ b/src/core/lib/support/cpu_iphone.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/cpu_linux.c b/src/core/lib/support/cpu_linux.c index 5597df2d033515e54e6f5698d2f5b5b909b6ea8a..d6f7e7d3da6ff355394dbcd055cfeb3a5ec03ae4 100644 --- a/src/core/lib/support/cpu_linux.c +++ b/src/core/lib/support/cpu_linux.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/cpu_posix.c b/src/core/lib/support/cpu_posix.c index e508ddd8ca1dc6d0cca40615da5067fa8c901269..667bde7cad4e4deb355e47f4867c7d0daba0eaa2 100644 --- a/src/core/lib/support/cpu_posix.c +++ b/src/core/lib/support/cpu_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/cpu_windows.c b/src/core/lib/support/cpu_windows.c index 0f84a9e5ea24c6d494a5c14d94c7f783e3a2844e..ce32eb0a9d66a53321dcfadfe89e624aec611a54 100644 --- a/src/core/lib/support/cpu_windows.c +++ b/src/core/lib/support/cpu_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/env.h b/src/core/lib/support/env.h index ddc4ee3c6d17182e8aba3718722ac12fe837c40c..ec3959bc6eda6d69e0e50401b638351ae32db47f 100644 --- a/src/core/lib/support/env.h +++ b/src/core/lib/support/env.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/env_linux.c b/src/core/lib/support/env_linux.c index a86133e6c3bf70bae81473664276ac03bafd003e..2436eb20b04895f8cd1905771f8f4a9133ea941d 100644 --- a/src/core/lib/support/env_linux.c +++ b/src/core/lib/support/env_linux.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/env_posix.c b/src/core/lib/support/env_posix.c index 1b57b094a990313899b64b670ccdbfce586246a9..ff47630443977d54018225fa5616ac70cb044236 100644 --- a/src/core/lib/support/env_posix.c +++ b/src/core/lib/support/env_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/env_win32.c b/src/core/lib/support/env_win32.c index 566feee49e162934bb91b0272f1db89e6a3ff31b..ef84c941df659196ea82f58b6311334d5128bc0a 100644 --- a/src/core/lib/support/env_win32.c +++ b/src/core/lib/support/env_win32.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/histogram.c b/src/core/lib/support/histogram.c index 62227be1a67b681ee03ab9fdcedff41f0b7f933c..7b016bbc78790d760b84067f38157ea1840e4a6b 100644 --- a/src/core/lib/support/histogram.c +++ b/src/core/lib/support/histogram.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/host_port.c b/src/core/lib/support/host_port.c index e03f6241ff5176dc2151ef15eb884c26e4ad94a1..f19bdbc835744ba77ca28b9402fb4fc8f989d126 100644 --- a/src/core/lib/support/host_port.c +++ b/src/core/lib/support/host_port.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/load_file.c b/src/core/lib/support/load_file.c index 0cecd5edd5e011b26f6cb0b3b5553061814175f8..f30aacdd4f860f60922dae2efb5078c042af58d7 100644 --- a/src/core/lib/support/load_file.c +++ b/src/core/lib/support/load_file.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/load_file.h b/src/core/lib/support/load_file.h index fe030c967e84ae61bbfc7a86a1516a75fc0d82fd..9a4b27942e2641bd7c187404243dbf1b681bdd69 100644 --- a/src/core/lib/support/load_file.h +++ b/src/core/lib/support/load_file.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/log.c b/src/core/lib/support/log.c index cd6a0726cf3843852513959573444d6d8a0e3109..04156a5b1fc092094f29c82426feb9c57df1d565 100644 --- a/src/core/lib/support/log.c +++ b/src/core/lib/support/log.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/log_android.c b/src/core/lib/support/log_android.c index 640c9d7099acaf1a56228cf679e8525a21bdc3f7..94c8100fd7c46e5a1438b32bb4c8c5058767e6cb 100644 --- a/src/core/lib/support/log_android.c +++ b/src/core/lib/support/log_android.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/log_linux.c b/src/core/lib/support/log_linux.c index e60512c526e459c64d36332b867aaeaf9adf4172..6d4b63bbe0d2f3723b02785aa177ce43708a12b8 100644 --- a/src/core/lib/support/log_linux.c +++ b/src/core/lib/support/log_linux.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/log_posix.c b/src/core/lib/support/log_posix.c index 7429dd0a2c219b7166778c1f6bb73060b61a4df6..6ae63207673a2ea03eb3b4a53fa25a618e5c3eb9 100644 --- a/src/core/lib/support/log_posix.c +++ b/src/core/lib/support/log_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/log_win32.c b/src/core/lib/support/log_win32.c index cec99440a5cc8d3ce34e97e85a6ece8fac64f407..ba78497a0a46884bca2be0e76a398988bac11fdd 100644 --- a/src/core/lib/support/log_win32.c +++ b/src/core/lib/support/log_win32.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/murmur_hash.c b/src/core/lib/support/murmur_hash.c index 97832f15101a5566475b1433c5d0166a286fdbf3..5711fff0c0fc207257c00bf60af51f1c2d4c1be1 100644 --- a/src/core/lib/support/murmur_hash.c +++ b/src/core/lib/support/murmur_hash.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/murmur_hash.h b/src/core/lib/support/murmur_hash.h index e54cdf25920d3cbd54dfc867b9356ad870a1ec19..6d282ff358eb5ab3fc60fde21e57aa94fc9cf60a 100644 --- a/src/core/lib/support/murmur_hash.h +++ b/src/core/lib/support/murmur_hash.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/slice.c b/src/core/lib/support/slice.c index cf3953ce4ea5ff59fae7aeb82644ded3948c9799..b9a7c77bda6e649eca6635e0dcd84b19462dd95b 100644 --- a/src/core/lib/support/slice.c +++ b/src/core/lib/support/slice.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/slice_buffer.c b/src/core/lib/support/slice_buffer.c index 563e659dd74045d49a8be91801cb3407570217bf..66f111d767c719f98d154e6e08c804d42efb171a 100644 --- a/src/core/lib/support/slice_buffer.c +++ b/src/core/lib/support/slice_buffer.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/stack_lockfree.c b/src/core/lib/support/stack_lockfree.c index de80486132d399a0c6b698510eb5e1a0d05ba680..9d7c9e5a3816fe8b3916ae39f623585ea8a13b0e 100644 --- a/src/core/lib/support/stack_lockfree.c +++ b/src/core/lib/support/stack_lockfree.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/stack_lockfree.h b/src/core/lib/support/stack_lockfree.h index a030a01d1f17ace830c72cf0614f3af1c049bcfb..35ef7c2959ee2b687b03e1aa4e135bc11b87814d 100644 --- a/src/core/lib/support/stack_lockfree.h +++ b/src/core/lib/support/stack_lockfree.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/string.c b/src/core/lib/support/string.c index 365d861de3fcd49bb94450f9c9ea26e4881b7c37..a2ab6c5f1fc4208bd9e0ff6d4c2c9d5941af831a 100644 --- a/src/core/lib/support/string.c +++ b/src/core/lib/support/string.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/string.h b/src/core/lib/support/string.h index 68c02878e080e27689d82f3b69635713fc135778..ea58610914e476f8ffcfef81a5f0034d5e31a2ac 100644 --- a/src/core/lib/support/string.h +++ b/src/core/lib/support/string.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/string_posix.c b/src/core/lib/support/string_posix.c index a73b3106a5fe1210a2aa5e971bbc08b53af01b80..c804ed5ded6981cdb02c5604a3b05944c40b82d3 100644 --- a/src/core/lib/support/string_posix.c +++ b/src/core/lib/support/string_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/string_win32.c b/src/core/lib/support/string_win32.c index 16b7e37f2a3f6f6d97bd8eee76bc72cf38c8451e..a2f9857356a3413ca25518ada04cf9671aef91c0 100644 --- a/src/core/lib/support/string_win32.c +++ b/src/core/lib/support/string_win32.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/string_win32.h b/src/core/lib/support/string_win32.h index f47d567715b18351ea061b807344765667112eb4..ff4a694ca9decd2412148b4b78ee1e1adcf261ff 100644 --- a/src/core/lib/support/string_win32.h +++ b/src/core/lib/support/string_win32.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/subprocess_posix.c b/src/core/lib/support/subprocess_posix.c index 662e7dd9991805c1521e9dd73537b307666c38a1..4f4de9298e9c38d552c8db78b3393bd739d28323 100644 --- a/src/core/lib/support/subprocess_posix.c +++ b/src/core/lib/support/subprocess_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/sync.c b/src/core/lib/support/sync.c index 800cf20287a803bd22e7136aa0640d971221d9c4..44b83f8175aafb4f1935a9b52b22cc1729a63594 100644 --- a/src/core/lib/support/sync.c +++ b/src/core/lib/support/sync.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/sync_posix.c b/src/core/lib/support/sync_posix.c index a5e59db8c7e041db85a82b036dd2c8f09361e957..dcb0969a4ea1df63934840e9f0944225a4858e04 100644 --- a/src/core/lib/support/sync_posix.c +++ b/src/core/lib/support/sync_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/sync_win32.c b/src/core/lib/support/sync_win32.c index 41998ebcb6b2c5db483f71f87c4ac9f3aec66741..470a9f9704b8aa77ab33da680e705718908e0386 100644 --- a/src/core/lib/support/sync_win32.c +++ b/src/core/lib/support/sync_win32.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/thd.c b/src/core/lib/support/thd.c index d59aace38d013311db85a18ef36f3a04d71036e7..41daeb5d0e5e3c49a3603f2fd9ae5009a98fd1d2 100644 --- a/src/core/lib/support/thd.c +++ b/src/core/lib/support/thd.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/thd_internal.h b/src/core/lib/support/thd_internal.h index f269a3249e35ea96d5273838f3410a7183c41e66..975d5537ccadbdc5efffd9f68543215be6fb9662 100644 --- a/src/core/lib/support/thd_internal.h +++ b/src/core/lib/support/thd_internal.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/thd_posix.c b/src/core/lib/support/thd_posix.c index 4d874d36566f3322c042012ec8eb7de5d16d9b63..89832e3ce1f35137bfd9168788240879ff9c8535 100644 --- a/src/core/lib/support/thd_posix.c +++ b/src/core/lib/support/thd_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/thd_win32.c b/src/core/lib/support/thd_win32.c index 630eb7f62567fde52a430488b0eacde8f8b7d381..6deb3140ebd882abf55e1ca1d0e6f3bb132ba4b2 100644 --- a/src/core/lib/support/thd_win32.c +++ b/src/core/lib/support/thd_win32.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/time.c b/src/core/lib/support/time.c index 0e2c8fcf1a582f4383bb844df10f0aa39d498d06..57f83311945e11ac191d8a15a1fa3c2f555b08a7 100644 --- a/src/core/lib/support/time.c +++ b/src/core/lib/support/time.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/time_posix.c b/src/core/lib/support/time_posix.c index fcfab2f2fab821ea7f1b797c3fd2c5a7cd72f033..f5f62dadc6d6037cf8f4f6ef5adfa3653ff8ba09 100644 --- a/src/core/lib/support/time_posix.c +++ b/src/core/lib/support/time_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/time_precise.c b/src/core/lib/support/time_precise.c index 31ac47e0f8d5f08e249dcbd890111c43a66fe297..a2cf74bc84734425f8081c0daa8fe73d4d30b968 100644 --- a/src/core/lib/support/time_precise.c +++ b/src/core/lib/support/time_precise.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/time_precise.h b/src/core/lib/support/time_precise.h index e1faee1f9fe127420e27ff049ee922aff008ff74..30818d04b9da54b25266c7ead52d1b1440775c83 100644 --- a/src/core/lib/support/time_precise.h +++ b/src/core/lib/support/time_precise.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/time_win32.c b/src/core/lib/support/time_win32.c index a6ac003fb8ea47eecd71f1f6670f5502d298bd62..f7acbd14a676b2935a1be201263a6597e3004e91 100644 --- a/src/core/lib/support/time_win32.c +++ b/src/core/lib/support/time_win32.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/tls_pthread.c b/src/core/lib/support/tls_pthread.c index bdc7ed14ae587bd83f6f3d5047d6ae93224864a9..9683a6e547d5640ed6e48d77731793c5beab9282 100644 --- a/src/core/lib/support/tls_pthread.c +++ b/src/core/lib/support/tls_pthread.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/tmpfile.h b/src/core/lib/support/tmpfile.h index 4fec2076e3556a2189130964723cae9ad21664de..059142ab0ff11aa05f51a39c379b3a639a90e6f5 100644 --- a/src/core/lib/support/tmpfile.h +++ b/src/core/lib/support/tmpfile.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/tmpfile_posix.c b/src/core/lib/support/tmpfile_posix.c index 743f45e1bc801eb5be4f02f3c5d98d612aeb7b33..9e0e7ad80801d51ee6b28411cfae393c30d73994 100644 --- a/src/core/lib/support/tmpfile_posix.c +++ b/src/core/lib/support/tmpfile_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/support/tmpfile_win32.c b/src/core/lib/support/tmpfile_win32.c index 05d92b60367be3eef843b97a2ba884b6085a5e27..0cb2904f8deccb799bfae1b7c3838bb414b80d22 100644 --- a/src/core/lib/support/tmpfile_win32.c +++ b/src/core/lib/support/tmpfile_win32.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/alarm.c b/src/core/lib/surface/alarm.c index 368683378edbd9fb477a4b001ea968a011b40657..2cf2f00b31c96f0a4d4eebe6afb780e500d1a598 100644 --- a/src/core/lib/surface/alarm.c +++ b/src/core/lib/surface/alarm.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/api_trace.c b/src/core/lib/surface/api_trace.c index 3702c024dbd5aa56120b12ab419f02957edb0caf..79e3e5ca9b8b746dd9ad3977994fc7751640bcff 100644 --- a/src/core/lib/surface/api_trace.c +++ b/src/core/lib/surface/api_trace.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/api_trace.h b/src/core/lib/surface/api_trace.h index b50011c9e54a5d306e43d43a415a9a6d5441a0bf..c60aaba5e97e90030a97b49c8ecaadba524b19b6 100644 --- a/src/core/lib/surface/api_trace.h +++ b/src/core/lib/surface/api_trace.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/byte_buffer.c b/src/core/lib/surface/byte_buffer.c index 03071ef92c699475b09a416f362cbb74c5e39439..fb39c4531d9acca2d2cd2bd21ec4de2098fb2e5d 100644 --- a/src/core/lib/surface/byte_buffer.c +++ b/src/core/lib/surface/byte_buffer.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/byte_buffer_reader.c b/src/core/lib/surface/byte_buffer_reader.c index 7248f5fe718f57b701adf9b1ab678502ab42bae6..809fd5f1fa672e6b0e11e7860f11ab49ef2a8e9b 100644 --- a/src/core/lib/surface/byte_buffer_reader.c +++ b/src/core/lib/surface/byte_buffer_reader.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.c index d63a4a7401ed77e92e079dbfdaa5142f813e311f..6581bbd3d1d2d941f0475ed321c0d4160286641d 100644 --- a/src/core/lib/surface/call.c +++ b/src/core/lib/surface/call.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -81,11 +81,11 @@ typedef enum { /* Status came from the application layer overriding whatever the wire says */ STATUS_FROM_API_OVERRIDE = 0, - /* Status was created by some internal channel stack operation */ - STATUS_FROM_CORE, /* Status came from 'the wire' - or somewhere below the surface layer */ STATUS_FROM_WIRE, + /* Status was created by some internal channel stack operation */ + STATUS_FROM_CORE, /* Status came from the server sending status */ STATUS_FROM_SERVER_STATUS, STATUS_SOURCE_COUNT @@ -174,6 +174,9 @@ struct grpc_call { /* Received call statuses from various sources */ received_status status[STATUS_SOURCE_COUNT]; + /* Call stats: only valid after trailing metadata received */ + grpc_transport_stream_stats stats; + /* Compression algorithm for the call */ grpc_compression_algorithm compression_algorithm; /* Supported encodings (compression algorithms), a bitset */ @@ -909,7 +912,7 @@ static void set_cancelled_value(grpc_status_code status, void *dest) { *(int *)dest = (status != GRPC_STATUS_OK); } -static int are_write_flags_valid(uint32_t flags) { +static bool are_write_flags_valid(uint32_t flags) { /* check that only bits in GRPC_WRITE_(INTERNAL?)_USED_MASK are set */ const uint32_t allowed_write_positions = (GRPC_WRITE_USED_MASK | GRPC_WRITE_INTERNAL_USED_MASK); @@ -917,6 +920,15 @@ static int are_write_flags_valid(uint32_t flags) { return !(flags & invalid_positions); } +static bool are_initial_metadata_flags_valid(uint32_t flags, bool is_client) { + /* check that only bits in GRPC_WRITE_(INTERNAL?)_USED_MASK are set */ + uint32_t invalid_positions = ~GRPC_INITIAL_METADATA_USED_MASK; + if (!is_client) { + invalid_positions |= GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST; + } + return !(flags & invalid_positions); +} + static batch_control *allocate_batch_control(grpc_call *call) { size_t i; for (i = 0; i < MAX_CONCURRENT_BATCHES; i++) { @@ -1062,24 +1074,29 @@ static void receiving_initial_metadata_ready(grpc_exec_ctx *exec_ctx, gpr_mu_lock(&call->mu); - grpc_metadata_batch *md = - &call->metadata_batch[1 /* is_receiving */][0 /* is_trailing */]; - grpc_metadata_batch_filter(md, recv_initial_filter, call); - call->has_initial_md_been_received = true; - - if (gpr_time_cmp(md->deadline, gpr_inf_future(md->deadline.clock_type)) != - 0 && - !call->is_client) { - GPR_TIMER_BEGIN("set_deadline_alarm", 0); - set_deadline_alarm(exec_ctx, call, md->deadline); - GPR_TIMER_END("set_deadline_alarm", 0); + if (!success) { + bctl->success = false; + } else { + grpc_metadata_batch *md = + &call->metadata_batch[1 /* is_receiving */][0 /* is_trailing */]; + grpc_metadata_batch_filter(md, recv_initial_filter, call); + + if (gpr_time_cmp(md->deadline, gpr_inf_future(md->deadline.clock_type)) != + 0 && + !call->is_client) { + GPR_TIMER_BEGIN("set_deadline_alarm", 0); + set_deadline_alarm(exec_ctx, call, md->deadline); + GPR_TIMER_END("set_deadline_alarm", 0); + } } + call->has_initial_md_been_received = true; if (call->saved_receiving_stream_ready_ctx.bctlp != NULL) { grpc_closure *saved_rsr_closure = grpc_closure_create( receiving_stream_ready, call->saved_receiving_stream_ready_ctx.bctlp); - grpc_exec_ctx_enqueue(exec_ctx, saved_rsr_closure, - call->saved_receiving_stream_ready_ctx.success, NULL); + grpc_exec_ctx_enqueue( + exec_ctx, saved_rsr_closure, + call->saved_receiving_stream_ready_ctx.success && success, NULL); call->saved_receiving_stream_ready_ctx.bctlp = NULL; } @@ -1098,6 +1115,9 @@ static void finish_batch(grpc_exec_ctx *exec_ctx, void *bctlp, bool success) { gpr_mu_lock(&call->mu); if (bctl->send_initial_metadata) { + if (!success) { + set_status_code(call, STATUS_FROM_CORE, GRPC_STATUS_UNAVAILABLE); + } grpc_metadata_batch_destroy( &call->metadata_batch[0 /* is_receiving */][0 /* is_trailing */]); } @@ -1196,7 +1216,7 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx, switch (op->op) { case GRPC_OP_SEND_INITIAL_METADATA: /* Flag validation: currently allow no flags */ - if (op->flags != 0) { + if (!are_initial_metadata_flags_valid(op->flags, call->is_client)) { error = GRPC_CALL_ERROR_INVALID_FLAGS; goto done_with_error; } @@ -1220,6 +1240,7 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx, call->metadata_batch[0][0].deadline = call->send_deadline; stream_op.send_initial_metadata = &call->metadata_batch[0 /* is_receiving */][0 /* is_trailing */]; + stream_op.send_initial_metadata_flags = op->flags; break; case GRPC_OP_SEND_MESSAGE: if (!are_write_flags_valid(op->flags)) { @@ -1371,6 +1392,7 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx, bctl->recv_final_op = 1; stream_op.recv_trailing_metadata = &call->metadata_batch[1 /* is_receiving */][1 /* is_trailing */]; + stream_op.collect_stats = &call->stats; break; case GRPC_OP_RECV_CLOSE_ON_SERVER: /* Flag validation: currently allow no flags */ @@ -1392,6 +1414,7 @@ static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx, bctl->recv_final_op = 1; stream_op.recv_trailing_metadata = &call->metadata_batch[1 /* is_receiving */][1 /* is_trailing */]; + stream_op.collect_stats = &call->stats; break; } } diff --git a/src/core/lib/surface/call.h b/src/core/lib/surface/call.h index e2e75865be4fe0a10555c7444d62c5a5df08979c..2725e060b86b3ef8468d707b5e99e1bbde883703 100644 --- a/src/core/lib/surface/call.h +++ b/src/core/lib/surface/call.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/call_details.c b/src/core/lib/surface/call_details.c index 08f606d84a0308dff69693a0d63387b9a29c5ba1..fe73da3f552c5dcb172d39103a796a30402dec24 100644 --- a/src/core/lib/surface/call_details.c +++ b/src/core/lib/surface/call_details.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/call_log_batch.c b/src/core/lib/surface/call_log_batch.c index bc5a2ffb655f28bb61ada9920327c3d68caf0111..a6d1d5149f19beab613073533cb9f1765633433d 100644 --- a/src/core/lib/surface/call_log_batch.c +++ b/src/core/lib/surface/call_log_batch.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/call_test_only.h b/src/core/lib/surface/call_test_only.h index 400214189e25923df37df9c7c1a7868b1d0795ff..47088991d336b522ea3155ac132d2cc4c2cfce5f 100644 --- a/src/core/lib/surface/call_test_only.h +++ b/src/core/lib/surface/call_test_only.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/channel.c b/src/core/lib/surface/channel.c index d815daa70c93bb6648c829140af5442d1b60f2ac..b6b760b5d8d9930cc960c97046241839209ec3db 100644 --- a/src/core/lib/surface/channel.c +++ b/src/core/lib/surface/channel.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,7 +40,6 @@ #include <grpc/support/log.h> #include <grpc/support/string_util.h> -#include "src/core/lib/client_config/resolver_registry.h" #include "src/core/lib/iomgr/iomgr.h" #include "src/core/lib/support/string.h" #include "src/core/lib/surface/api_trace.h" @@ -84,14 +83,26 @@ struct grpc_channel { static void destroy_channel(grpc_exec_ctx *exec_ctx, void *arg, bool success); grpc_channel *grpc_channel_create(grpc_exec_ctx *exec_ctx, const char *target, - const grpc_channel_args *args, + const grpc_channel_args *input_args, grpc_channel_stack_type channel_stack_type, grpc_transport *optional_transport) { bool is_client = grpc_channel_stack_type_is_client(channel_stack_type); - grpc_channel *channel = grpc_channel_init_create_stack( - exec_ctx, channel_stack_type, sizeof(grpc_channel), args, 1, - destroy_channel, NULL, optional_transport); + grpc_channel_stack_builder *builder = grpc_channel_stack_builder_create(); + grpc_channel_stack_builder_set_channel_arguments(builder, input_args); + grpc_channel_stack_builder_set_target(builder, target); + grpc_channel_stack_builder_set_transport(builder, optional_transport); + grpc_channel *channel; + grpc_channel_args *args; + if (!grpc_channel_init_create_stack(exec_ctx, builder, channel_stack_type)) { + grpc_channel_stack_builder_destroy(builder); + return NULL; + } else { + args = grpc_channel_args_copy( + grpc_channel_stack_builder_get_channel_arguments(builder)); + channel = grpc_channel_stack_builder_finish( + exec_ctx, builder, sizeof(grpc_channel), 1, destroy_channel, NULL); + } memset(channel, 0, sizeof(*channel)); channel->target = gpr_strdup(target); @@ -142,16 +153,7 @@ grpc_channel *grpc_channel_create(grpc_exec_ctx *exec_ctx, const char *target, } } } - } - - if (channel->is_client && channel->default_authority == NULL && - target != NULL) { - char *default_authority = grpc_get_default_authority(target); - if (default_authority) { - channel->default_authority = - grpc_mdelem_from_strings(":authority", default_authority); - } - gpr_free(default_authority); + grpc_channel_args_destroy(args); } return channel; diff --git a/src/core/lib/surface/channel.h b/src/core/lib/surface/channel.h index 09de0fccc93f6a9a6fee7032895422599e1ccb8f..22dae930e4c7436d3269066a01f21ca7371289f0 100644 --- a/src/core/lib/surface/channel.h +++ b/src/core/lib/surface/channel.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,6 @@ #define GRPC_CORE_LIB_SURFACE_CHANNEL_H #include "src/core/lib/channel/channel_stack.h" -#include "src/core/lib/client_config/subchannel_factory.h" #include "src/core/lib/surface/channel_stack_type.h" grpc_channel *grpc_channel_create(grpc_exec_ctx *exec_ctx, const char *target, diff --git a/src/core/lib/surface/channel_init.c b/src/core/lib/surface/channel_init.c index fc69f61f772c9c3a0d30ce6b1675517f0ea3771f..0627b3447918bdbad62db02b6cda026a26e0a266 100644 --- a/src/core/lib/surface/channel_init.c +++ b/src/core/lib/surface/channel_init.c @@ -122,25 +122,19 @@ static const char *name_for_type(grpc_channel_stack_type type) { GPR_UNREACHABLE_CODE(return "UNKNOWN"); } -void *grpc_channel_init_create_stack( - grpc_exec_ctx *exec_ctx, grpc_channel_stack_type type, size_t prefix_bytes, - const grpc_channel_args *args, int initial_refs, grpc_iomgr_cb_func destroy, - void *destroy_arg, grpc_transport *transport) { +bool grpc_channel_init_create_stack(grpc_exec_ctx *exec_ctx, + grpc_channel_stack_builder *builder, + grpc_channel_stack_type type) { GPR_ASSERT(g_finalized); - grpc_channel_stack_builder *builder = grpc_channel_stack_builder_create(); grpc_channel_stack_builder_set_name(builder, name_for_type(type)); - grpc_channel_stack_builder_set_channel_arguments(builder, args); - grpc_channel_stack_builder_set_transport(builder, transport); for (size_t i = 0; i < g_slots[type].num_slots; i++) { const stage_slot *slot = &g_slots[type].slots[i]; if (!slot->fn(builder, slot->arg)) { - grpc_channel_stack_builder_destroy(builder); - return NULL; + return false; } } - return grpc_channel_stack_builder_finish(exec_ctx, builder, prefix_bytes, - initial_refs, destroy, destroy_arg); + return true; } diff --git a/src/core/lib/surface/channel_init.h b/src/core/lib/surface/channel_init.h index a4d8271ca6a8abc23fcd8a184d1f3ee365000f4f..3a18a61ddb80e7ddfad72d157ec0805167b8e190 100644 --- a/src/core/lib/surface/channel_init.h +++ b/src/core/lib/surface/channel_init.h @@ -38,6 +38,8 @@ #include "src/core/lib/surface/channel_stack_type.h" #include "src/core/lib/transport/transport.h" +#define GRPC_CHANNEL_INIT_BUILTIN_PRIORITY 10000 + /// This module provides a way for plugins (and the grpc core library itself) /// to register mutators for channel stacks. /// It also provides a universal entry path to run those mutators to build @@ -78,9 +80,8 @@ void grpc_channel_init_shutdown(void); /// \a optional_transport is either NULL or a constructed transport object /// Returns a pointer to the base of the memory allocated (the actual channel /// stack object will be prefix_bytes past that pointer) -void *grpc_channel_init_create_stack( - grpc_exec_ctx *exec_ctx, grpc_channel_stack_type type, size_t prefix_bytes, - const grpc_channel_args *args, int initial_refs, grpc_iomgr_cb_func destroy, - void *destroy_arg, grpc_transport *optional_transport); +bool grpc_channel_init_create_stack(grpc_exec_ctx *exec_ctx, + grpc_channel_stack_builder *builder, + grpc_channel_stack_type type); #endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_INIT_H */ diff --git a/src/core/lib/surface/channel_ping.c b/src/core/lib/surface/channel_ping.c index dd862cdadde6e5678d25171f998e61f8b6f97c81..5a50698695702bba17eb445ee0718d4d73e31f0d 100644 --- a/src/core/lib/surface/channel_ping.c +++ b/src/core/lib/surface/channel_ping.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/channel_stack_type.h b/src/core/lib/surface/channel_stack_type.h index 16608fa38630406dcab8be59d5ab40dae568a5b1..4eea4f1b0167d64833c42afa5ba6d7120b06e044 100644 --- a/src/core/lib/surface/channel_stack_type.h +++ b/src/core/lib/surface/channel_stack_type.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/completion_queue.c b/src/core/lib/surface/completion_queue.c index a0d7002053d7ca64f413b5b5b61a27e4742272cb..5ec8808b508525a81ead9ca0c1072d1f098d3e71 100644 --- a/src/core/lib/surface/completion_queue.c +++ b/src/core/lib/surface/completion_queue.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/completion_queue.h b/src/core/lib/surface/completion_queue.h index 35591cb6f42c128e21afd632f3345c23a6793412..eef82cf01482624ab9a2c943b72c637f288fccf6 100644 --- a/src/core/lib/surface/completion_queue.h +++ b/src/core/lib/surface/completion_queue.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/event_string.c b/src/core/lib/surface/event_string.c index 360c718a1715e2bced16633c2400520df8382c91..1abc6ebf8c920fcd2340f48175e850f0fe371f17 100644 --- a/src/core/lib/surface/event_string.c +++ b/src/core/lib/surface/event_string.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/event_string.h b/src/core/lib/surface/event_string.h index 577e9c718f21b706d39b92a43e3e9aeb034eac9f..bc1464380de495c8ebe9c620c1aba78348c008d3 100644 --- a/src/core/lib/surface/event_string.h +++ b/src/core/lib/surface/event_string.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/init.c b/src/core/lib/surface/init.c index dbfc8a9336e5f4261d8ae947b07d642f87d231a9..ec75af6e06f76b66d800505ebda16f65cfcc20f5 100644 --- a/src/core/lib/surface/init.c +++ b/src/core/lib/surface/init.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -39,23 +39,11 @@ #include <grpc/grpc.h> #include <grpc/support/alloc.h> #include <grpc/support/time.h> -/* TODO(ctiller): find another way? - better not to include census here */ -#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/census/grpc_plugin.h" #include "src/core/lib/channel/channel_stack.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/compress_filter.h" #include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/channel/http_client_filter.h" #include "src/core/lib/channel/http_server_filter.h" -#include "src/core/lib/client_config/lb_policies/pick_first.h" -#include "src/core/lib/client_config/lb_policies/round_robin.h" -#include "src/core/lib/client_config/lb_policy_registry.h" -#include "src/core/lib/client_config/resolver_registry.h" -#include "src/core/lib/client_config/resolvers/dns_resolver.h" -#include "src/core/lib/client_config/resolvers/sockaddr_resolver.h" -#include "src/core/lib/client_config/subchannel.h" -#include "src/core/lib/client_config/subchannel_index.h" #include "src/core/lib/debug/trace.h" #include "src/core/lib/iomgr/executor.h" #include "src/core/lib/iomgr/iomgr.h" @@ -71,9 +59,8 @@ #include "src/core/lib/transport/connectivity_state.h" #include "src/core/lib/transport/transport_impl.h" -#ifndef GRPC_DEFAULT_NAME_PREFIX -#define GRPC_DEFAULT_NAME_PREFIX "dns:///" -#endif +/* (generated) built in registry of plugins */ +extern void grpc_register_built_in_plugins(void); #define MAX_PLUGINS 128 @@ -83,8 +70,7 @@ static int g_initializations; static void do_basic_init(void) { gpr_mu_init(&g_init_mu); - /* TODO(ctiller): ideally remove this strict linkage */ - grpc_register_plugin(census_grpc_plugin_init, census_grpc_plugin_destroy); + grpc_register_built_in_plugins(); g_initializations = 0; } @@ -109,31 +95,35 @@ static bool maybe_add_http_filter(grpc_channel_stack_builder *builder, } static void register_builtin_channel_init() { - grpc_channel_init_register_stage(GRPC_CLIENT_CHANNEL, INT_MAX, prepend_filter, - (void *)&grpc_compress_filter); - grpc_channel_init_register_stage(GRPC_CLIENT_DIRECT_CHANNEL, INT_MAX, - prepend_filter, - (void *)&grpc_compress_filter); - grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX, prepend_filter, - (void *)&grpc_compress_filter); - grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL, INT_MAX, - maybe_add_http_filter, - (void *)&grpc_http_client_filter); - grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL, INT_MAX, + grpc_channel_init_register_stage( + GRPC_CLIENT_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, prepend_filter, + (void *)&grpc_compress_filter); + grpc_channel_init_register_stage( + GRPC_CLIENT_DIRECT_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, + prepend_filter, (void *)&grpc_compress_filter); + grpc_channel_init_register_stage( + GRPC_SERVER_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, prepend_filter, + (void *)&grpc_compress_filter); + grpc_channel_init_register_stage( + GRPC_CLIENT_SUBCHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, + maybe_add_http_filter, (void *)&grpc_http_client_filter); + grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL, + GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, grpc_add_connected_filter, NULL); - grpc_channel_init_register_stage(GRPC_CLIENT_DIRECT_CHANNEL, INT_MAX, - maybe_add_http_filter, - (void *)&grpc_http_client_filter); - grpc_channel_init_register_stage(GRPC_CLIENT_DIRECT_CHANNEL, INT_MAX, + grpc_channel_init_register_stage( + GRPC_CLIENT_DIRECT_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, + maybe_add_http_filter, (void *)&grpc_http_client_filter); + grpc_channel_init_register_stage(GRPC_CLIENT_DIRECT_CHANNEL, + GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, grpc_add_connected_filter, NULL); - grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX, - maybe_add_http_filter, - (void *)&grpc_http_server_filter); - grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX, + grpc_channel_init_register_stage( + GRPC_SERVER_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, + maybe_add_http_filter, (void *)&grpc_http_server_filter); + grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, + GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, grpc_add_connected_filter, NULL); - grpc_channel_init_register_stage(GRPC_CLIENT_CHANNEL, INT_MAX, append_filter, - (void *)&grpc_client_channel_filter); - grpc_channel_init_register_stage(GRPC_CLIENT_LAME_CHANNEL, INT_MAX, + grpc_channel_init_register_stage(GRPC_CLIENT_LAME_CHANNEL, + GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, append_filter, (void *)&grpc_lame_filter); grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX, prepend_filter, (void *)&grpc_server_top_filter); @@ -165,20 +155,8 @@ void grpc_init(void) { gpr_time_init(); grpc_mdctx_global_init(); grpc_channel_init_init(); - grpc_lb_policy_registry_init(grpc_pick_first_lb_factory_create()); - grpc_register_lb_policy(grpc_pick_first_lb_factory_create()); - grpc_register_lb_policy(grpc_round_robin_lb_factory_create()); - grpc_resolver_registry_init(GRPC_DEFAULT_NAME_PREFIX); - grpc_register_resolver_type(grpc_dns_resolver_factory_create()); - grpc_register_resolver_type(grpc_ipv4_resolver_factory_create()); - grpc_register_resolver_type(grpc_ipv6_resolver_factory_create()); -#ifdef GPR_POSIX_SOCKET - grpc_register_resolver_type(grpc_unix_resolver_factory_create()); -#endif grpc_register_tracer("api", &grpc_api_trace); grpc_register_tracer("channel", &grpc_trace_channel); - grpc_register_tracer("http", &grpc_http_trace); - grpc_register_tracer("flowctl", &grpc_flowctl_trace); grpc_register_tracer("connectivity_state", &grpc_connectivity_state_trace); grpc_register_tracer("channel_stack_builder", &grpc_trace_channel_stack_builder); @@ -188,7 +166,6 @@ void grpc_init(void) { grpc_tracer_init("GRPC_TRACE"); gpr_timers_global_init(); grpc_cq_global_init(); - grpc_subchannel_index_init(); for (i = 0; i < g_number_of_plugins; i++) { if (g_all_of_the_plugins[i].init != NULL) { g_all_of_the_plugins[i].init(); @@ -213,17 +190,13 @@ void grpc_shutdown(void) { grpc_executor_shutdown(); grpc_cq_global_shutdown(); grpc_iomgr_shutdown(); - grpc_subchannel_index_shutdown(); gpr_timers_global_destroy(); grpc_tracer_shutdown(); - grpc_resolver_registry_shutdown(); - grpc_lb_policy_registry_shutdown(); - for (i = 0; i < g_number_of_plugins; i++) { + for (i = g_number_of_plugins; i >= 0; i--) { if (g_all_of_the_plugins[i].destroy != NULL) { g_all_of_the_plugins[i].destroy(); } } - grpc_channel_init_shutdown(); grpc_mdctx_global_shutdown(); } gpr_mu_unlock(&g_init_mu); diff --git a/src/core/lib/surface/init.h b/src/core/lib/surface/init.h index 10e2a5896e3dac47e58e082edc48803ae6c4ccb6..b1bf57c10d197e8ef06cb377d0707cfeb1e683b0 100644 --- a/src/core/lib/surface/init.h +++ b/src/core/lib/surface/init.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/init_secure.c b/src/core/lib/surface/init_secure.c index d3c2f645a7692c07a33297abaef5996a75108b7b..3fda2c9e1e45e6305338cf98fa6a317a3445d818 100644 --- a/src/core/lib/surface/init_secure.c +++ b/src/core/lib/surface/init_secure.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/init_unsecure.c b/src/core/lib/surface/init_unsecure.c index 243c005d863b1f485f0fdee858e8e48b456961da..f952739e0a9d7360fb6820287b3ce6062da5c3d4 100644 --- a/src/core/lib/surface/init_unsecure.c +++ b/src/core/lib/surface/init_unsecure.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/lame_client.c b/src/core/lib/surface/lame_client.c index 95ec4b06c3f7416c3ad3c790a64d92b871cc11a0..c1f6812c4e1008a20a63f659fa3e1d817a4053f7 100644 --- a/src/core/lib/surface/lame_client.c +++ b/src/core/lib/surface/lame_client.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/metadata_array.c b/src/core/lib/surface/metadata_array.c index 4436f2da87c3fafcb1aeae180476b4894378bb7b..6c2b750e1d192d4bf691c2fe01caa42478156a35 100644 --- a/src/core/lib/surface/metadata_array.c +++ b/src/core/lib/surface/metadata_array.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/server.c b/src/core/lib/surface/server.c index 080734e9d59fd1bd4019ef76e19326896a4895d1..ad8ee8c7a99ef3dc90fad5866e0c55a18c8296d8 100644 --- a/src/core/lib/surface/server.c +++ b/src/core/lib/surface/server.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -95,11 +95,11 @@ typedef struct requested_call { grpc_byte_buffer **optional_payload; } registered; } data; - grpc_closure publish; } requested_call; typedef struct channel_registered_method { registered_method *server_registered_method; + uint32_t flags; grpc_mdstr *method; grpc_mdstr *host; } channel_registered_method; @@ -152,17 +152,24 @@ struct call_data { grpc_completion_queue *cq_new; grpc_metadata_batch *recv_initial_metadata; + bool recv_idempotent_request; grpc_metadata_array initial_metadata; + request_matcher *request_matcher; + grpc_byte_buffer *payload; + grpc_closure got_initial_metadata; grpc_closure server_on_recv_initial_metadata; grpc_closure kill_zombie_closure; grpc_closure *on_done_recv_initial_metadata; + grpc_closure publish; + call_data *pending_next; }; struct request_matcher { + grpc_server *server; call_data *pending_head; call_data *pending_tail; gpr_stack_lockfree *requests; @@ -171,6 +178,8 @@ struct request_matcher { struct registered_method { char *method; char *host; + grpc_server_register_method_payload_handling payload_handling; + uint32_t flags; request_matcher request_matcher; registered_method *next; }; @@ -223,8 +232,7 @@ struct grpc_server { #define SERVER_FROM_CALL_ELEM(elem) \ (((channel_data *)(elem)->channel_data)->server) -static void begin_call(grpc_exec_ctx *exec_ctx, grpc_server *server, - call_data *calld, requested_call *rc); +static void publish_new_rpc(grpc_exec_ctx *exec_ctx, void *calld, bool success); static void fail_call(grpc_exec_ctx *exec_ctx, grpc_server *server, requested_call *rc); /* Before calling maybe_finish_shutdown, we must hold mu_global and not @@ -300,8 +308,10 @@ static void channel_broadcaster_shutdown(grpc_exec_ctx *exec_ctx, * request_matcher */ -static void request_matcher_init(request_matcher *rm, size_t entries) { +static void request_matcher_init(request_matcher *rm, size_t entries, + grpc_server *server) { memset(rm, 0, sizeof(*rm)); + rm->server = server; rm->requests = gpr_stack_lockfree_create(entries); } @@ -414,21 +424,90 @@ static void destroy_channel(grpc_exec_ctx *exec_ctx, channel_data *chand) { &op); } -static void finish_start_new_rpc(grpc_exec_ctx *exec_ctx, grpc_server *server, - grpc_call_element *elem, request_matcher *rm) { - call_data *calld = elem->call_data; - int request_id; +static void cpstr(char **dest, size_t *capacity, grpc_mdstr *value) { + gpr_slice slice = value->slice; + size_t len = GPR_SLICE_LENGTH(slice); - if (gpr_atm_acq_load(&server->shutdown_flag)) { + if (len + 1 > *capacity) { + *capacity = GPR_MAX(len + 1, *capacity * 2); + *dest = gpr_realloc(*dest, *capacity); + } + memcpy(*dest, grpc_mdstr_as_c_string(value), len + 1); +} + +static void done_request_event(grpc_exec_ctx *exec_ctx, void *req, + grpc_cq_completion *c) { + requested_call *rc = req; + grpc_server *server = rc->server; + + if (rc >= server->requested_calls && + rc < server->requested_calls + server->max_requested_calls) { + GPR_ASSERT(rc - server->requested_calls <= INT_MAX); + gpr_stack_lockfree_push(server->request_freelist, + (int)(rc - server->requested_calls)); + } else { + gpr_free(req); + } + + server_unref(exec_ctx, server); +} + +static void publish_call(grpc_exec_ctx *exec_ctx, grpc_server *server, + call_data *calld, requested_call *rc) { + grpc_call_set_completion_queue(exec_ctx, calld->call, rc->cq_bound_to_call); + grpc_call *call = calld->call; + *rc->call = call; + calld->cq_new = rc->cq_for_notification; + GPR_SWAP(grpc_metadata_array, *rc->initial_metadata, calld->initial_metadata); + switch (rc->type) { + case BATCH_CALL: + GPR_ASSERT(calld->host != NULL); + GPR_ASSERT(calld->path != NULL); + cpstr(&rc->data.batch.details->host, + &rc->data.batch.details->host_capacity, calld->host); + cpstr(&rc->data.batch.details->method, + &rc->data.batch.details->method_capacity, calld->path); + rc->data.batch.details->deadline = calld->deadline; + rc->data.batch.details->flags = + 0 | (calld->recv_idempotent_request + ? GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST + : 0); + break; + case REGISTERED_CALL: + *rc->data.registered.deadline = calld->deadline; + if (rc->data.registered.optional_payload) { + *rc->data.registered.optional_payload = calld->payload; + } + break; + default: + GPR_UNREACHABLE_CODE(return ); + } + + grpc_call_element *elem = + grpc_call_stack_element(grpc_call_get_call_stack(call), 0); + channel_data *chand = elem->channel_data; + server_ref(chand->server); + grpc_cq_end_op(exec_ctx, calld->cq_new, rc->tag, true, done_request_event, rc, + &rc->completion); +} + +static void publish_new_rpc(grpc_exec_ctx *exec_ctx, void *arg, bool success) { + call_data *calld = arg; + request_matcher *rm = calld->request_matcher; + grpc_server *server = rm->server; + + if (!success || gpr_atm_acq_load(&server->shutdown_flag)) { gpr_mu_lock(&calld->mu_state); calld->state = ZOMBIED; gpr_mu_unlock(&calld->mu_state); - grpc_closure_init(&calld->kill_zombie_closure, kill_zombie, elem); + grpc_closure_init( + &calld->kill_zombie_closure, kill_zombie, + grpc_call_stack_element(grpc_call_get_call_stack(calld->call), 0)); grpc_exec_ctx_enqueue(exec_ctx, &calld->kill_zombie_closure, true, NULL); return; } - request_id = gpr_stack_lockfree_pop(rm->requests); + int request_id = gpr_stack_lockfree_pop(rm->requests); if (request_id == -1) { gpr_mu_lock(&server->mu_call); gpr_mu_lock(&calld->mu_state); @@ -446,7 +525,41 @@ static void finish_start_new_rpc(grpc_exec_ctx *exec_ctx, grpc_server *server, gpr_mu_lock(&calld->mu_state); calld->state = ACTIVATED; gpr_mu_unlock(&calld->mu_state); - begin_call(exec_ctx, server, calld, &server->requested_calls[request_id]); + publish_call(exec_ctx, server, calld, &server->requested_calls[request_id]); + } +} + +static void finish_start_new_rpc( + grpc_exec_ctx *exec_ctx, grpc_server *server, grpc_call_element *elem, + request_matcher *rm, + grpc_server_register_method_payload_handling payload_handling) { + call_data *calld = elem->call_data; + + if (gpr_atm_acq_load(&server->shutdown_flag)) { + gpr_mu_lock(&calld->mu_state); + calld->state = ZOMBIED; + gpr_mu_unlock(&calld->mu_state); + grpc_closure_init(&calld->kill_zombie_closure, kill_zombie, elem); + grpc_exec_ctx_enqueue(exec_ctx, &calld->kill_zombie_closure, true, NULL); + return; + } + + calld->request_matcher = rm; + + switch (payload_handling) { + case GRPC_SRM_PAYLOAD_NONE: + publish_new_rpc(exec_ctx, calld, true); + break; + case GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER: { + grpc_op op; + memset(&op, 0, sizeof(op)); + op.op = GRPC_OP_RECV_MESSAGE; + op.data.recv_message = &calld->payload; + grpc_closure_init(&calld->publish, publish_new_rpc, calld); + grpc_call_start_batch_and_execute(exec_ctx, calld->call, &op, 1, + &calld->publish); + break; + } } } @@ -468,8 +581,12 @@ static void start_new_rpc(grpc_exec_ctx *exec_ctx, grpc_call_element *elem) { if (!rm) break; if (rm->host != calld->host) continue; if (rm->method != calld->path) continue; + if ((rm->flags & GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST) && + !calld->recv_idempotent_request) + continue; finish_start_new_rpc(exec_ctx, server, elem, - &rm->server_registered_method->request_matcher); + &rm->server_registered_method->request_matcher, + rm->server_registered_method->payload_handling); return; } /* check for a wildcard method definition (no host set) */ @@ -480,13 +597,18 @@ static void start_new_rpc(grpc_exec_ctx *exec_ctx, grpc_call_element *elem) { if (!rm) break; if (rm->host != NULL) continue; if (rm->method != calld->path) continue; + if ((rm->flags & GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST) && + !calld->recv_idempotent_request) + continue; finish_start_new_rpc(exec_ctx, server, elem, - &rm->server_registered_method->request_matcher); + &rm->server_registered_method->request_matcher, + rm->server_registered_method->payload_handling); return; } } finish_start_new_rpc(exec_ctx, server, elem, - &server->unregistered_request_matcher); + &server->unregistered_request_matcher, + GRPC_SRM_PAYLOAD_NONE); } static int num_listeners(grpc_server *server) { @@ -563,10 +685,14 @@ static grpc_mdelem *server_filter(void *user_data, grpc_mdelem *md) { grpc_call_element *elem = user_data; call_data *calld = elem->call_data; if (md->key == GRPC_MDSTR_PATH) { - calld->path = GRPC_MDSTR_REF(md->value); + if (calld->path == NULL) { + calld->path = GRPC_MDSTR_REF(md->value); + } return NULL; } else if (md->key == GRPC_MDSTR_AUTHORITY) { - calld->host = GRPC_MDSTR_REF(md->value); + if (calld->host == NULL) { + calld->host = GRPC_MDSTR_REF(md->value); + } return NULL; } return md; @@ -598,9 +724,11 @@ static void server_mutate_op(grpc_call_element *elem, call_data *calld = elem->call_data; if (op->recv_initial_metadata != NULL) { + GPR_ASSERT(op->recv_idempotent_request == NULL); calld->recv_initial_metadata = op->recv_initial_metadata; calld->on_done_recv_initial_metadata = op->recv_initial_metadata_ready; op->recv_initial_metadata_ready = &calld->server_on_recv_initial_metadata; + op->recv_idempotent_request = &calld->recv_idempotent_request; } } @@ -813,7 +941,7 @@ grpc_server *grpc_server_create(const grpc_channel_args *args, void *reserved) { gpr_stack_lockfree_push(server->request_freelist, (int)i); } request_matcher_init(&server->unregistered_request_matcher, - server->max_requested_calls); + server->max_requested_calls, server); server->requested_calls = gpr_malloc(server->max_requested_calls * sizeof(*server->requested_calls)); @@ -829,11 +957,15 @@ static int streq(const char *a, const char *b) { return 0 == strcmp(a, b); } -void *grpc_server_register_method(grpc_server *server, const char *method, - const char *host) { +void *grpc_server_register_method( + grpc_server *server, const char *method, const char *host, + grpc_server_register_method_payload_handling payload_handling, + uint32_t flags) { registered_method *m; - GRPC_API_TRACE("grpc_server_register_method(server=%p, method=%s, host=%s)", - 3, (server, method, host)); + GRPC_API_TRACE( + "grpc_server_register_method(server=%p, method=%s, host=%s, " + "flags=0x%08x)", + 4, (server, method, host, flags)); if (!method) { gpr_log(GPR_ERROR, "grpc_server_register_method method string cannot be NULL"); @@ -846,12 +978,20 @@ void *grpc_server_register_method(grpc_server *server, const char *method, return NULL; } } + if ((flags & ~GRPC_INITIAL_METADATA_USED_MASK) != 0) { + gpr_log(GPR_ERROR, "grpc_server_register_method invalid flags 0x%08x", + flags); + return NULL; + } m = gpr_malloc(sizeof(registered_method)); memset(m, 0, sizeof(*m)); - request_matcher_init(&m->request_matcher, server->max_requested_calls); + request_matcher_init(&m->request_matcher, server->max_requested_calls, + server); m->method = gpr_strdup(method); m->host = gpr_strdup(host); m->next = server->registered_methods; + m->payload_handling = payload_handling; + m->flags = flags; server->registered_methods = m; return m; } @@ -930,6 +1070,7 @@ void grpc_server_setup_transport(grpc_exec_ctx *exec_ctx, grpc_server *s, if (probes > max_probes) max_probes = probes; crm = &chand->registered_methods[(hash + probes) % slots]; crm->server_registered_method = rm; + crm->flags = rm->flags; crm->host = host; crm->method = method; } @@ -1123,8 +1264,8 @@ static grpc_call_error queue_call_request(grpc_exec_ctx *exec_ctx, GPR_ASSERT(calld->state == PENDING); calld->state = ACTIVATED; gpr_mu_unlock(&calld->mu_state); - begin_call(exec_ctx, server, calld, - &server->requested_calls[request_id]); + publish_call(exec_ctx, server, calld, + &server->requested_calls[request_id]); } gpr_mu_lock(&server->mu_call); } @@ -1189,6 +1330,12 @@ grpc_call_error grpc_server_request_registered_call( error = GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE; goto done; } + if ((optional_payload == NULL) != + (rm->payload_handling == GRPC_SRM_PAYLOAD_NONE)) { + gpr_free(rc); + error = GRPC_CALL_ERROR_PAYLOAD_TYPE_MISMATCH; + goto done; + } grpc_cq_begin_op(cq_for_notification, tag); rc->type = REGISTERED_CALL; rc->server = server; @@ -1206,82 +1353,6 @@ done: return error; } -static void publish_registered_or_batch(grpc_exec_ctx *exec_ctx, - void *user_data, bool success); - -static void cpstr(char **dest, size_t *capacity, grpc_mdstr *value) { - gpr_slice slice = value->slice; - size_t len = GPR_SLICE_LENGTH(slice); - - if (len + 1 > *capacity) { - *capacity = GPR_MAX(len + 1, *capacity * 2); - *dest = gpr_realloc(*dest, *capacity); - } - memcpy(*dest, grpc_mdstr_as_c_string(value), len + 1); -} - -static void begin_call(grpc_exec_ctx *exec_ctx, grpc_server *server, - call_data *calld, requested_call *rc) { - grpc_op ops[1]; - grpc_op *op = ops; - - memset(ops, 0, sizeof(ops)); - - /* called once initial metadata has been read by the call, but BEFORE - the ioreq to fetch it out of the call has been executed. - This means metadata related fields can be relied on in calld, but to - fill in the metadata array passed by the client, we need to perform - an ioreq op, that should complete immediately. */ - - grpc_call_set_completion_queue(exec_ctx, calld->call, rc->cq_bound_to_call); - grpc_closure_init(&rc->publish, publish_registered_or_batch, rc); - *rc->call = calld->call; - calld->cq_new = rc->cq_for_notification; - GPR_SWAP(grpc_metadata_array, *rc->initial_metadata, calld->initial_metadata); - switch (rc->type) { - case BATCH_CALL: - GPR_ASSERT(calld->host != NULL); - GPR_ASSERT(calld->path != NULL); - cpstr(&rc->data.batch.details->host, - &rc->data.batch.details->host_capacity, calld->host); - cpstr(&rc->data.batch.details->method, - &rc->data.batch.details->method_capacity, calld->path); - rc->data.batch.details->deadline = calld->deadline; - break; - case REGISTERED_CALL: - *rc->data.registered.deadline = calld->deadline; - if (rc->data.registered.optional_payload) { - op->op = GRPC_OP_RECV_MESSAGE; - op->data.recv_message = rc->data.registered.optional_payload; - op++; - } - break; - default: - GPR_UNREACHABLE_CODE(return ); - } - - GRPC_CALL_INTERNAL_REF(calld->call, "server"); - grpc_call_start_batch_and_execute(exec_ctx, calld->call, ops, - (size_t)(op - ops), &rc->publish); -} - -static void done_request_event(grpc_exec_ctx *exec_ctx, void *req, - grpc_cq_completion *c) { - requested_call *rc = req; - grpc_server *server = rc->server; - - if (rc >= server->requested_calls && - rc < server->requested_calls + server->max_requested_calls) { - GPR_ASSERT(rc - server->requested_calls <= INT_MAX); - gpr_stack_lockfree_push(server->request_freelist, - (int)(rc - server->requested_calls)); - } else { - gpr_free(req); - } - - server_unref(exec_ctx, server); -} - static void fail_call(grpc_exec_ctx *exec_ctx, grpc_server *server, requested_call *rc) { *rc->call = NULL; @@ -1292,20 +1363,6 @@ static void fail_call(grpc_exec_ctx *exec_ctx, grpc_server *server, done_request_event, rc, &rc->completion); } -static void publish_registered_or_batch(grpc_exec_ctx *exec_ctx, void *prc, - bool success) { - requested_call *rc = prc; - grpc_call *call = *rc->call; - grpc_call_element *elem = - grpc_call_stack_element(grpc_call_get_call_stack(call), 0); - call_data *calld = elem->call_data; - channel_data *chand = elem->channel_data; - server_ref(chand->server); - grpc_cq_end_op(exec_ctx, calld->cq_new, rc->tag, success, done_request_event, - rc, &rc->completion); - GRPC_CALL_INTERNAL_UNREF(exec_ctx, call, "server"); -} - const grpc_channel_args *grpc_server_get_channel_args(grpc_server *server) { return server->channel_args; } diff --git a/src/core/lib/surface/server.h b/src/core/lib/surface/server.h index 3845eb29819b6e9e531e5bb499c3417f0d9209bf..470ef23c690c0921ace6e970dbd88c0ece9b1660 100644 --- a/src/core/lib/surface/server.h +++ b/src/core/lib/surface/server.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/surface_trace.h b/src/core/lib/surface/surface_trace.h index 6b3f673924b552a6068d71655634f0eac74b647f..a69a0fff577336ee7821020ccdc0013f921d488d 100644 --- a/src/core/lib/surface/surface_trace.h +++ b/src/core/lib/surface/surface_trace.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/surface/version.c b/src/core/lib/surface/version.c index 7723f3940146b6364adf33474ce8a283dbef5dd6..fe954cbefb6196249367adbb725392a6be4387a2 100644 --- a/src/core/lib/surface/version.c +++ b/src/core/lib/surface/version.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/transport/byte_stream.c b/src/core/lib/transport/byte_stream.c index 79981aa1548efeee59a8fd95db989c1f8c9576f1..2f6c75cb6a5cb9d2bd6a1e302314b8b5c1310d66 100644 --- a/src/core/lib/transport/byte_stream.c +++ b/src/core/lib/transport/byte_stream.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/transport/byte_stream.h b/src/core/lib/transport/byte_stream.h index e7346dafc3fd24073d65551ab30edb111cc96a4d..95519a9eaf7e2f642eaaf0f06ff294c1ca4159b6 100644 --- a/src/core/lib/transport/byte_stream.h +++ b/src/core/lib/transport/byte_stream.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/transport/connectivity_state.c b/src/core/lib/transport/connectivity_state.c index 123eab8b3618d76e41dac2ace1a6b16158c02c6c..e24ee638fdd3d38297a7f826fb5caa5a28745093 100644 --- a/src/core/lib/transport/connectivity_state.c +++ b/src/core/lib/transport/connectivity_state.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/transport/connectivity_state.h b/src/core/lib/transport/connectivity_state.h index 6f9213243871ef78cab3a17e14e217ebc2e41c3d..2eb7e09124f123ce3ab250453fda4e1886238e41 100644 --- a/src/core/lib/transport/connectivity_state.h +++ b/src/core/lib/transport/connectivity_state.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/transport/metadata.c b/src/core/lib/transport/metadata.c index 451c8d1cd3e614b0cad4f5bebc4ba78173c84078..779efbb97d56e9ef200b31574acde24f438fc246 100644 --- a/src/core/lib/transport/metadata.c +++ b/src/core/lib/transport/metadata.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -38,19 +38,21 @@ #include <string.h> #include <grpc/compression.h> +#include <grpc/grpc.h> #include <grpc/support/alloc.h> #include <grpc/support/atm.h> #include <grpc/support/log.h> #include <grpc/support/string_util.h> #include <grpc/support/time.h> -#include "src/core/ext/transport/chttp2/transport/bin_encoder.h" #include "src/core/lib/iomgr/iomgr_internal.h" #include "src/core/lib/profiling/timers.h" #include "src/core/lib/support/murmur_hash.h" #include "src/core/lib/support/string.h" #include "src/core/lib/transport/static_metadata.h" +gpr_slice (*grpc_chttp2_base64_encode_and_huffman_compress)(gpr_slice input); + /* There are two kinds of mdelem and mdstr instances. * Static instances are declared in static_metadata.{h,c} and * are initialized by grpc_mdctx_global_init(). @@ -79,6 +81,7 @@ typedef void (*destroy_user_data_func)(void *user_data); +#define SIZE_IN_DECODER_TABLE_NOT_SET -1 /* Shadow structure for grpc_mdstr for non-static values */ typedef struct internal_string { /* must be byte compatible with grpc_mdstr */ @@ -93,6 +96,8 @@ typedef struct internal_string { gpr_slice base64_and_huffman; + gpr_atm size_in_decoder_table; + struct internal_string *bucket_next; } internal_string; @@ -242,6 +247,12 @@ void grpc_mdctx_global_shutdown(void) { if (shard->count != 0) { gpr_log(GPR_DEBUG, "WARNING: %d metadata strings were leaked", shard->count); + for (size_t j = 0; j < shard->capacity; j++) { + for (internal_string *s = shard->strs[j]; s; s = s->bucket_next) { + gpr_log(GPR_DEBUG, "LEAKED: %s", + grpc_mdstr_as_c_string((grpc_mdstr *)s)); + } + } if (grpc_iomgr_abort_on_leaks()) { abort(); } @@ -407,6 +418,7 @@ grpc_mdstr *grpc_mdstr_from_buffer(const uint8_t *buf, size_t length) { } s->has_base64_and_huffman_encoded = 0; s->hash = hash; + s->size_in_decoder_table = SIZE_IN_DECODER_TABLE_NOT_SET; s->bucket_next = shard->strs[idx]; shard->strs[idx] = s; @@ -576,6 +588,39 @@ grpc_mdelem *grpc_mdelem_from_string_and_buffer(const char *key, grpc_mdstr_from_string(key), grpc_mdstr_from_buffer(value, value_length)); } +static size_t get_base64_encoded_size(size_t raw_length) { + static const uint8_t tail_xtra[3] = {0, 2, 3}; + return raw_length / 3 * 4 + tail_xtra[raw_length % 3]; +} + +size_t grpc_mdelem_get_size_in_hpack_table(grpc_mdelem *elem) { + size_t overhead_and_key = 32 + GPR_SLICE_LENGTH(elem->key->slice); + size_t value_len = GPR_SLICE_LENGTH(elem->value->slice); + if (is_mdstr_static(elem->value)) { + if (grpc_is_binary_header( + (const char *)GPR_SLICE_START_PTR(elem->key->slice), + GPR_SLICE_LENGTH(elem->key->slice))) { + return overhead_and_key + get_base64_encoded_size(value_len); + } else { + return overhead_and_key + value_len; + } + } else { + internal_string *is = (internal_string *)elem->value; + gpr_atm current_size = gpr_atm_acq_load(&is->size_in_decoder_table); + if (current_size == SIZE_IN_DECODER_TABLE_NOT_SET) { + if (grpc_is_binary_header( + (const char *)GPR_SLICE_START_PTR(elem->key->slice), + GPR_SLICE_LENGTH(elem->key->slice))) { + current_size = (gpr_atm)get_base64_encoded_size(value_len); + } else { + current_size = (gpr_atm)value_len; + } + gpr_atm_rel_store(&is->size_in_decoder_table, current_size); + } + return overhead_and_key + (size_t)current_size; + } +} + grpc_mdelem *grpc_mdelem_ref(grpc_mdelem *gmd DEBUG_ARGS) { internal_metadata *md = (internal_metadata *)gmd; if (is_mdelem_static(gmd)) return gmd; diff --git a/src/core/lib/transport/metadata.h b/src/core/lib/transport/metadata.h index d72ec9accc178c43c01f701af2fb851edd05fb90..e29e8df2c90c5d5e89dbe52675a0a13c094d27fd 100644 --- a/src/core/lib/transport/metadata.h +++ b/src/core/lib/transport/metadata.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -110,6 +110,8 @@ grpc_mdelem *grpc_mdelem_from_string_and_buffer(const char *key, const uint8_t *value, size_t value_length); +size_t grpc_mdelem_get_size_in_hpack_table(grpc_mdelem *elem); + /* Mutator and accessor for grpc_mdelem user data. The destructor function is used as a type tag and is checked during user_data fetch. */ void *grpc_mdelem_get_user_data(grpc_mdelem *md, @@ -153,4 +155,8 @@ int grpc_mdstr_is_bin_suffixed(grpc_mdstr *s); void grpc_mdctx_global_init(void); void grpc_mdctx_global_shutdown(void); +/* Implementation provided by chttp2_transport */ +extern gpr_slice (*grpc_chttp2_base64_encode_and_huffman_compress)( + gpr_slice input); + #endif /* GRPC_CORE_LIB_TRANSPORT_METADATA_H */ diff --git a/src/core/lib/transport/metadata_batch.c b/src/core/lib/transport/metadata_batch.c index bb79b8fa967caf52133851694f065600ab12f83e..4567221a48f62093efb6e2702d9e3a0540d18346 100644 --- a/src/core/lib/transport/metadata_batch.c +++ b/src/core/lib/transport/metadata_batch.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/transport/metadata_batch.h b/src/core/lib/transport/metadata_batch.h index f1d472698937410b0e843d8132a1f13770dc4149..b62668876e4469b614b9e7fa315f0d3d9c6456af 100644 --- a/src/core/lib/transport/metadata_batch.h +++ b/src/core/lib/transport/metadata_batch.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/transport/static_metadata.c b/src/core/lib/transport/static_metadata.c index eda277b3dc99d165e53d4afdeeaf3d33bd0a460e..73b0041fd40e45aa77abb8d6739b5aed8a6f22de 100644 --- a/src/core/lib/transport/static_metadata.c +++ b/src/core/lib/transport/static_metadata.c @@ -1,6 +1,5 @@ /* - * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,19 +27,16 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ /* * WARNING: Auto-generated code. * * To make changes to this file, change - * tools/codegen/core/gen_static_metadata.py, - * and then re-run it. + * tools/codegen/core/gen_static_metadata.py, and then re-run it. * * See metadata.h for an explanation of the interface here, and metadata.c for - * an - * explanation of what's going on. + * an explanation of what's going on. */ #include "src/core/lib/transport/static_metadata.h" @@ -52,7 +48,7 @@ uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 6, 2, 4, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; const uint8_t grpc_static_metadata_elem_indices[GRPC_STATIC_MDELEM_COUNT * 2] = {11, 35, 10, 35, 12, 35, 12, 49, 13, 35, 14, 35, 15, 35, 16, 35, 17, 35, @@ -60,10 +56,10 @@ const uint8_t grpc_static_metadata_elem_indices[GRPC_STATIC_MDELEM_COUNT * 2] = 30, 18, 30, 35, 31, 35, 32, 35, 36, 35, 37, 35, 38, 35, 39, 35, 42, 33, 42, 34, 42, 48, 42, 53, 42, 54, 42, 55, 42, 56, 43, 33, 43, 48, 43, 53, 46, 0, 46, 1, 46, 2, 50, 35, 57, 35, 58, 35, 59, 35, 60, 35, 61, 35, - 62, 35, 63, 35, 64, 35, 65, 35, 66, 40, 66, 68, 67, 78, 67, 79, 69, 35, - 70, 35, 71, 35, 72, 35, 73, 35, 74, 35, 75, 41, 75, 51, 75, 52, 76, 35, - 77, 35, 80, 3, 80, 4, 80, 5, 80, 6, 80, 7, 80, 8, 80, 9, 81, 35, - 82, 83, 84, 35, 85, 35, 86, 35, 87, 35, 88, 35}; + 62, 35, 63, 35, 64, 35, 65, 35, 66, 40, 66, 68, 66, 71, 67, 79, 67, 80, + 69, 35, 70, 35, 72, 35, 73, 35, 74, 35, 75, 35, 76, 41, 76, 51, 76, 52, + 77, 35, 78, 35, 81, 3, 81, 4, 81, 5, 81, 6, 81, 7, 81, 8, 81, 9, + 82, 35, 83, 84, 85, 35, 86, 35, 87, 35, 88, 35, 89, 35}; const char *const grpc_static_metadata_strings[GRPC_STATIC_MDSTR_COUNT] = { "0", @@ -137,6 +133,7 @@ const char *const grpc_static_metadata_strings[GRPC_STATIC_MDSTR_COUNT] = { "POST", "proxy-authenticate", "proxy-authorization", + "PUT", "range", "referer", "refresh", diff --git a/src/core/lib/transport/static_metadata.h b/src/core/lib/transport/static_metadata.h index aff136a6d21f1655be4748322ca62776651649fb..f9d8bcdc8fd0e98160403b25a425494078377ba8 100644 --- a/src/core/lib/transport/static_metadata.h +++ b/src/core/lib/transport/static_metadata.h @@ -1,6 +1,5 @@ /* - * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,19 +27,16 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * */ /* * WARNING: Auto-generated code. * * To make changes to this file, change - * tools/codegen/core/gen_static_metadata.py, - * and then re-run it. + * tools/codegen/core/gen_static_metadata.py, and then re-run it. * * See metadata.h for an explanation of the interface here, and metadata.c for - * an - * explanation of what's going on. + * an explanation of what's going on. */ #ifndef GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H @@ -48,7 +44,7 @@ #include "src/core/lib/transport/metadata.h" -#define GRPC_STATIC_MDSTR_COUNT 89 +#define GRPC_STATIC_MDSTR_COUNT 90 extern grpc_mdstr grpc_static_mdstr_table[GRPC_STATIC_MDSTR_COUNT]; /* "0" */ #define GRPC_MDSTR_0 (&grpc_static_mdstr_table[0]) @@ -193,44 +189,46 @@ extern grpc_mdstr grpc_static_mdstr_table[GRPC_STATIC_MDSTR_COUNT]; #define GRPC_MDSTR_PROXY_AUTHENTICATE (&grpc_static_mdstr_table[69]) /* "proxy-authorization" */ #define GRPC_MDSTR_PROXY_AUTHORIZATION (&grpc_static_mdstr_table[70]) +/* "PUT" */ +#define GRPC_MDSTR_PUT (&grpc_static_mdstr_table[71]) /* "range" */ -#define GRPC_MDSTR_RANGE (&grpc_static_mdstr_table[71]) +#define GRPC_MDSTR_RANGE (&grpc_static_mdstr_table[72]) /* "referer" */ -#define GRPC_MDSTR_REFERER (&grpc_static_mdstr_table[72]) +#define GRPC_MDSTR_REFERER (&grpc_static_mdstr_table[73]) /* "refresh" */ -#define GRPC_MDSTR_REFRESH (&grpc_static_mdstr_table[73]) +#define GRPC_MDSTR_REFRESH (&grpc_static_mdstr_table[74]) /* "retry-after" */ -#define GRPC_MDSTR_RETRY_AFTER (&grpc_static_mdstr_table[74]) +#define GRPC_MDSTR_RETRY_AFTER (&grpc_static_mdstr_table[75]) /* ":scheme" */ -#define GRPC_MDSTR_SCHEME (&grpc_static_mdstr_table[75]) +#define GRPC_MDSTR_SCHEME (&grpc_static_mdstr_table[76]) /* "server" */ -#define GRPC_MDSTR_SERVER (&grpc_static_mdstr_table[76]) +#define GRPC_MDSTR_SERVER (&grpc_static_mdstr_table[77]) /* "set-cookie" */ -#define GRPC_MDSTR_SET_COOKIE (&grpc_static_mdstr_table[77]) +#define GRPC_MDSTR_SET_COOKIE (&grpc_static_mdstr_table[78]) /* "/" */ -#define GRPC_MDSTR_SLASH (&grpc_static_mdstr_table[78]) +#define GRPC_MDSTR_SLASH (&grpc_static_mdstr_table[79]) /* "/index.html" */ -#define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (&grpc_static_mdstr_table[79]) +#define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (&grpc_static_mdstr_table[80]) /* ":status" */ -#define GRPC_MDSTR_STATUS (&grpc_static_mdstr_table[80]) +#define GRPC_MDSTR_STATUS (&grpc_static_mdstr_table[81]) /* "strict-transport-security" */ -#define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (&grpc_static_mdstr_table[81]) +#define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (&grpc_static_mdstr_table[82]) /* "te" */ -#define GRPC_MDSTR_TE (&grpc_static_mdstr_table[82]) +#define GRPC_MDSTR_TE (&grpc_static_mdstr_table[83]) /* "trailers" */ -#define GRPC_MDSTR_TRAILERS (&grpc_static_mdstr_table[83]) +#define GRPC_MDSTR_TRAILERS (&grpc_static_mdstr_table[84]) /* "transfer-encoding" */ -#define GRPC_MDSTR_TRANSFER_ENCODING (&grpc_static_mdstr_table[84]) +#define GRPC_MDSTR_TRANSFER_ENCODING (&grpc_static_mdstr_table[85]) /* "user-agent" */ -#define GRPC_MDSTR_USER_AGENT (&grpc_static_mdstr_table[85]) +#define GRPC_MDSTR_USER_AGENT (&grpc_static_mdstr_table[86]) /* "vary" */ -#define GRPC_MDSTR_VARY (&grpc_static_mdstr_table[86]) +#define GRPC_MDSTR_VARY (&grpc_static_mdstr_table[87]) /* "via" */ -#define GRPC_MDSTR_VIA (&grpc_static_mdstr_table[87]) +#define GRPC_MDSTR_VIA (&grpc_static_mdstr_table[88]) /* "www-authenticate" */ -#define GRPC_MDSTR_WWW_AUTHENTICATE (&grpc_static_mdstr_table[88]) +#define GRPC_MDSTR_WWW_AUTHENTICATE (&grpc_static_mdstr_table[89]) -#define GRPC_STATIC_MDELEM_COUNT 78 +#define GRPC_STATIC_MDELEM_COUNT 79 extern grpc_mdelem grpc_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT]; extern uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT]; /* "accept-charset": "" */ @@ -343,61 +341,63 @@ extern uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT]; #define GRPC_MDELEM_METHOD_GET (&grpc_static_mdelem_table[49]) /* ":method": "POST" */ #define GRPC_MDELEM_METHOD_POST (&grpc_static_mdelem_table[50]) +/* ":method": "PUT" */ +#define GRPC_MDELEM_METHOD_PUT (&grpc_static_mdelem_table[51]) /* ":path": "/" */ -#define GRPC_MDELEM_PATH_SLASH (&grpc_static_mdelem_table[51]) +#define GRPC_MDELEM_PATH_SLASH (&grpc_static_mdelem_table[52]) /* ":path": "/index.html" */ -#define GRPC_MDELEM_PATH_SLASH_INDEX_DOT_HTML (&grpc_static_mdelem_table[52]) +#define GRPC_MDELEM_PATH_SLASH_INDEX_DOT_HTML (&grpc_static_mdelem_table[53]) /* "proxy-authenticate": "" */ -#define GRPC_MDELEM_PROXY_AUTHENTICATE_EMPTY (&grpc_static_mdelem_table[53]) +#define GRPC_MDELEM_PROXY_AUTHENTICATE_EMPTY (&grpc_static_mdelem_table[54]) /* "proxy-authorization": "" */ -#define GRPC_MDELEM_PROXY_AUTHORIZATION_EMPTY (&grpc_static_mdelem_table[54]) +#define GRPC_MDELEM_PROXY_AUTHORIZATION_EMPTY (&grpc_static_mdelem_table[55]) /* "range": "" */ -#define GRPC_MDELEM_RANGE_EMPTY (&grpc_static_mdelem_table[55]) +#define GRPC_MDELEM_RANGE_EMPTY (&grpc_static_mdelem_table[56]) /* "referer": "" */ -#define GRPC_MDELEM_REFERER_EMPTY (&grpc_static_mdelem_table[56]) +#define GRPC_MDELEM_REFERER_EMPTY (&grpc_static_mdelem_table[57]) /* "refresh": "" */ -#define GRPC_MDELEM_REFRESH_EMPTY (&grpc_static_mdelem_table[57]) +#define GRPC_MDELEM_REFRESH_EMPTY (&grpc_static_mdelem_table[58]) /* "retry-after": "" */ -#define GRPC_MDELEM_RETRY_AFTER_EMPTY (&grpc_static_mdelem_table[58]) +#define GRPC_MDELEM_RETRY_AFTER_EMPTY (&grpc_static_mdelem_table[59]) /* ":scheme": "grpc" */ -#define GRPC_MDELEM_SCHEME_GRPC (&grpc_static_mdelem_table[59]) +#define GRPC_MDELEM_SCHEME_GRPC (&grpc_static_mdelem_table[60]) /* ":scheme": "http" */ -#define GRPC_MDELEM_SCHEME_HTTP (&grpc_static_mdelem_table[60]) +#define GRPC_MDELEM_SCHEME_HTTP (&grpc_static_mdelem_table[61]) /* ":scheme": "https" */ -#define GRPC_MDELEM_SCHEME_HTTPS (&grpc_static_mdelem_table[61]) +#define GRPC_MDELEM_SCHEME_HTTPS (&grpc_static_mdelem_table[62]) /* "server": "" */ -#define GRPC_MDELEM_SERVER_EMPTY (&grpc_static_mdelem_table[62]) +#define GRPC_MDELEM_SERVER_EMPTY (&grpc_static_mdelem_table[63]) /* "set-cookie": "" */ -#define GRPC_MDELEM_SET_COOKIE_EMPTY (&grpc_static_mdelem_table[63]) +#define GRPC_MDELEM_SET_COOKIE_EMPTY (&grpc_static_mdelem_table[64]) /* ":status": "200" */ -#define GRPC_MDELEM_STATUS_200 (&grpc_static_mdelem_table[64]) +#define GRPC_MDELEM_STATUS_200 (&grpc_static_mdelem_table[65]) /* ":status": "204" */ -#define GRPC_MDELEM_STATUS_204 (&grpc_static_mdelem_table[65]) +#define GRPC_MDELEM_STATUS_204 (&grpc_static_mdelem_table[66]) /* ":status": "206" */ -#define GRPC_MDELEM_STATUS_206 (&grpc_static_mdelem_table[66]) +#define GRPC_MDELEM_STATUS_206 (&grpc_static_mdelem_table[67]) /* ":status": "304" */ -#define GRPC_MDELEM_STATUS_304 (&grpc_static_mdelem_table[67]) +#define GRPC_MDELEM_STATUS_304 (&grpc_static_mdelem_table[68]) /* ":status": "400" */ -#define GRPC_MDELEM_STATUS_400 (&grpc_static_mdelem_table[68]) +#define GRPC_MDELEM_STATUS_400 (&grpc_static_mdelem_table[69]) /* ":status": "404" */ -#define GRPC_MDELEM_STATUS_404 (&grpc_static_mdelem_table[69]) +#define GRPC_MDELEM_STATUS_404 (&grpc_static_mdelem_table[70]) /* ":status": "500" */ -#define GRPC_MDELEM_STATUS_500 (&grpc_static_mdelem_table[70]) +#define GRPC_MDELEM_STATUS_500 (&grpc_static_mdelem_table[71]) /* "strict-transport-security": "" */ #define GRPC_MDELEM_STRICT_TRANSPORT_SECURITY_EMPTY \ - (&grpc_static_mdelem_table[71]) + (&grpc_static_mdelem_table[72]) /* "te": "trailers" */ -#define GRPC_MDELEM_TE_TRAILERS (&grpc_static_mdelem_table[72]) +#define GRPC_MDELEM_TE_TRAILERS (&grpc_static_mdelem_table[73]) /* "transfer-encoding": "" */ -#define GRPC_MDELEM_TRANSFER_ENCODING_EMPTY (&grpc_static_mdelem_table[73]) +#define GRPC_MDELEM_TRANSFER_ENCODING_EMPTY (&grpc_static_mdelem_table[74]) /* "user-agent": "" */ -#define GRPC_MDELEM_USER_AGENT_EMPTY (&grpc_static_mdelem_table[74]) +#define GRPC_MDELEM_USER_AGENT_EMPTY (&grpc_static_mdelem_table[75]) /* "vary": "" */ -#define GRPC_MDELEM_VARY_EMPTY (&grpc_static_mdelem_table[75]) +#define GRPC_MDELEM_VARY_EMPTY (&grpc_static_mdelem_table[76]) /* "via": "" */ -#define GRPC_MDELEM_VIA_EMPTY (&grpc_static_mdelem_table[76]) +#define GRPC_MDELEM_VIA_EMPTY (&grpc_static_mdelem_table[77]) /* "www-authenticate": "" */ -#define GRPC_MDELEM_WWW_AUTHENTICATE_EMPTY (&grpc_static_mdelem_table[77]) +#define GRPC_MDELEM_WWW_AUTHENTICATE_EMPTY (&grpc_static_mdelem_table[78]) extern const uint8_t grpc_static_metadata_elem_indices[GRPC_STATIC_MDELEM_COUNT * 2]; diff --git a/src/core/lib/transport/transport.c b/src/core/lib/transport/transport.c index 18256aae5e420190d244a7d594dc87c55d1a6ea2..53c634adca679e7bdb48e5b0a966d4ae8bc9088e 100644 --- a/src/core/lib/transport/transport.c +++ b/src/core/lib/transport/transport.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,6 +35,7 @@ #include <grpc/support/alloc.h> #include <grpc/support/atm.h> #include <grpc/support/log.h> +#include <grpc/support/sync.h> #include "src/core/lib/transport/transport_impl.h" #ifdef GRPC_STREAM_REFCOUNT_DEBUG @@ -76,6 +77,24 @@ void grpc_stream_ref_init(grpc_stream_refcount *refcount, int initial_refs, grpc_closure_init(&refcount->destroy, cb, cb_arg); } +static void move64(uint64_t *from, uint64_t *to) { + *to += *from; + *from = 0; +} + +void grpc_transport_move_one_way_stats(grpc_transport_one_way_stats *from, + grpc_transport_one_way_stats *to) { + move64(&from->framing_bytes, &to->framing_bytes); + move64(&from->data_bytes, &to->data_bytes); + move64(&from->header_bytes, &to->header_bytes); +} + +void grpc_transport_move_stats(grpc_transport_stream_stats *from, + grpc_transport_stream_stats *to) { + grpc_transport_move_one_way_stats(&from->incoming, &to->incoming); + grpc_transport_move_one_way_stats(&from->outgoing, &to->outgoing); +} + size_t grpc_transport_stream_size(grpc_transport *transport) { return transport->vtable->sizeof_stream; } diff --git a/src/core/lib/transport/transport.h b/src/core/lib/transport/transport.h index e98cfe9515cfceb57f2eb7a9dfecba86c9583cf3..1eb446312bfd8ccea2f03bdc8653a181f6b39dfb 100644 --- a/src/core/lib/transport/transport.h +++ b/src/core/lib/transport/transport.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -50,7 +50,7 @@ typedef struct grpc_transport grpc_transport; for a stream. */ typedef struct grpc_stream grpc_stream; -/*#define GRPC_STREAM_REFCOUNT_DEBUG*/ +//#define GRPC_STREAM_REFCOUNT_DEBUG typedef struct grpc_stream_refcount { gpr_refcount refs; @@ -78,11 +78,32 @@ void grpc_stream_unref(grpc_exec_ctx *exec_ctx, grpc_stream_refcount *refcount); grpc_stream_ref_init(rc, ir, cb, cb_arg) #endif +typedef struct { + uint64_t framing_bytes; + uint64_t data_bytes; + uint64_t header_bytes; +} grpc_transport_one_way_stats; + +typedef struct grpc_transport_stream_stats { + grpc_transport_one_way_stats incoming; + grpc_transport_one_way_stats outgoing; +} grpc_transport_stream_stats; + +void grpc_transport_move_one_way_stats(grpc_transport_one_way_stats *from, + grpc_transport_one_way_stats *to); + +void grpc_transport_move_stats(grpc_transport_stream_stats *from, + grpc_transport_stream_stats *to); + /* Transport stream op: a set of operations to perform on a transport against a single stream */ typedef struct grpc_transport_stream_op { - /** Send initial metadata to the peer, from the provided metadata batch. */ + /** Send initial metadata to the peer, from the provided metadata batch. + idempotent_request MUST be set if this is non-null */ grpc_metadata_batch *send_initial_metadata; + /** Iff send_initial_metadata != NULL, flags associated with + send_initial_metadata: a bitfield of GRPC_INITIAL_METADATA_xxx */ + uint32_t send_initial_metadata_flags; /** Send trailing metadata to the peer, from the provided metadata batch. */ grpc_metadata_batch *send_trailing_metadata; @@ -92,6 +113,7 @@ typedef struct grpc_transport_stream_op { /** Receive initial metadata from the stream, into provided metadata batch. */ grpc_metadata_batch *recv_initial_metadata; + bool *recv_idempotent_request; /** Should be enqueued when initial metadata is ready to be processed. */ grpc_closure *recv_initial_metadata_ready; @@ -104,6 +126,9 @@ typedef struct grpc_transport_stream_op { */ grpc_metadata_batch *recv_trailing_metadata; + /** Collect any stats into provided buffer, zero internal stat counters */ + grpc_transport_stream_stats *collect_stats; + /** Should be enqueued when all requested operations (excluding recv_message and recv_initial_metadata which have their own closures) in a given batch have been completed. */ diff --git a/src/core/lib/transport/transport_impl.h b/src/core/lib/transport/transport_impl.h index 92fa5d519d7463bb1e71ac64e200678c4b66d149..2ff67073aff1edefeb564323e58a4619c648348a 100644 --- a/src/core/lib/transport/transport_impl.h +++ b/src/core/lib/transport/transport_impl.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/transport/transport_op_string.c b/src/core/lib/transport/transport_op_string.c index 1fa8fa5d4f57375401d807b0e966af06db1559bc..df04c6112703bce21250ac42d02966bc59236a03 100644 --- a/src/core/lib/transport/transport_op_string.c +++ b/src/core/lib/transport/transport_op_string.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/tsi/fake_transport_security.c b/src/core/lib/tsi/fake_transport_security.c index 4b812f4803f6081a86991ed1e33c3c50aa808297..4b045b8cd92861fe3568999995b3c24466d4c012 100644 --- a/src/core/lib/tsi/fake_transport_security.c +++ b/src/core/lib/tsi/fake_transport_security.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/tsi/fake_transport_security.h b/src/core/lib/tsi/fake_transport_security.h index b887dfcb099c6e686fa21bcfb5d9bd9d5880a3a9..54a9469b5841ec779a1413c563f1eaa31eb9f60b 100644 --- a/src/core/lib/tsi/fake_transport_security.h +++ b/src/core/lib/tsi/fake_transport_security.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/tsi/ssl_transport_security.c b/src/core/lib/tsi/ssl_transport_security.c index d03201eec68fcf406b5771760602ad96e85698d9..d98b3e15583c434dad2f46af6f42f991382471c9 100644 --- a/src/core/lib/tsi/ssl_transport_security.c +++ b/src/core/lib/tsi/ssl_transport_security.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/tsi/ssl_transport_security.h b/src/core/lib/tsi/ssl_transport_security.h index c9b9e8f54be8995e7aa7c7b608b3a0a9d3fbc1e1..211c8f965625dd1bff184b801f610e25e29afd69 100644 --- a/src/core/lib/tsi/ssl_transport_security.h +++ b/src/core/lib/tsi/ssl_transport_security.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/tsi/ssl_types.h b/src/core/lib/tsi/ssl_types.h index c6e68c01ad330509d5de497e91ee2081335147c9..0a988effd0f3a66c4d43b93b74b0d30cd002fe88 100644 --- a/src/core/lib/tsi/ssl_types.h +++ b/src/core/lib/tsi/ssl_types.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/tsi/transport_security.c b/src/core/lib/tsi/transport_security.c index a2c0d4619697b8d200231b697b0e0890c350d483..861fc791bc0d3f4fe2c40bce5c3326757345863d 100644 --- a/src/core/lib/tsi/transport_security.c +++ b/src/core/lib/tsi/transport_security.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/tsi/transport_security.h b/src/core/lib/tsi/transport_security.h index 349dd0ae9cbe147311fd3323ab94a5b798eb2916..aaf110ee0537891be32e02f3f615229a2461fb08 100644 --- a/src/core/lib/tsi/transport_security.h +++ b/src/core/lib/tsi/transport_security.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/tsi/transport_security_interface.h b/src/core/lib/tsi/transport_security_interface.h index f88f1516a96b371a6f8e185f83016f0a8306f321..d81ec0963aea2876f46b82791111b44e1e8f8452 100644 --- a/src/core/lib/tsi/transport_security_interface.h +++ b/src/core/lib/tsi/transport_security_interface.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/plugin_registry/grpc_plugin_registry.c b/src/core/plugin_registry/grpc_plugin_registry.c new file mode 100644 index 0000000000000000000000000000000000000000..822aa6d8b75667559992bd9464a0af919b64a630 --- /dev/null +++ b/src/core/plugin_registry/grpc_plugin_registry.c @@ -0,0 +1,66 @@ +/* + * + * Copyright 2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include <grpc/grpc.h> + +extern void grpc_chttp2_plugin_init(void); +extern void grpc_chttp2_plugin_shutdown(void); +extern void grpc_client_config_init(void); +extern void grpc_client_config_shutdown(void); +extern void grpc_lb_policy_pick_first_init(void); +extern void grpc_lb_policy_pick_first_shutdown(void); +extern void grpc_lb_policy_round_robin_init(void); +extern void grpc_lb_policy_round_robin_shutdown(void); +extern void grpc_resolver_dns_native_init(void); +extern void grpc_resolver_dns_native_shutdown(void); +extern void grpc_resolver_sockaddr_init(void); +extern void grpc_resolver_sockaddr_shutdown(void); +extern void census_grpc_plugin_init(void); +extern void census_grpc_plugin_shutdown(void); + +void grpc_register_built_in_plugins(void) { + grpc_register_plugin(grpc_chttp2_plugin_init, + grpc_chttp2_plugin_shutdown); + grpc_register_plugin(grpc_client_config_init, + grpc_client_config_shutdown); + grpc_register_plugin(grpc_lb_policy_pick_first_init, + grpc_lb_policy_pick_first_shutdown); + grpc_register_plugin(grpc_lb_policy_round_robin_init, + grpc_lb_policy_round_robin_shutdown); + grpc_register_plugin(grpc_resolver_dns_native_init, + grpc_resolver_dns_native_shutdown); + grpc_register_plugin(grpc_resolver_sockaddr_init, + grpc_resolver_sockaddr_shutdown); + grpc_register_plugin(census_grpc_plugin_init, + census_grpc_plugin_shutdown); +} diff --git a/src/core/plugin_registry/grpc_unsecure_plugin_registry.c b/src/core/plugin_registry/grpc_unsecure_plugin_registry.c new file mode 100644 index 0000000000000000000000000000000000000000..a6108ae7a9a28a5003a5cdb8780232865faf8965 --- /dev/null +++ b/src/core/plugin_registry/grpc_unsecure_plugin_registry.c @@ -0,0 +1,66 @@ +/* + * + * Copyright 2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include <grpc/grpc.h> + +extern void grpc_chttp2_plugin_init(void); +extern void grpc_chttp2_plugin_shutdown(void); +extern void grpc_client_config_init(void); +extern void grpc_client_config_shutdown(void); +extern void grpc_resolver_dns_native_init(void); +extern void grpc_resolver_dns_native_shutdown(void); +extern void grpc_resolver_sockaddr_init(void); +extern void grpc_resolver_sockaddr_shutdown(void); +extern void grpc_lb_policy_pick_first_init(void); +extern void grpc_lb_policy_pick_first_shutdown(void); +extern void grpc_lb_policy_round_robin_init(void); +extern void grpc_lb_policy_round_robin_shutdown(void); +extern void census_grpc_plugin_init(void); +extern void census_grpc_plugin_shutdown(void); + +void grpc_register_built_in_plugins(void) { + grpc_register_plugin(grpc_chttp2_plugin_init, + grpc_chttp2_plugin_shutdown); + grpc_register_plugin(grpc_client_config_init, + grpc_client_config_shutdown); + grpc_register_plugin(grpc_resolver_dns_native_init, + grpc_resolver_dns_native_shutdown); + grpc_register_plugin(grpc_resolver_sockaddr_init, + grpc_resolver_sockaddr_shutdown); + grpc_register_plugin(grpc_lb_policy_pick_first_init, + grpc_lb_policy_pick_first_shutdown); + grpc_register_plugin(grpc_lb_policy_round_robin_init, + grpc_lb_policy_round_robin_shutdown); + grpc_register_plugin(census_grpc_plugin_init, + census_grpc_plugin_shutdown); +} diff --git a/src/cpp/client/channel.cc b/src/cpp/client/channel.cc index f17467617295151d6d42e75db041e832b8594381..43b3875cb3a4daf265de943d80c011bb6858015e 100644 --- a/src/cpp/client/channel.cc +++ b/src/cpp/client/channel.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/client/client_context.cc b/src/cpp/client/client_context.cc index de8b2db6e39d8d0a3078e8ec85b95cc8af6e1d88..c277d7ebe84905948227bd68087c1a54404c1f1b 100644 --- a/src/cpp/client/client_context.cc +++ b/src/cpp/client/client_context.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -60,6 +60,8 @@ static ClientContext::GlobalCallbacks* g_client_callbacks = ClientContext::ClientContext() : initial_metadata_received_(false), + fail_fast_(true), + idempotent_(false), call_(nullptr), call_canceled_(false), deadline_(gpr_inf_future(GPR_CLOCK_REALTIME)), diff --git a/src/cpp/client/create_channel.cc b/src/cpp/client/create_channel.cc index 76a1b31e2f762d5402a172ce46ed5a52ea24be8e..d0cc33b7a2a9cd717851a817c9fd5cbcd5d28a17 100644 --- a/src/cpp/client/create_channel.cc +++ b/src/cpp/client/create_channel.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/client/credentials.cc b/src/cpp/client/credentials.cc index 6fb620b0ea8b7c00a815b24b12bafcf5944231cc..e6a4f81b0d57ae20ac2838e20a64edcf0ae23a12 100644 --- a/src/cpp/client/credentials.cc +++ b/src/cpp/client/credentials.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/client/insecure_credentials.cc b/src/cpp/client/insecure_credentials.cc index efea02995a36c14d231062c6bb5fd8fa11eacf1a..13019a711717d589695eb59bdb953a1ea6839213 100644 --- a/src/cpp/client/insecure_credentials.cc +++ b/src/cpp/client/insecure_credentials.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/client/secure_credentials.cc b/src/cpp/client/secure_credentials.cc index cdc8406f2456586d9cc46f6da1454aff505fd9c2..269c523bba12304ae20c82b1a790eec2cf3846b2 100644 --- a/src/cpp/client/secure_credentials.cc +++ b/src/cpp/client/secure_credentials.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/client/secure_credentials.h b/src/cpp/client/secure_credentials.h index fd82331a4405c219e7ab4038d39cf92bdf9f1934..ae41ef80078ad4fad5c78c1059589b2d4b892a9f 100644 --- a/src/cpp/client/secure_credentials.h +++ b/src/cpp/client/secure_credentials.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/common/channel_arguments.cc b/src/cpp/common/channel_arguments.cc index 3bdb4398abc7aa931b44fee98b7fea878f5cdab5..db3558f192aed1457b4c187932812879f0404a3c 100644 --- a/src/cpp/common/channel_arguments.cc +++ b/src/cpp/common/channel_arguments.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/common/completion_queue.cc b/src/cpp/common/completion_queue.cc index 729dc33749a1e9f4b3a1c6c7c8f6cc4179aecbe5..00cc102f9287b733637e4f43515e5fe261120746 100644 --- a/src/cpp/common/completion_queue.cc +++ b/src/cpp/common/completion_queue.cc @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/common/create_auth_context.h b/src/cpp/common/create_auth_context.h index c53055503f514d07b1667bd6764e9aaaa43b4a49..387407bfec5d8e4d106940e5642e46d976df2258 100644 --- a/src/cpp/common/create_auth_context.h +++ b/src/cpp/common/create_auth_context.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/common/insecure_create_auth_context.cc b/src/cpp/common/insecure_create_auth_context.cc index 7ec5d9bd1283841a80e441287673581d10229f20..258f02c2ada367565c502a961f531e40aa689358 100644 --- a/src/cpp/common/insecure_create_auth_context.cc +++ b/src/cpp/common/insecure_create_auth_context.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/common/secure_channel_arguments.cc b/src/cpp/common/secure_channel_arguments.cc index 82e02f0238a5460fe6404e6417148f50f74099cd..81ec251b92c6e174f702272b2db0f3427f5ab14a 100644 --- a/src/cpp/common/secure_channel_arguments.cc +++ b/src/cpp/common/secure_channel_arguments.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/common/secure_create_auth_context.cc b/src/cpp/common/secure_create_auth_context.cc index d7cf803fde06067c36a34dc599d4d4360838fc98..51ddea46a39575eafd6aa9f87f8d63c7411d60b4 100644 --- a/src/cpp/common/secure_create_auth_context.cc +++ b/src/cpp/common/secure_create_auth_context.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/server/server.cc b/src/cpp/server/server.cc index 7e5f557ffafd86ad11873e8420eaee111b285b1d..fafe31e84c111c250408baed612504cd5836b4ed 100644 --- a/src/cpp/server/server.cc +++ b/src/cpp/server/server.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -264,6 +264,7 @@ class Server::SyncRequest GRPC_FINAL : public CompletionQueueTag { void* const tag_; bool in_flight_; const bool has_request_payload_; + uint32_t incoming_flags_; grpc_call* call_; grpc_call_details* call_details_; gpr_timespec deadline_; @@ -320,6 +321,19 @@ void Server::SetGlobalCallbacks(GlobalCallbacks* callbacks) { g_callbacks.reset(callbacks); } +static grpc_server_register_method_payload_handling PayloadHandlingForMethod( + RpcServiceMethod* method) { + switch (method->method_type()) { + case RpcMethod::NORMAL_RPC: + case RpcMethod::SERVER_STREAMING: + return GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER; + case RpcMethod::CLIENT_STREAMING: + case RpcMethod::BIDI_STREAMING: + return GRPC_SRM_PAYLOAD_NONE; + } + GPR_UNREACHABLE_CODE(return GRPC_SRM_PAYLOAD_NONE;); +} + bool Server::RegisterService(const grpc::string* host, Service* service) { bool has_async_methods = service->has_async_methods(); if (has_async_methods) { @@ -333,8 +347,9 @@ bool Server::RegisterService(const grpc::string* host, Service* service) { continue; } RpcServiceMethod* method = it->get(); - void* tag = grpc_server_register_method(server_, method->name(), - host ? host->c_str() : nullptr); + void* tag = grpc_server_register_method( + server_, method->name(), host ? host->c_str() : nullptr, + PayloadHandlingForMethod(method), 0); if (tag == nullptr) { gpr_log(GPR_DEBUG, "Attempt to register %s multiple times", method->name()); diff --git a/src/cpp/server/server_builder.cc b/src/cpp/server/server_builder.cc index 1947d68e3e8e68c8425fd7d1ed57f2cb0292386a..68cc38258cf91a376020eb8b95685ab07464e6d3 100644 --- a/src/cpp/server/server_builder.cc +++ b/src/cpp/server/server_builder.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/server/server_context.cc b/src/cpp/server/server_context.cc index 0422650953912df4d8044539aa78377607783fc3..e05a7df28af0d9629a0f3919ff8b655cf44bb887 100644 --- a/src/cpp/server/server_context.cc +++ b/src/cpp/server/server_context.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/util/byte_buffer.cc b/src/cpp/util/byte_buffer.cc index 3a2318d1a60f57b17f6da66b016e891c94e7b2fa..c0a14de418af5022bf67ff52dc9350104a960f4a 100644 --- a/src/cpp/util/byte_buffer.cc +++ b/src/cpp/util/byte_buffer.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/util/string_ref.cc b/src/cpp/util/string_ref.cc index b55019b5f2ccf765558b6fc222a478faee79a761..a16601de5deee9d2e9b4dd1144c750998b8dd061 100644 --- a/src/cpp/util/string_ref.cc +++ b/src/cpp/util/string_ref.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/cpp/util/time.cc b/src/cpp/util/time.cc index bb5fce389d9e001b50aa24ebfef174705d9d3d53..c43d848cc602a6a1d745f146653e26bb850f95e9 100644 --- a/src/cpp/util/time.cc +++ b/src/cpp/util/time.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/.nuget/packages.config b/src/csharp/.nuget/packages.config index 89a310ac5697ed25fe4542a4f74e3fa1cc67dfeb..acb43ae4b3dffc7247fae6a23096891ee20e4bec 100644 --- a/src/csharp/.nuget/packages.config +++ b/src/csharp/.nuget/packages.config @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="NUnit.Runners" version="2.6.4" /> - <package id="OpenCover" version="4.6.166" /> - <package id="ReportGenerator" version="2.3.2.0" /> + <package id="OpenCover" version="4.6.519" /> + <package id="ReportGenerator" version="2.4.4.0" /> </packages> \ No newline at end of file diff --git a/src/csharp/Grpc.Auth/GoogleAuthInterceptors.cs b/src/csharp/Grpc.Auth/GoogleAuthInterceptors.cs index 1837f5c74bd03d79a174b68222be765ccc558471..96d6ee87ae4d4a0113ed98228ffdbc3043eab497 100644 --- a/src/csharp/Grpc.Auth/GoogleAuthInterceptors.cs +++ b/src/csharp/Grpc.Auth/GoogleAuthInterceptors.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Auth/Grpc.Auth.csproj b/src/csharp/Grpc.Auth/Grpc.Auth.csproj index 8dd12b50ef580caf6dc5f23981cf014a9fa6a229..3acea7d2f83882b4274ee13489fd62f84f4eca89 100644 --- a/src/csharp/Grpc.Auth/Grpc.Auth.csproj +++ b/src/csharp/Grpc.Auth/Grpc.Auth.csproj @@ -9,7 +9,7 @@ <AssemblyName>Grpc.Auth</AssemblyName> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <DocumentationFile>bin\$(Configuration)\Grpc.Auth.Xml</DocumentationFile> - <NuGetPackageImportStamp>4f8487a9</NuGetPackageImportStamp> + <NuGetPackageImportStamp>455903a2</NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -39,43 +39,30 @@ <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> - <Reference Include="Google.Apis.Auth, Version=1.10.0.25333, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <Reference Include="BouncyCastle.Crypto, Version=1.7.4137.9688, Culture=neutral, PublicKeyToken=a4292a325f69b123, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Apis.Auth.1.10.0\lib\net40\Google.Apis.Auth.dll</HintPath> + <HintPath>..\packages\BouncyCastle.1.7.0\lib\Net40-Client\BouncyCastle.Crypto.dll</HintPath> + </Reference> + <Reference Include="Google.Apis.Auth, Version=1.11.1.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\packages\Google.Apis.Auth.1.11.1\lib\net45\Google.Apis.Auth.dll</HintPath> + </Reference> + <Reference Include="Google.Apis.Auth.PlatformServices, Version=1.11.1.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\packages\Google.Apis.Auth.1.11.1\lib\net45\Google.Apis.Auth.PlatformServices.dll</HintPath> </Reference> - <Reference Include="Google.Apis.Auth.PlatformServices, Version=1.10.0.25333, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <Reference Include="Google.Apis.Core, Version=1.11.1.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Apis.Auth.1.10.0\lib\net40\Google.Apis.Auth.PlatformServices.dll</HintPath> + <HintPath>..\packages\Google.Apis.Core.1.11.1\lib\net45\Google.Apis.Core.dll</HintPath> </Reference> - <Reference Include="Google.Apis.Core, Version=1.10.0.25331, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Apis.Core.1.10.0\lib\portable-net40+sl50+win+wpa81+wp80\Google.Apis.Core.dll</HintPath> + <HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> </Reference> <Reference Include="System" /> <Reference Include="System.Net" /> <Reference Include="System.Net.Http" /> <Reference Include="System.Net.Http.WebRequest" /> - <Reference Include="BouncyCastle.Crypto"> - <HintPath>..\packages\BouncyCastle.1.7.0\lib\Net40-Client\BouncyCastle.Crypto.dll</HintPath> - </Reference> - <Reference Include="Microsoft.Threading.Tasks"> - <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath> - </Reference> - <Reference Include="Microsoft.Threading.Tasks.Extensions"> - <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath> - </Reference> - <Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop"> - <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath> - </Reference> - <Reference Include="Newtonsoft.Json"> - <HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> - </Reference> - <Reference Include="System.Net.Http.Extensions"> - <HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll</HintPath> - </Reference> - <Reference Include="System.Net.Http.Primitives"> - <HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll</HintPath> - </Reference> </ItemGroup> <ItemGroup> <Compile Include="..\Grpc.Core\Version.cs"> @@ -93,15 +80,7 @@ </ProjectReference> </ItemGroup> <ItemGroup> - <None Include="app.config" /> <None Include="Grpc.Auth.nuspec" /> <None Include="packages.config" /> </ItemGroup> - <Import Project="..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" /> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - <Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" /> - </Target> </Project> \ No newline at end of file diff --git a/src/csharp/Grpc.Auth/Grpc.Auth.nuspec b/src/csharp/Grpc.Auth/Grpc.Auth.nuspec index f1f8f7c709c232ca24bcb55590a11457c9d129fd..4baed3704c401d409b49ed6227c6835434cdcd12 100644 --- a/src/csharp/Grpc.Auth/Grpc.Auth.nuspec +++ b/src/csharp/Grpc.Auth/Grpc.Auth.nuspec @@ -15,7 +15,7 @@ <copyright>Copyright 2015, Google Inc.</copyright> <tags>gRPC RPC Protocol HTTP/2 Auth OAuth2</tags> <dependencies> - <dependency id="Google.Apis.Auth" version="1.9.3" /> + <dependency id="Google.Apis.Auth" version="1.11.1" /> <dependency id="Grpc.Core" version="$version$" /> </dependencies> </metadata> diff --git a/src/csharp/Grpc.Auth/app.config b/src/csharp/Grpc.Auth/app.config deleted file mode 100644 index 84d7534d650c51f8e2e4e0049dccab26d725c90f..0000000000000000000000000000000000000000 --- a/src/csharp/Grpc.Auth/app.config +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<configuration> - <runtime> - <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> - <dependentAssembly> - <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-4.2.28.0" newVersion="4.0.0.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="Google.Apis.Core" publicKeyToken="4b01fa6e34db77ab" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.9.2.38523" newVersion="1.9.2.38523" /> - </dependentAssembly> - </assemblyBinding> - </runtime> -</configuration> \ No newline at end of file diff --git a/src/csharp/Grpc.Auth/packages.config b/src/csharp/Grpc.Auth/packages.config index 5fe8ca616c7a022d609eff47fb27810b39e88a37..c20d9ceed6a180a50151be916f2c4d12628dc1bf 100644 --- a/src/csharp/Grpc.Auth/packages.config +++ b/src/csharp/Grpc.Auth/packages.config @@ -1,11 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="BouncyCastle" version="1.7.0" targetFramework="net45" /> - <package id="Google.Apis.Auth" version="1.10.0" targetFramework="net45" /> - <package id="Google.Apis.Core" version="1.10.0" targetFramework="net45" /> - <package id="Microsoft.Bcl" version="1.1.10" targetFramework="net45" /> - <package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net45" /> - <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net45" /> - <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net45" /> + <package id="Google.Apis.Auth" version="1.11.1" targetFramework="net45" /> + <package id="Google.Apis.Core" version="1.11.1" targetFramework="net45" /> <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj b/src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj index 7e73c4f1817b31f447227651e7cb81c7f66b0e46..3bfd49b10fe24b2f7430105116df83bf86e9a1d3 100644 --- a/src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj +++ b/src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj @@ -93,6 +93,7 @@ <Compile Include="MetadataTest.cs" /> <Compile Include="PerformanceTest.cs" /> <Compile Include="SanityTest.cs" /> + <Compile Include="HalfcloseTest.cs" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <ItemGroup> diff --git a/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs b/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs index fac93fcc5cc09f1d56808722b399409578cf7cef..ab12c120cbaf5988eb574f49ce500767779a441e 100644 --- a/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs +++ b/src/csharp/Grpc.Core.Tests/GrpcEnvironmentTest.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core.Tests/HalfcloseTest.cs b/src/csharp/Grpc.Core.Tests/HalfcloseTest.cs new file mode 100644 index 0000000000000000000000000000000000000000..fe6edb858bbccdc84e74212eb06ed0ce41610d0a --- /dev/null +++ b/src/csharp/Grpc.Core.Tests/HalfcloseTest.cs @@ -0,0 +1,97 @@ +#region Copyright notice and license + +// Copyright 2016, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#endregion + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; + +using Grpc.Core; +using Grpc.Core.Internal; +using Grpc.Core.Utils; + +using NUnit.Framework; + +namespace Grpc.Core.Tests +{ + public class HalfcloseTest + { + MockServiceHelper helper; + Server server; + Channel channel; + + [SetUp] + public void Init() + { + helper = new MockServiceHelper(); + + server = helper.GetServer(); + server.Start(); + channel = helper.GetChannel(); + } + + [TearDown] + public void Cleanup() + { + channel.ShutdownAsync().Wait(); + server.ShutdownAsync().Wait(); + } + + /// <summary> + /// For client streaming and duplex streaming calls, if server does a full close + /// before we halfclose the request stream, an attempt to halfclose + /// (complete the request stream) shouldn't be treated as an error. + /// </summary> + [Test] + public async Task HalfcloseAfterFullclose_ClientStreamingCall() + { + helper.ClientStreamingHandler = new ClientStreamingServerMethod<string, string>(async (requestStream, context) => + { + return "PASS"; + }); + + var call = Calls.AsyncClientStreamingCall(helper.CreateClientStreamingCall()); + // make sure server has fullclosed on us + Assert.AreEqual("PASS", await call.ResponseAsync); + + // sending close from client should be still fine because server can finish + // the call anytime and we cannot do anything about it on the client side. + await call.RequestStream.CompleteAsync(); + + // Second attempt to close from client is not allowed. + Assert.Throws(typeof(InvalidOperationException), async () => await call.RequestStream.CompleteAsync()); + } + } +} diff --git a/src/csharp/Grpc.Core.Tests/Internal/AsyncCallTest.cs b/src/csharp/Grpc.Core.Tests/Internal/AsyncCallTest.cs index d5a1eeb0fba6d8db2c5dbccc688b27b675f1ca8e..543f6375df1b7bb6e03c26d411cb7f46c85f2c7a 100644 --- a/src/csharp/Grpc.Core.Tests/Internal/AsyncCallTest.cs +++ b/src/csharp/Grpc.Core.Tests/Internal/AsyncCallTest.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core.Tests/PInvokeTest.cs b/src/csharp/Grpc.Core.Tests/PInvokeTest.cs index da0ea2e6dc954153586ba840cb40be86fc6e5cc4..d2b2fc6a6613e52d245170d658f67dc24fda8cf4 100644 --- a/src/csharp/Grpc.Core.Tests/PInvokeTest.cs +++ b/src/csharp/Grpc.Core.Tests/PInvokeTest.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -74,6 +74,8 @@ namespace Grpc.Core.Tests /// (~110ns .NET Windows) /// </summary> [Test] + [Category("Performance")] + [Ignore("Prevent running on Jenkins")] public void NativeCallbackBenchmark() { OpCompletionDelegate handler = Handler; @@ -95,6 +97,8 @@ namespace Grpc.Core.Tests /// (~1.1us on .NET Windows) /// </summary> [Test] + [Category("Performance")] + [Ignore("Prevent running on Jenkins")] public void NewNativeCallbackBenchmark() { counter = 0; @@ -112,6 +116,8 @@ namespace Grpc.Core.Tests /// (~46ns .NET Windows) /// </summary> [Test] + [Category("Performance")] + [Ignore("Prevent running on Jenkins")] public void NopPInvokeBenchmark() { BenchmarkUtil.RunBenchmark( diff --git a/src/csharp/Grpc.Core/AsyncAuthInterceptor.cs b/src/csharp/Grpc.Core/AsyncAuthInterceptor.cs index 5ba06d6509741551f5c25f18cbd7be06c98e28a3..1ad229092876b57fae9376db06100ea04bd6f416 100644 --- a/src/csharp/Grpc.Core/AsyncAuthInterceptor.cs +++ b/src/csharp/Grpc.Core/AsyncAuthInterceptor.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/CallCredentials.cs b/src/csharp/Grpc.Core/CallCredentials.cs index 7cd41d04806a67e99037c6355c94fec42debf299..7476b0ca165b0d3e2b3e5dccd9ed55d18ce3f6f9 100644 --- a/src/csharp/Grpc.Core/CallCredentials.cs +++ b/src/csharp/Grpc.Core/CallCredentials.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/CallInvocationDetails.cs b/src/csharp/Grpc.Core/CallInvocationDetails.cs index 52bfbe6edbe1f765f111f7a41d5003df2fe28ea0..98db8546144bf95c03cc3a134eef653f0241c593 100644 --- a/src/csharp/Grpc.Core/CallInvocationDetails.cs +++ b/src/csharp/Grpc.Core/CallInvocationDetails.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/CallInvoker.cs b/src/csharp/Grpc.Core/CallInvoker.cs new file mode 100644 index 0000000000000000000000000000000000000000..39199b1fd5880c2a51d66abc268a6fcfefa02778 --- /dev/null +++ b/src/csharp/Grpc.Core/CallInvoker.cs @@ -0,0 +1,84 @@ +#region Copyright notice and license + +// Copyright 2015-2016, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#endregion + +using System.Threading.Tasks; +using Grpc.Core.Internal; + +namespace Grpc.Core +{ + /// <summary> + /// Abstraction of client-side RPC invocation. + /// </summary> + /// <seealso cref="Calls"/> + public abstract class CallInvoker + { + /// <summary> + /// Invokes a simple remote call in a blocking fashion. + /// </summary> + public abstract TResponse BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) + where TRequest : class + where TResponse : class; + + /// <summary> + /// Invokes a simple remote call asynchronously. + /// </summary> + public abstract AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) + where TRequest : class + where TResponse : class; + + /// <summary> + /// Invokes a server streaming call asynchronously. + /// In server streaming scenario, client sends on request and server responds with a stream of responses. + /// </summary> + public abstract AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) + where TRequest : class + where TResponse : class; + + /// <summary> + /// Invokes a client streaming call asynchronously. + /// In client streaming scenario, client sends a stream of requests and server responds with a single response. + /// </summary> + public abstract AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) + where TRequest : class + where TResponse : class; + + /// <summary> + /// Invokes a duplex streaming call asynchronously. + /// In duplex streaming scenario, client sends a stream of requests and server responds with a stream of responses. + /// The response stream is completely independent and both side can be sending messages at the same time. + /// </summary> + public abstract AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) + where TRequest : class + where TResponse : class; + } +} diff --git a/src/csharp/Grpc.Core/CallOptions.cs b/src/csharp/Grpc.Core/CallOptions.cs index 7bd95d4ba80e22ba9eab466ee6f0fb4bc4701aba..caf8210d917fd6bb14f089f3c99d7c52f2fd7374 100644 --- a/src/csharp/Grpc.Core/CallOptions.cs +++ b/src/csharp/Grpc.Core/CallOptions.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Channel.cs b/src/csharp/Grpc.Core/Channel.cs index d7a482d86ffdc6edcd43e0a9d13c83eefa1fcd39..89981b1849bf56baff66639913f7ebff694148a2 100644 --- a/src/csharp/Grpc.Core/Channel.cs +++ b/src/csharp/Grpc.Core/Channel.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/ChannelCredentials.cs b/src/csharp/Grpc.Core/ChannelCredentials.cs index 03cda284008a93d163cfa396e5664052be26356c..db0cefef8b7dbb4e3d3560e47ad4503d8cc849d9 100644 --- a/src/csharp/Grpc.Core/ChannelCredentials.cs +++ b/src/csharp/Grpc.Core/ChannelCredentials.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/ChannelOptions.cs b/src/csharp/Grpc.Core/ChannelOptions.cs index 65e15e21e9974aef8d485839f187e3b9828c2c12..b6eeceabc4c2131091dd7826cd0552bc94a3baeb 100644 --- a/src/csharp/Grpc.Core/ChannelOptions.cs +++ b/src/csharp/Grpc.Core/ChannelOptions.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/ClientBase.cs b/src/csharp/Grpc.Core/ClientBase.cs index e5b398062b2c489891d38cc71ffee03eb274e059..5517233e3ccf56feebc124c661748e19ffab4fe1 100644 --- a/src/csharp/Grpc.Core/ClientBase.cs +++ b/src/csharp/Grpc.Core/ClientBase.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015, Google Inc. +// Copyright 2015-2016, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -31,93 +31,156 @@ #endregion -using System; -using System.Text.RegularExpressions; -using System.Threading.Tasks; +using Grpc.Core.Internal; +using Grpc.Core.Utils; namespace Grpc.Core { /// <summary> - /// Interceptor for call headers. + /// Generic base class for client-side stubs. /// </summary> - /// <remarks>Header interceptor is no longer to recommented way to perform authentication. - /// For header (initial metadata) based auth such as OAuth2 or JWT access token, use <see cref="MetadataCredentials"/>. - /// </remarks> - public delegate void HeaderInterceptor(IMethod method, Metadata metadata); + public abstract class ClientBase<T> : ClientBase + where T : ClientBase<T> + { + /// <summary> + /// Initializes a new instance of <c>ClientBase</c> class that + /// throws <c>NotImplementedException</c> upon invocation of any RPC. + /// This constructor is only provided to allow creation of test doubles + /// for client classes (e.g. mocking requires a parameterless constructor). + /// </summary> + protected ClientBase() : base() + { + } + + /// <summary> + /// Initializes a new instance of <c>ClientBase</c> class. + /// </summary> + /// <param name="configuration">The configuration.</param> + protected ClientBase(ClientBaseConfiguration configuration) : base(configuration) + { + } + + /// <summary> + /// Initializes a new instance of <c>ClientBase</c> class. + /// </summary> + /// <param name="channel">The channel to use for remote call invocation.</param> + public ClientBase(Channel channel) : base(channel) + { + } + + /// <summary> + /// Initializes a new instance of <c>ClientBase</c> class. + /// </summary> + /// <param name="callInvoker">The <c>CallInvoker</c> for remote call invocation.</param> + public ClientBase(CallInvoker callInvoker) : base(callInvoker) + { + } + + /// <summary> + /// Creates a new client that sets host field for calls explicitly. + /// gRPC supports multiple "hosts" being served by a single server. + /// By default (if a client was not created by calling this method), + /// host <c>null</c> with the meaning "use default host" is used. + /// </summary> + public T WithHost(string host) + { + var newConfiguration = this.Configuration.WithHost(host); + return NewInstance(newConfiguration); + } + + /// <summary> + /// Creates a new instance of client from given <c>ClientBaseConfiguration</c>. + /// </summary> + protected abstract T NewInstance(ClientBaseConfiguration configuration); + } /// <summary> /// Base class for client-side stubs. /// </summary> public abstract class ClientBase { - readonly Channel channel; + readonly ClientBaseConfiguration configuration; + readonly CallInvoker callInvoker; + + /// <summary> + /// Initializes a new instance of <c>ClientBase</c> class that + /// throws <c>NotImplementedException</c> upon invocation of any RPC. + /// This constructor is only provided to allow creation of test doubles + /// for client classes (e.g. mocking requires a parameterless constructor). + /// </summary> + protected ClientBase() : this(new UnimplementedCallInvoker()) + { + } + + /// <summary> + /// Initializes a new instance of <c>ClientBase</c> class. + /// </summary> + /// <param name="configuration">The configuration.</param> + protected ClientBase(ClientBaseConfiguration configuration) + { + this.configuration = GrpcPreconditions.CheckNotNull(configuration, "configuration"); + this.callInvoker = configuration.CreateDecoratedCallInvoker(); + } /// <summary> /// Initializes a new instance of <c>ClientBase</c> class. /// </summary> /// <param name="channel">The channel to use for remote call invocation.</param> - public ClientBase(Channel channel) + public ClientBase(Channel channel) : this(new DefaultCallInvoker(channel)) { - this.channel = channel; } /// <summary> - /// Can be used to register a custom header interceptor. - /// The interceptor is invoked each time a new call on this client is started. - /// It is not recommented to use header interceptor to add auth headers to RPC calls. + /// Initializes a new instance of <c>ClientBase</c> class. /// </summary> - /// <seealso cref="HeaderInterceptor"/> - public HeaderInterceptor HeaderInterceptor + /// <param name="callInvoker">The <c>CallInvoker</c> for remote call invocation.</param> + public ClientBase(CallInvoker callInvoker) : this(new ClientBaseConfiguration(callInvoker, null)) { - get; - set; } /// <summary> - /// gRPC supports multiple "hosts" being served by a single server. - /// This property can be used to set the target host explicitly. - /// By default, this will be set to <c>null</c> with the meaning - /// "use default host". + /// Gets the call invoker. /// </summary> - public string Host + protected CallInvoker CallInvoker { - get; - set; + get { return this.callInvoker; } } /// <summary> - /// Channel associated with this client. + /// Gets the configuration. /// </summary> - public Channel Channel + internal ClientBaseConfiguration Configuration { - get - { - return this.channel; - } + get { return this.configuration; } } /// <summary> - /// Creates a new call to given method. + /// Represents configuration of ClientBase. The class itself is visible to + /// subclasses, but contents are marked as internal to make the instances opaque. + /// The verbose name of this class was chosen to make name clash in generated code + /// less likely. /// </summary> - /// <param name="method">The method to invoke.</param> - /// <param name="options">The call options.</param> - /// <typeparam name="TRequest">Request message type.</typeparam> - /// <typeparam name="TResponse">Response message type.</typeparam> - /// <returns>The call invocation details.</returns> - protected CallInvocationDetails<TRequest, TResponse> CreateCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options) - where TRequest : class - where TResponse : class + protected internal class ClientBaseConfiguration { - var interceptor = HeaderInterceptor; - if (interceptor != null) + readonly CallInvoker undecoratedCallInvoker; + readonly string host; + + internal ClientBaseConfiguration(CallInvoker undecoratedCallInvoker, string host) + { + this.undecoratedCallInvoker = GrpcPreconditions.CheckNotNull(undecoratedCallInvoker); + this.host = host; + } + + internal CallInvoker CreateDecoratedCallInvoker() + { + return new InterceptingCallInvoker(undecoratedCallInvoker, hostInterceptor: (h) => host); + } + + internal ClientBaseConfiguration WithHost(string host) { - if (options.Headers == null) - { - options = options.WithHeaders(new Metadata()); - } - interceptor(method, options.Headers); + GrpcPreconditions.CheckNotNull(host, "host"); + return new ClientBaseConfiguration(this.undecoratedCallInvoker, host); } - return new CallInvocationDetails<TRequest, TResponse>(channel, method, Host, options); } } } diff --git a/src/csharp/Grpc.Core/ContextPropagationToken.cs b/src/csharp/Grpc.Core/ContextPropagationToken.cs index c0f638f837d18f67946769f59af829e5da698ab0..935498246a1493f608e88d6f10e3f3a7b70cf749 100644 --- a/src/csharp/Grpc.Core/ContextPropagationToken.cs +++ b/src/csharp/Grpc.Core/ContextPropagationToken.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/DefaultCallInvoker.cs b/src/csharp/Grpc.Core/DefaultCallInvoker.cs new file mode 100644 index 0000000000000000000000000000000000000000..1a99e41153b3bd5c0419bbe141c97006aaa8676e --- /dev/null +++ b/src/csharp/Grpc.Core/DefaultCallInvoker.cs @@ -0,0 +1,112 @@ +#region Copyright notice and license + +// Copyright 2015-2016, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#endregion + +using System.Threading.Tasks; +using Grpc.Core.Internal; +using Grpc.Core.Utils; + +namespace Grpc.Core +{ + /// <summary> + /// Invokes client RPCs using <see cref="Calls"/>. + /// </summary> + public class DefaultCallInvoker : CallInvoker + { + readonly Channel channel; + + /// <summary> + /// Initializes a new instance of the <see cref="Grpc.Core.DefaultCallInvoker"/> class. + /// </summary> + /// <param name="channel">Channel to use.</param> + public DefaultCallInvoker(Channel channel) + { + this.channel = GrpcPreconditions.CheckNotNull(channel); + } + + /// <summary> + /// Invokes a simple remote call in a blocking fashion. + /// </summary> + public override TResponse BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) + { + var call = CreateCall(method, host, options); + return Calls.BlockingUnaryCall(call, request); + } + + /// <summary> + /// Invokes a simple remote call asynchronously. + /// </summary> + public override AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) + { + var call = CreateCall(method, host, options); + return Calls.AsyncUnaryCall(call, request); + } + + /// <summary> + /// Invokes a server streaming call asynchronously. + /// In server streaming scenario, client sends on request and server responds with a stream of responses. + /// </summary> + public override AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) + { + var call = CreateCall(method, host, options); + return Calls.AsyncServerStreamingCall(call, request); + } + + /// <summary> + /// Invokes a client streaming call asynchronously. + /// In client streaming scenario, client sends a stream of requests and server responds with a single response. + /// </summary> + public override AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) + { + var call = CreateCall(method, host, options); + return Calls.AsyncClientStreamingCall(call); + } + + /// <summary> + /// Invokes a duplex streaming call asynchronously. + /// In duplex streaming scenario, client sends a stream of requests and server responds with a stream of responses. + /// The response stream is completely independent and both side can be sending messages at the same time. + /// </summary> + public override AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) + { + var call = CreateCall(method, host, options); + return Calls.AsyncDuplexStreamingCall(call); + } + + protected virtual CallInvocationDetails<TRequest, TResponse> CreateCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) + where TRequest : class + where TResponse : class + { + return new CallInvocationDetails<TRequest, TResponse>(channel, method, host, options); + } + } +} diff --git a/src/csharp/Grpc.Core/Grpc.Core.csproj b/src/csharp/Grpc.Core/Grpc.Core.csproj index 3189835ccd913e7a533eab5dbecbe7aa65ce8136..251a6889464cb6e81b9e2854bc899de02fb3b393 100644 --- a/src/csharp/Grpc.Core/Grpc.Core.csproj +++ b/src/csharp/Grpc.Core/Grpc.Core.csproj @@ -129,6 +129,10 @@ <Compile Include="Profiling\Profilers.cs" /> <Compile Include="Internal\DefaultSslRootsOverride.cs" /> <Compile Include="Utils\GrpcPreconditions.cs" /> + <Compile Include="CallInvoker.cs" /> + <Compile Include="DefaultCallInvoker.cs" /> + <Compile Include="Internal\UnimplementedCallInvoker.cs" /> + <Compile Include="Internal\InterceptingCallInvoker.cs" /> </ItemGroup> <ItemGroup> <None Include="Grpc.Core.nuspec" /> diff --git a/src/csharp/Grpc.Core/GrpcEnvironment.cs b/src/csharp/Grpc.Core/GrpcEnvironment.cs index 86b37b8660196b5b6a7f6746e0ed661efdfd4069..a5c78cc9d7e692ff9fb76342dbfd79720e5bf374 100644 --- a/src/csharp/Grpc.Core/GrpcEnvironment.cs +++ b/src/csharp/Grpc.Core/GrpcEnvironment.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/AsyncCall.cs b/src/csharp/Grpc.Core/Internal/AsyncCall.cs index 2caba260b3a243d43bf9fe72ff627ed5a474acd7..016e1b8587809db4f11a14a49d811748f8bd8e68 100644 --- a/src/csharp/Grpc.Core/Internal/AsyncCall.cs +++ b/src/csharp/Grpc.Core/Internal/AsyncCall.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -258,9 +258,19 @@ namespace Grpc.Core.Internal lock (myLock) { GrpcPreconditions.CheckNotNull(completionDelegate, "Completion delegate cannot be null"); - CheckSendingAllowed(); + CheckSendingAllowed(allowFinished: true); - call.StartSendCloseFromClient(HandleHalfclosed); + if (!disposed && !finished) + { + call.StartSendCloseFromClient(HandleSendCloseFromClientFinished); + } + else + { + // In case the call has already been finished by the serverside, + // the halfclose has already been done implicitly, so we only + // emit the notification for the completion delegate. + Task.Run(() => HandleSendCloseFromClientFinished(true)); + } halfcloseRequested = true; sendCompletionDelegate = completionDelegate; diff --git a/src/csharp/Grpc.Core/Internal/AsyncCallBase.cs b/src/csharp/Grpc.Core/Internal/AsyncCallBase.cs index 45d4c3e078c4102996dbaae693a7c10c20457efd..ccd047f469531f72a135b6268a0f2cf6ed11ced5 100644 --- a/src/csharp/Grpc.Core/Internal/AsyncCallBase.cs +++ b/src/csharp/Grpc.Core/Internal/AsyncCallBase.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -136,7 +136,7 @@ namespace Grpc.Core.Internal lock (myLock) { GrpcPreconditions.CheckNotNull(completionDelegate, "Completion delegate cannot be null"); - CheckSendingAllowed(); + CheckSendingAllowed(allowFinished: false); call.StartSendMessage(HandleSendFinished, payload, writeFlags, !initialMetadataSent); @@ -202,14 +202,14 @@ namespace Grpc.Core.Internal { } - protected void CheckSendingAllowed() + protected void CheckSendingAllowed(bool allowFinished) { GrpcPreconditions.CheckState(started); CheckNotCancelled(); - GrpcPreconditions.CheckState(!disposed); + GrpcPreconditions.CheckState(!disposed || allowFinished); GrpcPreconditions.CheckState(!halfcloseRequested, "Already halfclosed."); - GrpcPreconditions.CheckState(!finished, "Already finished."); + GrpcPreconditions.CheckState(!finished || allowFinished, "Already finished."); GrpcPreconditions.CheckState(sendCompletionDelegate == null, "Only one write can be pending at a time"); } @@ -294,9 +294,33 @@ namespace Grpc.Core.Internal } /// <summary> - /// Handles halfclose completion. + /// Handles halfclose (send close from client) completion. + /// </summary> + protected void HandleSendCloseFromClientFinished(bool success) + { + AsyncCompletionDelegate<object> origCompletionDelegate = null; + lock (myLock) + { + origCompletionDelegate = sendCompletionDelegate; + sendCompletionDelegate = null; + + ReleaseResourcesIfPossible(); + } + + if (!success) + { + FireCompletion(origCompletionDelegate, null, new InvalidOperationException("Sending close from client has failed.")); + } + else + { + FireCompletion(origCompletionDelegate, null, null); + } + } + + /// <summary> + /// Handles send status from server completion. /// </summary> - protected void HandleHalfclosed(bool success) + protected void HandleSendStatusFromServerFinished(bool success) { AsyncCompletionDelegate<object> origCompletionDelegate = null; lock (myLock) @@ -309,7 +333,7 @@ namespace Grpc.Core.Internal if (!success) { - FireCompletion(origCompletionDelegate, null, new InvalidOperationException("Halfclose failed")); + FireCompletion(origCompletionDelegate, null, new InvalidOperationException("Error sending status from server.")); } else { diff --git a/src/csharp/Grpc.Core/Internal/AsyncCallServer.cs b/src/csharp/Grpc.Core/Internal/AsyncCallServer.cs index 9380c0d0ea9f51f7fff01e4533f159152cd1564b..bea2b3660c3293469f7e789544ed7266305161be 100644 --- a/src/csharp/Grpc.Core/Internal/AsyncCallServer.cs +++ b/src/csharp/Grpc.Core/Internal/AsyncCallServer.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -113,7 +113,7 @@ namespace Grpc.Core.Internal GrpcPreconditions.CheckState(!initialMetadataSent, "Response headers can only be sent once per call."); GrpcPreconditions.CheckState(streamingWritesCounter == 0, "Response headers can only be sent before the first write starts."); - CheckSendingAllowed(); + CheckSendingAllowed(allowFinished: false); GrpcPreconditions.CheckNotNull(completionDelegate, "Completion delegate cannot be null"); @@ -137,11 +137,11 @@ namespace Grpc.Core.Internal lock (myLock) { GrpcPreconditions.CheckNotNull(completionDelegate, "Completion delegate cannot be null"); - CheckSendingAllowed(); + CheckSendingAllowed(allowFinished: false); using (var metadataArray = MetadataArraySafeHandle.Create(trailers)) { - call.StartSendStatusFromServer(HandleHalfclosed, status, metadataArray, !initialMetadataSent); + call.StartSendStatusFromServer(HandleSendStatusFromServerFinished, status, metadataArray, !initialMetadataSent); } halfcloseRequested = true; readingDone = true; diff --git a/src/csharp/Grpc.Core/Internal/AsyncCompletion.cs b/src/csharp/Grpc.Core/Internal/AsyncCompletion.cs index d5bbf676ff74027367a4344ee56efb81664eebf1..7e86fddb4d89ef583b49babf78da6f994ae180c0 100644 --- a/src/csharp/Grpc.Core/Internal/AsyncCompletion.cs +++ b/src/csharp/Grpc.Core/Internal/AsyncCompletion.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/BatchContextSafeHandle.cs b/src/csharp/Grpc.Core/Internal/BatchContextSafeHandle.cs index 0e2108f0f2e4564c92c9ce46443b8040a943bd74..66d2a66f99f1af8d9f3ddee2fc0c686f8869504f 100644 --- a/src/csharp/Grpc.Core/Internal/BatchContextSafeHandle.cs +++ b/src/csharp/Grpc.Core/Internal/BatchContextSafeHandle.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/CStringSafeHandle.cs b/src/csharp/Grpc.Core/Internal/CStringSafeHandle.cs index 4ae57aa773aba8d6623163c48cc549f171316c01..0221798d2af13d41b5401a2d07740c2e9ae5e24b 100644 --- a/src/csharp/Grpc.Core/Internal/CStringSafeHandle.cs +++ b/src/csharp/Grpc.Core/Internal/CStringSafeHandle.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/CallCredentialsSafeHandle.cs b/src/csharp/Grpc.Core/Internal/CallCredentialsSafeHandle.cs index 0f36337f1132992ae365615ca48799513da9e323..3095a34008062b55449b1dad0aa5aab7c09b0ee2 100644 --- a/src/csharp/Grpc.Core/Internal/CallCredentialsSafeHandle.cs +++ b/src/csharp/Grpc.Core/Internal/CallCredentialsSafeHandle.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/CallSafeHandle.cs b/src/csharp/Grpc.Core/Internal/CallSafeHandle.cs index bc045b67b10b7ce70b143e3adef038665a6e81fd..500653ba5d3def399e0f48c27bfbec0c8fb5ef58 100644 --- a/src/csharp/Grpc.Core/Internal/CallSafeHandle.cs +++ b/src/csharp/Grpc.Core/Internal/CallSafeHandle.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/ChannelArgsSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ChannelArgsSafeHandle.cs index f6aa710b21433dca77b619ecf838dd8bf60bc3d8..003802424597695bdfab32a25f343e1345282e21 100644 --- a/src/csharp/Grpc.Core/Internal/ChannelArgsSafeHandle.cs +++ b/src/csharp/Grpc.Core/Internal/ChannelArgsSafeHandle.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/ChannelCredentialsSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ChannelCredentialsSafeHandle.cs index 65cc2e019fdf8a462b20a5f370f1bed99623c22e..c85f55241a19bf3be15928570778b6316b17dca6 100644 --- a/src/csharp/Grpc.Core/Internal/ChannelCredentialsSafeHandle.cs +++ b/src/csharp/Grpc.Core/Internal/ChannelCredentialsSafeHandle.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/ChannelSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ChannelSafeHandle.cs index 2199905cc609dca5b76691530900be07329249b9..1dbd1f4e34cb7bac20513017ce4ef3de8d71dda0 100644 --- a/src/csharp/Grpc.Core/Internal/ChannelSafeHandle.cs +++ b/src/csharp/Grpc.Core/Internal/ChannelSafeHandle.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/CompletionQueueEvent.cs b/src/csharp/Grpc.Core/Internal/CompletionQueueEvent.cs index 36a92ecd8e8197b0855c36943d3942a425076771..288680792a6eef66aed0477403137cf672f85975 100644 --- a/src/csharp/Grpc.Core/Internal/CompletionQueueEvent.cs +++ b/src/csharp/Grpc.Core/Internal/CompletionQueueEvent.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/CompletionQueueSafeHandle.cs b/src/csharp/Grpc.Core/Internal/CompletionQueueSafeHandle.cs index 5c75b52e2359fce92d4845bd8a53fd14a31f3b7c..91364cdc70a0b249d476f45eb4ac0d6226e541a0 100644 --- a/src/csharp/Grpc.Core/Internal/CompletionQueueSafeHandle.cs +++ b/src/csharp/Grpc.Core/Internal/CompletionQueueSafeHandle.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/CompletionRegistry.cs b/src/csharp/Grpc.Core/Internal/CompletionRegistry.cs index 3a293e162621a9be95941a27d37b2033f1cababe..628844f242218d9228bbb5536356fbab70e05f40 100644 --- a/src/csharp/Grpc.Core/Internal/CompletionRegistry.cs +++ b/src/csharp/Grpc.Core/Internal/CompletionRegistry.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/DefaultSslRootsOverride.cs b/src/csharp/Grpc.Core/Internal/DefaultSslRootsOverride.cs index dfaee5d9d7cd207d52a28e2c4f2795bf82459402..aa4dafd7f2aa03ba72bc0540ad3756043eda26a3 100644 --- a/src/csharp/Grpc.Core/Internal/DefaultSslRootsOverride.cs +++ b/src/csharp/Grpc.Core/Internal/DefaultSslRootsOverride.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/Enums.cs b/src/csharp/Grpc.Core/Internal/Enums.cs index 098e7c0e99e570e9e2edd121a7ae20283b054a41..74f86d2a3044a29178a58bf8376b533d8c82b7b1 100644 --- a/src/csharp/Grpc.Core/Internal/Enums.cs +++ b/src/csharp/Grpc.Core/Internal/Enums.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/InterceptingCallInvoker.cs b/src/csharp/Grpc.Core/Internal/InterceptingCallInvoker.cs new file mode 100644 index 0000000000000000000000000000000000000000..ef48dc712121c048e392a418c3f6955c738cd569 --- /dev/null +++ b/src/csharp/Grpc.Core/Internal/InterceptingCallInvoker.cs @@ -0,0 +1,134 @@ +#region Copyright notice and license + +// Copyright 2015-2016, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#endregion + +using System; +using System.Threading.Tasks; +using Grpc.Core; +using Grpc.Core.Utils; + +namespace Grpc.Core.Internal +{ + /// <summary> + /// Decorates an underlying <c>CallInvoker</c> to intercept call invocations. + /// </summary> + internal class InterceptingCallInvoker : CallInvoker + { + readonly CallInvoker callInvoker; + readonly Func<string, string> hostInterceptor; + readonly Func<CallOptions, CallOptions> callOptionsInterceptor; + + /// <summary> + /// Initializes a new instance of the <see cref="Grpc.Core.InterceptingCallInvoker"/> class. + /// </summary> + public InterceptingCallInvoker(CallInvoker callInvoker, + Func<string, string> hostInterceptor = null, + Func<CallOptions, CallOptions> callOptionsInterceptor = null) + { + this.callInvoker = GrpcPreconditions.CheckNotNull(callInvoker); + this.hostInterceptor = hostInterceptor; + this.callOptionsInterceptor = callOptionsInterceptor; + } + + /// <summary> + /// Intercepts a unary call. + /// </summary> + public override TResponse BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) + { + host = InterceptHost(host); + options = InterceptCallOptions(options); + return callInvoker.BlockingUnaryCall(method, host, options, request); + } + + /// <summary> + /// Invokes a simple remote call asynchronously. + /// </summary> + public override AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) + { + host = InterceptHost(host); + options = InterceptCallOptions(options); + return callInvoker.AsyncUnaryCall(method, host, options, request); + } + + /// <summary> + /// Invokes a server streaming call asynchronously. + /// In server streaming scenario, client sends on request and server responds with a stream of responses. + /// </summary> + public override AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) + { + host = InterceptHost(host); + options = InterceptCallOptions(options); + return callInvoker.AsyncServerStreamingCall(method, host, options, request); + } + + /// <summary> + /// Invokes a client streaming call asynchronously. + /// In client streaming scenario, client sends a stream of requests and server responds with a single response. + /// </summary> + public override AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) + { + host = InterceptHost(host); + options = InterceptCallOptions(options); + return callInvoker.AsyncClientStreamingCall(method, host, options); + } + + /// <summary> + /// Invokes a duplex streaming call asynchronously. + /// In duplex streaming scenario, client sends a stream of requests and server responds with a stream of responses. + /// The response stream is completely independent and both side can be sending messages at the same time. + /// </summary> + public override AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) + { + host = InterceptHost(host); + options = InterceptCallOptions(options); + return callInvoker.AsyncDuplexStreamingCall(method, host, options); + } + + private string InterceptHost(string host) + { + if (hostInterceptor == null) + { + return host; + } + return hostInterceptor(host); + } + + private CallOptions InterceptCallOptions(CallOptions options) + { + if (callOptionsInterceptor == null) + { + return options; + } + return callOptionsInterceptor(options); + } + } +} diff --git a/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs b/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs index 81760d7a109d187e7077b6432f7619f6c80aabe3..25735d5262d6335492f3881e1fb4ed18cfac0aca 100644 --- a/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs +++ b/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/NativeExtension.cs b/src/csharp/Grpc.Core/Internal/NativeExtension.cs index 282816d51e036b7a210aa0bb53bd99b3ce774998..bff1e56582ac8d114bbb8832292bca36c83c6ce7 100644 --- a/src/csharp/Grpc.Core/Internal/NativeExtension.cs +++ b/src/csharp/Grpc.Core/Internal/NativeExtension.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/NativeLogRedirector.cs b/src/csharp/Grpc.Core/Internal/NativeLogRedirector.cs index 4bbbb4808caaaf212771d6f0c3b7930a3757eb2f..3fcf8673ee7049aa1fa9331182c831f311ea1c3f 100644 --- a/src/csharp/Grpc.Core/Internal/NativeLogRedirector.cs +++ b/src/csharp/Grpc.Core/Internal/NativeLogRedirector.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/NativeMetadataCredentialsPlugin.cs b/src/csharp/Grpc.Core/Internal/NativeMetadataCredentialsPlugin.cs index e810ffcdd03d565aedc853bda0757a8397cf9ff0..0e4d9070d3bd5519c06939c57bd489eb30dddb31 100644 --- a/src/csharp/Grpc.Core/Internal/NativeMetadataCredentialsPlugin.cs +++ b/src/csharp/Grpc.Core/Internal/NativeMetadataCredentialsPlugin.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/NativeMethods.cs b/src/csharp/Grpc.Core/Internal/NativeMethods.cs index 19a573581e0827589019b801863ffb223d914421..9ee0ba3bc0578f37efeaaad4ac738d500ea8a3c7 100644 --- a/src/csharp/Grpc.Core/Internal/NativeMethods.cs +++ b/src/csharp/Grpc.Core/Internal/NativeMethods.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/PlatformApis.cs b/src/csharp/Grpc.Core/Internal/PlatformApis.cs index fb1acfb607b23925900c2d211746fa0bed32e365..5d8c44b589e848e402594ddcd6cc9cf93b2a3f77 100644 --- a/src/csharp/Grpc.Core/Internal/PlatformApis.cs +++ b/src/csharp/Grpc.Core/Internal/PlatformApis.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/ServerCallHandler.cs b/src/csharp/Grpc.Core/Internal/ServerCallHandler.cs index ccf144de2def6e31819a88331f08c25998ad1459..1f83e51548ebdd24c3dcc90446d54e78dea4110e 100644 --- a/src/csharp/Grpc.Core/Internal/ServerCallHandler.cs +++ b/src/csharp/Grpc.Core/Internal/ServerCallHandler.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/ServerCredentialsSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ServerCredentialsSafeHandle.cs index a50f35799028ec9b901d64166f7a810799967ddd..24f686fddc150c6fe494ce6ccc6471fc36573ce4 100644 --- a/src/csharp/Grpc.Core/Internal/ServerCredentialsSafeHandle.cs +++ b/src/csharp/Grpc.Core/Internal/ServerCredentialsSafeHandle.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs index a57fb3b7890a9ae92f4d48364c986be9b4b418cf..6b5f70e220737eea2c4f26d22b88773ddc19d7b4 100644 --- a/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs +++ b/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/Timespec.cs b/src/csharp/Grpc.Core/Internal/Timespec.cs index 754be4e03531e85851ec51ffa61270b8c5a0d1b7..56172a5dda473b87b83e5ab13a5a53a05ae1d71b 100644 --- a/src/csharp/Grpc.Core/Internal/Timespec.cs +++ b/src/csharp/Grpc.Core/Internal/Timespec.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Internal/UnimplementedCallInvoker.cs b/src/csharp/Grpc.Core/Internal/UnimplementedCallInvoker.cs new file mode 100644 index 0000000000000000000000000000000000000000..0c7340873bdf956de063d707a142df642505e3f3 --- /dev/null +++ b/src/csharp/Grpc.Core/Internal/UnimplementedCallInvoker.cs @@ -0,0 +1,75 @@ +#region Copyright notice and license + +// Copyright 2015-2016, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#endregion + +using System; +using System.Threading.Tasks; +using Grpc.Core; +using Grpc.Core.Utils; + +namespace Grpc.Core.Internal +{ + /// <summary> + /// Call invoker that throws <c>NotImplementedException</c> for all requests. + /// </summary> + internal class UnimplementedCallInvoker : CallInvoker + { + public UnimplementedCallInvoker() + { + } + + public override TResponse BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) + { + throw new NotImplementedException(); + } + + public override AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) + { + throw new NotImplementedException(); + } + + public override AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) + { + throw new NotImplementedException(); + } + + public override AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) + { + throw new NotImplementedException(); + } + + public override AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/csharp/Grpc.Core/Internal/UnmanagedLibrary.cs b/src/csharp/Grpc.Core/Internal/UnmanagedLibrary.cs index e763c1502575a3026822fcdcb7c90b0a9fb16d14..47308f8c9e783f0075bb02d060332b5a47b09850 100644 --- a/src/csharp/Grpc.Core/Internal/UnmanagedLibrary.cs +++ b/src/csharp/Grpc.Core/Internal/UnmanagedLibrary.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/KeyCertificatePair.cs b/src/csharp/Grpc.Core/KeyCertificatePair.cs index 0fb6817986f8390a20ab4c363ef2e0baa8d13e69..a8f3bb073d64a4662ff0c3c2ed08d3806f0cd013 100644 --- a/src/csharp/Grpc.Core/KeyCertificatePair.cs +++ b/src/csharp/Grpc.Core/KeyCertificatePair.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Logging/ConsoleLogger.cs b/src/csharp/Grpc.Core/Logging/ConsoleLogger.cs index d41b1b9f2691b8a97852ccdfcb3261e7ba4c4aca..da74e55a95f4227a05292f308ff00fe451fa2772 100644 --- a/src/csharp/Grpc.Core/Logging/ConsoleLogger.cs +++ b/src/csharp/Grpc.Core/Logging/ConsoleLogger.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Marshaller.cs b/src/csharp/Grpc.Core/Marshaller.cs index 5847248c1aaea0069bc8027ffd560349709254f4..d86e75b3cb1f83d23d99885669748c96d48d6367 100644 --- a/src/csharp/Grpc.Core/Marshaller.cs +++ b/src/csharp/Grpc.Core/Marshaller.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Metadata.cs b/src/csharp/Grpc.Core/Metadata.cs index 52cef96f40565a9209b0c17cfbd510803dfe897c..e982fa0c486ee4b37fbbf9a833236c55d8760bc1 100644 --- a/src/csharp/Grpc.Core/Metadata.cs +++ b/src/csharp/Grpc.Core/Metadata.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Method.cs b/src/csharp/Grpc.Core/Method.cs index 3870076f7f9c7816cd0f035ac4bfa938471d1223..0cf041be2bc4e41fdaf02c845f392c8d89ca2e09 100644 --- a/src/csharp/Grpc.Core/Method.cs +++ b/src/csharp/Grpc.Core/Method.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Profiling/Profilers.cs b/src/csharp/Grpc.Core/Profiling/Profilers.cs index 8a181447d628679b242c495d2307faf0cc236b51..aa0d96c0e02624165121e4603e723845ae18b8ab 100644 --- a/src/csharp/Grpc.Core/Profiling/Profilers.cs +++ b/src/csharp/Grpc.Core/Profiling/Profilers.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Server.cs b/src/csharp/Grpc.Core/Server.cs index 5d0fc6b1f0c81e6f88895bb47f367a02ae296d70..5b61b7f060f0d162c4494c293a45f047d9164d91 100644 --- a/src/csharp/Grpc.Core/Server.cs +++ b/src/csharp/Grpc.Core/Server.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/ServerCredentials.cs b/src/csharp/Grpc.Core/ServerCredentials.cs index 456d331c9c317b5d0e2f402f7dfb0298bdb542f0..ace4820027bd125a387378293018e6b5063a945c 100644 --- a/src/csharp/Grpc.Core/ServerCredentials.cs +++ b/src/csharp/Grpc.Core/ServerCredentials.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/ServerPort.cs b/src/csharp/Grpc.Core/ServerPort.cs index 10ddcb782fc342c3f8fde6b803aae885d0eb8b02..afae0846ddf2601a6702f1c57f0a306ac4e8d74f 100644 --- a/src/csharp/Grpc.Core/ServerPort.cs +++ b/src/csharp/Grpc.Core/ServerPort.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Utils/GrpcPreconditions.cs b/src/csharp/Grpc.Core/Utils/GrpcPreconditions.cs index 76bf04ce8b2091c56b00d5104db26757dc2caf77..fcfe97a09b0d4f53a9a6ea48b55e249e432e2806 100644 --- a/src/csharp/Grpc.Core/Utils/GrpcPreconditions.cs +++ b/src/csharp/Grpc.Core/Utils/GrpcPreconditions.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/Version.cs b/src/csharp/Grpc.Core/Version.cs index 6d88438a07b0f5f6875ae1f36713f8763baa3c42..8a26bd83623f72d2267e872d3abd942ce88b8381 100644 --- a/src/csharp/Grpc.Core/Version.cs +++ b/src/csharp/Grpc.Core/Version.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Core/VersionInfo.cs b/src/csharp/Grpc.Core/VersionInfo.cs index 4bd4f204dd5ad7b9997dea2cf2af9f081c3c3f02..9014a13f400d2190eb2388a1f26732709cf2f372 100644 --- a/src/csharp/Grpc.Core/VersionInfo.cs +++ b/src/csharp/Grpc.Core/VersionInfo.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.Examples.MathClient/MathClient.cs b/src/csharp/Grpc.Examples.MathClient/MathClient.cs index 64e429ed5a32001bf89b10172ad73c40adb79ad0..aadef6833dd33613c5364afba9b5f8f4840fe9c7 100644 --- a/src/csharp/Grpc.Examples.MathClient/MathClient.cs +++ b/src/csharp/Grpc.Examples.MathClient/MathClient.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015, Google Inc. +// Copyright 2015-2016, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -40,7 +40,7 @@ namespace Math public static void Main(string[] args) { var channel = new Channel("127.0.0.1", 23456, ChannelCredentials.Insecure); - Math.IMathClient client = new Math.MathClient(channel); + Math.MathClient client = new Math.MathClient(channel); MathExamples.DivExample(client); MathExamples.DivAsyncExample(client).Wait(); diff --git a/src/csharp/Grpc.Examples/MathExamples.cs b/src/csharp/Grpc.Examples/MathExamples.cs index 8009ccbbfa1cfd16c269115fc2c87108de395a69..6075420974889cd4cf26e08cb8c088a8e6ff5d12 100644 --- a/src/csharp/Grpc.Examples/MathExamples.cs +++ b/src/csharp/Grpc.Examples/MathExamples.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015, Google Inc. +// Copyright 2015-2016, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -38,19 +38,19 @@ namespace Math { public static class MathExamples { - public static void DivExample(Math.IMathClient client) + public static void DivExample(Math.MathClient client) { DivReply result = client.Div(new DivArgs { Dividend = 10, Divisor = 3 }); Console.WriteLine("Div Result: " + result); } - public static async Task DivAsyncExample(Math.IMathClient client) + public static async Task DivAsyncExample(Math.MathClient client) { DivReply result = await client.DivAsync(new DivArgs { Dividend = 4, Divisor = 5 }); Console.WriteLine("DivAsync Result: " + result); } - public static async Task FibExample(Math.IMathClient client) + public static async Task FibExample(Math.MathClient client) { using (var call = client.Fib(new FibArgs { Limit = 5 })) { @@ -59,7 +59,7 @@ namespace Math } } - public static async Task SumExample(Math.IMathClient client) + public static async Task SumExample(Math.MathClient client) { var numbers = new List<Num> { @@ -75,7 +75,7 @@ namespace Math } } - public static async Task DivManyExample(Math.IMathClient client) + public static async Task DivManyExample(Math.MathClient client) { var divArgsList = new List<DivArgs> { @@ -90,7 +90,7 @@ namespace Math } } - public static async Task DependendRequestsExample(Math.IMathClient client) + public static async Task DependendRequestsExample(Math.MathClient client) { var numbers = new List<Num> { diff --git a/src/csharp/Grpc.Examples/MathGrpc.cs b/src/csharp/Grpc.Examples/MathGrpc.cs index a6e878d0f48b6ea3e0b2e8b6540f8ae82174aaab..f3bb0d1cdcba5e355bba8e23eddf335f570d8f83 100644 --- a/src/csharp/Grpc.Examples/MathGrpc.cs +++ b/src/csharp/Grpc.Examples/MathGrpc.cs @@ -52,6 +52,7 @@ namespace Math { } // client interface + [System.Obsolete("Client side interfaced will be removed in the next release. Use client class directly.")] public interface IMathClient { global::Math.DivReply Div(global::Math.DivArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)); @@ -67,6 +68,7 @@ namespace Math { } // server-side interface + [System.Obsolete("Service implementations should inherit from the generated abstract base class instead.")] public interface IMath { Task<global::Math.DivReply> Div(global::Math.DivArgs request, ServerCallContext context); @@ -75,61 +77,92 @@ namespace Math { Task<global::Math.Num> Sum(IAsyncStreamReader<global::Math.Num> requestStream, ServerCallContext context); } + // server-side abstract class + public abstract class MathBase + { + public virtual Task<global::Math.DivReply> Div(global::Math.DivArgs request, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task DivMany(IAsyncStreamReader<global::Math.DivArgs> requestStream, IServerStreamWriter<global::Math.DivReply> responseStream, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task Fib(global::Math.FibArgs request, IServerStreamWriter<global::Math.Num> responseStream, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task<global::Math.Num> Sum(IAsyncStreamReader<global::Math.Num> requestStream, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + } + // client stub - public class MathClient : ClientBase, IMathClient + public class MathClient : ClientBase<MathClient>, IMathClient { public MathClient(Channel channel) : base(channel) { } - public global::Math.DivReply Div(global::Math.DivArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public MathClient(CallInvoker callInvoker) : base(callInvoker) { - var call = CreateCall(__Method_Div, new CallOptions(headers, deadline, cancellationToken)); - return Calls.BlockingUnaryCall(call, request); } - public global::Math.DivReply Div(global::Math.DivArgs request, CallOptions options) + ///<summary>Protected parameterless constructor to allow creation of test doubles.</summary> + protected MathClient() : base() { - var call = CreateCall(__Method_Div, options); - return Calls.BlockingUnaryCall(call, request); } - public AsyncUnaryCall<global::Math.DivReply> DivAsync(global::Math.DivArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + ///<summary>Protected constructor to allow creation of configured clients.</summary> + protected MathClient(ClientBaseConfiguration configuration) : base(configuration) { - var call = CreateCall(__Method_Div, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncUnaryCall(call, request); } - public AsyncUnaryCall<global::Math.DivReply> DivAsync(global::Math.DivArgs request, CallOptions options) + + public virtual global::Math.DivReply Div(global::Math.DivArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_Div, options); - return Calls.AsyncUnaryCall(call, request); + return Div(request, new CallOptions(headers, deadline, cancellationToken)); } - public AsyncDuplexStreamingCall<global::Math.DivArgs, global::Math.DivReply> DivMany(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual global::Math.DivReply Div(global::Math.DivArgs request, CallOptions options) { - var call = CreateCall(__Method_DivMany, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncDuplexStreamingCall(call); + return CallInvoker.BlockingUnaryCall(__Method_Div, null, options, request); } - public AsyncDuplexStreamingCall<global::Math.DivArgs, global::Math.DivReply> DivMany(CallOptions options) + public virtual AsyncUnaryCall<global::Math.DivReply> DivAsync(global::Math.DivArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_DivMany, options); - return Calls.AsyncDuplexStreamingCall(call); + return DivAsync(request, new CallOptions(headers, deadline, cancellationToken)); } - public AsyncServerStreamingCall<global::Math.Num> Fib(global::Math.FibArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncUnaryCall<global::Math.DivReply> DivAsync(global::Math.DivArgs request, CallOptions options) { - var call = CreateCall(__Method_Fib, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncServerStreamingCall(call, request); + return CallInvoker.AsyncUnaryCall(__Method_Div, null, options, request); } - public AsyncServerStreamingCall<global::Math.Num> Fib(global::Math.FibArgs request, CallOptions options) + public virtual AsyncDuplexStreamingCall<global::Math.DivArgs, global::Math.DivReply> DivMany(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_Fib, options); - return Calls.AsyncServerStreamingCall(call, request); + return DivMany(new CallOptions(headers, deadline, cancellationToken)); } - public AsyncClientStreamingCall<global::Math.Num, global::Math.Num> Sum(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncDuplexStreamingCall<global::Math.DivArgs, global::Math.DivReply> DivMany(CallOptions options) { - var call = CreateCall(__Method_Sum, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncClientStreamingCall(call); + return CallInvoker.AsyncDuplexStreamingCall(__Method_DivMany, null, options); } - public AsyncClientStreamingCall<global::Math.Num, global::Math.Num> Sum(CallOptions options) + public virtual AsyncServerStreamingCall<global::Math.Num> Fib(global::Math.FibArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_Sum, options); - return Calls.AsyncClientStreamingCall(call); + return Fib(request, new CallOptions(headers, deadline, cancellationToken)); + } + public virtual AsyncServerStreamingCall<global::Math.Num> Fib(global::Math.FibArgs request, CallOptions options) + { + return CallInvoker.AsyncServerStreamingCall(__Method_Fib, null, options, request); + } + public virtual AsyncClientStreamingCall<global::Math.Num, global::Math.Num> Sum(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + { + return Sum(new CallOptions(headers, deadline, cancellationToken)); + } + public virtual AsyncClientStreamingCall<global::Math.Num, global::Math.Num> Sum(CallOptions options) + { + return CallInvoker.AsyncClientStreamingCall(__Method_Sum, null, options); + } + protected override MathClient NewInstance(ClientBaseConfiguration configuration) + { + return new MathClient(configuration); } } @@ -143,6 +176,16 @@ namespace Math { .AddMethod(__Method_Sum, serviceImpl.Sum).Build(); } + // creates service definition that can be registered with a server + public static ServerServiceDefinition BindService(MathBase serviceImpl) + { + return ServerServiceDefinition.CreateBuilder(__ServiceName) + .AddMethod(__Method_Div, serviceImpl.Div) + .AddMethod(__Method_DivMany, serviceImpl.DivMany) + .AddMethod(__Method_Fib, serviceImpl.Fib) + .AddMethod(__Method_Sum, serviceImpl.Sum).Build(); + } + // creates a new client public static MathClient NewClient(Channel channel) { diff --git a/src/csharp/Grpc.Examples/MathServiceImpl.cs b/src/csharp/Grpc.Examples/MathServiceImpl.cs index 71dc655e46d12584a7642d89e872095cb2503665..79c56e57a85a220cb6d833f552134f361e2ab6d9 100644 --- a/src/csharp/Grpc.Examples/MathServiceImpl.cs +++ b/src/csharp/Grpc.Examples/MathServiceImpl.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015, Google Inc. +// Copyright 2015-2016, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -43,14 +43,14 @@ namespace Math /// <summary> /// Implementation of MathService server /// </summary> - public class MathServiceImpl : Math.IMath + public class MathServiceImpl : Math.MathBase { - public Task<DivReply> Div(DivArgs request, ServerCallContext context) + public override Task<DivReply> Div(DivArgs request, ServerCallContext context) { return Task.FromResult(DivInternal(request)); } - public async Task Fib(FibArgs request, IServerStreamWriter<Num> responseStream, ServerCallContext context) + public override async Task Fib(FibArgs request, IServerStreamWriter<Num> responseStream, ServerCallContext context) { if (request.Limit <= 0) { @@ -72,7 +72,7 @@ namespace Math } } - public async Task<Num> Sum(IAsyncStreamReader<Num> requestStream, ServerCallContext context) + public override async Task<Num> Sum(IAsyncStreamReader<Num> requestStream, ServerCallContext context) { long sum = 0; await requestStream.ForEachAsync(async num => @@ -82,7 +82,7 @@ namespace Math return new Num { Num_ = sum }; } - public async Task DivMany(IAsyncStreamReader<DivArgs> requestStream, IServerStreamWriter<DivReply> responseStream, ServerCallContext context) + public override async Task DivMany(IAsyncStreamReader<DivArgs> requestStream, IServerStreamWriter<DivReply> responseStream, ServerCallContext context) { await requestStream.ForEachAsync(async divArgs => await responseStream.WriteAsync(DivInternal(divArgs))); } diff --git a/src/csharp/Grpc.HealthCheck.Tests/HealthClientServerTest.cs b/src/csharp/Grpc.HealthCheck.Tests/HealthClientServerTest.cs index c3fac05324c8245694c425eb88cab306dcc7f641..fb292945a6e626f594e3b873ac3bf0bbc6ecf3d7 100644 --- a/src/csharp/Grpc.HealthCheck.Tests/HealthClientServerTest.cs +++ b/src/csharp/Grpc.HealthCheck.Tests/HealthClientServerTest.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -49,7 +49,7 @@ namespace Grpc.HealthCheck.Tests const string Host = "localhost"; Server server; Channel channel; - Grpc.Health.V1.Health.IHealthClient client; + Grpc.Health.V1.Health.HealthClient client; Grpc.HealthCheck.HealthServiceImpl serviceImpl; [TestFixtureSetUp] diff --git a/src/csharp/Grpc.HealthCheck.Tests/HealthServiceImplTest.cs b/src/csharp/Grpc.HealthCheck.Tests/HealthServiceImplTest.cs index 47e4b7c2a70194bb84232f42db9588756c6dffca..a4b79e3a7d61a3f9499d02836544ca495efbe5ae 100644 --- a/src/csharp/Grpc.HealthCheck.Tests/HealthServiceImplTest.cs +++ b/src/csharp/Grpc.HealthCheck.Tests/HealthServiceImplTest.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.HealthCheck/HealthGrpc.cs b/src/csharp/Grpc.HealthCheck/HealthGrpc.cs index 68320eb5c2effa410693eec82851005105a854b7..72e11cca3a1d4b3709a500fa2320036a22ab5f78 100644 --- a/src/csharp/Grpc.HealthCheck/HealthGrpc.cs +++ b/src/csharp/Grpc.HealthCheck/HealthGrpc.cs @@ -29,6 +29,7 @@ namespace Grpc.Health.V1 { } // client interface + [System.Obsolete("Client side interfaced will be removed in the next release. Use client class directly.")] public interface IHealthClient { global::Grpc.Health.V1.HealthCheckResponse Check(global::Grpc.Health.V1.HealthCheckRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)); @@ -38,36 +39,59 @@ namespace Grpc.Health.V1 { } // server-side interface + [System.Obsolete("Service implementations should inherit from the generated abstract base class instead.")] public interface IHealth { Task<global::Grpc.Health.V1.HealthCheckResponse> Check(global::Grpc.Health.V1.HealthCheckRequest request, ServerCallContext context); } + // server-side abstract class + public abstract class HealthBase + { + public virtual Task<global::Grpc.Health.V1.HealthCheckResponse> Check(global::Grpc.Health.V1.HealthCheckRequest request, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + } + // client stub - public class HealthClient : ClientBase, IHealthClient + public class HealthClient : ClientBase<HealthClient>, IHealthClient { public HealthClient(Channel channel) : base(channel) { } - public global::Grpc.Health.V1.HealthCheckResponse Check(global::Grpc.Health.V1.HealthCheckRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public HealthClient(CallInvoker callInvoker) : base(callInvoker) { - var call = CreateCall(__Method_Check, new CallOptions(headers, deadline, cancellationToken)); - return Calls.BlockingUnaryCall(call, request); } - public global::Grpc.Health.V1.HealthCheckResponse Check(global::Grpc.Health.V1.HealthCheckRequest request, CallOptions options) + ///<summary>Protected parameterless constructor to allow creation of test doubles.</summary> + protected HealthClient() : base() + { + } + ///<summary>Protected constructor to allow creation of configured clients.</summary> + protected HealthClient(ClientBaseConfiguration configuration) : base(configuration) + { + } + + public virtual global::Grpc.Health.V1.HealthCheckResponse Check(global::Grpc.Health.V1.HealthCheckRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_Check, options); - return Calls.BlockingUnaryCall(call, request); + return Check(request, new CallOptions(headers, deadline, cancellationToken)); } - public AsyncUnaryCall<global::Grpc.Health.V1.HealthCheckResponse> CheckAsync(global::Grpc.Health.V1.HealthCheckRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual global::Grpc.Health.V1.HealthCheckResponse Check(global::Grpc.Health.V1.HealthCheckRequest request, CallOptions options) { - var call = CreateCall(__Method_Check, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncUnaryCall(call, request); + return CallInvoker.BlockingUnaryCall(__Method_Check, null, options, request); } - public AsyncUnaryCall<global::Grpc.Health.V1.HealthCheckResponse> CheckAsync(global::Grpc.Health.V1.HealthCheckRequest request, CallOptions options) + public virtual AsyncUnaryCall<global::Grpc.Health.V1.HealthCheckResponse> CheckAsync(global::Grpc.Health.V1.HealthCheckRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_Check, options); - return Calls.AsyncUnaryCall(call, request); + return CheckAsync(request, new CallOptions(headers, deadline, cancellationToken)); + } + public virtual AsyncUnaryCall<global::Grpc.Health.V1.HealthCheckResponse> CheckAsync(global::Grpc.Health.V1.HealthCheckRequest request, CallOptions options) + { + return CallInvoker.AsyncUnaryCall(__Method_Check, null, options, request); + } + protected override HealthClient NewInstance(ClientBaseConfiguration configuration) + { + return new HealthClient(configuration); } } @@ -78,6 +102,13 @@ namespace Grpc.Health.V1 { .AddMethod(__Method_Check, serviceImpl.Check).Build(); } + // creates service definition that can be registered with a server + public static ServerServiceDefinition BindService(HealthBase serviceImpl) + { + return ServerServiceDefinition.CreateBuilder(__ServiceName) + .AddMethod(__Method_Check, serviceImpl.Check).Build(); + } + // creates a new client public static HealthClient NewClient(Channel channel) { diff --git a/src/csharp/Grpc.HealthCheck/HealthServiceImpl.cs b/src/csharp/Grpc.HealthCheck/HealthServiceImpl.cs index 21482b302b4dcc1659e5ea33cb2d08e52f0e1412..d0406ece00616ca308ac7865c37125aa83240983 100644 --- a/src/csharp/Grpc.HealthCheck/HealthServiceImpl.cs +++ b/src/csharp/Grpc.HealthCheck/HealthServiceImpl.cs @@ -1,5 +1,5 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -51,7 +51,7 @@ namespace Grpc.HealthCheck /// server.AddServiceDefinition(Grpc.Health.V1.Health.BindService(serviceImpl)); /// </code> /// </summary> - public class HealthServiceImpl : Grpc.Health.V1.Health.IHealth + public class HealthServiceImpl : Grpc.Health.V1.Health.HealthBase { private readonly object myLock = new object(); private readonly Dictionary<string, HealthCheckResponse.Types.ServingStatus> statusMap = @@ -99,7 +99,7 @@ namespace Grpc.HealthCheck /// <param name="request">The check request.</param> /// <param name="context">The call context.</param> /// <returns>The asynchronous response.</returns> - public Task<HealthCheckResponse> Check(HealthCheckRequest request, ServerCallContext context) + public override Task<HealthCheckResponse> Check(HealthCheckRequest request, ServerCallContext context) { lock (myLock) { diff --git a/src/csharp/Grpc.IntegrationTesting.Client/Grpc.IntegrationTesting.Client.csproj b/src/csharp/Grpc.IntegrationTesting.Client/Grpc.IntegrationTesting.Client.csproj index f37c1464c3dd4c0a709aefd256e1570e55bf5766..339a754c02cefd8fb47af638ee1f3e0ea8a884bf 100644 --- a/src/csharp/Grpc.IntegrationTesting.Client/Grpc.IntegrationTesting.Client.csproj +++ b/src/csharp/Grpc.IntegrationTesting.Client/Grpc.IntegrationTesting.Client.csproj @@ -9,7 +9,7 @@ <AssemblyName>Grpc.IntegrationTesting.Client</AssemblyName> <StartupObject>Grpc.IntegrationTesting.Client.Program</StartupObject> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <NuGetPackageImportStamp>6d22e68f</NuGetPackageImportStamp> + <NuGetPackageImportStamp>dfa56e6c</NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -43,28 +43,17 @@ <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\BouncyCastle.1.7.0\lib\Net40-Client\BouncyCastle.Crypto.dll</HintPath> </Reference> - <Reference Include="Google.Apis.Auth, Version=1.10.0.25333, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <Reference Include="Google.Apis.Auth, Version=1.11.1.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Apis.Auth.1.10.0\lib\net40\Google.Apis.Auth.dll</HintPath> + <HintPath>..\packages\Google.Apis.Auth.1.11.1\lib\net45\Google.Apis.Auth.dll</HintPath> </Reference> - <Reference Include="Google.Apis.Auth.PlatformServices, Version=1.10.0.25333, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <Reference Include="Google.Apis.Auth.PlatformServices, Version=1.11.1.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Apis.Auth.1.10.0\lib\net40\Google.Apis.Auth.PlatformServices.dll</HintPath> + <HintPath>..\packages\Google.Apis.Auth.1.11.1\lib\net45\Google.Apis.Auth.PlatformServices.dll</HintPath> </Reference> - <Reference Include="Google.Apis.Core, Version=1.10.0.25331, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <Reference Include="Google.Apis.Core, Version=1.11.1.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Apis.Core.1.10.0\lib\portable-net40+sl50+win+wpa81+wp80\Google.Apis.Core.dll</HintPath> - </Reference> - <Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath> - </Reference> - <Reference Include="Microsoft.Threading.Tasks.Extensions"> - <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath> - </Reference> - <Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath> + <HintPath>..\packages\Google.Apis.Core.1.11.1\lib\net45\Google.Apis.Core.dll</HintPath> </Reference> <Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> @@ -73,12 +62,6 @@ <Reference Include="System" /> <Reference Include="System.Net" /> <Reference Include="System.Net.Http" /> - <Reference Include="System.Net.Http.Extensions"> - <HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll</HintPath> - </Reference> - <Reference Include="System.Net.Http.Primitives"> - <HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll</HintPath> - </Reference> <Reference Include="System.Net.Http.WebRequest" /> </ItemGroup> <ItemGroup> @@ -100,14 +83,6 @@ </ProjectReference> </ItemGroup> <ItemGroup> - <None Include="app.config" /> <None Include="packages.config" /> </ItemGroup> - <Import Project="..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" /> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - <Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" /> - </Target> </Project> \ No newline at end of file diff --git a/src/csharp/Grpc.IntegrationTesting.Client/app.config b/src/csharp/Grpc.IntegrationTesting.Client/app.config deleted file mode 100644 index 84d7534d650c51f8e2e4e0049dccab26d725c90f..0000000000000000000000000000000000000000 --- a/src/csharp/Grpc.IntegrationTesting.Client/app.config +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<configuration> - <runtime> - <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> - <dependentAssembly> - <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-4.2.28.0" newVersion="4.0.0.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="Google.Apis.Core" publicKeyToken="4b01fa6e34db77ab" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.9.2.38523" newVersion="1.9.2.38523" /> - </dependentAssembly> - </assemblyBinding> - </runtime> -</configuration> \ No newline at end of file diff --git a/src/csharp/Grpc.IntegrationTesting.Client/packages.config b/src/csharp/Grpc.IntegrationTesting.Client/packages.config index 5fe8ca616c7a022d609eff47fb27810b39e88a37..c20d9ceed6a180a50151be916f2c4d12628dc1bf 100644 --- a/src/csharp/Grpc.IntegrationTesting.Client/packages.config +++ b/src/csharp/Grpc.IntegrationTesting.Client/packages.config @@ -1,11 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="BouncyCastle" version="1.7.0" targetFramework="net45" /> - <package id="Google.Apis.Auth" version="1.10.0" targetFramework="net45" /> - <package id="Google.Apis.Core" version="1.10.0" targetFramework="net45" /> - <package id="Microsoft.Bcl" version="1.1.10" targetFramework="net45" /> - <package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net45" /> - <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net45" /> - <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net45" /> + <package id="Google.Apis.Auth" version="1.11.1" targetFramework="net45" /> + <package id="Google.Apis.Core" version="1.11.1" targetFramework="net45" /> <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/src/csharp/Grpc.IntegrationTesting.QpsWorker/app.config b/src/csharp/Grpc.IntegrationTesting.QpsWorker/app.config index 940d25cae38fd70a3f661caa034b4e1ef7f8c54d..e204447bb349a84b275013dea0707aea84300fcc 100644 --- a/src/csharp/Grpc.IntegrationTesting.QpsWorker/app.config +++ b/src/csharp/Grpc.IntegrationTesting.QpsWorker/app.config @@ -6,6 +6,10 @@ <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" /> </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="Google.Apis.Core" publicKeyToken="4b01fa6e34db77ab" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.11.1.0" newVersion="1.11.1.0" /> + </dependentAssembly> </assemblyBinding> </runtime> </configuration> \ No newline at end of file diff --git a/src/csharp/Grpc.IntegrationTesting.Server/Grpc.IntegrationTesting.Server.csproj b/src/csharp/Grpc.IntegrationTesting.Server/Grpc.IntegrationTesting.Server.csproj index f27b96a53f9c867f7ece49b6bd32462133f9828b..27a5650308698ccbd5e39cef15212ebc5a5336f3 100644 --- a/src/csharp/Grpc.IntegrationTesting.Server/Grpc.IntegrationTesting.Server.csproj +++ b/src/csharp/Grpc.IntegrationTesting.Server/Grpc.IntegrationTesting.Server.csproj @@ -9,7 +9,7 @@ <AssemblyName>Grpc.IntegrationTesting.Server</AssemblyName> <StartupObject>Grpc.IntegrationTesting.Server.Program</StartupObject> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <NuGetPackageImportStamp>d9ee8e52</NuGetPackageImportStamp> + <NuGetPackageImportStamp>7ceb739e</NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -43,28 +43,17 @@ <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\BouncyCastle.1.7.0\lib\Net40-Client\BouncyCastle.Crypto.dll</HintPath> </Reference> - <Reference Include="Google.Apis.Auth, Version=1.10.0.25333, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <Reference Include="Google.Apis.Auth, Version=1.11.1.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Apis.Auth.1.10.0\lib\net40\Google.Apis.Auth.dll</HintPath> + <HintPath>..\packages\Google.Apis.Auth.1.11.1\lib\net45\Google.Apis.Auth.dll</HintPath> </Reference> - <Reference Include="Google.Apis.Auth.PlatformServices, Version=1.10.0.25333, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <Reference Include="Google.Apis.Auth.PlatformServices, Version=1.11.1.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Apis.Auth.1.10.0\lib\net40\Google.Apis.Auth.PlatformServices.dll</HintPath> + <HintPath>..\packages\Google.Apis.Auth.1.11.1\lib\net45\Google.Apis.Auth.PlatformServices.dll</HintPath> </Reference> - <Reference Include="Google.Apis.Core, Version=1.10.0.25331, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <Reference Include="Google.Apis.Core, Version=1.11.1.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Apis.Core.1.10.0\lib\portable-net40+sl50+win+wpa81+wp80\Google.Apis.Core.dll</HintPath> - </Reference> - <Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath> - </Reference> - <Reference Include="Microsoft.Threading.Tasks.Extensions"> - <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath> - </Reference> - <Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath> + <HintPath>..\packages\Google.Apis.Core.1.11.1\lib\net45\Google.Apis.Core.dll</HintPath> </Reference> <Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> @@ -73,12 +62,6 @@ <Reference Include="System" /> <Reference Include="System.Net" /> <Reference Include="System.Net.Http" /> - <Reference Include="System.Net.Http.Extensions"> - <HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll</HintPath> - </Reference> - <Reference Include="System.Net.Http.Primitives"> - <HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll</HintPath> - </Reference> <Reference Include="System.Net.Http.WebRequest" /> </ItemGroup> <ItemGroup> @@ -100,14 +83,6 @@ </ProjectReference> </ItemGroup> <ItemGroup> - <None Include="app.config" /> <None Include="packages.config" /> </ItemGroup> - <Import Project="..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" /> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - <Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" /> - </Target> </Project> \ No newline at end of file diff --git a/src/csharp/Grpc.IntegrationTesting.Server/app.config b/src/csharp/Grpc.IntegrationTesting.Server/app.config deleted file mode 100644 index 84d7534d650c51f8e2e4e0049dccab26d725c90f..0000000000000000000000000000000000000000 --- a/src/csharp/Grpc.IntegrationTesting.Server/app.config +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<configuration> - <runtime> - <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> - <dependentAssembly> - <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-4.2.28.0" newVersion="4.0.0.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="Google.Apis.Core" publicKeyToken="4b01fa6e34db77ab" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.9.2.38523" newVersion="1.9.2.38523" /> - </dependentAssembly> - </assemblyBinding> - </runtime> -</configuration> \ No newline at end of file diff --git a/src/csharp/Grpc.IntegrationTesting.Server/packages.config b/src/csharp/Grpc.IntegrationTesting.Server/packages.config index 5fe8ca616c7a022d609eff47fb27810b39e88a37..c20d9ceed6a180a50151be916f2c4d12628dc1bf 100644 --- a/src/csharp/Grpc.IntegrationTesting.Server/packages.config +++ b/src/csharp/Grpc.IntegrationTesting.Server/packages.config @@ -1,11 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="BouncyCastle" version="1.7.0" targetFramework="net45" /> - <package id="Google.Apis.Auth" version="1.10.0" targetFramework="net45" /> - <package id="Google.Apis.Core" version="1.10.0" targetFramework="net45" /> - <package id="Microsoft.Bcl" version="1.1.10" targetFramework="net45" /> - <package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net45" /> - <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net45" /> - <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net45" /> + <package id="Google.Apis.Auth" version="1.11.1" targetFramework="net45" /> + <package id="Google.Apis.Core" version="1.11.1" targetFramework="net45" /> <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/src/csharp/Grpc.IntegrationTesting/BenchmarkServiceImpl.cs b/src/csharp/Grpc.IntegrationTesting/BenchmarkServiceImpl.cs index 1edeedae2fa1555a50d40029704b296204b171cd..07f2703d4a4ee06427032c257de331915e8326fb 100644 --- a/src/csharp/Grpc.IntegrationTesting/BenchmarkServiceImpl.cs +++ b/src/csharp/Grpc.IntegrationTesting/BenchmarkServiceImpl.cs @@ -44,19 +44,19 @@ namespace Grpc.Testing /// <summary> /// Implementation of BenchmarkService server /// </summary> - public class BenchmarkServiceImpl : BenchmarkService.IBenchmarkService + public class BenchmarkServiceImpl : BenchmarkService.BenchmarkServiceBase { public BenchmarkServiceImpl() { } - public Task<SimpleResponse> UnaryCall(SimpleRequest request, ServerCallContext context) + public override Task<SimpleResponse> UnaryCall(SimpleRequest request, ServerCallContext context) { var response = new SimpleResponse { Payload = CreateZerosPayload(request.ResponseSize) }; return Task.FromResult(response); } - public async Task StreamingCall(IAsyncStreamReader<SimpleRequest> requestStream, IServerStreamWriter<SimpleResponse> responseStream, ServerCallContext context) + public override async Task StreamingCall(IAsyncStreamReader<SimpleRequest> requestStream, IServerStreamWriter<SimpleResponse> responseStream, ServerCallContext context) { await requestStream.ForEachAsync(async request => { diff --git a/src/csharp/Grpc.IntegrationTesting/ClientRunners.cs b/src/csharp/Grpc.IntegrationTesting/ClientRunners.cs index e6dc2321c4c8c27542e0c623296b07d8a1da7abf..f954ca5f34c07bb73ee928a7ef51282cc3a48578 100644 --- a/src/csharp/Grpc.IntegrationTesting/ClientRunners.cs +++ b/src/csharp/Grpc.IntegrationTesting/ClientRunners.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -61,15 +61,7 @@ namespace Grpc.IntegrationTesting public static IClientRunner CreateStarted(ClientConfig config) { Logger.Debug("ClientConfig: {0}", config); - string target = config.ServerTargets.Single(); - GrpcPreconditions.CheckArgument(config.LoadParams.LoadCase == LoadParams.LoadOneofCase.ClosedLoop, - "Only closed loop scenario supported for C#"); - GrpcPreconditions.CheckArgument(config.ClientChannels == 1, "ClientConfig.ClientChannels needs to be 1"); - if (config.OutstandingRpcsPerChannel != 0) - { - Logger.Warning("ClientConfig.OutstandingRpcsPerChannel is not supported for C#. Ignoring the value"); - } if (config.AsyncClientThreads != 0) { Logger.Warning("ClientConfig.AsyncClientThreads is not supported for C#. Ignoring the value"); @@ -83,22 +75,40 @@ namespace Grpc.IntegrationTesting Logger.Warning("ClientConfig.CoreList is not supported for C#. Ignoring the value"); } - var credentials = config.SecurityParams != null ? TestCredentials.CreateSslCredentials() : ChannelCredentials.Insecure; + var channels = CreateChannels(config.ClientChannels, config.ServerTargets, config.SecurityParams); + + return new ClientRunnerImpl(channels, + config.ClientType, + config.RpcType, + config.OutstandingRpcsPerChannel, + config.LoadParams, + config.PayloadConfig, + config.HistogramParams); + } + + private static List<Channel> CreateChannels(int clientChannels, IEnumerable<string> serverTargets, SecurityParams securityParams) + { + GrpcPreconditions.CheckArgument(clientChannels > 0, "clientChannels needs to be at least 1."); + GrpcPreconditions.CheckArgument(serverTargets.Count() > 0, "at least one serverTarget needs to be specified."); + + var credentials = securityParams != null ? TestCredentials.CreateSslCredentials() : ChannelCredentials.Insecure; List<ChannelOption> channelOptions = null; - if (config.SecurityParams != null && config.SecurityParams.ServerHostOverride != "") + if (securityParams != null && securityParams.ServerHostOverride != "") { channelOptions = new List<ChannelOption> { - new ChannelOption(ChannelOptions.SslTargetNameOverride, config.SecurityParams.ServerHostOverride) + new ChannelOption(ChannelOptions.SslTargetNameOverride, securityParams.ServerHostOverride) }; } - var channel = new Channel(target, credentials, channelOptions); - return new ClientRunnerImpl(channel, - config.ClientType, - config.RpcType, - config.PayloadConfig, - config.HistogramParams); + var result = new List<Channel>(); + for (int i = 0; i < clientChannels; i++) + { + var target = serverTargets.ElementAt(i % serverTargets.Count()); + var channel = new Channel(target, credentials, channelOptions); + result.Add(channel); + } + return result; } } @@ -106,30 +116,35 @@ namespace Grpc.IntegrationTesting { const double SecondsToNanos = 1e9; - readonly Channel channel; + readonly List<Channel> channels; readonly ClientType clientType; readonly RpcType rpcType; readonly PayloadConfig payloadConfig; readonly Histogram histogram; - readonly BenchmarkService.IBenchmarkServiceClient client; - readonly Task runnerTask; - readonly CancellationTokenSource stoppedCts; + readonly List<Task> runnerTasks; + readonly CancellationTokenSource stoppedCts = new CancellationTokenSource(); readonly WallClockStopwatch wallClockStopwatch = new WallClockStopwatch(); - public ClientRunnerImpl(Channel channel, ClientType clientType, RpcType rpcType, PayloadConfig payloadConfig, HistogramParams histogramParams) + public ClientRunnerImpl(List<Channel> channels, ClientType clientType, RpcType rpcType, int outstandingRpcsPerChannel, LoadParams loadParams, PayloadConfig payloadConfig, HistogramParams histogramParams) { - this.channel = GrpcPreconditions.CheckNotNull(channel); + GrpcPreconditions.CheckArgument(outstandingRpcsPerChannel > 0, "outstandingRpcsPerChannel"); + this.channels = new List<Channel>(channels); this.clientType = clientType; this.rpcType = rpcType; this.payloadConfig = payloadConfig; this.histogram = new Histogram(histogramParams.Resolution, histogramParams.MaxPossible); - this.stoppedCts = new CancellationTokenSource(); - this.client = BenchmarkService.NewClient(channel); - - var threadBody = GetThreadBody(); - this.runnerTask = Task.Factory.StartNew(threadBody, TaskCreationOptions.LongRunning); + this.runnerTasks = new List<Task>(); + foreach (var channel in this.channels) + { + for (int i = 0; i < outstandingRpcsPerChannel; i++) + { + var timer = CreateTimer(loadParams, 1.0 / this.channels.Count / outstandingRpcsPerChannel); + var threadBody = GetThreadBody(channel, timer); + this.runnerTasks.Add(Task.Factory.StartNew(threadBody, TaskCreationOptions.LongRunning)); + } + } } public ClientStats GetStats(bool reset) @@ -150,12 +165,19 @@ namespace Grpc.IntegrationTesting public async Task StopAsync() { stoppedCts.Cancel(); - await runnerTask; - await channel.ShutdownAsync(); + foreach (var runnerTask in runnerTasks) + { + await runnerTask; + } + foreach (var channel in channels) + { + await channel.ShutdownAsync(); + } } - private void RunClosedLoopUnary() + private void RunUnary(Channel channel, IInterarrivalTimer timer) { + var client = BenchmarkService.NewClient(channel); var request = CreateSimpleRequest(); var stopwatch = new Stopwatch(); @@ -167,11 +189,14 @@ namespace Grpc.IntegrationTesting // spec requires data point in nanoseconds. histogram.AddObservation(stopwatch.Elapsed.TotalSeconds * SecondsToNanos); + + timer.WaitForNext(); } } - private async Task RunClosedLoopUnaryAsync() + private async Task RunUnaryAsync(Channel channel, IInterarrivalTimer timer) { + var client = BenchmarkService.NewClient(channel); var request = CreateSimpleRequest(); var stopwatch = new Stopwatch(); @@ -183,11 +208,14 @@ namespace Grpc.IntegrationTesting // spec requires data point in nanoseconds. histogram.AddObservation(stopwatch.Elapsed.TotalSeconds * SecondsToNanos); + + await timer.WaitForNextAsync(); } } - private async Task RunClosedLoopStreamingAsync() + private async Task RunStreamingPingPongAsync(Channel channel, IInterarrivalTimer timer) { + var client = BenchmarkService.NewClient(channel); var request = CreateSimpleRequest(); var stopwatch = new Stopwatch(); @@ -202,6 +230,8 @@ namespace Grpc.IntegrationTesting // spec requires data point in nanoseconds. histogram.AddObservation(stopwatch.Elapsed.TotalSeconds * SecondsToNanos); + + await timer.WaitForNextAsync(); } // finish the streaming call @@ -210,7 +240,7 @@ namespace Grpc.IntegrationTesting } } - private async Task RunGenericClosedLoopStreamingAsync() + private async Task RunGenericStreamingAsync(Channel channel, IInterarrivalTimer timer) { var request = CreateByteBufferRequest(); var stopwatch = new Stopwatch(); @@ -228,6 +258,8 @@ namespace Grpc.IntegrationTesting // spec requires data point in nanoseconds. histogram.AddObservation(stopwatch.Elapsed.TotalSeconds * SecondsToNanos); + + await timer.WaitForNextAsync(); } // finish the streaming call @@ -236,7 +268,7 @@ namespace Grpc.IntegrationTesting } } - private Action GetThreadBody() + private Action GetThreadBody(Channel channel, IInterarrivalTimer timer) { if (payloadConfig.PayloadCase == PayloadConfig.PayloadOneofCase.BytebufParams) { @@ -244,7 +276,7 @@ namespace Grpc.IntegrationTesting GrpcPreconditions.CheckArgument(rpcType == RpcType.STREAMING, "Generic client only supports streaming calls"); return () => { - RunGenericClosedLoopStreamingAsync().Wait(); + RunGenericStreamingAsync(channel, timer).Wait(); }; } @@ -252,7 +284,7 @@ namespace Grpc.IntegrationTesting if (clientType == ClientType.SYNC_CLIENT) { GrpcPreconditions.CheckArgument(rpcType == RpcType.UNARY, "Sync client can only be used for Unary calls in C#"); - return RunClosedLoopUnary; + return () => RunUnary(channel, timer); } else if (clientType == ClientType.ASYNC_CLIENT) { @@ -261,12 +293,12 @@ namespace Grpc.IntegrationTesting case RpcType.UNARY: return () => { - RunClosedLoopUnaryAsync().Wait(); + RunUnaryAsync(channel, timer).Wait(); }; case RpcType.STREAMING: return () => { - RunClosedLoopStreamingAsync().Wait(); + RunStreamingPingPongAsync(channel, timer).Wait(); }; } } @@ -292,5 +324,18 @@ namespace Grpc.IntegrationTesting { return new Payload { Body = ByteString.CopyFrom(new byte[size]) }; } + + private static IInterarrivalTimer CreateTimer(LoadParams loadParams, double loadMultiplier) + { + switch (loadParams.LoadCase) + { + case LoadParams.LoadOneofCase.ClosedLoop: + return new ClosedLoopInterarrivalTimer(); + case LoadParams.LoadOneofCase.Poisson: + return new PoissonInterarrivalTimer(loadParams.Poisson.OfferedLoad * loadMultiplier); + default: + throw new ArgumentException("Unknown load type"); + } + } } } diff --git a/src/csharp/Grpc.IntegrationTesting/GeneratedClientTest.cs b/src/csharp/Grpc.IntegrationTesting/GeneratedClientTest.cs new file mode 100644 index 0000000000000000000000000000000000000000..37786b6c30a79eb8be5eb2b969f0e0e672b01fb9 --- /dev/null +++ b/src/csharp/Grpc.IntegrationTesting/GeneratedClientTest.cs @@ -0,0 +1,106 @@ +#region Copyright notice and license + +// Copyright 2015-2016, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#endregion + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Grpc.Core; +using Grpc.Core.Utils; +using Grpc.Testing; +using Moq; +using NUnit.Framework; + +namespace Grpc.IntegrationTesting +{ + public class GeneratedClientTest + { + TestService.TestServiceClient unimplementedClient = new UnimplementedTestServiceClient(); + + [Test] + public void ExpandedParamOverloadCanBeMocked() + { + var expected = new SimpleResponse(); + + var mockClient = new Mock<TestService.TestServiceClient>(); + // mocking is relatively clumsy because one needs to specify value for all the optional params. + mockClient.Setup(m => m.UnaryCall(It.IsAny<SimpleRequest>(), null, null, CancellationToken.None)).Returns(expected); + + Assert.AreSame(expected, mockClient.Object.UnaryCall(new SimpleRequest())); + } + + [Test] + public void CallOptionsOverloadCanBeMocked() + { + var expected = new SimpleResponse(); + + var mockClient = new Mock<TestService.TestServiceClient>(); + mockClient.Setup(m => m.UnaryCall(It.IsAny<SimpleRequest>(), It.IsAny<CallOptions>())).Returns(expected); + + Assert.AreSame(expected, mockClient.Object.UnaryCall(new SimpleRequest(), new CallOptions())); + } + + [Test] + public void DefaultMethodStubThrows_UnaryCall() + { + Assert.Throws(typeof(NotImplementedException), () => unimplementedClient.UnaryCall(new SimpleRequest())); + } + + [Test] + public void DefaultMethodStubThrows_ClientStreaming() + { + Assert.Throws(typeof(NotImplementedException), () => unimplementedClient.StreamingInputCall()); + } + + [Test] + public void DefaultMethodStubThrows_ServerStreaming() + { + Assert.Throws(typeof(NotImplementedException), () => unimplementedClient.StreamingOutputCall(new StreamingOutputCallRequest())); + } + + [Test] + public void DefaultMethodStubThrows_DuplexStreaming() + { + Assert.Throws(typeof(NotImplementedException), () => unimplementedClient.FullDuplexCall()); + } + + /// <summary> + /// Subclass of the generated client that doesn't override any method stubs. + /// </summary> + private class UnimplementedTestServiceClient : TestService.TestServiceClient + { + } + } +} diff --git a/src/csharp/Grpc.IntegrationTesting/GeneratedServiceBaseTest.cs b/src/csharp/Grpc.IntegrationTesting/GeneratedServiceBaseTest.cs new file mode 100644 index 0000000000000000000000000000000000000000..99aa7290301ab221117e046048cb49e211133ac9 --- /dev/null +++ b/src/csharp/Grpc.IntegrationTesting/GeneratedServiceBaseTest.cs @@ -0,0 +1,116 @@ +#region Copyright notice and license + +// Copyright 2015-2016, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#endregion + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Grpc.Core; +using Grpc.Core.Utils; +using Grpc.Testing; +using Moq; +using NUnit.Framework; + +namespace Grpc.IntegrationTesting +{ + public class GeneratedServiceBaseTest + { + const string Host = "localhost"; + Server server; + Channel channel; + TestService.TestServiceClient client; + + [SetUp] + public void Init() + { + server = new Server + { + Services = { TestService.BindService(new UnimplementedTestServiceImpl()) }, + Ports = { { Host, ServerPort.PickUnused, SslServerCredentials.Insecure } } + }; + server.Start(); + channel = new Channel(Host, server.Ports.Single().BoundPort, ChannelCredentials.Insecure); + client = TestService.NewClient(channel); + } + + [TearDown] + public void Cleanup() + { + channel.ShutdownAsync().Wait(); + server.ShutdownAsync().Wait(); + } + + [Test] + public void UnimplementedByDefault_Unary() + { + var ex = Assert.Throws<RpcException>(() => client.UnaryCall(new SimpleRequest { })); + Assert.AreEqual(StatusCode.Unimplemented, ex.Status.StatusCode); + } + + [Test] + public async Task UnimplementedByDefault_ClientStreaming() + { + var call = client.StreamingInputCall(); + + var ex = Assert.Throws<RpcException>(async () => await call); + Assert.AreEqual(StatusCode.Unimplemented, ex.Status.StatusCode); + } + + [Test] + public async Task UnimplementedByDefault_ServerStreamingCall() + { + var call = client.StreamingOutputCall(new StreamingOutputCallRequest()); + + var ex = Assert.Throws<RpcException>(async () => await call.ResponseStream.MoveNext()); + Assert.AreEqual(StatusCode.Unimplemented, ex.Status.StatusCode); + } + + [Test] + public async Task UnimplementedByDefault_DuplexStreamingCall() + { + var call = client.FullDuplexCall(); + + var ex = Assert.Throws<RpcException>(async () => await call.ResponseStream.MoveNext()); + Assert.AreEqual(StatusCode.Unimplemented, ex.Status.StatusCode); + } + + /// <summary> + /// Implementation of TestService that doesn't override any methods. + /// </summary> + private class UnimplementedTestServiceImpl : TestService.TestServiceBase + { + } + } +} diff --git a/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj b/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj index 4c049944eaf9bf8e3a22a70d45c0454af167ac3e..7ea80b11f0d3012db100e38f4db2910f3fc81c03 100644 --- a/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj +++ b/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj @@ -8,7 +8,7 @@ <RootNamespace>Grpc.IntegrationTesting</RootNamespace> <AssemblyName>Grpc.IntegrationTesting</AssemblyName> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <NuGetPackageImportStamp>6566287f</NuGetPackageImportStamp> + <NuGetPackageImportStamp>3a1c655d</NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -38,20 +38,24 @@ <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> + <Reference Include="BouncyCastle.Crypto, Version=1.7.4137.9688, Culture=neutral, PublicKeyToken=a4292a325f69b123, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\packages\BouncyCastle.1.7.0\lib\Net40-Client\BouncyCastle.Crypto.dll</HintPath> + </Reference> <Reference Include="CommandLine"> <HintPath>..\packages\CommandLineParser.1.9.71\lib\net45\CommandLine.dll</HintPath> </Reference> - <Reference Include="Google.Apis.Auth, Version=1.10.0.25333, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <Reference Include="Google.Apis.Auth, Version=1.11.1.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Apis.Auth.1.10.0\lib\net40\Google.Apis.Auth.dll</HintPath> + <HintPath>..\packages\Google.Apis.Auth.1.11.1\lib\net45\Google.Apis.Auth.dll</HintPath> </Reference> - <Reference Include="Google.Apis.Auth.PlatformServices, Version=1.10.0.25333, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <Reference Include="Google.Apis.Auth.PlatformServices, Version=1.11.1.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Apis.Auth.1.10.0\lib\net40\Google.Apis.Auth.PlatformServices.dll</HintPath> + <HintPath>..\packages\Google.Apis.Auth.1.11.1\lib\net45\Google.Apis.Auth.PlatformServices.dll</HintPath> </Reference> - <Reference Include="Google.Apis.Core, Version=1.10.0.25331, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> + <Reference Include="Google.Apis.Core, Version=1.11.1.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Apis.Core.1.10.0\lib\portable-net40+sl50+win+wpa81+wp80\Google.Apis.Core.dll</HintPath> + <HintPath>..\packages\Google.Apis.Core.1.11.1\lib\net45\Google.Apis.Core.dll</HintPath> </Reference> <Reference Include="Google.Protobuf, Version=3.0.0.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> @@ -60,6 +64,10 @@ <Reference Include="Moq"> <HintPath>..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll</HintPath> </Reference> + <Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> + </Reference> <Reference Include="nunit.framework"> <HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath> </Reference> @@ -71,27 +79,11 @@ <Reference Include="System.Net" /> <Reference Include="System.Net.Http" /> <Reference Include="System.Net.Http.WebRequest" /> - <Reference Include="BouncyCastle.Crypto"> - <HintPath>..\packages\BouncyCastle.1.7.0\lib\Net40-Client\BouncyCastle.Crypto.dll</HintPath> - </Reference> - <Reference Include="Microsoft.Threading.Tasks"> - <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath> - </Reference> - <Reference Include="Microsoft.Threading.Tasks.Extensions"> - <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath> - </Reference> - <Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop"> - <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath> - </Reference> - <Reference Include="Newtonsoft.Json"> - <HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> - </Reference> </ItemGroup> <ItemGroup> <Compile Include="..\Grpc.Core\Version.cs"> <Link>Version.cs</Link> </Compile> - <Compile Include="HeaderInterceptorTest.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Empty.cs" /> <Compile Include="Messages.cs" /> @@ -121,6 +113,9 @@ <Compile Include="QpsWorker.cs" /> <Compile Include="WallClockStopwatch.cs" /> <Compile Include="GenericService.cs" /> + <Compile Include="GeneratedServiceBaseTest.cs" /> + <Compile Include="GeneratedClientTest.cs" /> + <Compile Include="InterarrivalTimers.cs" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <ItemGroup> @@ -134,8 +129,9 @@ </ProjectReference> </ItemGroup> <ItemGroup> - <None Include="app.config" /> - <None Include="packages.config" /> + <None Include="packages.config"> + <SubType>Designer</SubType> + </None> <None Include="data\README"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> @@ -152,11 +148,4 @@ <ItemGroup> <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> </ItemGroup> - <Import Project="..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" /> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - <Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" /> - </Target> </Project> \ No newline at end of file diff --git a/src/csharp/Grpc.IntegrationTesting/Histogram.cs b/src/csharp/Grpc.IntegrationTesting/Histogram.cs index 08a674d8178dc13e30bd49645c7757827b52325c..28d1f078a935d635adf551bbb97333939b4c4657 100644 --- a/src/csharp/Grpc.IntegrationTesting/Histogram.cs +++ b/src/csharp/Grpc.IntegrationTesting/Histogram.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.IntegrationTesting/InterarrivalTimers.cs b/src/csharp/Grpc.IntegrationTesting/InterarrivalTimers.cs new file mode 100644 index 0000000000000000000000000000000000000000..6492d34890da6239ceef8e99fdec3b28ec0aaff6 --- /dev/null +++ b/src/csharp/Grpc.IntegrationTesting/InterarrivalTimers.cs @@ -0,0 +1,148 @@ +#region Copyright notice and license + +// Copyright 2016, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#endregion + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Text.RegularExpressions; +using System.Threading; +using System.Threading.Tasks; +using Google.Protobuf; +using Grpc.Core; +using Grpc.Core.Utils; +using Grpc.Testing; + +namespace Grpc.IntegrationTesting +{ + public interface IInterarrivalTimer + { + void WaitForNext(); + + Task WaitForNextAsync(); + } + + /// <summary> + /// Interarrival timer that doesn't wait at all. + /// </summary> + public class ClosedLoopInterarrivalTimer : IInterarrivalTimer + { + public ClosedLoopInterarrivalTimer() + { + } + + public void WaitForNext() + { + // NOP + } + + public Task WaitForNextAsync() + { + return Task.FromResult<object>(null); + } + } + + /// <summary> + /// Interarrival timer that generates Poisson process load. + /// </summary> + public class PoissonInterarrivalTimer : IInterarrivalTimer + { + readonly ExponentialDistribution exponentialDistribution; + DateTime? lastEventTime; + + public PoissonInterarrivalTimer(double offeredLoad) + { + this.exponentialDistribution = new ExponentialDistribution(new Random(), offeredLoad); + this.lastEventTime = DateTime.UtcNow; + } + + public void WaitForNext() + { + var waitDuration = GetNextWaitDuration(); + int millisTimeout = (int) Math.Round(waitDuration.TotalMilliseconds); + if (millisTimeout > 0) + { + // TODO(jtattermusch): probably only works well for a relatively low interarrival rate + Thread.Sleep(millisTimeout); + } + } + + public async Task WaitForNextAsync() + { + var waitDuration = GetNextWaitDuration(); + int millisTimeout = (int) Math.Round(waitDuration.TotalMilliseconds); + if (millisTimeout > 0) + { + // TODO(jtattermusch): probably only works well for a relatively low interarrival rate + await Task.Delay(millisTimeout); + } + } + + private TimeSpan GetNextWaitDuration() + { + if (!lastEventTime.HasValue) + { + this.lastEventTime = DateTime.Now; + } + + var origLastEventTime = this.lastEventTime.Value; + this.lastEventTime = origLastEventTime + TimeSpan.FromSeconds(exponentialDistribution.Next()); + return this.lastEventTime.Value - origLastEventTime; + } + + /// <summary> + /// Exp generator. + /// </summary> + private class ExponentialDistribution + { + readonly Random random; + readonly double lambda; + readonly double lambdaReciprocal; + + public ExponentialDistribution(Random random, double lambda) + { + this.random = random; + this.lambda = lambda; + this.lambdaReciprocal = 1.0 / lambda; + } + + public double Next() + { + double uniform = random.NextDouble(); + // Use 1.0-uni above to avoid NaN if uni is 0 + return lambdaReciprocal * (-Math.Log(1.0 - uniform)); + } + } + } +} diff --git a/src/csharp/Grpc.IntegrationTesting/InteropClient.cs b/src/csharp/Grpc.IntegrationTesting/InteropClient.cs index b0e33e49f77eefabf6a80ada6e0b22e2ab6f2fae..7ca522193607b7b24f94454e90f3656b336af367 100644 --- a/src/csharp/Grpc.IntegrationTesting/InteropClient.cs +++ b/src/csharp/Grpc.IntegrationTesting/InteropClient.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015, Google Inc. +// Copyright 2015-2016, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -217,7 +217,7 @@ namespace Grpc.IntegrationTesting } } - public static void RunEmptyUnary(TestService.ITestServiceClient client) + public static void RunEmptyUnary(TestService.TestServiceClient client) { Console.WriteLine("running empty_unary"); var response = client.EmptyCall(new Empty()); @@ -225,7 +225,7 @@ namespace Grpc.IntegrationTesting Console.WriteLine("Passed!"); } - public static void RunLargeUnary(TestService.ITestServiceClient client) + public static void RunLargeUnary(TestService.TestServiceClient client) { Console.WriteLine("running large_unary"); var request = new SimpleRequest @@ -241,7 +241,7 @@ namespace Grpc.IntegrationTesting Console.WriteLine("Passed!"); } - public static async Task RunClientStreamingAsync(TestService.ITestServiceClient client) + public static async Task RunClientStreamingAsync(TestService.TestServiceClient client) { Console.WriteLine("running client_streaming"); @@ -257,7 +257,7 @@ namespace Grpc.IntegrationTesting Console.WriteLine("Passed!"); } - public static async Task RunServerStreamingAsync(TestService.ITestServiceClient client) + public static async Task RunServerStreamingAsync(TestService.TestServiceClient client) { Console.WriteLine("running server_streaming"); @@ -281,7 +281,7 @@ namespace Grpc.IntegrationTesting Console.WriteLine("Passed!"); } - public static async Task RunPingPongAsync(TestService.ITestServiceClient client) + public static async Task RunPingPongAsync(TestService.TestServiceClient client) { Console.WriteLine("running ping_pong"); @@ -338,7 +338,7 @@ namespace Grpc.IntegrationTesting Console.WriteLine("Passed!"); } - public static async Task RunEmptyStreamAsync(TestService.ITestServiceClient client) + public static async Task RunEmptyStreamAsync(TestService.TestServiceClient client) { Console.WriteLine("running empty_stream"); using (var call = client.FullDuplexCall()) @@ -434,7 +434,7 @@ namespace Grpc.IntegrationTesting Console.WriteLine("Passed!"); } - public static async Task RunCancelAfterBeginAsync(TestService.ITestServiceClient client) + public static async Task RunCancelAfterBeginAsync(TestService.TestServiceClient client) { Console.WriteLine("running cancel_after_begin"); @@ -451,7 +451,7 @@ namespace Grpc.IntegrationTesting Console.WriteLine("Passed!"); } - public static async Task RunCancelAfterFirstResponseAsync(TestService.ITestServiceClient client) + public static async Task RunCancelAfterFirstResponseAsync(TestService.TestServiceClient client) { Console.WriteLine("running cancel_after_first_response"); @@ -477,7 +477,7 @@ namespace Grpc.IntegrationTesting Console.WriteLine("Passed!"); } - public static async Task RunTimeoutOnSleepingServerAsync(TestService.ITestServiceClient client) + public static async Task RunTimeoutOnSleepingServerAsync(TestService.TestServiceClient client) { Console.WriteLine("running timeout_on_sleeping_server"); @@ -499,7 +499,7 @@ namespace Grpc.IntegrationTesting Console.WriteLine("Passed!"); } - public static async Task RunCustomMetadataAsync(TestService.ITestServiceClient client) + public static async Task RunCustomMetadataAsync(TestService.TestServiceClient client) { Console.WriteLine("running custom_metadata"); { @@ -546,7 +546,7 @@ namespace Grpc.IntegrationTesting Console.WriteLine("Passed!"); } - public static async Task RunStatusCodeAndMessageAsync(TestService.ITestServiceClient client) + public static async Task RunStatusCodeAndMessageAsync(TestService.TestServiceClient client) { Console.WriteLine("running status_code_and_message"); var echoStatus = new EchoStatus @@ -580,7 +580,7 @@ namespace Grpc.IntegrationTesting Console.WriteLine("Passed!"); } - public static void RunUnimplementedMethod(UnimplementedService.IUnimplementedServiceClient client) + public static void RunUnimplementedMethod(UnimplementedService.UnimplementedServiceClient client) { Console.WriteLine("running unimplemented_method"); var e = Assert.Throws<RpcException>(() => client.UnimplementedCall(new Empty())); diff --git a/src/csharp/Grpc.IntegrationTesting/InteropClientServerTest.cs b/src/csharp/Grpc.IntegrationTesting/InteropClientServerTest.cs index 0d12c4168c9f37eabfe3aebed206201592ef8553..4ee1ff5ec8ae8f94a617a58c671d4dab104d1ea4 100644 --- a/src/csharp/Grpc.IntegrationTesting/InteropClientServerTest.cs +++ b/src/csharp/Grpc.IntegrationTesting/InteropClientServerTest.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -51,7 +51,7 @@ namespace Grpc.IntegrationTesting const string Host = "localhost"; Server server; Channel channel; - TestService.ITestServiceClient client; + TestService.TestServiceClient client; [TestFixtureSetUp] public void Init() diff --git a/src/csharp/Grpc.IntegrationTesting/MetadataCredentialsTest.cs b/src/csharp/Grpc.IntegrationTesting/MetadataCredentialsTest.cs index 1c8bfed1f6fc225a689bd260d570176951405f4b..f95af5008f1c30c75729ce55bef7b4e6c31eb530 100644 --- a/src/csharp/Grpc.IntegrationTesting/MetadataCredentialsTest.cs +++ b/src/csharp/Grpc.IntegrationTesting/MetadataCredentialsTest.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015, Google Inc. +// Copyright 2015-2016, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -50,15 +50,15 @@ namespace Grpc.IntegrationTesting const string Host = "localhost"; Server server; Channel channel; - TestService.ITestServiceClient client; + TestService.TestServiceClient client; List<ChannelOption> options; - Mock<TestService.ITestService> serviceMock; + Mock<TestService.TestServiceBase> serviceMock; AsyncAuthInterceptor asyncAuthInterceptor; [SetUp] public void Init() { - serviceMock = new Mock<TestService.ITestService>(); + serviceMock = new Mock<TestService.TestServiceBase>(); serviceMock.Setup(m => m.UnaryCall(It.IsAny<SimpleRequest>(), It.IsAny<ServerCallContext>())) .Returns(new Func<SimpleRequest, ServerCallContext, Task<SimpleResponse>>(UnaryCallHandler)); diff --git a/src/csharp/Grpc.IntegrationTesting/QpsWorker.cs b/src/csharp/Grpc.IntegrationTesting/QpsWorker.cs index e407792c4b58ffa4f7d34e51c82212a8a2fd888e..a7c9fa894de46743da696ad00b0d76067274fa4d 100644 --- a/src/csharp/Grpc.IntegrationTesting/QpsWorker.cs +++ b/src/csharp/Grpc.IntegrationTesting/QpsWorker.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.IntegrationTesting/RunnerClientServerTest.cs b/src/csharp/Grpc.IntegrationTesting/RunnerClientServerTest.cs index a8cf75bd81974d5c6e4262c044469940888e5b4e..13ab5a25ab28763f186ce3b776027ee079ba72bb 100644 --- a/src/csharp/Grpc.IntegrationTesting/RunnerClientServerTest.cs +++ b/src/csharp/Grpc.IntegrationTesting/RunnerClientServerTest.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.IntegrationTesting/ServerRunners.cs b/src/csharp/Grpc.IntegrationTesting/ServerRunners.cs index c326378cfac356ce90c1ec50f95203235a5ac102..d7859443e077db7b2401e854ff16e5386fc68e5b 100644 --- a/src/csharp/Grpc.IntegrationTesting/ServerRunners.cs +++ b/src/csharp/Grpc.IntegrationTesting/ServerRunners.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/Grpc.IntegrationTesting/ServicesGrpc.cs b/src/csharp/Grpc.IntegrationTesting/ServicesGrpc.cs index 996439afbf1395f4d8f64ae3a47d20a43ef6998d..46b16cf202db82fd73f9df6ea455bcb0243dd55a 100644 --- a/src/csharp/Grpc.IntegrationTesting/ServicesGrpc.cs +++ b/src/csharp/Grpc.IntegrationTesting/ServicesGrpc.cs @@ -36,6 +36,7 @@ namespace Grpc.Testing { } // client interface + [System.Obsolete("Client side interfaced will be removed in the next release. Use client class directly.")] public interface IBenchmarkServiceClient { global::Grpc.Testing.SimpleResponse UnaryCall(global::Grpc.Testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)); @@ -47,47 +48,73 @@ namespace Grpc.Testing { } // server-side interface + [System.Obsolete("Service implementations should inherit from the generated abstract base class instead.")] public interface IBenchmarkService { Task<global::Grpc.Testing.SimpleResponse> UnaryCall(global::Grpc.Testing.SimpleRequest request, ServerCallContext context); Task StreamingCall(IAsyncStreamReader<global::Grpc.Testing.SimpleRequest> requestStream, IServerStreamWriter<global::Grpc.Testing.SimpleResponse> responseStream, ServerCallContext context); } + // server-side abstract class + public abstract class BenchmarkServiceBase + { + public virtual Task<global::Grpc.Testing.SimpleResponse> UnaryCall(global::Grpc.Testing.SimpleRequest request, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task StreamingCall(IAsyncStreamReader<global::Grpc.Testing.SimpleRequest> requestStream, IServerStreamWriter<global::Grpc.Testing.SimpleResponse> responseStream, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + } + // client stub - public class BenchmarkServiceClient : ClientBase, IBenchmarkServiceClient + public class BenchmarkServiceClient : ClientBase<BenchmarkServiceClient>, IBenchmarkServiceClient { public BenchmarkServiceClient(Channel channel) : base(channel) { } - public global::Grpc.Testing.SimpleResponse UnaryCall(global::Grpc.Testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public BenchmarkServiceClient(CallInvoker callInvoker) : base(callInvoker) + { + } + ///<summary>Protected parameterless constructor to allow creation of test doubles.</summary> + protected BenchmarkServiceClient() : base() { - var call = CreateCall(__Method_UnaryCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.BlockingUnaryCall(call, request); } - public global::Grpc.Testing.SimpleResponse UnaryCall(global::Grpc.Testing.SimpleRequest request, CallOptions options) + ///<summary>Protected constructor to allow creation of configured clients.</summary> + protected BenchmarkServiceClient(ClientBaseConfiguration configuration) : base(configuration) { - var call = CreateCall(__Method_UnaryCall, options); - return Calls.BlockingUnaryCall(call, request); } - public AsyncUnaryCall<global::Grpc.Testing.SimpleResponse> UnaryCallAsync(global::Grpc.Testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + + public virtual global::Grpc.Testing.SimpleResponse UnaryCall(global::Grpc.Testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_UnaryCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncUnaryCall(call, request); + return UnaryCall(request, new CallOptions(headers, deadline, cancellationToken)); } - public AsyncUnaryCall<global::Grpc.Testing.SimpleResponse> UnaryCallAsync(global::Grpc.Testing.SimpleRequest request, CallOptions options) + public virtual global::Grpc.Testing.SimpleResponse UnaryCall(global::Grpc.Testing.SimpleRequest request, CallOptions options) { - var call = CreateCall(__Method_UnaryCall, options); - return Calls.AsyncUnaryCall(call, request); + return CallInvoker.BlockingUnaryCall(__Method_UnaryCall, null, options, request); } - public AsyncDuplexStreamingCall<global::Grpc.Testing.SimpleRequest, global::Grpc.Testing.SimpleResponse> StreamingCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncUnaryCall<global::Grpc.Testing.SimpleResponse> UnaryCallAsync(global::Grpc.Testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_StreamingCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncDuplexStreamingCall(call); + return UnaryCallAsync(request, new CallOptions(headers, deadline, cancellationToken)); } - public AsyncDuplexStreamingCall<global::Grpc.Testing.SimpleRequest, global::Grpc.Testing.SimpleResponse> StreamingCall(CallOptions options) + public virtual AsyncUnaryCall<global::Grpc.Testing.SimpleResponse> UnaryCallAsync(global::Grpc.Testing.SimpleRequest request, CallOptions options) { - var call = CreateCall(__Method_StreamingCall, options); - return Calls.AsyncDuplexStreamingCall(call); + return CallInvoker.AsyncUnaryCall(__Method_UnaryCall, null, options, request); + } + public virtual AsyncDuplexStreamingCall<global::Grpc.Testing.SimpleRequest, global::Grpc.Testing.SimpleResponse> StreamingCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + { + return StreamingCall(new CallOptions(headers, deadline, cancellationToken)); + } + public virtual AsyncDuplexStreamingCall<global::Grpc.Testing.SimpleRequest, global::Grpc.Testing.SimpleResponse> StreamingCall(CallOptions options) + { + return CallInvoker.AsyncDuplexStreamingCall(__Method_StreamingCall, null, options); + } + protected override BenchmarkServiceClient NewInstance(ClientBaseConfiguration configuration) + { + return new BenchmarkServiceClient(configuration); } } @@ -99,6 +126,14 @@ namespace Grpc.Testing { .AddMethod(__Method_StreamingCall, serviceImpl.StreamingCall).Build(); } + // creates service definition that can be registered with a server + public static ServerServiceDefinition BindService(BenchmarkServiceBase serviceImpl) + { + return ServerServiceDefinition.CreateBuilder(__ServiceName) + .AddMethod(__Method_UnaryCall, serviceImpl.UnaryCall) + .AddMethod(__Method_StreamingCall, serviceImpl.StreamingCall).Build(); + } + // creates a new client public static BenchmarkServiceClient NewClient(Channel channel) { @@ -153,6 +188,7 @@ namespace Grpc.Testing { } // client interface + [System.Obsolete("Client side interfaced will be removed in the next release. Use client class directly.")] public interface IWorkerServiceClient { AsyncDuplexStreamingCall<global::Grpc.Testing.ServerArgs, global::Grpc.Testing.ServerStatus> RunServer(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)); @@ -170,6 +206,7 @@ namespace Grpc.Testing { } // server-side interface + [System.Obsolete("Service implementations should inherit from the generated abstract base class instead.")] public interface IWorkerService { Task RunServer(IAsyncStreamReader<global::Grpc.Testing.ServerArgs> requestStream, IServerStreamWriter<global::Grpc.Testing.ServerStatus> responseStream, ServerCallContext context); @@ -178,71 +215,100 @@ namespace Grpc.Testing { Task<global::Grpc.Testing.Void> QuitWorker(global::Grpc.Testing.Void request, ServerCallContext context); } + // server-side abstract class + public abstract class WorkerServiceBase + { + public virtual Task RunServer(IAsyncStreamReader<global::Grpc.Testing.ServerArgs> requestStream, IServerStreamWriter<global::Grpc.Testing.ServerStatus> responseStream, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task RunClient(IAsyncStreamReader<global::Grpc.Testing.ClientArgs> requestStream, IServerStreamWriter<global::Grpc.Testing.ClientStatus> responseStream, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task<global::Grpc.Testing.CoreResponse> CoreCount(global::Grpc.Testing.CoreRequest request, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task<global::Grpc.Testing.Void> QuitWorker(global::Grpc.Testing.Void request, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + } + // client stub - public class WorkerServiceClient : ClientBase, IWorkerServiceClient + public class WorkerServiceClient : ClientBase<WorkerServiceClient>, IWorkerServiceClient { public WorkerServiceClient(Channel channel) : base(channel) { } - public AsyncDuplexStreamingCall<global::Grpc.Testing.ServerArgs, global::Grpc.Testing.ServerStatus> RunServer(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public WorkerServiceClient(CallInvoker callInvoker) : base(callInvoker) { - var call = CreateCall(__Method_RunServer, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncDuplexStreamingCall(call); } - public AsyncDuplexStreamingCall<global::Grpc.Testing.ServerArgs, global::Grpc.Testing.ServerStatus> RunServer(CallOptions options) + ///<summary>Protected parameterless constructor to allow creation of test doubles.</summary> + protected WorkerServiceClient() : base() { - var call = CreateCall(__Method_RunServer, options); - return Calls.AsyncDuplexStreamingCall(call); } - public AsyncDuplexStreamingCall<global::Grpc.Testing.ClientArgs, global::Grpc.Testing.ClientStatus> RunClient(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + ///<summary>Protected constructor to allow creation of configured clients.</summary> + protected WorkerServiceClient(ClientBaseConfiguration configuration) : base(configuration) { - var call = CreateCall(__Method_RunClient, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncDuplexStreamingCall(call); } - public AsyncDuplexStreamingCall<global::Grpc.Testing.ClientArgs, global::Grpc.Testing.ClientStatus> RunClient(CallOptions options) + + public virtual AsyncDuplexStreamingCall<global::Grpc.Testing.ServerArgs, global::Grpc.Testing.ServerStatus> RunServer(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_RunClient, options); - return Calls.AsyncDuplexStreamingCall(call); + return RunServer(new CallOptions(headers, deadline, cancellationToken)); } - public global::Grpc.Testing.CoreResponse CoreCount(global::Grpc.Testing.CoreRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncDuplexStreamingCall<global::Grpc.Testing.ServerArgs, global::Grpc.Testing.ServerStatus> RunServer(CallOptions options) { - var call = CreateCall(__Method_CoreCount, new CallOptions(headers, deadline, cancellationToken)); - return Calls.BlockingUnaryCall(call, request); + return CallInvoker.AsyncDuplexStreamingCall(__Method_RunServer, null, options); } - public global::Grpc.Testing.CoreResponse CoreCount(global::Grpc.Testing.CoreRequest request, CallOptions options) + public virtual AsyncDuplexStreamingCall<global::Grpc.Testing.ClientArgs, global::Grpc.Testing.ClientStatus> RunClient(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_CoreCount, options); - return Calls.BlockingUnaryCall(call, request); + return RunClient(new CallOptions(headers, deadline, cancellationToken)); } - public AsyncUnaryCall<global::Grpc.Testing.CoreResponse> CoreCountAsync(global::Grpc.Testing.CoreRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncDuplexStreamingCall<global::Grpc.Testing.ClientArgs, global::Grpc.Testing.ClientStatus> RunClient(CallOptions options) { - var call = CreateCall(__Method_CoreCount, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncUnaryCall(call, request); + return CallInvoker.AsyncDuplexStreamingCall(__Method_RunClient, null, options); } - public AsyncUnaryCall<global::Grpc.Testing.CoreResponse> CoreCountAsync(global::Grpc.Testing.CoreRequest request, CallOptions options) + public virtual global::Grpc.Testing.CoreResponse CoreCount(global::Grpc.Testing.CoreRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_CoreCount, options); - return Calls.AsyncUnaryCall(call, request); + return CoreCount(request, new CallOptions(headers, deadline, cancellationToken)); } - public global::Grpc.Testing.Void QuitWorker(global::Grpc.Testing.Void request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual global::Grpc.Testing.CoreResponse CoreCount(global::Grpc.Testing.CoreRequest request, CallOptions options) { - var call = CreateCall(__Method_QuitWorker, new CallOptions(headers, deadline, cancellationToken)); - return Calls.BlockingUnaryCall(call, request); + return CallInvoker.BlockingUnaryCall(__Method_CoreCount, null, options, request); } - public global::Grpc.Testing.Void QuitWorker(global::Grpc.Testing.Void request, CallOptions options) + public virtual AsyncUnaryCall<global::Grpc.Testing.CoreResponse> CoreCountAsync(global::Grpc.Testing.CoreRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_QuitWorker, options); - return Calls.BlockingUnaryCall(call, request); + return CoreCountAsync(request, new CallOptions(headers, deadline, cancellationToken)); } - public AsyncUnaryCall<global::Grpc.Testing.Void> QuitWorkerAsync(global::Grpc.Testing.Void request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncUnaryCall<global::Grpc.Testing.CoreResponse> CoreCountAsync(global::Grpc.Testing.CoreRequest request, CallOptions options) { - var call = CreateCall(__Method_QuitWorker, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncUnaryCall(call, request); + return CallInvoker.AsyncUnaryCall(__Method_CoreCount, null, options, request); } - public AsyncUnaryCall<global::Grpc.Testing.Void> QuitWorkerAsync(global::Grpc.Testing.Void request, CallOptions options) + public virtual global::Grpc.Testing.Void QuitWorker(global::Grpc.Testing.Void request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_QuitWorker, options); - return Calls.AsyncUnaryCall(call, request); + return QuitWorker(request, new CallOptions(headers, deadline, cancellationToken)); + } + public virtual global::Grpc.Testing.Void QuitWorker(global::Grpc.Testing.Void request, CallOptions options) + { + return CallInvoker.BlockingUnaryCall(__Method_QuitWorker, null, options, request); + } + public virtual AsyncUnaryCall<global::Grpc.Testing.Void> QuitWorkerAsync(global::Grpc.Testing.Void request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + { + return QuitWorkerAsync(request, new CallOptions(headers, deadline, cancellationToken)); + } + public virtual AsyncUnaryCall<global::Grpc.Testing.Void> QuitWorkerAsync(global::Grpc.Testing.Void request, CallOptions options) + { + return CallInvoker.AsyncUnaryCall(__Method_QuitWorker, null, options, request); + } + protected override WorkerServiceClient NewInstance(ClientBaseConfiguration configuration) + { + return new WorkerServiceClient(configuration); } } @@ -256,6 +322,16 @@ namespace Grpc.Testing { .AddMethod(__Method_QuitWorker, serviceImpl.QuitWorker).Build(); } + // creates service definition that can be registered with a server + public static ServerServiceDefinition BindService(WorkerServiceBase serviceImpl) + { + return ServerServiceDefinition.CreateBuilder(__ServiceName) + .AddMethod(__Method_RunServer, serviceImpl.RunServer) + .AddMethod(__Method_RunClient, serviceImpl.RunClient) + .AddMethod(__Method_CoreCount, serviceImpl.CoreCount) + .AddMethod(__Method_QuitWorker, serviceImpl.QuitWorker).Build(); + } + // creates a new client public static WorkerServiceClient NewClient(Channel channel) { diff --git a/src/csharp/Grpc.IntegrationTesting/SslCredentialsTest.cs b/src/csharp/Grpc.IntegrationTesting/SslCredentialsTest.cs index 37b2518c21e7e346f011498e6356f3bae2ddaa6f..3df45b5f7084f5748a587e8f2b2ecd5b3adbdf86 100644 --- a/src/csharp/Grpc.IntegrationTesting/SslCredentialsTest.cs +++ b/src/csharp/Grpc.IntegrationTesting/SslCredentialsTest.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015, Google Inc. +// Copyright 2015-2016, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -53,7 +53,7 @@ namespace Grpc.IntegrationTesting const string Host = "localhost"; Server server; Channel channel; - TestService.ITestServiceClient client; + TestService.TestServiceClient client; [TestFixtureSetUp] public void Init() diff --git a/src/csharp/Grpc.IntegrationTesting/TestGrpc.cs b/src/csharp/Grpc.IntegrationTesting/TestGrpc.cs index 2c469080d9df2f5d3408393fc77d486abdffba47..b84ec2d984ade80536ce30564e247fe748df2901 100644 --- a/src/csharp/Grpc.IntegrationTesting/TestGrpc.cs +++ b/src/csharp/Grpc.IntegrationTesting/TestGrpc.cs @@ -69,6 +69,7 @@ namespace Grpc.Testing { } // client interface + [System.Obsolete("Client side interfaced will be removed in the next release. Use client class directly.")] public interface ITestServiceClient { global::Grpc.Testing.Empty EmptyCall(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)); @@ -90,6 +91,7 @@ namespace Grpc.Testing { } // server-side interface + [System.Obsolete("Service implementations should inherit from the generated abstract base class instead.")] public interface ITestService { Task<global::Grpc.Testing.Empty> EmptyCall(global::Grpc.Testing.Empty request, ServerCallContext context); @@ -100,91 +102,126 @@ namespace Grpc.Testing { Task HalfDuplexCall(IAsyncStreamReader<global::Grpc.Testing.StreamingOutputCallRequest> requestStream, IServerStreamWriter<global::Grpc.Testing.StreamingOutputCallResponse> responseStream, ServerCallContext context); } + // server-side abstract class + public abstract class TestServiceBase + { + public virtual Task<global::Grpc.Testing.Empty> EmptyCall(global::Grpc.Testing.Empty request, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task<global::Grpc.Testing.SimpleResponse> UnaryCall(global::Grpc.Testing.SimpleRequest request, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task StreamingOutputCall(global::Grpc.Testing.StreamingOutputCallRequest request, IServerStreamWriter<global::Grpc.Testing.StreamingOutputCallResponse> responseStream, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task<global::Grpc.Testing.StreamingInputCallResponse> StreamingInputCall(IAsyncStreamReader<global::Grpc.Testing.StreamingInputCallRequest> requestStream, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task FullDuplexCall(IAsyncStreamReader<global::Grpc.Testing.StreamingOutputCallRequest> requestStream, IServerStreamWriter<global::Grpc.Testing.StreamingOutputCallResponse> responseStream, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task HalfDuplexCall(IAsyncStreamReader<global::Grpc.Testing.StreamingOutputCallRequest> requestStream, IServerStreamWriter<global::Grpc.Testing.StreamingOutputCallResponse> responseStream, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + } + // client stub - public class TestServiceClient : ClientBase, ITestServiceClient + public class TestServiceClient : ClientBase<TestServiceClient>, ITestServiceClient { public TestServiceClient(Channel channel) : base(channel) { } - public global::Grpc.Testing.Empty EmptyCall(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public TestServiceClient(CallInvoker callInvoker) : base(callInvoker) + { + } + ///<summary>Protected parameterless constructor to allow creation of test doubles.</summary> + protected TestServiceClient() : base() + { + } + ///<summary>Protected constructor to allow creation of configured clients.</summary> + protected TestServiceClient(ClientBaseConfiguration configuration) : base(configuration) + { + } + + public virtual global::Grpc.Testing.Empty EmptyCall(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_EmptyCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.BlockingUnaryCall(call, request); + return EmptyCall(request, new CallOptions(headers, deadline, cancellationToken)); } - public global::Grpc.Testing.Empty EmptyCall(global::Grpc.Testing.Empty request, CallOptions options) + public virtual global::Grpc.Testing.Empty EmptyCall(global::Grpc.Testing.Empty request, CallOptions options) { - var call = CreateCall(__Method_EmptyCall, options); - return Calls.BlockingUnaryCall(call, request); + return CallInvoker.BlockingUnaryCall(__Method_EmptyCall, null, options, request); } - public AsyncUnaryCall<global::Grpc.Testing.Empty> EmptyCallAsync(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncUnaryCall<global::Grpc.Testing.Empty> EmptyCallAsync(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_EmptyCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncUnaryCall(call, request); + return EmptyCallAsync(request, new CallOptions(headers, deadline, cancellationToken)); } - public AsyncUnaryCall<global::Grpc.Testing.Empty> EmptyCallAsync(global::Grpc.Testing.Empty request, CallOptions options) + public virtual AsyncUnaryCall<global::Grpc.Testing.Empty> EmptyCallAsync(global::Grpc.Testing.Empty request, CallOptions options) { - var call = CreateCall(__Method_EmptyCall, options); - return Calls.AsyncUnaryCall(call, request); + return CallInvoker.AsyncUnaryCall(__Method_EmptyCall, null, options, request); } - public global::Grpc.Testing.SimpleResponse UnaryCall(global::Grpc.Testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual global::Grpc.Testing.SimpleResponse UnaryCall(global::Grpc.Testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_UnaryCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.BlockingUnaryCall(call, request); + return UnaryCall(request, new CallOptions(headers, deadline, cancellationToken)); } - public global::Grpc.Testing.SimpleResponse UnaryCall(global::Grpc.Testing.SimpleRequest request, CallOptions options) + public virtual global::Grpc.Testing.SimpleResponse UnaryCall(global::Grpc.Testing.SimpleRequest request, CallOptions options) { - var call = CreateCall(__Method_UnaryCall, options); - return Calls.BlockingUnaryCall(call, request); + return CallInvoker.BlockingUnaryCall(__Method_UnaryCall, null, options, request); } - public AsyncUnaryCall<global::Grpc.Testing.SimpleResponse> UnaryCallAsync(global::Grpc.Testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncUnaryCall<global::Grpc.Testing.SimpleResponse> UnaryCallAsync(global::Grpc.Testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_UnaryCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncUnaryCall(call, request); + return UnaryCallAsync(request, new CallOptions(headers, deadline, cancellationToken)); } - public AsyncUnaryCall<global::Grpc.Testing.SimpleResponse> UnaryCallAsync(global::Grpc.Testing.SimpleRequest request, CallOptions options) + public virtual AsyncUnaryCall<global::Grpc.Testing.SimpleResponse> UnaryCallAsync(global::Grpc.Testing.SimpleRequest request, CallOptions options) { - var call = CreateCall(__Method_UnaryCall, options); - return Calls.AsyncUnaryCall(call, request); + return CallInvoker.AsyncUnaryCall(__Method_UnaryCall, null, options, request); } - public AsyncServerStreamingCall<global::Grpc.Testing.StreamingOutputCallResponse> StreamingOutputCall(global::Grpc.Testing.StreamingOutputCallRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncServerStreamingCall<global::Grpc.Testing.StreamingOutputCallResponse> StreamingOutputCall(global::Grpc.Testing.StreamingOutputCallRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_StreamingOutputCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncServerStreamingCall(call, request); + return StreamingOutputCall(request, new CallOptions(headers, deadline, cancellationToken)); } - public AsyncServerStreamingCall<global::Grpc.Testing.StreamingOutputCallResponse> StreamingOutputCall(global::Grpc.Testing.StreamingOutputCallRequest request, CallOptions options) + public virtual AsyncServerStreamingCall<global::Grpc.Testing.StreamingOutputCallResponse> StreamingOutputCall(global::Grpc.Testing.StreamingOutputCallRequest request, CallOptions options) { - var call = CreateCall(__Method_StreamingOutputCall, options); - return Calls.AsyncServerStreamingCall(call, request); + return CallInvoker.AsyncServerStreamingCall(__Method_StreamingOutputCall, null, options, request); } - public AsyncClientStreamingCall<global::Grpc.Testing.StreamingInputCallRequest, global::Grpc.Testing.StreamingInputCallResponse> StreamingInputCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncClientStreamingCall<global::Grpc.Testing.StreamingInputCallRequest, global::Grpc.Testing.StreamingInputCallResponse> StreamingInputCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_StreamingInputCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncClientStreamingCall(call); + return StreamingInputCall(new CallOptions(headers, deadline, cancellationToken)); } - public AsyncClientStreamingCall<global::Grpc.Testing.StreamingInputCallRequest, global::Grpc.Testing.StreamingInputCallResponse> StreamingInputCall(CallOptions options) + public virtual AsyncClientStreamingCall<global::Grpc.Testing.StreamingInputCallRequest, global::Grpc.Testing.StreamingInputCallResponse> StreamingInputCall(CallOptions options) { - var call = CreateCall(__Method_StreamingInputCall, options); - return Calls.AsyncClientStreamingCall(call); + return CallInvoker.AsyncClientStreamingCall(__Method_StreamingInputCall, null, options); } - public AsyncDuplexStreamingCall<global::Grpc.Testing.StreamingOutputCallRequest, global::Grpc.Testing.StreamingOutputCallResponse> FullDuplexCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncDuplexStreamingCall<global::Grpc.Testing.StreamingOutputCallRequest, global::Grpc.Testing.StreamingOutputCallResponse> FullDuplexCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_FullDuplexCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncDuplexStreamingCall(call); + return FullDuplexCall(new CallOptions(headers, deadline, cancellationToken)); } - public AsyncDuplexStreamingCall<global::Grpc.Testing.StreamingOutputCallRequest, global::Grpc.Testing.StreamingOutputCallResponse> FullDuplexCall(CallOptions options) + public virtual AsyncDuplexStreamingCall<global::Grpc.Testing.StreamingOutputCallRequest, global::Grpc.Testing.StreamingOutputCallResponse> FullDuplexCall(CallOptions options) { - var call = CreateCall(__Method_FullDuplexCall, options); - return Calls.AsyncDuplexStreamingCall(call); + return CallInvoker.AsyncDuplexStreamingCall(__Method_FullDuplexCall, null, options); } - public AsyncDuplexStreamingCall<global::Grpc.Testing.StreamingOutputCallRequest, global::Grpc.Testing.StreamingOutputCallResponse> HalfDuplexCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncDuplexStreamingCall<global::Grpc.Testing.StreamingOutputCallRequest, global::Grpc.Testing.StreamingOutputCallResponse> HalfDuplexCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_HalfDuplexCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncDuplexStreamingCall(call); + return HalfDuplexCall(new CallOptions(headers, deadline, cancellationToken)); } - public AsyncDuplexStreamingCall<global::Grpc.Testing.StreamingOutputCallRequest, global::Grpc.Testing.StreamingOutputCallResponse> HalfDuplexCall(CallOptions options) + public virtual AsyncDuplexStreamingCall<global::Grpc.Testing.StreamingOutputCallRequest, global::Grpc.Testing.StreamingOutputCallResponse> HalfDuplexCall(CallOptions options) { - var call = CreateCall(__Method_HalfDuplexCall, options); - return Calls.AsyncDuplexStreamingCall(call); + return CallInvoker.AsyncDuplexStreamingCall(__Method_HalfDuplexCall, null, options); + } + protected override TestServiceClient NewInstance(ClientBaseConfiguration configuration) + { + return new TestServiceClient(configuration); } } @@ -200,6 +237,18 @@ namespace Grpc.Testing { .AddMethod(__Method_HalfDuplexCall, serviceImpl.HalfDuplexCall).Build(); } + // creates service definition that can be registered with a server + public static ServerServiceDefinition BindService(TestServiceBase serviceImpl) + { + return ServerServiceDefinition.CreateBuilder(__ServiceName) + .AddMethod(__Method_EmptyCall, serviceImpl.EmptyCall) + .AddMethod(__Method_UnaryCall, serviceImpl.UnaryCall) + .AddMethod(__Method_StreamingOutputCall, serviceImpl.StreamingOutputCall) + .AddMethod(__Method_StreamingInputCall, serviceImpl.StreamingInputCall) + .AddMethod(__Method_FullDuplexCall, serviceImpl.FullDuplexCall) + .AddMethod(__Method_HalfDuplexCall, serviceImpl.HalfDuplexCall).Build(); + } + // creates a new client public static TestServiceClient NewClient(Channel channel) { @@ -227,6 +276,7 @@ namespace Grpc.Testing { } // client interface + [System.Obsolete("Client side interfaced will be removed in the next release. Use client class directly.")] public interface IUnimplementedServiceClient { global::Grpc.Testing.Empty UnimplementedCall(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)); @@ -236,36 +286,59 @@ namespace Grpc.Testing { } // server-side interface + [System.Obsolete("Service implementations should inherit from the generated abstract base class instead.")] public interface IUnimplementedService { Task<global::Grpc.Testing.Empty> UnimplementedCall(global::Grpc.Testing.Empty request, ServerCallContext context); } + // server-side abstract class + public abstract class UnimplementedServiceBase + { + public virtual Task<global::Grpc.Testing.Empty> UnimplementedCall(global::Grpc.Testing.Empty request, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + } + // client stub - public class UnimplementedServiceClient : ClientBase, IUnimplementedServiceClient + public class UnimplementedServiceClient : ClientBase<UnimplementedServiceClient>, IUnimplementedServiceClient { public UnimplementedServiceClient(Channel channel) : base(channel) { } - public global::Grpc.Testing.Empty UnimplementedCall(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public UnimplementedServiceClient(CallInvoker callInvoker) : base(callInvoker) + { + } + ///<summary>Protected parameterless constructor to allow creation of test doubles.</summary> + protected UnimplementedServiceClient() : base() + { + } + ///<summary>Protected constructor to allow creation of configured clients.</summary> + protected UnimplementedServiceClient(ClientBaseConfiguration configuration) : base(configuration) + { + } + + public virtual global::Grpc.Testing.Empty UnimplementedCall(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + { + return UnimplementedCall(request, new CallOptions(headers, deadline, cancellationToken)); + } + public virtual global::Grpc.Testing.Empty UnimplementedCall(global::Grpc.Testing.Empty request, CallOptions options) { - var call = CreateCall(__Method_UnimplementedCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.BlockingUnaryCall(call, request); + return CallInvoker.BlockingUnaryCall(__Method_UnimplementedCall, null, options, request); } - public global::Grpc.Testing.Empty UnimplementedCall(global::Grpc.Testing.Empty request, CallOptions options) + public virtual AsyncUnaryCall<global::Grpc.Testing.Empty> UnimplementedCallAsync(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_UnimplementedCall, options); - return Calls.BlockingUnaryCall(call, request); + return UnimplementedCallAsync(request, new CallOptions(headers, deadline, cancellationToken)); } - public AsyncUnaryCall<global::Grpc.Testing.Empty> UnimplementedCallAsync(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncUnaryCall<global::Grpc.Testing.Empty> UnimplementedCallAsync(global::Grpc.Testing.Empty request, CallOptions options) { - var call = CreateCall(__Method_UnimplementedCall, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncUnaryCall(call, request); + return CallInvoker.AsyncUnaryCall(__Method_UnimplementedCall, null, options, request); } - public AsyncUnaryCall<global::Grpc.Testing.Empty> UnimplementedCallAsync(global::Grpc.Testing.Empty request, CallOptions options) + protected override UnimplementedServiceClient NewInstance(ClientBaseConfiguration configuration) { - var call = CreateCall(__Method_UnimplementedCall, options); - return Calls.AsyncUnaryCall(call, request); + return new UnimplementedServiceClient(configuration); } } @@ -276,6 +349,13 @@ namespace Grpc.Testing { .AddMethod(__Method_UnimplementedCall, serviceImpl.UnimplementedCall).Build(); } + // creates service definition that can be registered with a server + public static ServerServiceDefinition BindService(UnimplementedServiceBase serviceImpl) + { + return ServerServiceDefinition.CreateBuilder(__ServiceName) + .AddMethod(__Method_UnimplementedCall, serviceImpl.UnimplementedCall).Build(); + } + // creates a new client public static UnimplementedServiceClient NewClient(Channel channel) { @@ -311,6 +391,7 @@ namespace Grpc.Testing { } // client interface + [System.Obsolete("Client side interfaced will be removed in the next release. Use client class directly.")] public interface IReconnectServiceClient { global::Grpc.Testing.Empty Start(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)); @@ -324,57 +405,81 @@ namespace Grpc.Testing { } // server-side interface + [System.Obsolete("Service implementations should inherit from the generated abstract base class instead.")] public interface IReconnectService { Task<global::Grpc.Testing.Empty> Start(global::Grpc.Testing.Empty request, ServerCallContext context); Task<global::Grpc.Testing.ReconnectInfo> Stop(global::Grpc.Testing.Empty request, ServerCallContext context); } + // server-side abstract class + public abstract class ReconnectServiceBase + { + public virtual Task<global::Grpc.Testing.Empty> Start(global::Grpc.Testing.Empty request, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + public virtual Task<global::Grpc.Testing.ReconnectInfo> Stop(global::Grpc.Testing.Empty request, ServerCallContext context) + { + throw new RpcException(new Status(StatusCode.Unimplemented, "")); + } + + } + // client stub - public class ReconnectServiceClient : ClientBase, IReconnectServiceClient + public class ReconnectServiceClient : ClientBase<ReconnectServiceClient>, IReconnectServiceClient { public ReconnectServiceClient(Channel channel) : base(channel) { } - public global::Grpc.Testing.Empty Start(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public ReconnectServiceClient(CallInvoker callInvoker) : base(callInvoker) { - var call = CreateCall(__Method_Start, new CallOptions(headers, deadline, cancellationToken)); - return Calls.BlockingUnaryCall(call, request); } - public global::Grpc.Testing.Empty Start(global::Grpc.Testing.Empty request, CallOptions options) + ///<summary>Protected parameterless constructor to allow creation of test doubles.</summary> + protected ReconnectServiceClient() : base() { - var call = CreateCall(__Method_Start, options); - return Calls.BlockingUnaryCall(call, request); } - public AsyncUnaryCall<global::Grpc.Testing.Empty> StartAsync(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + ///<summary>Protected constructor to allow creation of configured clients.</summary> + protected ReconnectServiceClient(ClientBaseConfiguration configuration) : base(configuration) { - var call = CreateCall(__Method_Start, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncUnaryCall(call, request); } - public AsyncUnaryCall<global::Grpc.Testing.Empty> StartAsync(global::Grpc.Testing.Empty request, CallOptions options) + + public virtual global::Grpc.Testing.Empty Start(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_Start, options); - return Calls.AsyncUnaryCall(call, request); + return Start(request, new CallOptions(headers, deadline, cancellationToken)); } - public global::Grpc.Testing.ReconnectInfo Stop(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual global::Grpc.Testing.Empty Start(global::Grpc.Testing.Empty request, CallOptions options) { - var call = CreateCall(__Method_Stop, new CallOptions(headers, deadline, cancellationToken)); - return Calls.BlockingUnaryCall(call, request); + return CallInvoker.BlockingUnaryCall(__Method_Start, null, options, request); } - public global::Grpc.Testing.ReconnectInfo Stop(global::Grpc.Testing.Empty request, CallOptions options) + public virtual AsyncUnaryCall<global::Grpc.Testing.Empty> StartAsync(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_Stop, options); - return Calls.BlockingUnaryCall(call, request); + return StartAsync(request, new CallOptions(headers, deadline, cancellationToken)); } - public AsyncUnaryCall<global::Grpc.Testing.ReconnectInfo> StopAsync(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + public virtual AsyncUnaryCall<global::Grpc.Testing.Empty> StartAsync(global::Grpc.Testing.Empty request, CallOptions options) { - var call = CreateCall(__Method_Stop, new CallOptions(headers, deadline, cancellationToken)); - return Calls.AsyncUnaryCall(call, request); + return CallInvoker.AsyncUnaryCall(__Method_Start, null, options, request); } - public AsyncUnaryCall<global::Grpc.Testing.ReconnectInfo> StopAsync(global::Grpc.Testing.Empty request, CallOptions options) + public virtual global::Grpc.Testing.ReconnectInfo Stop(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) { - var call = CreateCall(__Method_Stop, options); - return Calls.AsyncUnaryCall(call, request); + return Stop(request, new CallOptions(headers, deadline, cancellationToken)); + } + public virtual global::Grpc.Testing.ReconnectInfo Stop(global::Grpc.Testing.Empty request, CallOptions options) + { + return CallInvoker.BlockingUnaryCall(__Method_Stop, null, options, request); + } + public virtual AsyncUnaryCall<global::Grpc.Testing.ReconnectInfo> StopAsync(global::Grpc.Testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken)) + { + return StopAsync(request, new CallOptions(headers, deadline, cancellationToken)); + } + public virtual AsyncUnaryCall<global::Grpc.Testing.ReconnectInfo> StopAsync(global::Grpc.Testing.Empty request, CallOptions options) + { + return CallInvoker.AsyncUnaryCall(__Method_Stop, null, options, request); + } + protected override ReconnectServiceClient NewInstance(ClientBaseConfiguration configuration) + { + return new ReconnectServiceClient(configuration); } } @@ -386,6 +491,14 @@ namespace Grpc.Testing { .AddMethod(__Method_Stop, serviceImpl.Stop).Build(); } + // creates service definition that can be registered with a server + public static ServerServiceDefinition BindService(ReconnectServiceBase serviceImpl) + { + return ServerServiceDefinition.CreateBuilder(__ServiceName) + .AddMethod(__Method_Start, serviceImpl.Start) + .AddMethod(__Method_Stop, serviceImpl.Stop).Build(); + } + // creates a new client public static ReconnectServiceClient NewClient(Channel channel) { diff --git a/src/csharp/Grpc.IntegrationTesting/TestServiceImpl.cs b/src/csharp/Grpc.IntegrationTesting/TestServiceImpl.cs index 5a1b4cf319b696a57a0ec41badcdf6b2f598f280..354318e80e23d7996d9436eb784e7549af3e20d1 100644 --- a/src/csharp/Grpc.IntegrationTesting/TestServiceImpl.cs +++ b/src/csharp/Grpc.IntegrationTesting/TestServiceImpl.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015, Google Inc. +// Copyright 2015-2016, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -45,14 +45,14 @@ namespace Grpc.Testing /// <summary> /// Implementation of TestService server /// </summary> - public class TestServiceImpl : TestService.ITestService + public class TestServiceImpl : TestService.TestServiceBase { - public Task<Empty> EmptyCall(Empty request, ServerCallContext context) + public override Task<Empty> EmptyCall(Empty request, ServerCallContext context) { return Task.FromResult(new Empty()); } - public async Task<SimpleResponse> UnaryCall(SimpleRequest request, ServerCallContext context) + public override async Task<SimpleResponse> UnaryCall(SimpleRequest request, ServerCallContext context) { await EnsureEchoMetadataAsync(context); EnsureEchoStatus(request.ResponseStatus, context); @@ -61,7 +61,7 @@ namespace Grpc.Testing return response; } - public async Task StreamingOutputCall(StreamingOutputCallRequest request, IServerStreamWriter<StreamingOutputCallResponse> responseStream, ServerCallContext context) + public override async Task StreamingOutputCall(StreamingOutputCallRequest request, IServerStreamWriter<StreamingOutputCallResponse> responseStream, ServerCallContext context) { await EnsureEchoMetadataAsync(context); EnsureEchoStatus(request.ResponseStatus, context); @@ -73,7 +73,7 @@ namespace Grpc.Testing } } - public async Task<StreamingInputCallResponse> StreamingInputCall(IAsyncStreamReader<StreamingInputCallRequest> requestStream, ServerCallContext context) + public override async Task<StreamingInputCallResponse> StreamingInputCall(IAsyncStreamReader<StreamingInputCallRequest> requestStream, ServerCallContext context) { await EnsureEchoMetadataAsync(context); @@ -85,7 +85,7 @@ namespace Grpc.Testing return new StreamingInputCallResponse { AggregatedPayloadSize = sum }; } - public async Task FullDuplexCall(IAsyncStreamReader<StreamingOutputCallRequest> requestStream, IServerStreamWriter<StreamingOutputCallResponse> responseStream, ServerCallContext context) + public override async Task FullDuplexCall(IAsyncStreamReader<StreamingOutputCallRequest> requestStream, IServerStreamWriter<StreamingOutputCallResponse> responseStream, ServerCallContext context) { await EnsureEchoMetadataAsync(context); @@ -100,7 +100,7 @@ namespace Grpc.Testing }); } - public async Task HalfDuplexCall(IAsyncStreamReader<StreamingOutputCallRequest> requestStream, IServerStreamWriter<StreamingOutputCallResponse> responseStream, ServerCallContext context) + public override async Task HalfDuplexCall(IAsyncStreamReader<StreamingOutputCallRequest> requestStream, IServerStreamWriter<StreamingOutputCallResponse> responseStream, ServerCallContext context) { throw new NotImplementedException(); } diff --git a/src/csharp/Grpc.IntegrationTesting/WorkerServiceImpl.cs b/src/csharp/Grpc.IntegrationTesting/WorkerServiceImpl.cs index cab299a137357a3b3506a1ff44bfc11402648a40..80dad9fdd9376a95af9efea1f733f9d8a81db06b 100644 --- a/src/csharp/Grpc.IntegrationTesting/WorkerServiceImpl.cs +++ b/src/csharp/Grpc.IntegrationTesting/WorkerServiceImpl.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -45,7 +45,7 @@ namespace Grpc.Testing /// <summary> /// Implementation of WorkerService server /// </summary> - public class WorkerServiceImpl : WorkerService.IWorkerService + public class WorkerServiceImpl : WorkerService.WorkerServiceBase { readonly Action stopRequestHandler; @@ -54,7 +54,7 @@ namespace Grpc.Testing this.stopRequestHandler = GrpcPreconditions.CheckNotNull(stopRequestHandler); } - public async Task RunServer(IAsyncStreamReader<ServerArgs> requestStream, IServerStreamWriter<ServerStatus> responseStream, ServerCallContext context) + public override async Task RunServer(IAsyncStreamReader<ServerArgs> requestStream, IServerStreamWriter<ServerStatus> responseStream, ServerCallContext context) { GrpcPreconditions.CheckState(await requestStream.MoveNext()); var serverConfig = requestStream.Current.Setup; @@ -78,7 +78,7 @@ namespace Grpc.Testing await runner.StopAsync(); } - public async Task RunClient(IAsyncStreamReader<ClientArgs> requestStream, IServerStreamWriter<ClientStatus> responseStream, ServerCallContext context) + public override async Task RunClient(IAsyncStreamReader<ClientArgs> requestStream, IServerStreamWriter<ClientStatus> responseStream, ServerCallContext context) { GrpcPreconditions.CheckState(await requestStream.MoveNext()); var clientConfig = requestStream.Current.Setup; @@ -100,12 +100,12 @@ namespace Grpc.Testing await runner.StopAsync(); } - public Task<CoreResponse> CoreCount(CoreRequest request, ServerCallContext context) + public override Task<CoreResponse> CoreCount(CoreRequest request, ServerCallContext context) { return Task.FromResult(new CoreResponse { Cores = Environment.ProcessorCount }); } - public Task<Void> QuitWorker(Void request, ServerCallContext context) + public override Task<Void> QuitWorker(Void request, ServerCallContext context) { stopRequestHandler(); return Task.FromResult(new Void()); diff --git a/src/csharp/Grpc.IntegrationTesting/app.config b/src/csharp/Grpc.IntegrationTesting/app.config deleted file mode 100644 index 84d7534d650c51f8e2e4e0049dccab26d725c90f..0000000000000000000000000000000000000000 --- a/src/csharp/Grpc.IntegrationTesting/app.config +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<configuration> - <runtime> - <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> - <dependentAssembly> - <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-4.2.28.0" newVersion="4.0.0.0" /> - </dependentAssembly> - <dependentAssembly> - <assemblyIdentity name="Google.Apis.Core" publicKeyToken="4b01fa6e34db77ab" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.9.2.38523" newVersion="1.9.2.38523" /> - </dependentAssembly> - </assemblyBinding> - </runtime> -</configuration> \ No newline at end of file diff --git a/src/csharp/Grpc.IntegrationTesting/packages.config b/src/csharp/Grpc.IntegrationTesting/packages.config index 462dc9d60456e4806f2a6493f3fe87d50d2cddac..0ae8bf4e707650f08247a3a2d6e5ac097775c0cb 100644 --- a/src/csharp/Grpc.IntegrationTesting/packages.config +++ b/src/csharp/Grpc.IntegrationTesting/packages.config @@ -2,14 +2,10 @@ <packages> <package id="BouncyCastle" version="1.7.0" targetFramework="net45" /> <package id="CommandLineParser" version="1.9.71" targetFramework="net45" /> - <package id="Google.Apis.Auth" version="1.10.0" targetFramework="net45" /> - <package id="Google.Apis.Core" version="1.10.0" targetFramework="net45" /> + <package id="Google.Apis.Auth" version="1.11.1" targetFramework="net45" /> + <package id="Google.Apis.Core" version="1.11.1" targetFramework="net45" /> <package id="Google.Protobuf" version="3.0.0-beta2" targetFramework="net45" /> <package id="Ix-Async" version="1.2.5" targetFramework="net45" /> - <package id="Microsoft.Bcl" version="1.1.10" targetFramework="net45" /> - <package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net45" /> - <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net45" /> - <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net45" /> <package id="Moq" version="4.2.1510.2205" targetFramework="net45" /> <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" /> <package id="NUnit" version="2.6.4" targetFramework="net45" /> diff --git a/src/csharp/ext/grpc_csharp_ext.c b/src/csharp/ext/grpc_csharp_ext.c index 642dc9ef426ac0d87e164e0b14b1450f76123ace..8d769e5f6a84fbafd2115666b098965ded77f2d6 100644 --- a/src/csharp/ext/grpc_csharp_ext.c +++ b/src/csharp/ext/grpc_csharp_ext.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/generate_proto_csharp.sh b/src/csharp/generate_proto_csharp.sh index 23e0540253a3ec226619959dbc8000a3bba741a1..9ac770b79d774e491143127e9fdbb384106aee31 100755 --- a/src/csharp/generate_proto_csharp.sh +++ b/src/csharp/generate_proto_csharp.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/csharp/grpc.native.csharp/grpc.native.csharp.nuspec b/src/csharp/grpc.native.csharp/grpc.native.csharp.nuspec index 6a1795b7090a38b3602b4536dac84641aedd4b9b..cc688e2bc718060b931a243a4c8296785294bb1b 100644 --- a/src/csharp/grpc.native.csharp/grpc.native.csharp.nuspec +++ b/src/csharp/grpc.native.csharp/grpc.native.csharp.nuspec @@ -10,7 +10,7 @@ <requireLicenseAcceptance>false</requireLicenseAcceptance> <description>Native extension needed by gRPC C# library. This is not the package you are looking for, it is only meant to be used as a dependency.</description> <releaseNotes>Release of gRPC C core $version$ libraries.</releaseNotes> - <copyright>Copyright 2015-2016</copyright> + <copyright>Copyright 2015</copyright> <title>gRPC C# Native Extension</title> <summary>Native library required by gRPC C#</summary> <tags>gRPC native</tags> diff --git a/src/csharp/tests.json b/src/csharp/tests.json index 4aa93668ad1eb1fa3436cc64ddcaf4a07b96836f..718bfa3287bba342d9858fb647d3ebf973a0a053 100644 --- a/src/csharp/tests.json +++ b/src/csharp/tests.json @@ -21,6 +21,7 @@ "Grpc.Core.Tests.CompressionTest", "Grpc.Core.Tests.ContextPropagationTest", "Grpc.Core.Tests.GrpcEnvironmentTest", + "Grpc.Core.Tests.HalfcloseTest", "Grpc.Core.Tests.MarshallingErrorsTest", "Grpc.Core.Tests.MetadataTest", "Grpc.Core.Tests.NUnitVersionTest", @@ -35,8 +36,9 @@ "Math.Tests.MathClientServerTest", "Grpc.HealthCheck.Tests.HealthClientServerTest", "Grpc.HealthCheck.Tests.HealthServiceImplTest", - "Grpc.IntegrationTesting.HeaderInterceptorTest", "Grpc.IntegrationTesting.HistogramTest", + "Grpc.IntegrationTesting.GeneratedClientTest", + "Grpc.IntegrationTesting.GeneratedServiceBaseTest", "Grpc.IntegrationTesting.InteropClientServerTest", "Grpc.IntegrationTesting.MetadataCredentialsTest", "Grpc.IntegrationTesting.RunnerClientServerTest", diff --git a/src/node/ext/byte_buffer.cc b/src/node/ext/byte_buffer.cc index 0f7edada14f5121d6b46d6cc49a6d1da91e194ef..8e0b6916e9d5b564694dcc88934329518d56d2cd 100644 --- a/src/node/ext/byte_buffer.cc +++ b/src/node/ext/byte_buffer.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/ext/call.cc b/src/node/ext/call.cc index da312886cea5beebc48fe8200c55206c7bd97d28..9f023b588318ca96c39d44204e61b6179a0cdfeb 100644 --- a/src/node/ext/call.cc +++ b/src/node/ext/call.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/ext/call_credentials.cc b/src/node/ext/call_credentials.cc index bd2d146bbc719f481ef764980c3721959a2e02d7..3c8f0c56da4df23a29d60cf57fa5c55e1e55cfc1 100644 --- a/src/node/ext/call_credentials.cc +++ b/src/node/ext/call_credentials.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/ext/call_credentials.h b/src/node/ext/call_credentials.h index 1f35595f3d3422195aaee56e37da019021bd6d60..04c852bea1ebbba33d59160c419b968c2fed7156 100644 --- a/src/node/ext/call_credentials.h +++ b/src/node/ext/call_credentials.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/ext/node_grpc.cc b/src/node/ext/node_grpc.cc index 0c71b2d610d446e2438b3759275c21d76cfc79db..b988f29878b02adb6c798bdc0d213972554f55bc 100644 --- a/src/node/ext/node_grpc.cc +++ b/src/node/ext/node_grpc.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/ext/timeval.cc b/src/node/ext/timeval.cc index c8f8534cfa7fd6abadfe8f1459cd7f9cc7c43f68..9284db62ef6a32b8a26f8555d59b9ad891370716 100644 --- a/src/node/ext/timeval.cc +++ b/src/node/ext/timeval.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/health_check/health.js b/src/node/health_check/health.js index 6ab41571831b803f372fd7f32fd78a972d1ec2a3..523668308814fc9e37acb0d56569c3d6f4c60333 100644 --- a/src/node/health_check/health.js +++ b/src/node/health_check/health.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/index.js b/src/node/index.js index 6567d56260c82507a89d7ae86de7eeed74d6cf33..d345a5142d5381d9092bc2fa21a569ec88da81d9 100644 --- a/src/node/index.js +++ b/src/node/index.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/interop/async_delay_queue.js b/src/node/interop/async_delay_queue.js index df57209637620d55e9362a58c196616bc3893ef8..5df1e00921d8436407c9fe94743a1266178321d0 100644 --- a/src/node/interop/async_delay_queue.js +++ b/src/node/interop/async_delay_queue.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/interop/interop_client.js b/src/node/interop/interop_client.js index ac0eddcf453b86d116c5e7c29042fcd9960e188f..e8f2d37bd8b0e891ce36d1fc7b2b10dce9a66c85 100644 --- a/src/node/interop/interop_client.js +++ b/src/node/interop/interop_client.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -545,6 +545,8 @@ var test_cases = { Client: testProto.TestService} }; +exports.test_cases = test_cases; + /** * Execute a single test case. * @param {string} address The address of the server to connect to, in the diff --git a/src/node/interop/interop_server.js b/src/node/interop/interop_server.js index c09481712aa3d26559dedc79d7dd8b811d8ead0c..72807623054cff8df0bda0f1fce0f26106dde3ea 100644 --- a/src/node/interop/interop_server.js +++ b/src/node/interop/interop_server.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/performance/benchmark_client.js b/src/node/performance/benchmark_client.js index 80bec0b73e00839e62601cb21e7d4801dda9610b..262aa3386298600845ceef372bf949a62f696735 100644 --- a/src/node/performance/benchmark_client.js +++ b/src/node/performance/benchmark_client.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/performance/benchmark_server.js b/src/node/performance/benchmark_server.js index b1b0bd12abb0bf7180f3200f83c41fa891bd32c5..70cee9979b1ca6aab99b71a622bf6e46ea2d8474 100644 --- a/src/node/performance/benchmark_server.js +++ b/src/node/performance/benchmark_server.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/performance/worker.js b/src/node/performance/worker.js index 7c8ab00026538ae03182a3ec03042036f876bf40..98577bdbc977a6913bc71fa5038671f60de469da 100644 --- a/src/node/performance/worker.js +++ b/src/node/performance/worker.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/performance/worker_service_impl.js b/src/node/performance/worker_service_impl.js index 2c4651370f29f5f24c2a5904577397342b63d514..17458e4b9338a01835429840d85248a0d8380350 100644 --- a/src/node/performance/worker_service_impl.js +++ b/src/node/performance/worker_service_impl.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/src/client.js b/src/node/src/client.js index 82142379da8d1141f9f3db77fad2140a01b91d48..5e07046fc61ad1c1bf909b26d18a963fd1ea1903 100644 --- a/src/node/src/client.js +++ b/src/node/src/client.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/src/common.js b/src/node/src/common.js index 7705a275fcee23169cc5f5c875d08202e9046813..8cf43b7a84cc85be1509512d669728d1649e7cdc 100644 --- a/src/node/src/common.js +++ b/src/node/src/common.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/src/credentials.js b/src/node/src/credentials.js index 97c4bd73ac4b02cafc4e1047812f944647c83011..a12eade4e1f518f10b72cf6506ce52c3110f8c5b 100644 --- a/src/node/src/credentials.js +++ b/src/node/src/credentials.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/src/metadata.js b/src/node/src/metadata.js index 33d7ea1cf7a82a3dcabbed68187ab5c8292e3f62..612361b0eaf52bc82fdcdc48347824b6cddd9464 100644 --- a/src/node/src/metadata.js +++ b/src/node/src/metadata.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/src/server.js b/src/node/src/server.js index dd0bc12bc93bf9050beb5cb30cd750f91779e069..22128343a9d6e74c44c14de42653a6d6baeee8e2 100644 --- a/src/node/src/server.js +++ b/src/node/src/server.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/client_config/resolvers/sockaddr_resolver.h b/src/node/stress/metrics_client.js similarity index 65% rename from src/core/lib/client_config/resolvers/sockaddr_resolver.h rename to src/node/stress/metrics_client.js index 45c55bd16041dda72a13656c49473d3dd65a1f6b..dc8ef5e711dc4ff01ceff1f62c3393ef4a0dc7ae 100644 --- a/src/core/lib/client_config/resolvers/sockaddr_resolver.h +++ b/src/node/stress/metrics_client.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,20 +31,31 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_SOCKADDR_RESOLVER_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_SOCKADDR_RESOLVER_H +'use strict'; -#include <grpc/support/port_platform.h> +var grpc = require('../../..'); -#include "src/core/lib/client_config/resolver_factory.h" +var proto = grpc.load(__dirname + '/../../proto/grpc/testing/metrics.proto'); +var metrics = proto.grpc.testing; -grpc_resolver_factory *grpc_ipv4_resolver_factory_create(void); +function main() { + var parseArgs = require('minimist'); + var argv = parseArgs(process.argv, { + string: 'metrics_server_address', + boolean: 'total_only' + }); + var client = new metrics.MetricsService(argv.metrics_server_address, + grpc.credentials.createInsecure()); + if (argv.total_only) { + client.getGauge({name: 'qps'}, function(err, data) { + console.log(data.name + ':', data.long_value); + }); + } else { + var call = client.getAllGauges({}); + call.on('data', function(data) { + console.log(data.name + ':', data.long_value); + }); + } +} -grpc_resolver_factory *grpc_ipv6_resolver_factory_create(void); - -#ifdef GPR_POSIX_SOCKET -/** Create a unix resolver factory */ -grpc_resolver_factory *grpc_unix_resolver_factory_create(void); -#endif - -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_SOCKADDR_RESOLVER_H */ +main(); diff --git a/src/node/stress/metrics_server.js b/src/node/stress/metrics_server.js new file mode 100644 index 0000000000000000000000000000000000000000..3ab4b4c82d3e69bfba15e5b10a1700c779bf8fa5 --- /dev/null +++ b/src/node/stress/metrics_server.js @@ -0,0 +1,87 @@ +/* + * + * Copyright 2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +'use strict'; + +var _ = require('lodash'); + +var grpc = require('../../..'); + +var proto = grpc.load(__dirname + '/../../proto/grpc/testing/metrics.proto'); +var metrics = proto.grpc.testing; + +function getGauge(call, callback) { + /* jshint validthis: true */ + // Should be bound to a MetricsServer object + var name = call.request.name; + if (this.gauges.hasOwnProperty(name)) { + callback(null, _.assign({name: name}, this.gauges[name]())); + } else { + callback({code: grpc.status.NOT_FOUND, + details: 'No such gauge: ' + name}); + } +} + +function getAllGauges(call) { + /* jshint validthis: true */ + // Should be bound to a MetricsServer object + _.each(this.gauges, function(getter, name) { + call.write(_.assign({name: name}, getter())); + }); + call.end(); +} + +function MetricsServer(port) { + var server = new grpc.Server(); + server.addProtoService(metrics.MetricsService.service, { + getGauge: _.bind(getGauge, this), + getAllGauges: _.bind(getAllGauges, this) + }); + server.bind('localhost:' + port, grpc.ServerCredentials.createInsecure()); + this.server = server; + this.gauges = {}; +} + +MetricsServer.prototype.start = function() { + this.server.start(); +} + +MetricsServer.prototype.registerGauge = function(name, getter) { + this.gauges[name] = getter; +}; + +MetricsServer.prototype.shutdown = function() { + this.server.forceShutdown(); +}; + +module.exports = MetricsServer; diff --git a/src/node/stress/stress_client.js b/src/node/stress/stress_client.js new file mode 100644 index 0000000000000000000000000000000000000000..6054d3a2530c8162863286962e07307b75b39d54 --- /dev/null +++ b/src/node/stress/stress_client.js @@ -0,0 +1,126 @@ +/* + * + * Copyright 2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +'use strict'; + +var _ = require('lodash'); + +var grpc = require('../../..'); + +var interop_client = require('../interop/interop_client'); +var MetricsServer = require('./metrics_server'); + +var running; + +var metrics_server; + +var start_time; +var query_count; + +function makeCall(client, test_cases) { + if (!running) { + return; + } + var test_case = test_cases[_.random(test_cases.length - 1)]; + interop_client.test_cases[test_case].run(client, function() { + query_count += 1; + makeCall(client, test_cases); + }); +} + +function makeCalls(client, test_cases, parallel_calls_per_channel) { + _.times(parallel_calls_per_channel, function() { + makeCall(client, test_cases); + }); +} + +function getQps() { + var diff = process.hrtime(start_time); + var seconds = diff[0] + diff[1] / 1e9; + return {long_value: query_count / seconds}; +} + +function start(server_addresses, test_cases, channels_per_server, + parallel_calls_per_channel, metrics_port) { + running = true; + /* Assuming that we are not calling unimplemented_method. The client class + * used by empty_unary is (currently) the client class used by every interop + * test except unimplemented_method */ + var Client = interop_client.test_cases.empty_unary.Client; + /* Make channels_per_server clients connecting to each server address */ + var channels = _.flatten(_.times( + channels_per_server, _.partial(_.map, server_addresses, function(address) { + return new Client(address, grpc.credentials.createInsecure()); + }))); + metrics_server = new MetricsServer(metrics_port); + metrics_server.registerGauge('qps', getQps); + start_time = process.hrtime(); + query_count = 0; + _.each(channels, _.partial(makeCalls, _, test_cases, + parallel_calls_per_channel)); + metrics_server.start(); +} + +function stop() { + running = false; + metrics_server.shutdown(); + console.log('QPS: ' + getQps().long_value); +} + +function main() { + var parseArgs = require('minimist'); + var argv = parseArgs(process.argv, { + string: ['server_addresses', 'test_cases', 'metrics_port'], + default: {'server_addresses': 'localhost:8080', + 'test_duration_secs': -1, + 'num_channels_per_server': 1, + 'num_stubs_per_channel': 1, + 'metrics_port': '8081'} + }); + var server_addresses = argv.server_addresses.split(','); + /* Generate an array of test cases, where the number of instances of each name + * corresponds to the number given in the argument. + * e.g. 'empty_unary:1,large_unary:2' => + * ['empty_unary', 'large_unary', 'large_unary'] */ + var test_cases = _.flatten(_.map(argv.test_cases.split(','), function(value) { + var split = value.split(':'); + return _.times(split[1], _.constant(split[0])); + })); + start(server_addresses, test_cases, argv.num_channels_per_server, + argv.num_stubs_per_channel, argv.metrics_port); + if (argv.test_duration_secs > -1) { + setTimeout(stop, argv.test_duration_secs * 1000); + } +} + +main(); diff --git a/src/node/test/call_test.js b/src/node/test/call_test.js index 2300096d03e272910c0279ce3aca826af0288709..eb268603ead8a899fe10334292c13aff6e98eca6 100644 --- a/src/node/test/call_test.js +++ b/src/node/test/call_test.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/test/channel_test.js b/src/node/test/channel_test.js index c0ae2b769a0ea99d3128aed3c011ea644219b398..0cdb6336593890efa2bf06f022dcdb9a1a4ef15e 100644 --- a/src/node/test/channel_test.js +++ b/src/node/test/channel_test.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/test/common_test.js b/src/node/test/common_test.js index 66a4205f82c79e79cd1dd3682c50a035c14f268c..c57b7388f67f5e7fde9e3d4a0055addb8f4b2ad5 100644 --- a/src/node/test/common_test.js +++ b/src/node/test/common_test.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/test/constant_test.js b/src/node/test/constant_test.js index 712c70706d95b962635bc99086fdd00882c608db..414b1ac9c019e5fa7c7604c478dddd21acc5bda8 100644 --- a/src/node/test/constant_test.js +++ b/src/node/test/constant_test.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/test/credentials_test.js b/src/node/test/credentials_test.js index 73eadfab2c7243ee4a5b3517554c025194ad9675..794215b246cd5d540d360391352bafbece71a7b8 100644 --- a/src/node/test/credentials_test.js +++ b/src/node/test/credentials_test.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/test/echo_service.proto b/src/node/test/echo_service.proto index 11b4f18c35d3cf937ad9a482475f7f03e7736d29..fc941a290442160c10c7b9f2b0ae4afe30cc1eff 100644 --- a/src/node/test/echo_service.proto +++ b/src/node/test/echo_service.proto @@ -1,4 +1,4 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/node/test/end_to_end_test.js b/src/node/test/end_to_end_test.js index 353c6c761de3564c4e7a80c4cdc2e0e504dcae22..f127a41de9ffc38ae43ba439f2862b40bc0e4b9f 100644 --- a/src/node/test/end_to_end_test.js +++ b/src/node/test/end_to_end_test.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/test/server_test.js b/src/node/test/server_test.js index 71a964718443bf21b32a043382fafa784801f7fe..ed311c86051d896a1afabb97e0451a5a8e8bcf71 100644 --- a/src/node/test/server_test.js +++ b/src/node/test/server_test.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/test/surface_test.js b/src/node/test/surface_test.js index 5a704ee1338718e72938c1792186203d140453e8..b96e8e487cc0c4b944fb37f56dc0bbe4c7b67af5 100644 --- a/src/node/test/surface_test.js +++ b/src/node/test/surface_test.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/node/test/test_messages.proto b/src/node/test/test_messages.proto index 9b8cb875eeb0aeed0fbd498ef7b101d23b15f0b7..a1a6a32833db492e5eed6c39812c1865d00c3957 100644 --- a/src/node/test/test_messages.proto +++ b/src/node/test/test_messages.proto @@ -1,4 +1,4 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/node/test/test_service.proto b/src/node/test/test_service.proto index 0ac2ae79a7e21d0e7cca3ba4d640176ff8dc4fc3..c86ce51d910383216e1ceb0193ad76e99f30612d 100644 --- a/src/node/test/test_service.proto +++ b/src/node/test/test_service.proto @@ -1,4 +1,4 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/core/lib/client_config/lb_policies/round_robin.h b/src/node/tools/bin/protoc.js old mode 100644 new mode 100755 similarity index 74% rename from src/core/lib/client_config/lb_policies/round_robin.h rename to src/node/tools/bin/protoc.js index 52db1caa0c20555c0b4ebac21cdf6202b83c1e6f..0c6d7ce017db38929d7a86a07ab459db151ba138 --- a/src/core/lib/client_config/lb_policies/round_robin.h +++ b/src/node/tools/bin/protoc.js @@ -1,6 +1,7 @@ +#!/usr/bin/env node /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,16 +32,23 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_ROUND_ROBIN_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_ROUND_ROBIN_H - -#include "src/core/lib/client_config/lb_policy.h" +/** + * This file is required because package.json cannot reference a file that + * is not distributed with the package, and we use node-pre-gyp to distribute + * the protoc binary + */ -extern int grpc_lb_round_robin_trace; +'use strict'; -#include "src/core/lib/client_config/lb_policy_factory.h" +var path = require('path'); +var execFile = require('child_process').execFile; -/** Returns a load balancing factory for the round robin policy */ -grpc_lb_policy_factory *grpc_round_robin_lb_factory_create(); +var protoc = path.resolve(__dirname, 'protoc'); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_ROUND_ROBIN_H */ +execFile(protoc, process.argv.slice(2), function(error, stdout, stderr) { + if (error) { + throw error; + } + console.log(stdout); + console.log(stderr); +}); diff --git a/src/core/lib/census/grpc_plugin.h b/src/node/tools/index.js similarity index 86% rename from src/core/lib/census/grpc_plugin.h rename to src/node/tools/index.js index 33e5f0b701d9a673a31a0fe36dc7f40c827bc8bc..2de3918cd373955e73cb1824e340e06e33e5a5c4 100644 --- a/src/core/lib/census/grpc_plugin.h +++ b/src/node/tools/index.js @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,10 +31,11 @@ * */ -#ifndef GRPC_CORE_LIB_CENSUS_GRPC_PLUGIN_H -#define GRPC_CORE_LIB_CENSUS_GRPC_PLUGIN_H +'use strict'; -void census_grpc_plugin_init(void); -void census_grpc_plugin_destroy(void); +/** + * package.json requires this file to be present. In the future, this can + * export useful information about the included tools. + */ -#endif /* GRPC_CORE_LIB_CENSUS_GRPC_PLUGIN_H */ +module.exports = {}; diff --git a/src/node/tools/package.json b/src/node/tools/package.json new file mode 100644 index 0000000000000000000000000000000000000000..4b3499f2f9eeb3b95a5c6bf17ec4c52af207e3fe --- /dev/null +++ b/src/node/tools/package.json @@ -0,0 +1,38 @@ +{ + "name": "grpc-tools", + "version": "0.14.0-dev", + "author": "Google Inc.", + "description": "Tools for developing with gRPC on Node.js", + "homepage": "http://www.grpc.io/", + "repository": { + "type": "git", + "url": "https://github.com/grpc/grpc.git" + }, + "bugs": "https://github.com/grpc/grpc/issues", + "contributors": [ + { + "name": "Michael Lumish", + "email": "mlumish@google.com" + } + ], + "bin": { + "grpc-tools-protoc": "./bin/protoc.js" + }, + "scripts": { + "install": "./node_modules/.bin/node-pre-gyp install" + }, + "bundledDependencies": ["node-pre-gyp"], + "binary": { + "module_name": "grpc_tools", + "host": "https://storage.googleapis.com/", + "remote_path": "grpc-precompiled-binaries/node/{name}/v{version}", + "package_name": "{platform}-{arch}.tar.gz", + "module_path": "bin" + }, + "files": [ + "index.js", + "bin/protoc.js", + "LICENSE" + ], + "main": "index.js" +} diff --git a/src/objective-c/GRPCClient/GRPCCall.m b/src/objective-c/GRPCClient/GRPCCall.m index 51263b073ca8bed68b43a904777f1197e622c1f9..1847d6016ff92b2c247bc1a996818c33e11886aa 100644 --- a/src/objective-c/GRPCClient/GRPCCall.m +++ b/src/objective-c/GRPCClient/GRPCCall.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/GRPCClient/private/GRPCChannel.h b/src/objective-c/GRPCClient/private/GRPCChannel.h index e49a6aca2972c08b194ed9f488d76073c775640a..73bf8d95e727dc4d56ba0a639fd0f37ff346076f 100644 --- a/src/objective-c/GRPCClient/private/GRPCChannel.h +++ b/src/objective-c/GRPCClient/private/GRPCChannel.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/GRPCClient/private/GRPCChannel.m b/src/objective-c/GRPCClient/private/GRPCChannel.m index d7de025e21da1c8079a2b1acec534026e38bd987..926f55048dbec442a98df4794d6bd8723b274b48 100644 --- a/src/objective-c/GRPCClient/private/GRPCChannel.m +++ b/src/objective-c/GRPCClient/private/GRPCChannel.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/GRPCClient/private/GRPCCompletionQueue.h b/src/objective-c/GRPCClient/private/GRPCCompletionQueue.h index 7b66cd4c32902fa43e1d2b1c9cd6574a429376d0..fe3b8f39d1273da12f90c11f5937b1ef72df70ec 100644 --- a/src/objective-c/GRPCClient/private/GRPCCompletionQueue.h +++ b/src/objective-c/GRPCClient/private/GRPCCompletionQueue.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/GRPCClient/private/GRPCCompletionQueue.m b/src/objective-c/GRPCClient/private/GRPCCompletionQueue.m index d89602f7cbee11c9f6ac2e2251f30c4b55651445..539b5ab83ce251080e114d3dbcc606cde4b4329a 100644 --- a/src/objective-c/GRPCClient/private/GRPCCompletionQueue.m +++ b/src/objective-c/GRPCClient/private/GRPCCompletionQueue.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/GRPCClient/private/GRPCHost.h b/src/objective-c/GRPCClient/private/GRPCHost.h index 987d3e9f5970073210c5e3cf61b221e25a00f48a..e58bb7a2d94ff6e624edf740a9e84e8ae3aaa123 100644 --- a/src/objective-c/GRPCClient/private/GRPCHost.h +++ b/src/objective-c/GRPCClient/private/GRPCHost.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/GRPCClient/private/GRPCHost.m b/src/objective-c/GRPCClient/private/GRPCHost.m index 508cb206444e04a343626db5d0d26315317c3f5c..739d808c530ac9d7757c50185d9a8b500b95c917 100644 --- a/src/objective-c/GRPCClient/private/GRPCHost.m +++ b/src/objective-c/GRPCClient/private/GRPCHost.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/GRPCClient/private/GRPCWrappedCall.m b/src/objective-c/GRPCClient/private/GRPCWrappedCall.m index f6527e283cfe70be95a8a04929c6598b32b22905..16e5bff7ff7894ede5544df3ee7a547c869299c6 100644 --- a/src/objective-c/GRPCClient/private/GRPCWrappedCall.m +++ b/src/objective-c/GRPCClient/private/GRPCWrappedCall.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/ProtoRPC/ProtoMethod.m b/src/objective-c/ProtoRPC/ProtoMethod.m index 75e5efc23e7f2e5569438066ff9d0a8ef550c62d..4b7ed63123c01a6507f90ed4e2b66f39b0dd08c4 100644 --- a/src/objective-c/ProtoRPC/ProtoMethod.m +++ b/src/objective-c/ProtoRPC/ProtoMethod.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/RxLibrary/GRXWriteable.m b/src/objective-c/RxLibrary/GRXWriteable.m index 028ba9b551ab74bd36428cf56b94823f7de34738..c15ccb17fb9d8900357dc560400ed56badeca912 100644 --- a/src/objective-c/RxLibrary/GRXWriteable.m +++ b/src/objective-c/RxLibrary/GRXWriteable.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/examples/Sample/Sample/ViewController.m b/src/objective-c/examples/Sample/Sample/ViewController.m index a2bb3ee32986c67546aeea6c3c2e6b17cea01c20..433a8a2ba3bc17c9d2db719e3c95a5d67eddef50 100644 --- a/src/objective-c/examples/Sample/Sample/ViewController.m +++ b/src/objective-c/examples/Sample/Sample/ViewController.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/tests/GRPCClientTests.m b/src/objective-c/tests/GRPCClientTests.m index 7dd6873c8029bbd0e69fc9bafde988e85d8123cf..9a8d425324129823a37e1cbbdc8b736cc217366f 100644 --- a/src/objective-c/tests/GRPCClientTests.m +++ b/src/objective-c/tests/GRPCClientTests.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/tests/InteropTestsLocalSSL.m b/src/objective-c/tests/InteropTestsLocalSSL.m index 155e334ecb2bec5ab0552293e7eb78e4c33b295f..f0f4b1d71f03d9dee8386c47a6213dcf70343ee6 100644 --- a/src/objective-c/tests/InteropTestsLocalSSL.m +++ b/src/objective-c/tests/InteropTestsLocalSSL.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/tests/InteropTestsRemote.m b/src/objective-c/tests/InteropTestsRemote.m index 00eadc25bc33f5a6d1f6341f8e66c8f34cbb8132..758cc9346adf2175b187974cacde874e84e4619d 100644 --- a/src/objective-c/tests/InteropTestsRemote.m +++ b/src/objective-c/tests/InteropTestsRemote.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/objective-c/tests/RxLibraryUnitTests.m b/src/objective-c/tests/RxLibraryUnitTests.m index ae9465f58cc0bcb9092e738d3abbd00662d3b125..62fbdfcdf618a500db0255e418ee042056ba994c 100644 --- a/src/objective-c/tests/RxLibraryUnitTests.m +++ b/src/objective-c/tests/RxLibraryUnitTests.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/ext/grpc/LICENSE b/src/php/ext/grpc/LICENSE index a8c47a2081f7f1655c32e8177a40ebc6d30a8300..0c651a02871d439323f05f53fa1e649b202f7d07 100644 --- a/src/php/ext/grpc/LICENSE +++ b/src/php/ext/grpc/LICENSE @@ -1,4 +1,4 @@ -Copyright 2015-2016, Google Inc. +Copyright 2015, Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/src/php/ext/grpc/call.c b/src/php/ext/grpc/call.c index 4f48d6f2e2d2f9aacde86e824aec83315ace15d3..024ab70571b62395924bf75621fcfd43b8e394be 100644 --- a/src/php/ext/grpc/call.c +++ b/src/php/ext/grpc/call.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/ext/grpc/channel.c b/src/php/ext/grpc/channel.c index b7e7c26c10969d1b757a513b344b73d971729662..eba2c81424d00a4049e90f815cad01d3c8cd17ae 100644 --- a/src/php/ext/grpc/channel.c +++ b/src/php/ext/grpc/channel.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/tests/generated_code/AbstractGeneratedCodeTest.php b/src/php/tests/generated_code/AbstractGeneratedCodeTest.php index f70525ef1585ad3fe2a8357760cb921253cd2dd0..75922d4cf7c7fd16eb736cd91fb0a4236f9aee36 100644 --- a/src/php/tests/generated_code/AbstractGeneratedCodeTest.php +++ b/src/php/tests/generated_code/AbstractGeneratedCodeTest.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/tests/generated_code/math_client.php b/src/php/tests/generated_code/math_client.php index 2085560d19e03dad9ef44619a5954325a479192b..b8652ceb08861175f75b03405d5ea7ca0d562f0f 100644 --- a/src/php/tests/generated_code/math_client.php +++ b/src/php/tests/generated_code/math_client.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/tests/unit_tests/CallCredentials2Test.php b/src/php/tests/unit_tests/CallCredentials2Test.php index 1282db6eedf2fcb8f0717c6b4ac619583d18f4c2..a57e2b9b4ee568533b6ed9b89ab2524ba78a5b9b 100644 --- a/src/php/tests/unit_tests/CallCredentials2Test.php +++ b/src/php/tests/unit_tests/CallCredentials2Test.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/tests/unit_tests/CallCredentials3Test.php b/src/php/tests/unit_tests/CallCredentials3Test.php index a458f1d322cf413c2cffcb85cd11b98cdbc9312a..6d98815d16c35ea4f8bbfa52aed99e61f68d0081 100644 --- a/src/php/tests/unit_tests/CallCredentials3Test.php +++ b/src/php/tests/unit_tests/CallCredentials3Test.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/tests/unit_tests/CallCredentialsTest.php b/src/php/tests/unit_tests/CallCredentialsTest.php index 287024839dfdbd2dc5f63bbdeed5ecbf21d54b6d..5fec06cd13395a48785e7cf6bcb8d5bccdf712bb 100644 --- a/src/php/tests/unit_tests/CallCredentialsTest.php +++ b/src/php/tests/unit_tests/CallCredentialsTest.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/tests/unit_tests/CallTest.php b/src/php/tests/unit_tests/CallTest.php index a2522fb1206837452bc707aedd380d4732c4c6e0..1170a440fa98490cb0b55ec890cd85630371598d 100755 --- a/src/php/tests/unit_tests/CallTest.php +++ b/src/php/tests/unit_tests/CallTest.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/tests/unit_tests/ChannelCredentialsTest.php b/src/php/tests/unit_tests/ChannelCredentialsTest.php index 6d472dc8762c47bb237ca21eedaa1d23573e29a2..1a42d69428b60120847103ed3b8a6a75041ebea1 100644 --- a/src/php/tests/unit_tests/ChannelCredentialsTest.php +++ b/src/php/tests/unit_tests/ChannelCredentialsTest.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/tests/unit_tests/ChannelTest.php b/src/php/tests/unit_tests/ChannelTest.php index acb8a0a70d58d870a7111a9c23e3963680ca88c7..b6eac3109a8d63bf4ba5b5c6fa2bd387c96efe15 100644 --- a/src/php/tests/unit_tests/ChannelTest.php +++ b/src/php/tests/unit_tests/ChannelTest.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/tests/unit_tests/EndToEndTest.php b/src/php/tests/unit_tests/EndToEndTest.php index 45f6708b1fea4155cdbed0c36a390739aa17d0c4..3fa92c950bacea663e32a4a1f3aaed0f2be209de 100755 --- a/src/php/tests/unit_tests/EndToEndTest.php +++ b/src/php/tests/unit_tests/EndToEndTest.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/tests/unit_tests/ServerTest.php b/src/php/tests/unit_tests/ServerTest.php index cde6a9a8f7d4d168302622fc3e0c1ceaaff7f398..d18f9abe9bfe6a51689a2c7cab07f164fe500b95 100644 --- a/src/php/tests/unit_tests/ServerTest.php +++ b/src/php/tests/unit_tests/ServerTest.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/php/tests/unit_tests/TimevalTest.php b/src/php/tests/unit_tests/TimevalTest.php index 9e4bc294da37254f6225a739d4411135aebea8af..43abba126ab1b24033eb8ada9f0b61e2ca3f2ea1 100755 --- a/src/php/tests/unit_tests/TimevalTest.php +++ b/src/php/tests/unit_tests/TimevalTest.php @@ -1,7 +1,7 @@ <?php /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/proto/gen_build_yaml.py b/src/proto/gen_build_yaml.py index e243d0defc4b9f67201dd40b941e0399d3466455..2a8d9fab93a5e4b83567e16a443b836c68afc919 100755 --- a/src/proto/gen_build_yaml.py +++ b/src/proto/gen_build_yaml.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -36,7 +36,7 @@ import os import re import sys -def update_deps(key, proto_filename, deps, is_trans, visited): +def update_deps(key, proto_filename, deps, deps_external, is_trans, visited): if not proto_filename in visited: visited.append(proto_filename) with open(proto_filename) as inp: @@ -44,10 +44,17 @@ def update_deps(key, proto_filename, deps, is_trans, visited): imp = re.search(r'import "([^"]*)"', line) if not imp: continue imp_proto = imp.group(1) + # This indicates an external dependency, which we should handle + # differently and not traverse recursively + if imp_proto.startswith('google/'): + if key not in deps_external: + deps_external[key] = [] + deps_external[key].append(imp_proto[:-6]) + continue if key not in deps: deps[key] = [] deps[key].append(imp_proto[:-6]) if is_trans: - update_deps(key, imp_proto, deps, is_trans, visited) + update_deps(key, imp_proto, deps, deps_external, is_trans, visited) def main(): proto_dir = os.path.abspath(os.path.dirname(sys.argv[0])) @@ -55,17 +62,23 @@ def main(): deps = {} deps_trans = {} + deps_external = {} + deps_external_trans = {} for root, dirs, files in os.walk('src/proto'): for f in files: if f[-6:] != '.proto': continue look_at = os.path.join(root, f) deps_for = look_at[:-6] - update_deps(deps_for, look_at, deps, False, []) # First level deps - update_deps(deps_for, look_at, deps_trans, True, []) # Transitive deps + # First level deps + update_deps(deps_for, look_at, deps, deps_external, False, []) + # Transitive deps + update_deps(deps_for, look_at, deps_trans, deps_external_trans, True, []) json = { 'proto_deps': deps, - 'proto_transitive_deps': deps_trans + 'proto_transitive_deps': deps_trans, + 'proto_external_deps': deps_external, + 'proto_transitive_external_deps': deps_external_trans } print yaml.dump(json) diff --git a/src/proto/grpc/health/v1/health.proto b/src/proto/grpc/health/v1/health.proto index 6e27606d1b6fdb4f3e658e0ff4b07d21f1bbc017..4ab30a0256a6f1481a440b47d6c6b067a8f58bef 100644 --- a/src/proto/grpc/health/v1/health.proto +++ b/src/proto/grpc/health/v1/health.proto @@ -1,4 +1,4 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/proto/grpc/testing/control.proto b/src/proto/grpc/testing/control.proto index cc365cafe1af69073d728093efb625ae03eb0b17..458b19c4d6c3de6811f9330cf7194c9fa5dbcc7f 100644 --- a/src/proto/grpc/testing/control.proto +++ b/src/proto/grpc/testing/control.proto @@ -1,4 +1,4 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -169,3 +169,28 @@ message CoreResponse { message Void { } + +// A single performance scenario: input to qps_json_driver +message Scenario { + // Human readable name for this scenario + string name = 1; + // Client configuration + ClientConfig client_config = 2; + // Number of clients to start for the test + int32 num_clients = 3; + // Server configuration + ServerConfig server_config = 4; + // Number of servers to start for the test + int32 num_servers = 5; + // Warmup period, in seconds + int32 warmup_seconds = 6; + // Benchmark time, in seconds + int32 benchmark_seconds = 7; + // Number of workers to spawn locally (usually zero) + int32 spawn_local_worker_count = 8; +} + +// A set of scenarios to be run with qps_json_driver +message Scenarios { + repeated Scenario scenarios = 1; +} diff --git a/src/proto/grpc/testing/duplicate/echo_duplicate.proto b/src/proto/grpc/testing/duplicate/echo_duplicate.proto index 9d84de108e0366791b33c6b6bd396b1029a602d0..94130ea767841ace09ead6e8340abfcc9ad1c93e 100644 --- a/src/proto/grpc/testing/duplicate/echo_duplicate.proto +++ b/src/proto/grpc/testing/duplicate/echo_duplicate.proto @@ -1,5 +1,5 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/proto/grpc/testing/echo.proto b/src/proto/grpc/testing/echo.proto index 06c3bafbad0937897ef11cfb8a245c768113d393..0eef53a92a14ef45f1847ab5c3b9ca987ced899b 100644 --- a/src/proto/grpc/testing/echo.proto +++ b/src/proto/grpc/testing/echo.proto @@ -1,5 +1,5 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/proto/grpc/testing/echo_messages.proto b/src/proto/grpc/testing/echo_messages.proto index 5ce0a1fd64275cc09eaf1e59f4ee8402867b39f1..1be1966f101486b5f57b3cddac87a31cea9a63d4 100644 --- a/src/proto/grpc/testing/echo_messages.proto +++ b/src/proto/grpc/testing/echo_messages.proto @@ -1,5 +1,5 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/proto/grpc/testing/messages.proto b/src/proto/grpc/testing/messages.proto index 193b6c4171288c6968d29625f22d61229ceba3aa..a063b470c7b2e389a0663d199141829e8cf6b944 100644 --- a/src/proto/grpc/testing/messages.proto +++ b/src/proto/grpc/testing/messages.proto @@ -1,5 +1,5 @@ -// Copyright 2015, Google Inc. +// Copyright 2015-2016, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -158,6 +158,12 @@ message StreamingOutputCallResponse { Payload payload = 1; } +// For reconnect interop test only. +// Client tells server what reconnection parameters it used. +message ReconnectParams { + int32 max_reconnect_backoff_ms = 1; +} + // For reconnect interop test only. // Server tells client whether its reconnects are following the spec and the // reconnect backoffs it saw. diff --git a/src/proto/grpc/testing/metrics.proto b/src/proto/grpc/testing/metrics.proto index df719afd99ef1101e5afc03d4328d2045795f2db..1202b20b8fd0f957a0ee0033fa7430ede42b0e25 100644 --- a/src/proto/grpc/testing/metrics.proto +++ b/src/proto/grpc/testing/metrics.proto @@ -42,7 +42,7 @@ message GaugeResponse { string name = 1; oneof value { int64 long_value = 2; - double double_vale = 3; + double double_value = 3; string string_value = 4; } } diff --git a/src/proto/grpc/testing/services.proto b/src/proto/grpc/testing/services.proto index a2c5fda47efb264c825a20f7d63a5f592edc8e63..f71dae34eedfbab7fc153bd0897948cc6e1fa1e5 100644 --- a/src/proto/grpc/testing/services.proto +++ b/src/proto/grpc/testing/services.proto @@ -1,4 +1,4 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/proto/grpc/testing/test.proto b/src/proto/grpc/testing/test.proto index 9faba297a37e3704d02e8a3ac220b67d2bd6dc04..84369db4b8a6e93979700c420a7e12c10cd093c1 100644 --- a/src/proto/grpc/testing/test.proto +++ b/src/proto/grpc/testing/test.proto @@ -1,5 +1,5 @@ -// Copyright 2015, Google Inc. +// Copyright 2015-2016, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -80,6 +80,6 @@ service UnimplementedService { // A service used to control reconnect server. service ReconnectService { - rpc Start(grpc.testing.Empty) returns (grpc.testing.Empty); + rpc Start(grpc.testing.ReconnectParams) returns (grpc.testing.Empty); rpc Stop(grpc.testing.Empty) returns (grpc.testing.ReconnectInfo); } diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py index 1d435474198521a12f45d2d6ca500566608776fb..9e745701c14595fbbcfd642817f72adf869b1739 100644 --- a/src/python/grpcio/commands.py +++ b/src/python/grpcio/commands.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_adapter/_low.py b/src/python/grpcio/grpc/_adapter/_low.py index 62fd52ab4013921144722f11e21c8ecc039afcd4..b13d8dd9dda1f8e92e45d3fc5c18be1e7be2896f 100644 --- a/src/python/grpcio/grpc/_adapter/_low.py +++ b/src/python/grpcio/grpc/_adapter/_low.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_adapter/_types.py b/src/python/grpcio/grpc/_adapter/_types.py index f9e18f0bb3f2ca534866a703755e54322eccff63..8ca7ff4b6087958d597e66d9fa4add9189525301 100644 --- a/src/python/grpcio/grpc/_adapter/_types.py +++ b/src/python/grpcio/grpc/_adapter/_types.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/call.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/call.pyx.pxi index d1b9c98ffc2ca6d092a7d33c0676f1d4badb527b..1bfe6344e07cfca564ac054b6e0c2e640e6fdc80 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/call.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/call.pyx.pxi @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi index d612c9079181919e3bad8c3b82790921a93cfdc2..c26bc083cf32b6e342799ded634ae63dba9f4321 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/completion_queue.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/completion_queue.pxd.pxi index 305475c006074fc73bd83f829ce98fed8b72e593..a67c963684394d05a819d5a209a734f2bf909904 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/completion_queue.pxd.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/completion_queue.pxd.pxi @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/completion_queue.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/completion_queue.pyx.pxi index 09e47d422218c337da99e93d389039c4a7dea2fd..cdae39d519412a7fc75176a13f4d2fcd1e343803 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/completion_queue.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/completion_queue.pyx.pxi @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi index 1d7adca23ef6f313518d6b55deda0307b5587d48..842635f56b514956be39f5e8d9830d005b720f5e 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/grpc.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/grpc.pxi index 61165cb02135c16b936915f0e203449ddf1f349a..7696f8c7f7630ec97e4318957a7d50ff820e5f53 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/grpc.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/grpc.pxi @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/records.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/records.pyx.pxi index 6ecdcf7222b6f527a5a962bfb1bf4ed5699e7466..c2202bdab2d19269f9800a9a9d3a8420dd4faebe 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/records.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/records.pyx.pxi @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/server.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/server.pxd.pxi index a344230be408307f369ae7a109698eece2014498..a35eb5ea771359c3fc4b9937268d2394134f8c48 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/server.pxd.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/server.pxd.pxi @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/server.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/server.pyx.pxi index a098f11da24c0a0799f1a9454a0045571c1f6293..8419a5906818a571512108a87a6b55c8d5f96523 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/server.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/server.pyx.pxi @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_cython/cygrpc.pxd b/src/python/grpcio/grpc/_cython/cygrpc.pxd index 61b0fa788fd85060a60926c7e2e939103de2f0bc..9779534e38470454168d76f424279240df83d766 100644 --- a/src/python/grpcio/grpc/_cython/cygrpc.pxd +++ b/src/python/grpcio/grpc/_cython/cygrpc.pxd @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_cython/cygrpc.pyx b/src/python/grpcio/grpc/_cython/cygrpc.pyx index 8a0f171ee7597f9206798f90360f18ba22970a45..8823ea5ef5ec78563e939648300bdedaa096b7d4 100644 --- a/src/python/grpcio/grpc/_cython/cygrpc.pyx +++ b/src/python/grpcio/grpc/_cython/cygrpc.pyx @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_cython/imports.generated.h b/src/python/grpcio/grpc/_cython/imports.generated.h index 4d18369e1f499fb9d7db346a106fdad112e8eacc..272e85b4857366195a77d5a387284527bc5772f5 100644 --- a/src/python/grpcio/grpc/_cython/imports.generated.h +++ b/src/python/grpcio/grpc/_cython/imports.generated.h @@ -283,7 +283,7 @@ extern grpc_call_destroy_type grpc_call_destroy_import; typedef grpc_call_error(*grpc_server_request_call_type)(grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *request_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new); extern grpc_server_request_call_type grpc_server_request_call_import; #define grpc_server_request_call grpc_server_request_call_import -typedef void *(*grpc_server_register_method_type)(grpc_server *server, const char *method, const char *host); +typedef void *(*grpc_server_register_method_type)(grpc_server *server, const char *method, const char *host, grpc_server_register_method_payload_handling payload_handling, uint32_t flags); extern grpc_server_register_method_type grpc_server_register_method_import; #define grpc_server_register_method grpc_server_register_method_import typedef grpc_call_error(*grpc_server_request_registered_call_type)(grpc_server *server, void *registered_method, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *request_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new); diff --git a/src/python/grpcio/grpc/_links/invocation.py b/src/python/grpcio/grpc/_links/invocation.py index 672e3e4cc86f417e2bd245440400ddce65acff0b..003653e1c847434b59cec3a596d8b69ca70d4b98 100644 --- a/src/python/grpcio/grpc/_links/invocation.py +++ b/src/python/grpcio/grpc/_links/invocation.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/_links/service.py b/src/python/grpcio/grpc/_links/service.py index e0f26a5b0f914ad6e95a72cbc5a8662000dc2667..11310e22409d7ce4a0550cac39fee2902662b1ed 100644 --- a/src/python/grpcio/grpc/_links/service.py +++ b/src/python/grpcio/grpc/_links/service.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/beta/_server.py b/src/python/grpcio/grpc/beta/_server.py index 12d16e6c18639e649e44c406701a1a03ddaadde3..eb0aadb42f975a894ae1633f6d215910ce220967 100644 --- a/src/python/grpcio/grpc/beta/_server.py +++ b/src/python/grpcio/grpc/beta/_server.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/beta/implementations.py b/src/python/grpcio/grpc/beta/implementations.py index a0ca330d2c02bda4883a5643daaf08b1c0edf53d..742e94dc6526c64f31d15d1dc3faef8c6f7544df 100644 --- a/src/python/grpcio/grpc/beta/implementations.py +++ b/src/python/grpcio/grpc/beta/implementations.py @@ -61,15 +61,16 @@ class ChannelCredentials(object): self._low_credentials = low_credentials -def ssl_channel_credentials(root_certificates, private_key, certificate_chain): +def ssl_channel_credentials(root_certificates=None, private_key=None, + certificate_chain=None): """Creates a ChannelCredentials for use with an SSL-enabled Channel. Args: - root_certificates: The PEM-encoded root certificates or None to ask for + root_certificates: The PEM-encoded root certificates or unset to ask for them to be retrieved from a default location. - private_key: The PEM-encoded private key to use or None if no private key + private_key: The PEM-encoded private key to use or unset if no private key should be used. - certificate_chain: The PEM-encoded certificate chain to use or None if no + certificate_chain: The PEM-encoded certificate chain to use or unset if no certificate chain should be used. Returns: diff --git a/src/python/grpcio/grpc/beta/interfaces.py b/src/python/grpcio/grpc/beta/interfaces.py index e29a5b33792af32d3960d0f5fcc035f42da1e529..33ca45ac5b28f9418a7c5b1e6c772724d7500c53 100644 --- a/src/python/grpcio/grpc/beta/interfaces.py +++ b/src/python/grpcio/grpc/beta/interfaces.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/alpha/_face_utilities.py b/src/python/grpcio/grpc/framework/alpha/_face_utilities.py index b5e4133cadea2913a98d786d00f8bdbcfbd79d7a..15c47d5c92769be03b879f65eda64f2d970342d6 100644 --- a/src/python/grpcio/grpc/framework/alpha/_face_utilities.py +++ b/src/python/grpcio/grpc/framework/alpha/_face_utilities.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/alpha/_reexport.py b/src/python/grpcio/grpc/framework/alpha/_reexport.py index 4ea0e94d80546ceb028099c2f70d11ec4ffea841..e027077a771d9474b49f8b07566f11d9b4a01de9 100644 --- a/src/python/grpcio/grpc/framework/alpha/_reexport.py +++ b/src/python/grpcio/grpc/framework/alpha/_reexport.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/alpha/exceptions.py b/src/python/grpcio/grpc/framework/alpha/exceptions.py index 8ec260488e8cfa8b12af09852899e05ea9e4f19f..09359c5e94fd8ec8ab59730456ee32b6c0b6b7e6 100644 --- a/src/python/grpcio/grpc/framework/alpha/exceptions.py +++ b/src/python/grpcio/grpc/framework/alpha/exceptions.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/alpha/interfaces.py b/src/python/grpcio/grpc/framework/alpha/interfaces.py index cb6d58bb2ec2d11fc2d19129ab32efb3f2c179b8..48f144f614f4c350034ac31a17b4f9b4097ef8e1 100644 --- a/src/python/grpcio/grpc/framework/alpha/interfaces.py +++ b/src/python/grpcio/grpc/framework/alpha/interfaces.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/base/_ingestion.py b/src/python/grpcio/grpc/framework/base/_ingestion.py index 090cb158c94cec7e018ce9c62fb66dcd3a023768..c9b10acb77a077cce26f48e55f1f2521bca24374 100644 --- a/src/python/grpcio/grpc/framework/base/_ingestion.py +++ b/src/python/grpcio/grpc/framework/base/_ingestion.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/base/_interfaces.py b/src/python/grpcio/grpc/framework/base/_interfaces.py index c0cc866cad47e65d9ac99c0c594555fd73280774..6bb9837c4aca72c7bf94d33dd3eb2ae1dd89a98f 100644 --- a/src/python/grpcio/grpc/framework/base/_interfaces.py +++ b/src/python/grpcio/grpc/framework/base/_interfaces.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/base/_reception.py b/src/python/grpcio/grpc/framework/base/_reception.py index 2bee3947f0af0e9b802c10eff7840831ca1412cc..a59c5165f9fbfaa53e2426c9417116d9d0927fd2 100644 --- a/src/python/grpcio/grpc/framework/base/_reception.py +++ b/src/python/grpcio/grpc/framework/base/_reception.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/base/_transmission.py b/src/python/grpcio/grpc/framework/base/_transmission.py index 398faaf3146a6e170f3cd12b857257b70b7606c1..e2a25626f1dddb1187b23f0a952b826a5062c850 100644 --- a/src/python/grpcio/grpc/framework/base/_transmission.py +++ b/src/python/grpcio/grpc/framework/base/_transmission.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/base/interfaces.py b/src/python/grpcio/grpc/framework/base/interfaces.py index 7c58a23ce05d78583a2115a4b436d6669560d8e3..995b51cd5b935177cd6884b2556f482af789e801 100644 --- a/src/python/grpcio/grpc/framework/base/interfaces.py +++ b/src/python/grpcio/grpc/framework/base/interfaces.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/core/_end.py b/src/python/grpcio/grpc/framework/core/_end.py index dc2f48589ad5bbe0f6ef0834011f2b1910a6bb33..009d27c915c4409479562e98fe4d5ecac78b2c47 100644 --- a/src/python/grpcio/grpc/framework/core/_end.py +++ b/src/python/grpcio/grpc/framework/core/_end.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/core/_ingestion.py b/src/python/grpcio/grpc/framework/core/_ingestion.py index 1e1fd73ce437db525b7485c9d6e8bed5d4679e94..f2767c981b2e3d4c62903794d581e800dd5171f6 100644 --- a/src/python/grpcio/grpc/framework/core/_ingestion.py +++ b/src/python/grpcio/grpc/framework/core/_ingestion.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/core/_interfaces.py b/src/python/grpcio/grpc/framework/core/_interfaces.py index 985e5e8550acf69fadd15d638858b0e832487bad..63ac82f80e7b3acef78225a4ae1b67def8b639b1 100644 --- a/src/python/grpcio/grpc/framework/core/_interfaces.py +++ b/src/python/grpcio/grpc/framework/core/_interfaces.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/core/_termination.py b/src/python/grpcio/grpc/framework/core/_termination.py index e8c4ec60a323059da14797689489ef4ca2b6660f..fff3a3fc146fc7324bc594716a4a7b2dd6f674f0 100644 --- a/src/python/grpcio/grpc/framework/core/_termination.py +++ b/src/python/grpcio/grpc/framework/core/_termination.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/crust/_control.py b/src/python/grpcio/grpc/framework/crust/_control.py index c27fc9106d51c69773de77108b21c5b5b42983b6..9b4167bda0c20dbab18a7f0ae95b017fc31f4de4 100644 --- a/src/python/grpcio/grpc/framework/crust/_control.py +++ b/src/python/grpcio/grpc/framework/crust/_control.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/crust/implementations.py b/src/python/grpcio/grpc/framework/crust/implementations.py index d0ecafcaf6815e4f4b06c50cc6339ef1b71b475f..2d3ab733b6a92280a7e1720cc4d3fb0d672bef6f 100644 --- a/src/python/grpcio/grpc/framework/crust/implementations.py +++ b/src/python/grpcio/grpc/framework/crust/implementations.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/face/_control.py b/src/python/grpcio/grpc/framework/face/_control.py index ec43203a25e7f27a6fc53dc493e70dd823a36456..539615efa18143e92cc8d853858c8295575b31bd 100644 --- a/src/python/grpcio/grpc/framework/face/_control.py +++ b/src/python/grpcio/grpc/framework/face/_control.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/face/exceptions.py b/src/python/grpcio/grpc/framework/face/exceptions.py index c272ac75ab933375935e122869023791a6809845..f95455604d5798d09cde0044a4feecec935abe07 100644 --- a/src/python/grpcio/grpc/framework/face/exceptions.py +++ b/src/python/grpcio/grpc/framework/face/exceptions.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/face/implementations.py b/src/python/grpcio/grpc/framework/face/implementations.py index 9c75a5faf4bcabc2cc5f2a3956d55e8c83e313f1..96055b413000801f8f54d6a9be04a4063c0188a5 100644 --- a/src/python/grpcio/grpc/framework/face/implementations.py +++ b/src/python/grpcio/grpc/framework/face/implementations.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/face/interfaces.py b/src/python/grpcio/grpc/framework/face/interfaces.py index 9fc18d73bc4b9fc849000bd11e09bde64f10c5b7..e9a25c17e1952e1dce4c5432f91eae1917208a58 100644 --- a/src/python/grpcio/grpc/framework/face/interfaces.py +++ b/src/python/grpcio/grpc/framework/face/interfaces.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/foundation/activated.py b/src/python/grpcio/grpc/framework/foundation/activated.py index 9b49b6363c10f5dece70b003b3974f32374f6b27..8b8e4f45b5cc5ed79c0ad556349bf4559965a9f9 100644 --- a/src/python/grpcio/grpc/framework/foundation/activated.py +++ b/src/python/grpcio/grpc/framework/foundation/activated.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/foundation/callable_util.py b/src/python/grpcio/grpc/framework/foundation/callable_util.py index e0a4cab7381fe532e9f1f217661e8489525e4530..4f029f97bb84893f05815a0b778d60d12d28cf91 100644 --- a/src/python/grpcio/grpc/framework/foundation/callable_util.py +++ b/src/python/grpcio/grpc/framework/foundation/callable_util.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/foundation/future.py b/src/python/grpcio/grpc/framework/foundation/future.py index bb8ee3ad87164e77a630308c97819f94cbe7403e..92106161504941452f31978117052a5a2722460e 100644 --- a/src/python/grpcio/grpc/framework/foundation/future.py +++ b/src/python/grpcio/grpc/framework/foundation/future.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/foundation/logging_pool.py b/src/python/grpcio/grpc/framework/foundation/logging_pool.py index f82c7f7fbaebf917f2e30cffd1a63ce5454f562c..9b469a1452e0dafd6cd72d86a556f748d4e2aa8a 100644 --- a/src/python/grpcio/grpc/framework/foundation/logging_pool.py +++ b/src/python/grpcio/grpc/framework/foundation/logging_pool.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/foundation/relay.py b/src/python/grpcio/grpc/framework/foundation/relay.py index ff4e2275aefff2adabee5a19c1890345403a03b9..20f41b2738808e8dda7cd430c7cfb5beacd0e63f 100644 --- a/src/python/grpcio/grpc/framework/foundation/relay.py +++ b/src/python/grpcio/grpc/framework/foundation/relay.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/foundation/stream.py b/src/python/grpcio/grpc/framework/foundation/stream.py index 32a2e52aed9c6c53a8032abb7e59ed9430f55244..ddd6cc496a9dc8c196032ac23bc16e837d909fd2 100644 --- a/src/python/grpcio/grpc/framework/foundation/stream.py +++ b/src/python/grpcio/grpc/framework/foundation/stream.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/foundation/stream_util.py b/src/python/grpcio/grpc/framework/foundation/stream_util.py index 7d5977fbbdaec481282a8a92d663503cef477be0..a6f234f1feb1caf355def0e2ab3536bbfc17e2f3 100644 --- a/src/python/grpcio/grpc/framework/foundation/stream_util.py +++ b/src/python/grpcio/grpc/framework/foundation/stream_util.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/interfaces/base/base.py b/src/python/grpcio/grpc/framework/interfaces/base/base.py index 69be37e7abf0b74c83ae98244176317aa8a02976..a2ddd9c474730383461186685627afb3f5138cf4 100644 --- a/src/python/grpcio/grpc/framework/interfaces/base/base.py +++ b/src/python/grpcio/grpc/framework/interfaces/base/base.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/interfaces/face/face.py b/src/python/grpcio/grpc/framework/interfaces/face/face.py index b994acecac61fd38e6fa92fef5be35f1b28163c8..4826e7fff647db8ce32cf2263a8ee6b342886293 100644 --- a/src/python/grpcio/grpc/framework/interfaces/face/face.py +++ b/src/python/grpcio/grpc/framework/interfaces/face/face.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc/framework/interfaces/links/links.py b/src/python/grpcio/grpc/framework/interfaces/links/links.py index 808167935fb2dc59b4f1346abdffbfcb0ebb547d..9631b19078e2a3a5d6db3b09073a548b65302888 100644 --- a/src/python/grpcio/grpc/framework/interfaces/links/links.py +++ b/src/python/grpcio/grpc/framework/interfaces/links/links.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 3c57ad71daa6f5819aa6775b6d836c2eec57bc20..1f7f2a196be0e27701db97049f895e677d2bf8e4 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -74,90 +74,31 @@ CORE_SOURCE_FILES = [ 'src/core/lib/support/tmpfile_posix.c', 'src/core/lib/support/tmpfile_win32.c', 'src/core/lib/support/wrap_memcpy.c', - 'src/core/ext/transport/chttp2/client/insecure/channel_create.c', - 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.c', - 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.c', - 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c', - 'src/core/ext/transport/chttp2/transport/alpn.c', - 'src/core/ext/transport/chttp2/transport/bin_encoder.c', - 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', - 'src/core/ext/transport/chttp2/transport/frame_data.c', - 'src/core/ext/transport/chttp2/transport/frame_goaway.c', - 'src/core/ext/transport/chttp2/transport/frame_ping.c', - 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', - 'src/core/ext/transport/chttp2/transport/frame_settings.c', - 'src/core/ext/transport/chttp2/transport/frame_window_update.c', - 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', - 'src/core/ext/transport/chttp2/transport/hpack_parser.c', - 'src/core/ext/transport/chttp2/transport/hpack_table.c', - 'src/core/ext/transport/chttp2/transport/huffsyms.c', - 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', - 'src/core/ext/transport/chttp2/transport/parsing.c', - 'src/core/ext/transport/chttp2/transport/status_conversion.c', - 'src/core/ext/transport/chttp2/transport/stream_lists.c', - 'src/core/ext/transport/chttp2/transport/stream_map.c', - 'src/core/ext/transport/chttp2/transport/timeout_encoding.c', - 'src/core/ext/transport/chttp2/transport/varint.c', - 'src/core/ext/transport/chttp2/transport/writing.c', - 'src/core/lib/census/context.c', - 'src/core/lib/census/grpc_context.c', - 'src/core/lib/census/grpc_filter.c', - 'src/core/lib/census/grpc_plugin.c', - 'src/core/lib/census/initialize.c', - 'src/core/lib/census/mlog.c', - 'src/core/lib/census/operation.c', - 'src/core/lib/census/placeholders.c', - 'src/core/lib/census/tracing.c', 'src/core/lib/channel/channel_args.c', 'src/core/lib/channel/channel_stack.c', 'src/core/lib/channel/channel_stack_builder.c', - 'src/core/lib/channel/client_channel.c', 'src/core/lib/channel/compress_filter.c', 'src/core/lib/channel/connected_channel.c', 'src/core/lib/channel/http_client_filter.c', 'src/core/lib/channel/http_server_filter.c', - 'src/core/lib/channel/subchannel_call_holder.c', - 'src/core/lib/client_config/client_config.c', - 'src/core/lib/client_config/connector.c', - 'src/core/lib/client_config/default_initial_connect_string.c', - 'src/core/lib/client_config/initial_connect_string.c', - 'src/core/lib/client_config/lb_policies/load_balancer_api.c', - 'src/core/lib/client_config/lb_policies/pick_first.c', - 'src/core/lib/client_config/lb_policies/round_robin.c', - 'src/core/lib/client_config/lb_policy.c', - 'src/core/lib/client_config/lb_policy_factory.c', - 'src/core/lib/client_config/lb_policy_registry.c', - 'src/core/lib/client_config/resolver.c', - 'src/core/lib/client_config/resolver_factory.c', - 'src/core/lib/client_config/resolver_registry.c', - 'src/core/lib/client_config/resolvers/dns_resolver.c', - 'src/core/lib/client_config/resolvers/sockaddr_resolver.c', - 'src/core/lib/client_config/subchannel.c', - 'src/core/lib/client_config/subchannel_factory.c', - 'src/core/lib/client_config/subchannel_index.c', - 'src/core/lib/client_config/uri_parser.c', 'src/core/lib/compression/compression_algorithm.c', 'src/core/lib/compression/message_compress.c', 'src/core/lib/debug/trace.c', 'src/core/lib/http/format_request.c', 'src/core/lib/http/httpcli.c', - 'src/core/lib/http/httpcli_security_connector.c', 'src/core/lib/http/parser.c', 'src/core/lib/iomgr/closure.c', 'src/core/lib/iomgr/endpoint.c', 'src/core/lib/iomgr/endpoint_pair_posix.c', 'src/core/lib/iomgr/endpoint_pair_windows.c', + 'src/core/lib/iomgr/ev_poll_and_epoll_posix.c', + 'src/core/lib/iomgr/ev_posix.c', 'src/core/lib/iomgr/exec_ctx.c', 'src/core/lib/iomgr/executor.c', - 'src/core/lib/iomgr/fd_posix.c', 'src/core/lib/iomgr/iocp_windows.c', 'src/core/lib/iomgr/iomgr.c', 'src/core/lib/iomgr/iomgr_posix.c', 'src/core/lib/iomgr/iomgr_windows.c', - 'src/core/lib/iomgr/pollset_multipoller_with_epoll.c', - 'src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c', - 'src/core/lib/iomgr/pollset_posix.c', - 'src/core/lib/iomgr/pollset_set_posix.c', 'src/core/lib/iomgr/pollset_set_windows.c', 'src/core/lib/iomgr/pollset_windows.c', 'src/core/lib/iomgr/resolve_address_posix.c', @@ -189,21 +130,6 @@ CORE_SOURCE_FILES = [ 'src/core/lib/json/json_reader.c', 'src/core/lib/json/json_string.c', 'src/core/lib/json/json_writer.c', - 'src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c', - 'src/core/lib/security/b64.c', - 'src/core/lib/security/client_auth_filter.c', - 'src/core/lib/security/credentials.c', - 'src/core/lib/security/credentials_metadata.c', - 'src/core/lib/security/credentials_posix.c', - 'src/core/lib/security/credentials_win32.c', - 'src/core/lib/security/google_default_credentials.c', - 'src/core/lib/security/handshake.c', - 'src/core/lib/security/json_token.c', - 'src/core/lib/security/jwt_verifier.c', - 'src/core/lib/security/secure_endpoint.c', - 'src/core/lib/security/security_connector.c', - 'src/core/lib/security/security_context.c', - 'src/core/lib/security/server_auth_filter.c', 'src/core/lib/surface/alarm.c', 'src/core/lib/surface/api_trace.c', 'src/core/lib/surface/byte_buffer.c', @@ -212,14 +138,12 @@ CORE_SOURCE_FILES = [ 'src/core/lib/surface/call_details.c', 'src/core/lib/surface/call_log_batch.c', 'src/core/lib/surface/channel.c', - 'src/core/lib/surface/channel_connectivity.c', 'src/core/lib/surface/channel_init.c', 'src/core/lib/surface/channel_ping.c', 'src/core/lib/surface/channel_stack_type.c', 'src/core/lib/surface/completion_queue.c', 'src/core/lib/surface/event_string.c', 'src/core/lib/surface/init.c', - 'src/core/lib/surface/init_secure.c', 'src/core/lib/surface/lame_client.c', 'src/core/lib/surface/metadata_array.c', 'src/core/lib/surface/server.c', @@ -232,12 +156,88 @@ CORE_SOURCE_FILES = [ 'src/core/lib/transport/static_metadata.c', 'src/core/lib/transport/transport.c', 'src/core/lib/transport/transport_op_string.c', + 'src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c', + 'src/core/ext/transport/chttp2/transport/bin_encoder.c', + 'src/core/ext/transport/chttp2/transport/chttp2_plugin.c', + 'src/core/ext/transport/chttp2/transport/chttp2_transport.c', + 'src/core/ext/transport/chttp2/transport/frame_data.c', + 'src/core/ext/transport/chttp2/transport/frame_goaway.c', + 'src/core/ext/transport/chttp2/transport/frame_ping.c', + 'src/core/ext/transport/chttp2/transport/frame_rst_stream.c', + 'src/core/ext/transport/chttp2/transport/frame_settings.c', + 'src/core/ext/transport/chttp2/transport/frame_window_update.c', + 'src/core/ext/transport/chttp2/transport/hpack_encoder.c', + 'src/core/ext/transport/chttp2/transport/hpack_parser.c', + 'src/core/ext/transport/chttp2/transport/hpack_table.c', + 'src/core/ext/transport/chttp2/transport/huffsyms.c', + 'src/core/ext/transport/chttp2/transport/incoming_metadata.c', + 'src/core/ext/transport/chttp2/transport/parsing.c', + 'src/core/ext/transport/chttp2/transport/status_conversion.c', + 'src/core/ext/transport/chttp2/transport/stream_lists.c', + 'src/core/ext/transport/chttp2/transport/stream_map.c', + 'src/core/ext/transport/chttp2/transport/timeout_encoding.c', + 'src/core/ext/transport/chttp2/transport/varint.c', + 'src/core/ext/transport/chttp2/transport/writing.c', + 'src/core/ext/transport/chttp2/alpn/alpn.c', + 'src/core/lib/http/httpcli_security_connector.c', + 'src/core/lib/security/b64.c', + 'src/core/lib/security/client_auth_filter.c', + 'src/core/lib/security/credentials.c', + 'src/core/lib/security/credentials_metadata.c', + 'src/core/lib/security/credentials_posix.c', + 'src/core/lib/security/credentials_win32.c', + 'src/core/lib/security/google_default_credentials.c', + 'src/core/lib/security/handshake.c', + 'src/core/lib/security/json_token.c', + 'src/core/lib/security/jwt_verifier.c', + 'src/core/lib/security/secure_endpoint.c', + 'src/core/lib/security/security_connector.c', + 'src/core/lib/security/security_context.c', + 'src/core/lib/security/server_auth_filter.c', + 'src/core/lib/surface/init_secure.c', 'src/core/lib/tsi/fake_transport_security.c', 'src/core/lib/tsi/ssl_transport_security.c', 'src/core/lib/tsi/transport_security.c', + 'src/core/ext/transport/chttp2/client/secure/secure_channel_create.c', + 'src/core/ext/client_config/channel_connectivity.c', + 'src/core/ext/client_config/client_channel.c', + 'src/core/ext/client_config/client_channel_factory.c', + 'src/core/ext/client_config/client_config.c', + 'src/core/ext/client_config/client_config_plugin.c', + 'src/core/ext/client_config/connector.c', + 'src/core/ext/client_config/default_initial_connect_string.c', + 'src/core/ext/client_config/initial_connect_string.c', + 'src/core/ext/client_config/lb_policy.c', + 'src/core/ext/client_config/lb_policy_factory.c', + 'src/core/ext/client_config/lb_policy_registry.c', + 'src/core/ext/client_config/resolver.c', + 'src/core/ext/client_config/resolver_factory.c', + 'src/core/ext/client_config/resolver_registry.c', + 'src/core/ext/client_config/subchannel.c', + 'src/core/ext/client_config/subchannel_call_holder.c', + 'src/core/ext/client_config/subchannel_index.c', + 'src/core/ext/client_config/uri_parser.c', + 'src/core/ext/transport/chttp2/server/insecure/server_chttp2.c', + 'src/core/ext/transport/chttp2/client/insecure/channel_create.c', + 'src/core/ext/lb_policy/grpclb/load_balancer_api.c', + 'src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c', 'third_party/nanopb/pb_common.c', 'third_party/nanopb/pb_decode.c', 'third_party/nanopb/pb_encode.c', + 'src/core/ext/lb_policy/pick_first/pick_first.c', + 'src/core/ext/lb_policy/round_robin/round_robin.c', + 'src/core/ext/resolver/dns/native/dns_resolver.c', + 'src/core/ext/resolver/sockaddr/sockaddr_resolver.c', + 'src/core/ext/census/context.c', + 'src/core/ext/census/grpc_context.c', + 'src/core/ext/census/grpc_filter.c', + 'src/core/ext/census/grpc_plugin.c', + 'src/core/ext/census/initialize.c', + 'src/core/ext/census/mlog.c', + 'src/core/ext/census/operation.c', + 'src/core/ext/census/placeholders.c', + 'src/core/ext/census/tracing.c', + 'src/core/plugin_registry/grpc_plugin_registry.c', 'src/boringssl/err_data.c', 'third_party/boringssl/crypto/aes/aes.c', 'third_party/boringssl/crypto/aes/mode_wrappers.c', diff --git a/src/python/grpcio/grpc_version.py b/src/python/grpcio/grpc_version.py index 75b88cfd61eeeaa52dd297dcffb4823193e7cb57..873b4e2a9131341a75eb35ecd26bee1dadb5c844 100644 --- a/src/python/grpcio/grpc_version.py +++ b/src/python/grpcio/grpc_version.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/precompiled.py b/src/python/grpcio/precompiled.py index d34250b02c4130f7db0596f7194420731428d0d3..b6aa7fc90eeaafdf9f4bf780c2a6440925cb830c 100644 --- a/src/python/grpcio/precompiled.py +++ b/src/python/grpcio/precompiled.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -91,6 +91,9 @@ class BuildTaggedExt(setuptools.Command): def update_setup_arguments(setup_arguments): + if not USE_PRECOMPILED_BINARIES: + sys.stderr.write('not using precompiled extension') + return url = '{}/{}.so'.format(BINARIES_REPOSITORY, _tagged_ext_name('cygrpc')) target_path = os.path.join(PYTHON_STEM, 'grpc/_cython/cygrpc.so') try: diff --git a/src/python/grpcio/tests/__init__.py b/src/python/grpcio/tests/__init__.py index c3b80d766d86a1d7096f3ce5191b1919da7782d1..a70a1b1f1df837dcfe440f497242f83539ed1b09 100644 --- a/src/python/grpcio/tests/__init__.py +++ b/src/python/grpcio/tests/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/_loader.py b/src/python/grpcio/tests/_loader.py index 2f9e5c660ecf0edafab00d6ecda356b818a6bea5..c2f097f6c61be4fd8f0f647e3594b48f0babfc7d 100644 --- a/src/python/grpcio/tests/_loader.py +++ b/src/python/grpcio/tests/_loader.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/_result.py b/src/python/grpcio/tests/_result.py index 18b0f4396369e28350c7ae59f14cd92fa91982f5..1acec6a9b59c60b2efc293f9cfdd0778a8b24d54 100644 --- a/src/python/grpcio/tests/_result.py +++ b/src/python/grpcio/tests/_result.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/_runner.py b/src/python/grpcio/tests/_runner.py index 173a170409b9512a94cf174b9bf5691083677b65..f0718573e2c3bdf8430a75f15ff73b8f43fc9061 100644 --- a/src/python/grpcio/tests/_runner.py +++ b/src/python/grpcio/tests/_runner.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/interop/_secure_interop_test.py b/src/python/grpcio/tests/interop/_secure_interop_test.py index 7e3061133f1119b7cf49f9b0ce46c1f815c21078..86d7e4335120bc47798e7b7f421fc62e08d2ff32 100644 --- a/src/python/grpcio/tests/interop/_secure_interop_test.py +++ b/src/python/grpcio/tests/interop/_secure_interop_test.py @@ -56,7 +56,7 @@ class SecureInteropTest( self.stub = test_pb2.beta_create_TestService_stub( test_utilities.not_really_secure_channel( '[::]', port, implementations.ssl_channel_credentials( - resources.test_root_certificates(), None, None), + resources.test_root_certificates()), _SERVER_HOST_OVERRIDE)) def tearDown(self): diff --git a/src/python/grpcio/tests/interop/client.py b/src/python/grpcio/tests/interop/client.py index 573ec2bd714a114d20b545d488c93328e3f2c41d..1d10d7e45de50e7e78013b906f917b4d5b24c0d7 100644 --- a/src/python/grpcio/tests/interop/client.py +++ b/src/python/grpcio/tests/interop/client.py @@ -94,7 +94,7 @@ def _stub(args): channel = test_utilities.not_really_secure_channel( args.server_host, args.server_port, - implementations.ssl_channel_credentials(root_certificates, None, None), + implementations.ssl_channel_credentials(root_certificates), args.server_host_override) stub = test_pb2.beta_create_TestService_stub( channel, metadata_transformer=metadata_transformer) diff --git a/src/python/grpcio/tests/interop/methods.py b/src/python/grpcio/tests/interop/methods.py index 7f42b4a005e87f0a4b7263897f5dc1b6b1fe76c5..03810338ed2f19aa84f0da8a5f0058fee7258eca 100644 --- a/src/python/grpcio/tests/interop/methods.py +++ b/src/python/grpcio/tests/interop/methods.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/protoc_plugin/beta_python_plugin_test.py b/src/python/grpcio/tests/protoc_plugin/beta_python_plugin_test.py index 230ec6487d2c58c883c7b85cd0780088a9c77718..6fba3d4271b2b4acb9377cc7b996de6aa2676264 100644 --- a/src/python/grpcio/tests/protoc_plugin/beta_python_plugin_test.py +++ b/src/python/grpcio/tests/protoc_plugin/beta_python_plugin_test.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/_adapter/_intermediary_low_test.py b/src/python/grpcio/tests/unit/_adapter/_intermediary_low_test.py index 06bfc34977cdf09430a54defe663a02f0d37269a..22d4b019c7f0d1b3afa2f80a3806ccbe311e35c5 100644 --- a/src/python/grpcio/tests/unit/_adapter/_intermediary_low_test.py +++ b/src/python/grpcio/tests/unit/_adapter/_intermediary_low_test.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/_adapter/_proto_scenarios.py b/src/python/grpcio/tests/unit/_adapter/_proto_scenarios.py index c9f36636b5c040d8c76dc046519abc4dd83635e1..7a90eacf77f7355dfa388debe7425d7565109942 100644 --- a/src/python/grpcio/tests/unit/_adapter/_proto_scenarios.py +++ b/src/python/grpcio/tests/unit/_adapter/_proto_scenarios.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/_core_over_links_base_interface_test.py b/src/python/grpcio/tests/unit/_core_over_links_base_interface_test.py index 881633754c1a1412da95ecb57838f84ddd785f76..2b8981c7523e171c279e4374310f29aa6f5fe621 100644 --- a/src/python/grpcio/tests/unit/_core_over_links_base_interface_test.py +++ b/src/python/grpcio/tests/unit/_core_over_links_base_interface_test.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/_crust_over_core_over_links_face_interface_test.py b/src/python/grpcio/tests/unit/_crust_over_core_over_links_face_interface_test.py index 3be3b051fbde4662d211ebb54f31584a6c101dae..50b9a5a8244980ee57acd58f537fec5026c8fe7f 100644 --- a/src/python/grpcio/tests/unit/_crust_over_core_over_links_face_interface_test.py +++ b/src/python/grpcio/tests/unit/_crust_over_core_over_links_face_interface_test.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/_links/_proto_scenarios.py b/src/python/grpcio/tests/unit/_links/_proto_scenarios.py index acd4891390ded6fd27bb37cbce79b5b70d491625..50661085f9d1b3c0155242a10c4165e5ba6e5378 100644 --- a/src/python/grpcio/tests/unit/_links/_proto_scenarios.py +++ b/src/python/grpcio/tests/unit/_links/_proto_scenarios.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/beta/_beta_features_test.py b/src/python/grpcio/tests/unit/beta/_beta_features_test.py index ebdedcc11ebfd2331a35ede1ccf3c9c62b31a2e4..bb2893a21b9a48a33deef4d2ad5ce2cef969153c 100644 --- a/src/python/grpcio/tests/unit/beta/_beta_features_test.py +++ b/src/python/grpcio/tests/unit/beta/_beta_features_test.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -183,7 +183,7 @@ class BetaFeaturesTest(unittest.TestCase): port = self._server.add_secure_port('[::]:0', server_credentials) self._server.start() self._channel_credentials = implementations.ssl_channel_credentials( - resources.test_root_certificates(), None, None) + resources.test_root_certificates()) self._call_credentials = implementations.metadata_call_credentials( _metadata_plugin) channel = test_utilities.not_really_secure_channel( @@ -296,7 +296,7 @@ class ContextManagementAndLifecycleTest(unittest.TestCase): self._server_credentials = implementations.ssl_server_credentials( [(resources.private_key(), resources.certificate_chain(),),]) self._channel_credentials = implementations.ssl_channel_credentials( - resources.test_root_certificates(), None, None) + resources.test_root_certificates()) self._stub_options = implementations.stub_options( thread_pool_size=test_constants.POOL_SIZE) diff --git a/src/python/grpcio/tests/unit/beta/_face_interface_test.py b/src/python/grpcio/tests/unit/beta/_face_interface_test.py index cb302bbf684db2c6fa9fed88986de39e3737929c..3a67516906dca30fc97827a4c16afcce38aa82a6 100644 --- a/src/python/grpcio/tests/unit/beta/_face_interface_test.py +++ b/src/python/grpcio/tests/unit/beta/_face_interface_test.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -94,7 +94,7 @@ class _Implementation(test_interfaces.Implementation): port = server.add_secure_port('[::]:0', server_credentials) server.start() channel_credentials = implementations.ssl_channel_credentials( - resources.test_root_certificates(), None, None) + resources.test_root_certificates()) channel = test_utilities.not_really_secure_channel( 'localhost', port, channel_credentials, _SERVER_HOST_OVERRIDE) stub_options = implementations.stub_options( diff --git a/src/python/grpcio/tests/unit/beta/_implementations_test.py b/src/python/grpcio/tests/unit/beta/_implementations_test.py index 6b32305af71dae34c65789b134c35b562f4ee28c..26be670c459fb042e024dbc3341fd3f9da64f18f 100644 --- a/src/python/grpcio/tests/unit/beta/_implementations_test.py +++ b/src/python/grpcio/tests/unit/beta/_implementations_test.py @@ -38,14 +38,13 @@ from tests.unit import resources class ChannelCredentialsTest(unittest.TestCase): def test_runtime_provided_root_certificates(self): - channel_credentials = implementations.ssl_channel_credentials( - None, None, None) + channel_credentials = implementations.ssl_channel_credentials() self.assertIsInstance( channel_credentials, implementations.ChannelCredentials) def test_application_provided_root_certificates(self): channel_credentials = implementations.ssl_channel_credentials( - resources.test_root_certificates(), None, None) + resources.test_root_certificates()) self.assertIsInstance( channel_credentials, implementations.ChannelCredentials) diff --git a/src/python/grpcio/tests/unit/framework/_crust_over_core_face_interface_test.py b/src/python/grpcio/tests/unit/framework/_crust_over_core_face_interface_test.py index fd2d4298f9ad84d0d9207be4c16f79a87f8d41e1..43457be362acfe7a89b2a293975884560ce93816 100644 --- a/src/python/grpcio/tests/unit/framework/_crust_over_core_face_interface_test.py +++ b/src/python/grpcio/tests/unit/framework/_crust_over_core_face_interface_test.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/common/test_constants.py b/src/python/grpcio/tests/unit/framework/common/test_constants.py index 9f1fb8471ca31905adf6b3b69e6114704c86e70c..8d89101e093900fc4d031addfbe69f7720775f75 100644 --- a/src/python/grpcio/tests/unit/framework/common/test_constants.py +++ b/src/python/grpcio/tests/unit/framework/common/test_constants.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/common/test_control.py b/src/python/grpcio/tests/unit/framework/common/test_control.py index 0387668b112644c3bf5fceee2726fd73cb5cad68..ca5ba3a85423ea151c0f9ff03d981938de4c77ca 100644 --- a/src/python/grpcio/tests/unit/framework/common/test_control.py +++ b/src/python/grpcio/tests/unit/framework/common/test_control.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/common/test_coverage.py b/src/python/grpcio/tests/unit/framework/common/test_coverage.py index 184621fb5c442952dccd89dfb80ca92152a4c67c..ea2d2812ce646712ea7162500bbf07acc8c42bc2 100644 --- a/src/python/grpcio/tests/unit/framework/common/test_coverage.py +++ b/src/python/grpcio/tests/unit/framework/common/test_coverage.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/face/testing/base_util.py b/src/python/grpcio/tests/unit/framework/face/testing/base_util.py index 60ab5bc0fe71570ccc674b863357b61e6b75f0da..59652b3e9084b9e4c89e9832e360b5ab6a346b31 100644 --- a/src/python/grpcio/tests/unit/framework/face/testing/base_util.py +++ b/src/python/grpcio/tests/unit/framework/face/testing/base_util.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/face/testing/blocking_invocation_inline_service_test_case.py b/src/python/grpcio/tests/unit/framework/face/testing/blocking_invocation_inline_service_test_case.py index b0b00bfa81a6cbbfdf7152a55125ef2aa48179a6..2ebe1a32a4daf3f0e2029e91be2ca3b9dc365d74 100644 --- a/src/python/grpcio/tests/unit/framework/face/testing/blocking_invocation_inline_service_test_case.py +++ b/src/python/grpcio/tests/unit/framework/face/testing/blocking_invocation_inline_service_test_case.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/face/testing/control.py b/src/python/grpcio/tests/unit/framework/face/testing/control.py index 0d40331e1977066e9f3e3c84414f9b186d36c9a2..8425affcc91aeb3de0fc63e4dcc930d09ffe6d4c 100644 --- a/src/python/grpcio/tests/unit/framework/face/testing/control.py +++ b/src/python/grpcio/tests/unit/framework/face/testing/control.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/face/testing/coverage.py b/src/python/grpcio/tests/unit/framework/face/testing/coverage.py index 9f5381069d4b77a00c8fbfb6742d5968f5f09ec0..3c88b7841a52ccf202916bb437ce2b46425560c0 100644 --- a/src/python/grpcio/tests/unit/framework/face/testing/coverage.py +++ b/src/python/grpcio/tests/unit/framework/face/testing/coverage.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/face/testing/digest.py b/src/python/grpcio/tests/unit/framework/face/testing/digest.py index 100067cc8334b991aa583433d0db8053a4197804..2b45aded208be151d90b1e121def8ad55c74650b 100644 --- a/src/python/grpcio/tests/unit/framework/face/testing/digest.py +++ b/src/python/grpcio/tests/unit/framework/face/testing/digest.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/face/testing/event_invocation_synchronous_event_service_test_case.py b/src/python/grpcio/tests/unit/framework/face/testing/event_invocation_synchronous_event_service_test_case.py index db901cfe4ef03095ca8be893e889a8cd3094c454..98b61e492c9f340aaaa7a959dd0b62c1631ff335 100644 --- a/src/python/grpcio/tests/unit/framework/face/testing/event_invocation_synchronous_event_service_test_case.py +++ b/src/python/grpcio/tests/unit/framework/face/testing/event_invocation_synchronous_event_service_test_case.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/face/testing/future_invocation_asynchronous_event_service_test_case.py b/src/python/grpcio/tests/unit/framework/face/testing/future_invocation_asynchronous_event_service_test_case.py index d8706aa39ec3b8fbbf14b679d8b2b631dc8fb5cc..cae791af97e14ec320b11698521717faaa8b1c67 100644 --- a/src/python/grpcio/tests/unit/framework/face/testing/future_invocation_asynchronous_event_service_test_case.py +++ b/src/python/grpcio/tests/unit/framework/face/testing/future_invocation_asynchronous_event_service_test_case.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/face/testing/interfaces.py b/src/python/grpcio/tests/unit/framework/face/testing/interfaces.py index 87be836e2d02c0d0469ed72ad7daa401b848d006..8a25f89c8831a03535fd0a9cb6b2f6d396d563b0 100644 --- a/src/python/grpcio/tests/unit/framework/face/testing/interfaces.py +++ b/src/python/grpcio/tests/unit/framework/face/testing/interfaces.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/face/testing/service.py b/src/python/grpcio/tests/unit/framework/face/testing/service.py index dc0f204c04b01e37a6ccaaf8061bbb50c57e7b4e..3e4228cc07065a3c34061bc636df3ea64eb631bc 100644 --- a/src/python/grpcio/tests/unit/framework/face/testing/service.py +++ b/src/python/grpcio/tests/unit/framework/face/testing/service.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/face/testing/test_case.py b/src/python/grpcio/tests/unit/framework/face/testing/test_case.py index 5be9330a77409e02ce336969cde11b8ebe9fa78a..f29d400844887d73dbb0d25d75eec2137490abaf 100644 --- a/src/python/grpcio/tests/unit/framework/face/testing/test_case.py +++ b/src/python/grpcio/tests/unit/framework/face/testing/test_case.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/foundation/_logging_pool_test.py b/src/python/grpcio/tests/unit/framework/foundation/_logging_pool_test.py index 0521e1c102ace797f2f841a4ea2e3bd72e248bfe..330e445d43323a602c465c6c4967c5225c38b8c1 100644 --- a/src/python/grpcio/tests/unit/framework/foundation/_logging_pool_test.py +++ b/src/python/grpcio/tests/unit/framework/foundation/_logging_pool_test.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/interfaces/base/_control.py b/src/python/grpcio/tests/unit/framework/interfaces/base/_control.py index 94bcc1428e2649578e0be8e37f6825cecb6e534c..0eb38abf222ea1fb625d44786136b9934004b585 100644 --- a/src/python/grpcio/tests/unit/framework/interfaces/base/_control.py +++ b/src/python/grpcio/tests/unit/framework/interfaces/base/_control.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/interfaces/base/test_interfaces.py b/src/python/grpcio/tests/unit/framework/interfaces/base/test_interfaces.py index 0594cfeb3145e033c5a20677db0a0bf5fb2cf0ba..5eba475ba89eeeefdd1bb241a658a7d025a880bf 100644 --- a/src/python/grpcio/tests/unit/framework/interfaces/base/test_interfaces.py +++ b/src/python/grpcio/tests/unit/framework/interfaces/base/test_interfaces.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/interfaces/face/_blocking_invocation_inline_service.py b/src/python/grpcio/tests/unit/framework/interfaces/face/_blocking_invocation_inline_service.py index 936b87f59761a8d1dabf7967c7a3cacb1b1c1b4a..649892463aeee09e3b03a98294e3d2c78c2c65d5 100644 --- a/src/python/grpcio/tests/unit/framework/interfaces/face/_blocking_invocation_inline_service.py +++ b/src/python/grpcio/tests/unit/framework/interfaces/face/_blocking_invocation_inline_service.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/interfaces/face/_digest.py b/src/python/grpcio/tests/unit/framework/interfaces/face/_digest.py index 40c03f9e714e11dbbb5e7dc069c4fbbd368acd91..f0befb0b27336eb47df654ee0b5392d4e87b7999 100644 --- a/src/python/grpcio/tests/unit/framework/interfaces/face/_digest.py +++ b/src/python/grpcio/tests/unit/framework/interfaces/face/_digest.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/interfaces/face/_future_invocation_asynchronous_event_service.py b/src/python/grpcio/tests/unit/framework/interfaces/face/_future_invocation_asynchronous_event_service.py index 401b52f6143bae0a70a704adf2191d272a043ddd..c3813d5f3a8f7c70cdec7bf9f3bee115315ea51a 100644 --- a/src/python/grpcio/tests/unit/framework/interfaces/face/_future_invocation_asynchronous_event_service.py +++ b/src/python/grpcio/tests/unit/framework/interfaces/face/_future_invocation_asynchronous_event_service.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/interfaces/face/_invocation.py b/src/python/grpcio/tests/unit/framework/interfaces/face/_invocation.py index ff38dc2ece365f72e8b3dc2708e3ba6070d5c36f..ac487bed4f928f063b05071079f0554558f25632 100644 --- a/src/python/grpcio/tests/unit/framework/interfaces/face/_invocation.py +++ b/src/python/grpcio/tests/unit/framework/interfaces/face/_invocation.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/interfaces/face/_receiver.py b/src/python/grpcio/tests/unit/framework/interfaces/face/_receiver.py index 42a7f4e3b80f5494f4c0f9ac072a5c2682a08eda..48f31fc6770af65d8371745d4ac4ad94824ad875 100644 --- a/src/python/grpcio/tests/unit/framework/interfaces/face/_receiver.py +++ b/src/python/grpcio/tests/unit/framework/interfaces/face/_receiver.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/interfaces/face/_service.py b/src/python/grpcio/tests/unit/framework/interfaces/face/_service.py index bec8d5113c17ac153bb31ff4311e24922ab702c7..f13dff0558571e194a2f3f77a79eabf7b5ce9c11 100644 --- a/src/python/grpcio/tests/unit/framework/interfaces/face/_service.py +++ b/src/python/grpcio/tests/unit/framework/interfaces/face/_service.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/interfaces/face/test_cases.py b/src/python/grpcio/tests/unit/framework/interfaces/face/test_cases.py index 06b9d77e52164457a3fd1c212a07b86d18116eb1..71de9d835e9f651716893ca999b48e8c1bf8c2a2 100644 --- a/src/python/grpcio/tests/unit/framework/interfaces/face/test_cases.py +++ b/src/python/grpcio/tests/unit/framework/interfaces/face/test_cases.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/interfaces/face/test_interfaces.py b/src/python/grpcio/tests/unit/framework/interfaces/face/test_interfaces.py index a5e28b79425d3e433cd3da7f8187a53786ea3857..40f38e68ba1231b62363ff205a8e90efc3a06975 100644 --- a/src/python/grpcio/tests/unit/framework/interfaces/face/test_interfaces.py +++ b/src/python/grpcio/tests/unit/framework/interfaces/face/test_interfaces.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/framework/interfaces/links/test_cases.py b/src/python/grpcio/tests/unit/framework/interfaces/links/test_cases.py index 2283e79f0abcd06ab3572cb17e15d092c7cf540d..608e64119ec9586637d5c55ac0800d3a499014cc 100644 --- a/src/python/grpcio/tests/unit/framework/interfaces/links/test_cases.py +++ b/src/python/grpcio/tests/unit/framework/interfaces/links/test_cases.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio/tests/unit/test_common.py b/src/python/grpcio/tests/unit/test_common.py index 824f1cbd160d918e2fa7715b26295bd0427d68ef..7b4d20dccbe060c98de8b78e4ece450a439b16c7 100644 --- a/src/python/grpcio/tests/unit/test_common.py +++ b/src/python/grpcio/tests/unit/test_common.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio_health_checking/grpc/health/v1/__init__.py b/src/python/grpcio_health_checking/grpc/health/v1/__init__.py index 13aac79160b8db0fd6863590a4d044464b72dbcc..708651910607ffb686d781713f6893567821b9fd 100644 --- a/src/python/grpcio_health_checking/grpc/health/v1/__init__.py +++ b/src/python/grpcio_health_checking/grpc/health/v1/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio_health_checking/grpc/health/v1/health.proto b/src/python/grpcio_health_checking/grpc/health/v1/health.proto index de10719b6ced765117e2a4c5672af8a010fa2bd3..b0bac54be9810b1c8d2b86dd0e613da4673386df 100644 --- a/src/python/grpcio_health_checking/grpc/health/v1/health.proto +++ b/src/python/grpcio_health_checking/grpc/health/v1/health.proto @@ -1,4 +1,4 @@ -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/src/python/grpcio_health_checking/grpc/health/v1/health.py b/src/python/grpcio_health_checking/grpc/health/v1/health.py index 60cbd644330b2ac48126fed40c58768de087c007..4b5af15aa68a92fb0d34c1737969feac7c1ba710 100644 --- a/src/python/grpcio_health_checking/grpc/health/v1/health.py +++ b/src/python/grpcio_health_checking/grpc/health/v1/health.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb index 6b7001a4899d774b747c6887d7cca582fefb0b74..82b6d313c866208127ad20f105ac8484328eaa09 100644 --- a/src/ruby/ext/grpc/extconf.rb +++ b/src/ruby/ext/grpc/extconf.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/ext/grpc/rb_byte_buffer.c b/src/ruby/ext/grpc/rb_byte_buffer.c index 9b617e13d3cdaa759baf8b835e642531eef48171..cba910d832a8f9e12fe7d4d0b555447257392830 100644 --- a/src/ruby/ext/grpc/rb_byte_buffer.c +++ b/src/ruby/ext/grpc/rb_byte_buffer.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/ext/grpc/rb_call.c b/src/ruby/ext/grpc/rb_call.c index b0829efdc784e0db8bbba2e968271557788665b3..f5fdbb2ffd721967dacdee7c26b000395690e1e5 100644 --- a/src/ruby/ext/grpc/rb_call.c +++ b/src/ruby/ext/grpc/rb_call.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -359,7 +359,7 @@ static int grpc_rb_md_ary_fill_hash_cb(VALUE key, VALUE val, VALUE md_ary_obj) { md_ary->metadata[md_ary->count].value_length = value_len; md_ary->count += 1; } - } else { + } else if (TYPE(val) == T_STRING) { value_str = RSTRING_PTR(val); value_len = RSTRING_LEN(val); if (!grpc_is_binary_header(key_str, key_len) && @@ -373,6 +373,10 @@ static int grpc_rb_md_ary_fill_hash_cb(VALUE key, VALUE val, VALUE md_ary_obj) { md_ary->metadata[md_ary->count].value = value_str; md_ary->metadata[md_ary->count].value_length = value_len; md_ary->count += 1; + } else { + rb_raise(rb_eArgError, + "Header values must be of type string or array"); + return ST_STOP; } return ST_CONTINUE; diff --git a/src/ruby/ext/grpc/rb_call_credentials.c b/src/ruby/ext/grpc/rb_call_credentials.c index 2b978fcdd0c1266bcbbbe3d4bde1584684ebe52c..38bf1f7710f8c8fbe8b6d98703ee3d39fdf4d0df 100644 --- a/src/ruby/ext/grpc/rb_call_credentials.c +++ b/src/ruby/ext/grpc/rb_call_credentials.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/ext/grpc/rb_channel.c b/src/ruby/ext/grpc/rb_channel.c index e1aaa539db30b9fe1904b6708530aead2f25325c..984afad1073cf680f7b6194dffb9809621073eae 100644 --- a/src/ruby/ext/grpc/rb_channel.c +++ b/src/ruby/ext/grpc/rb_channel.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/ext/grpc/rb_channel_args.c b/src/ruby/ext/grpc/rb_channel_args.c index 69827cea1c4263a2ca1211e3a67f11a573ee949a..2ffb8f41daeff5386bc2b1a66d3a2a2103fd09b6 100644 --- a/src/ruby/ext/grpc/rb_channel_args.c +++ b/src/ruby/ext/grpc/rb_channel_args.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/ext/grpc/rb_channel_credentials.c b/src/ruby/ext/grpc/rb_channel_credentials.c index f6490843113feb953d630b6989c490c19da74434..10391bc96359c98e3c837ff45d1f2a7101c9944c 100644 --- a/src/ruby/ext/grpc/rb_channel_credentials.c +++ b/src/ruby/ext/grpc/rb_channel_credentials.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/ext/grpc/rb_completion_queue.c b/src/ruby/ext/grpc/rb_completion_queue.c index 1eb5a28750086a0017d012b9e302a1b359624c14..2a2eee190cdeec501f3b1fafaf7904e2d2b26b42 100644 --- a/src/ruby/ext/grpc/rb_completion_queue.c +++ b/src/ruby/ext/grpc/rb_completion_queue.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/ext/grpc/rb_grpc.c b/src/ruby/ext/grpc/rb_grpc.c index 0f9b18fa212a44278d80222f653bc59f483d44d1..acb47b005583e830e96731d21883ba8888e4e97b 100644 --- a/src/ruby/ext/grpc/rb_grpc.c +++ b/src/ruby/ext/grpc/rb_grpc.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/ext/grpc/rb_grpc_imports.generated.h b/src/ruby/ext/grpc/rb_grpc_imports.generated.h index 3bf81af8fbcc0d927bc7bd7b3b13acbe290d9bf8..c526f434c6157f5a08745ad2f82306ed0a0dc3d9 100644 --- a/src/ruby/ext/grpc/rb_grpc_imports.generated.h +++ b/src/ruby/ext/grpc/rb_grpc_imports.generated.h @@ -283,7 +283,7 @@ extern grpc_call_destroy_type grpc_call_destroy_import; typedef grpc_call_error(*grpc_server_request_call_type)(grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *request_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new); extern grpc_server_request_call_type grpc_server_request_call_import; #define grpc_server_request_call grpc_server_request_call_import -typedef void *(*grpc_server_register_method_type)(grpc_server *server, const char *method, const char *host); +typedef void *(*grpc_server_register_method_type)(grpc_server *server, const char *method, const char *host, grpc_server_register_method_payload_handling payload_handling, uint32_t flags); extern grpc_server_register_method_type grpc_server_register_method_import; #define grpc_server_register_method grpc_server_register_method_import typedef grpc_call_error(*grpc_server_request_registered_call_type)(grpc_server *server, void *registered_method, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *request_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new); diff --git a/src/ruby/ext/grpc/rb_server.c b/src/ruby/ext/grpc/rb_server.c index 37cc55a6514e34cb1851de4290c37ec36971b5db..96e60c67763e1b655b5697a3477970ca4365b47c 100644 --- a/src/ruby/ext/grpc/rb_server.c +++ b/src/ruby/ext/grpc/rb_server.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/ext/grpc/rb_server_credentials.c b/src/ruby/ext/grpc/rb_server_credentials.c index 4ea59b6b27fe3aedd397cfba73811800fb3d4158..33b8372850bd3580385ff94140276a2eec5d69ff 100644 --- a/src/ruby/ext/grpc/rb_server_credentials.c +++ b/src/ruby/ext/grpc/rb_server_credentials.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/lib/grpc.rb b/src/ruby/lib/grpc.rb index 1671ba3550b8f20563cc26f0eeeef480f21322f0..4e23cd7af2d94593cb8bc15d8ccc6578ca5470ab 100644 --- a/src/ruby/lib/grpc.rb +++ b/src/ruby/lib/grpc.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/lib/grpc/core/time_consts.rb b/src/ruby/lib/grpc/core/time_consts.rb index c8eae7806b349b78affbcb279cc46210740d4c44..3b8c2daa07e616d181801e5f2d4d65f684d61d1c 100644 --- a/src/ruby/lib/grpc/core/time_consts.rb +++ b/src/ruby/lib/grpc/core/time_consts.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/lib/grpc/errors.rb b/src/ruby/lib/grpc/errors.rb index 2227ee1f12b503d3ee92b89e11ad042412cda5c4..1d7588c18dfe7ba73a79b435c4c3d6acd846a199 100644 --- a/src/ruby/lib/grpc/errors.rb +++ b/src/ruby/lib/grpc/errors.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/lib/grpc/generic/bidi_call.rb b/src/ruby/lib/grpc/generic/bidi_call.rb index 213176bd488c877d1d9601c3ab2027682f7f3c08..6b9b7856933cb94dd86144b4f80ad9cc0b904f43 100644 --- a/src/ruby/lib/grpc/generic/bidi_call.rb +++ b/src/ruby/lib/grpc/generic/bidi_call.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/lib/grpc/generic/client_stub.rb b/src/ruby/lib/grpc/generic/client_stub.rb index 4da9ff086a9550bb1e7274f0a101df7759ef8b64..98e83a8396472941469e3501bf1a6dbc582e0bf4 100644 --- a/src/ruby/lib/grpc/generic/client_stub.rb +++ b/src/ruby/lib/grpc/generic/client_stub.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/lib/grpc/generic/rpc_desc.rb b/src/ruby/lib/grpc/generic/rpc_desc.rb index 526b2ba5b61118c639e8621a0c8eda22582b8f85..dd90d8d91dca71e0da0b33a28afb4e5a13d149e3 100644 --- a/src/ruby/lib/grpc/generic/rpc_desc.rb +++ b/src/ruby/lib/grpc/generic/rpc_desc.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/lib/grpc/generic/rpc_server.rb b/src/ruby/lib/grpc/generic/rpc_server.rb index b30d19dd2bbb676ef989b460f500b3eeaad25754..5ba77db17373893f7965969dc90406adab0017e7 100644 --- a/src/ruby/lib/grpc/generic/rpc_server.rb +++ b/src/ruby/lib/grpc/generic/rpc_server.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -403,7 +403,7 @@ module GRPC loop_handle_server_calls end - # Sends UNAVAILABLE if there are too many unprocessed jobs + # Sends RESOURCE_EXHAUSTED if there are too many unprocessed jobs def available?(an_rpc) jobs_count, max = @pool.jobs_waiting, @max_waiting_requests GRPC.logger.info("waiting: #{jobs_count}, max: #{max}") @@ -411,7 +411,7 @@ module GRPC GRPC.logger.warn("NOT AVAILABLE: too many jobs_waiting: #{an_rpc}") noop = proc { |x| x } c = ActiveCall.new(an_rpc.call, @cq, noop, noop, an_rpc.deadline) - c.send_status(StatusCodes::UNAVAILABLE, '') + c.send_status(StatusCodes::RESOURCE_EXHAUSTED, '') nil end diff --git a/src/ruby/lib/grpc/grpc.rb b/src/ruby/lib/grpc/grpc.rb index d8a4947494f010b68a8fa2bd81f9fa8b011f1030..250f6dd30d4875e518b4f8ce4f434d7b678d9664 100644 --- a/src/ruby/lib/grpc/grpc.rb +++ b/src/ruby/lib/grpc/grpc.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/lib/grpc/version.rb b/src/ruby/lib/grpc/version.rb index ef0876159d7e05f172215c94e86366fcb10b226a..67c6a5d5a17ac071044b1a3ff04e82247f7f57f9 100644 --- a/src/ruby/lib/grpc/version.rb +++ b/src/ruby/lib/grpc/version.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/pb/generate_proto_ruby.sh b/src/ruby/pb/generate_proto_ruby.sh index 86c082099d98304859e4ab55f5a6512b0116f8ab..82dad18ad07ea3a78fc3705aacbb5aff5ece5987 100755 --- a/src/ruby/pb/generate_proto_ruby.sh +++ b/src/ruby/pb/generate_proto_ruby.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -40,11 +40,18 @@ $PROTOC -I src/proto src/proto/grpc/health/v1/health.proto \ --ruby_out=src/ruby/pb \ --plugin=$PLUGIN -$PROTOC -I . test/proto/{messages,test,empty}.proto \ +$PROTOC -I . \ + src/proto/grpc/testing/{messages,test,empty}.proto \ --grpc_out=src/ruby/pb \ --ruby_out=src/ruby/pb \ --plugin=$PLUGIN +$PROTOC -I . \ + src/proto/grpc/testing/{messages,payloads,stats,services,control}.proto \ + --grpc_out=src/ruby/qps \ + --ruby_out=src/ruby/qps \ + --plugin=$PLUGIN + $PROTOC -I src/proto/math src/proto/math/math.proto \ --grpc_out=src/ruby/bin \ --ruby_out=src/ruby/bin \ diff --git a/src/ruby/pb/grpc/health/checker.rb b/src/ruby/pb/grpc/health/checker.rb index 9f1ee65c41935164c322cde79e7412265010df0e..f7310d92894733e04e0cc74f54ff3d732ee21fb6 100644 --- a/src/ruby/pb/grpc/health/checker.rb +++ b/src/ruby/pb/grpc/health/checker.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/pb/test/client.rb b/src/ruby/pb/test/client.rb index 684ee807715a17a6280841e95ea3777d542e31eb..2f83e67c5248226375d83f45054d44d25c638382 100755 --- a/src/ruby/pb/test/client.rb +++ b/src/ruby/pb/test/client.rb @@ -1,6 +1,6 @@ #!/usr/bin/env ruby -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/qps/client.rb b/src/ruby/qps/client.rb new file mode 100644 index 0000000000000000000000000000000000000000..d04f707479b3ebbbc8f1b3fa60d6a7cc32dc5eee --- /dev/null +++ b/src/ruby/qps/client.rb @@ -0,0 +1,164 @@ +#!/usr/bin/env ruby + +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Worker and worker service implementation + +this_dir = File.expand_path(File.dirname(__FILE__)) +lib_dir = File.join(File.dirname(this_dir), 'lib') +$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir) +$LOAD_PATH.unshift(this_dir) unless $LOAD_PATH.include?(this_dir) + +require 'grpc' +require 'histogram' +require 'src/proto/grpc/testing/services_services' + +class Poisson + def interarrival + @lambda_recip * (-Math.log(1.0-rand)) + end + def advance + t = @next_time + @next_time += interarrival + t + end + def initialize(lambda) + @lambda_recip = 1.0/lambda + @next_time = Time.now + interarrival + end +end + +class BenchmarkClient + def initialize(config) + opts = {} + if config.security_params + if config.security_params.use_test_ca + certs = load_test_certs + cred = GRPC::Core::ChannelCredentials.new(certs[0]) + else + cred = GRPC::Core::ChannelCredentials.new() + end + if config.security_params.server_host_override + opts[GRPC::Core::Channel::SSL_TARGET] = + config.security_params.server_host_override + end + else + cred = :this_channel_is_insecure + end + @histres = config.histogram_params.resolution + @histmax = config.histogram_params.max_possible + @start_time = Time.now + @histogram = Histogram.new(@histres, @histmax) + @done = false + + gtsr = Grpc::Testing::SimpleRequest + gtpt = Grpc::Testing::PayloadType + gtp = Grpc::Testing::Payload + simple_params = config.payload_config.simple_params + req = gtsr.new(response_type: gtpt::COMPRESSABLE, + response_size: simple_params.resp_size, + payload: gtp.new(type: gtpt::COMPRESSABLE, + body: nulls(simple_params.req_size))) + + (0..config.client_channels-1).each do |chan| + gtbss = Grpc::Testing::BenchmarkService::Stub + st = config.server_targets + stub = gtbss.new(st[chan % st.length], cred, **opts) + (0..config.outstanding_rpcs_per_channel-1).each do |r| + Thread.new { + case config.load_params.load.to_s + when 'closed_loop' + waiter = nil + when 'poisson' + waiter = Poisson.new(config.load_params.poisson.offered_load / + (config.client_channels * + config.outstanding_rpcs_per_channel)) + end + case config.rpc_type + when :UNARY + unary_ping_ponger(req,stub,config,waiter) + when :STREAMING + streaming_ping_ponger(req,stub,config,waiter) + end + } + end + end + end + def wait_to_issue(waiter) + if waiter + delay = waiter.advance-Time.now + sleep delay if delay > 0 + end + end + def unary_ping_ponger(req, stub, config,waiter) + while !@done + wait_to_issue(waiter) + start = Time.now + resp = stub.unary_call(req) + @histogram.add((Time.now-start)*1e9) + end + end + def streaming_ping_ponger(req, stub, config, waiter) + q = EnumeratorQueue.new(self) + resp = stub.streaming_call(q.each_item) + start = Time.now + q.push(req) + resp.each do |r| + @histogram.add((Time.now-start)*1e9) + if !@done + wait_to_issue(waiter) + start = Time.now + q.push(req) + else + q.push(self) + break + end + end + end + def mark(reset) + lat = Grpc::Testing::HistogramData.new( + bucket: @histogram.contents, + min_seen: @histogram.minimum, + max_seen: @histogram.maximum, + sum: @histogram.sum, + sum_of_squares: @histogram.sum_of_squares, + count: @histogram.count + ) + elapsed = Time.now-@start_time + if reset + @start_time = Time.now + @histogram = Histogram.new(@histres, @histmax) + end + Grpc::Testing::ClientStats.new(latencies: lat, time_elapsed: elapsed) + end + def shutdown + @done = true + end +end diff --git a/src/ruby/qps/histogram.rb b/src/ruby/qps/histogram.rb new file mode 100644 index 0000000000000000000000000000000000000000..bf7a89ac46606d4a2ae650b4cd07758a21b3ed41 --- /dev/null +++ b/src/ruby/qps/histogram.rb @@ -0,0 +1,88 @@ +#!/usr/bin/env ruby + +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Histogram class for use in performance testing and measurement + +class Histogram + # Determine the bucket index for a given value + # @param {number} value The value to check + # @return {number} The bucket index + def bucket_for(value) + (Math.log(value)/Math.log(@multiplier)).to_i + end + # Initialize an empty histogram + # @param {number} resolution The resolution of the histogram + # @param {number} max_possible The maximum value for the histogram + def initialize(resolution, max_possible) + @resolution=resolution + @max_possible=max_possible + @sum=0 + @sum_of_squares=0 + @multiplier=1+resolution + @count=0 + @min_seen=max_possible + @max_seen=0 + @buckets=Array.new(bucket_for(max_possible)+1, 0) + end + # Add a value to the histogram. This updates all statistics with the new + # value. Those statistics should not be modified except with this function + # @param {number} value The value to add + def add(value) + @sum += value + @sum_of_squares += value * value + @count += 1 + if value < @min_seen + @min_seen = value + end + if value > @max_seen + @max_seen = value + end + @buckets[bucket_for(value)] += 1 + end + def minimum + @min_seen + end + def maximum + @max_seen + end + def sum + @sum + end + def sum_of_squares + @sum_of_squares + end + def count + @count + end + def contents + @buckets + end +end diff --git a/src/ruby/qps/qps-common.rb b/src/ruby/qps/qps-common.rb new file mode 100644 index 0000000000000000000000000000000000000000..4119d600b197e47592b9f1916be99af926a1f20e --- /dev/null +++ b/src/ruby/qps/qps-common.rb @@ -0,0 +1,76 @@ +#!/usr/bin/env ruby + +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Worker and worker service implementation + +this_dir = File.expand_path(File.dirname(__FILE__)) +lib_dir = File.join(File.dirname(this_dir), 'lib') +$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir) +$LOAD_PATH.unshift(this_dir) unless $LOAD_PATH.include?(this_dir) + +require 'grpc' + +# produces a string of null chars (\0 aka pack 'x') of length l. +def nulls(l) + fail 'requires #{l} to be +ve' if l < 0 + [].pack('x' * l).force_encoding('ascii-8bit') +end + +# load the test-only certificates +def load_test_certs + this_dir = File.expand_path(File.dirname(__FILE__)) + data_dir = File.join(File.dirname(this_dir), 'spec/testdata') + files = ['ca.pem', 'server1.key', 'server1.pem'] + files.map { |f| File.open(File.join(data_dir, f)).read } +end + +# A EnumeratorQueue wraps a Queue yielding the items added to it via each_item. +class EnumeratorQueue + extend Forwardable + def_delegators :@q, :push + + def initialize(sentinel) + @q = Queue.new + @sentinel = sentinel + end + + def each_item + return enum_for(:each_item) unless block_given? + loop do + r = @q.pop + break if r.equal?(@sentinel) + fail r if r.is_a? Exception + yield r + end + end +end + + diff --git a/src/ruby/qps/server.rb b/src/ruby/qps/server.rb new file mode 100644 index 0000000000000000000000000000000000000000..26f46a31409c6ad416f02fe08eab1171e9ecf36e --- /dev/null +++ b/src/ruby/qps/server.rb @@ -0,0 +1,91 @@ +#!/usr/bin/env ruby + +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Worker and worker service implementation + +this_dir = File.expand_path(File.dirname(__FILE__)) +lib_dir = File.join(File.dirname(this_dir), 'lib') +$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir) +$LOAD_PATH.unshift(this_dir) unless $LOAD_PATH.include?(this_dir) + +require 'grpc' +require 'qps-common' +require 'src/proto/grpc/testing/messages' +require 'src/proto/grpc/testing/services_services' +require 'src/proto/grpc/testing/stats' + +class BenchmarkServiceImpl < Grpc::Testing::BenchmarkService::Service + def unary_call(req, _call) + sr = Grpc::Testing::SimpleResponse + pl = Grpc::Testing::Payload + sr.new(payload: pl.new(body: nulls(req.response_size))) + end + def streaming_call(reqs) + q = EnumeratorQueue.new(self) + Thread.new { + sr = Grpc::Testing::SimpleResponse + pl = Grpc::Testing::Payload + reqs.each do |req| + q.push(sr.new(payload: pl.new(body: nulls(req.response_size)))) + end + q.push(self) + } + q.each_item + end +end + +class BenchmarkServer + def initialize(config, port) + if config.security_params + certs = load_test_certs + cred = GRPC::Core::ServerCredentials.new( + nil, [{private_key: certs[1], cert_chain: certs[2]}], false) + else + cred = :this_port_is_insecure + end + @server = GRPC::RpcServer.new + @port = @server.add_http2_port("0.0.0.0:" + port.to_s, cred) + @server.handle(BenchmarkServiceImpl.new) + @start_time = Time.now + Thread.new { + @server.run + } + end + def mark(reset) + s = Grpc::Testing::ServerStats.new(time_elapsed: + (Time.now-@start_time).to_f) + @start_time = Time.now if reset + s + end + def get_port + @port + end +end diff --git a/src/ruby/qps/src/proto/grpc/testing/control.rb b/src/ruby/qps/src/proto/grpc/testing/control.rb new file mode 100644 index 0000000000000000000000000000000000000000..d007123f2611b5b23cb67ee07b6bf5bf3dfda526 --- /dev/null +++ b/src/ruby/qps/src/proto/grpc/testing/control.rb @@ -0,0 +1,129 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: src/proto/grpc/testing/control.proto + +require 'google/protobuf' + +require 'src/proto/grpc/testing/payloads' +require 'src/proto/grpc/testing/stats' +Google::Protobuf::DescriptorPool.generated_pool.build do + add_message "grpc.testing.PoissonParams" do + optional :offered_load, :double, 1 + end + add_message "grpc.testing.UniformParams" do + optional :interarrival_lo, :double, 1 + optional :interarrival_hi, :double, 2 + end + add_message "grpc.testing.DeterministicParams" do + optional :offered_load, :double, 1 + end + add_message "grpc.testing.ParetoParams" do + optional :interarrival_base, :double, 1 + optional :alpha, :double, 2 + end + add_message "grpc.testing.ClosedLoopParams" do + end + add_message "grpc.testing.LoadParams" do + oneof :load do + optional :closed_loop, :message, 1, "grpc.testing.ClosedLoopParams" + optional :poisson, :message, 2, "grpc.testing.PoissonParams" + optional :uniform, :message, 3, "grpc.testing.UniformParams" + optional :determ, :message, 4, "grpc.testing.DeterministicParams" + optional :pareto, :message, 5, "grpc.testing.ParetoParams" + end + end + add_message "grpc.testing.SecurityParams" do + optional :use_test_ca, :bool, 1 + optional :server_host_override, :string, 2 + end + add_message "grpc.testing.ClientConfig" do + repeated :server_targets, :string, 1 + optional :client_type, :enum, 2, "grpc.testing.ClientType" + optional :security_params, :message, 3, "grpc.testing.SecurityParams" + optional :outstanding_rpcs_per_channel, :int32, 4 + optional :client_channels, :int32, 5 + optional :async_client_threads, :int32, 7 + optional :rpc_type, :enum, 8, "grpc.testing.RpcType" + optional :load_params, :message, 10, "grpc.testing.LoadParams" + optional :payload_config, :message, 11, "grpc.testing.PayloadConfig" + optional :histogram_params, :message, 12, "grpc.testing.HistogramParams" + repeated :core_list, :int32, 13 + optional :core_limit, :int32, 14 + end + add_message "grpc.testing.ClientStatus" do + optional :stats, :message, 1, "grpc.testing.ClientStats" + end + add_message "grpc.testing.Mark" do + optional :reset, :bool, 1 + end + add_message "grpc.testing.ClientArgs" do + oneof :argtype do + optional :setup, :message, 1, "grpc.testing.ClientConfig" + optional :mark, :message, 2, "grpc.testing.Mark" + end + end + add_message "grpc.testing.ServerConfig" do + optional :server_type, :enum, 1, "grpc.testing.ServerType" + optional :security_params, :message, 2, "grpc.testing.SecurityParams" + optional :port, :int32, 4 + optional :async_server_threads, :int32, 7 + optional :core_limit, :int32, 8 + optional :payload_config, :message, 9, "grpc.testing.PayloadConfig" + repeated :core_list, :int32, 10 + end + add_message "grpc.testing.ServerArgs" do + oneof :argtype do + optional :setup, :message, 1, "grpc.testing.ServerConfig" + optional :mark, :message, 2, "grpc.testing.Mark" + end + end + add_message "grpc.testing.ServerStatus" do + optional :stats, :message, 1, "grpc.testing.ServerStats" + optional :port, :int32, 2 + optional :cores, :int32, 3 + end + add_message "grpc.testing.CoreRequest" do + end + add_message "grpc.testing.CoreResponse" do + optional :cores, :int32, 1 + end + add_message "grpc.testing.Void" do + end + add_enum "grpc.testing.ClientType" do + value :SYNC_CLIENT, 0 + value :ASYNC_CLIENT, 1 + end + add_enum "grpc.testing.ServerType" do + value :SYNC_SERVER, 0 + value :ASYNC_SERVER, 1 + value :ASYNC_GENERIC_SERVER, 2 + end + add_enum "grpc.testing.RpcType" do + value :UNARY, 0 + value :STREAMING, 1 + end +end + +module Grpc + module Testing + PoissonParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.PoissonParams").msgclass + UniformParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.UniformParams").msgclass + DeterministicParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.DeterministicParams").msgclass + ParetoParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ParetoParams").msgclass + ClosedLoopParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClosedLoopParams").msgclass + LoadParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.LoadParams").msgclass + SecurityParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.SecurityParams").msgclass + ClientConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientConfig").msgclass + ClientStatus = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientStatus").msgclass + Mark = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.Mark").msgclass + ClientArgs = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientArgs").msgclass + ServerConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ServerConfig").msgclass + ServerArgs = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ServerArgs").msgclass + ServerStatus = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ServerStatus").msgclass + CoreRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.CoreRequest").msgclass + CoreResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.CoreResponse").msgclass + Void = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.Void").msgclass + ClientType = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientType").enummodule + ServerType = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ServerType").enummodule + RpcType = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.RpcType").enummodule + end +end diff --git a/src/ruby/qps/src/proto/grpc/testing/messages.rb b/src/ruby/qps/src/proto/grpc/testing/messages.rb new file mode 100644 index 0000000000000000000000000000000000000000..b9c32dbef5da257e61fcac9f089db7f57e4bec69 --- /dev/null +++ b/src/ruby/qps/src/proto/grpc/testing/messages.rb @@ -0,0 +1,80 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: src/proto/grpc/testing/messages.proto + +require 'google/protobuf' + +Google::Protobuf::DescriptorPool.generated_pool.build do + add_message "grpc.testing.Payload" do + optional :type, :enum, 1, "grpc.testing.PayloadType" + optional :body, :bytes, 2 + end + add_message "grpc.testing.EchoStatus" do + optional :code, :int32, 1 + optional :message, :string, 2 + end + add_message "grpc.testing.SimpleRequest" do + optional :response_type, :enum, 1, "grpc.testing.PayloadType" + optional :response_size, :int32, 2 + optional :payload, :message, 3, "grpc.testing.Payload" + optional :fill_username, :bool, 4 + optional :fill_oauth_scope, :bool, 5 + optional :response_compression, :enum, 6, "grpc.testing.CompressionType" + optional :response_status, :message, 7, "grpc.testing.EchoStatus" + end + add_message "grpc.testing.SimpleResponse" do + optional :payload, :message, 1, "grpc.testing.Payload" + optional :username, :string, 2 + optional :oauth_scope, :string, 3 + end + add_message "grpc.testing.StreamingInputCallRequest" do + optional :payload, :message, 1, "grpc.testing.Payload" + end + add_message "grpc.testing.StreamingInputCallResponse" do + optional :aggregated_payload_size, :int32, 1 + end + add_message "grpc.testing.ResponseParameters" do + optional :size, :int32, 1 + optional :interval_us, :int32, 2 + end + add_message "grpc.testing.StreamingOutputCallRequest" do + optional :response_type, :enum, 1, "grpc.testing.PayloadType" + repeated :response_parameters, :message, 2, "grpc.testing.ResponseParameters" + optional :payload, :message, 3, "grpc.testing.Payload" + optional :response_compression, :enum, 6, "grpc.testing.CompressionType" + optional :response_status, :message, 7, "grpc.testing.EchoStatus" + end + add_message "grpc.testing.StreamingOutputCallResponse" do + optional :payload, :message, 1, "grpc.testing.Payload" + end + add_message "grpc.testing.ReconnectInfo" do + optional :passed, :bool, 1 + repeated :backoff_ms, :int32, 2 + end + add_enum "grpc.testing.PayloadType" do + value :COMPRESSABLE, 0 + value :UNCOMPRESSABLE, 1 + value :RANDOM, 2 + end + add_enum "grpc.testing.CompressionType" do + value :NONE, 0 + value :GZIP, 1 + value :DEFLATE, 2 + end +end + +module Grpc + module Testing + Payload = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.Payload").msgclass + EchoStatus = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.EchoStatus").msgclass + SimpleRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.SimpleRequest").msgclass + SimpleResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.SimpleResponse").msgclass + StreamingInputCallRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.StreamingInputCallRequest").msgclass + StreamingInputCallResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.StreamingInputCallResponse").msgclass + ResponseParameters = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ResponseParameters").msgclass + StreamingOutputCallRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.StreamingOutputCallRequest").msgclass + StreamingOutputCallResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.StreamingOutputCallResponse").msgclass + ReconnectInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ReconnectInfo").msgclass + PayloadType = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.PayloadType").enummodule + CompressionType = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.CompressionType").enummodule + end +end diff --git a/src/ruby/qps/src/proto/grpc/testing/payloads.rb b/src/ruby/qps/src/proto/grpc/testing/payloads.rb new file mode 100644 index 0000000000000000000000000000000000000000..ae8855f6850ef90a21d5e2344faa6b48d8afa1c2 --- /dev/null +++ b/src/ruby/qps/src/proto/grpc/testing/payloads.rb @@ -0,0 +1,33 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: src/proto/grpc/testing/payloads.proto + +require 'google/protobuf' + +Google::Protobuf::DescriptorPool.generated_pool.build do + add_message "grpc.testing.ByteBufferParams" do + optional :req_size, :int32, 1 + optional :resp_size, :int32, 2 + end + add_message "grpc.testing.SimpleProtoParams" do + optional :req_size, :int32, 1 + optional :resp_size, :int32, 2 + end + add_message "grpc.testing.ComplexProtoParams" do + end + add_message "grpc.testing.PayloadConfig" do + oneof :payload do + optional :bytebuf_params, :message, 1, "grpc.testing.ByteBufferParams" + optional :simple_params, :message, 2, "grpc.testing.SimpleProtoParams" + optional :complex_params, :message, 3, "grpc.testing.ComplexProtoParams" + end + end +end + +module Grpc + module Testing + ByteBufferParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ByteBufferParams").msgclass + SimpleProtoParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.SimpleProtoParams").msgclass + ComplexProtoParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ComplexProtoParams").msgclass + PayloadConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.PayloadConfig").msgclass + end +end diff --git a/src/ruby/qps/src/proto/grpc/testing/services.rb b/src/ruby/qps/src/proto/grpc/testing/services.rb new file mode 100644 index 0000000000000000000000000000000000000000..b2675c2afe50c98c3d0842a881b583ee74964e8f --- /dev/null +++ b/src/ruby/qps/src/proto/grpc/testing/services.rb @@ -0,0 +1,14 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: src/proto/grpc/testing/services.proto + +require 'google/protobuf' + +require 'src/proto/grpc/testing/messages' +require 'src/proto/grpc/testing/control' +Google::Protobuf::DescriptorPool.generated_pool.build do +end + +module Grpc + module Testing + end +end diff --git a/src/ruby/qps/src/proto/grpc/testing/services_services.rb b/src/ruby/qps/src/proto/grpc/testing/services_services.rb new file mode 100644 index 0000000000000000000000000000000000000000..3fd9f20f4729d4621bed7d4325bb8aa7760df8f7 --- /dev/null +++ b/src/ruby/qps/src/proto/grpc/testing/services_services.rb @@ -0,0 +1,46 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# Source: src/proto/grpc/testing/services.proto for package 'grpc.testing' + +require 'grpc' +require 'src/proto/grpc/testing/services' + +module Grpc + module Testing + module BenchmarkService + + # TODO: add proto service documentation here + class Service + + include GRPC::GenericService + + self.marshal_class_method = :encode + self.unmarshal_class_method = :decode + self.service_name = 'grpc.testing.BenchmarkService' + + rpc :UnaryCall, SimpleRequest, SimpleResponse + rpc :StreamingCall, stream(SimpleRequest), stream(SimpleResponse) + end + + Stub = Service.rpc_stub_class + end + module WorkerService + + # TODO: add proto service documentation here + class Service + + include GRPC::GenericService + + self.marshal_class_method = :encode + self.unmarshal_class_method = :decode + self.service_name = 'grpc.testing.WorkerService' + + rpc :RunServer, stream(ServerArgs), stream(ServerStatus) + rpc :RunClient, stream(ClientArgs), stream(ClientStatus) + rpc :CoreCount, CoreRequest, CoreResponse + rpc :QuitWorker, Void, Void + end + + Stub = Service.rpc_stub_class + end + end +end diff --git a/src/ruby/qps/src/proto/grpc/testing/stats.rb b/src/ruby/qps/src/proto/grpc/testing/stats.rb new file mode 100644 index 0000000000000000000000000000000000000000..41f75bedf054826af882646a3146023776ba3066 --- /dev/null +++ b/src/ruby/qps/src/proto/grpc/testing/stats.rb @@ -0,0 +1,39 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: src/proto/grpc/testing/stats.proto + +require 'google/protobuf' + +Google::Protobuf::DescriptorPool.generated_pool.build do + add_message "grpc.testing.ServerStats" do + optional :time_elapsed, :double, 1 + optional :time_user, :double, 2 + optional :time_system, :double, 3 + end + add_message "grpc.testing.HistogramParams" do + optional :resolution, :double, 1 + optional :max_possible, :double, 2 + end + add_message "grpc.testing.HistogramData" do + repeated :bucket, :uint32, 1 + optional :min_seen, :double, 2 + optional :max_seen, :double, 3 + optional :sum, :double, 4 + optional :sum_of_squares, :double, 5 + optional :count, :double, 6 + end + add_message "grpc.testing.ClientStats" do + optional :latencies, :message, 1, "grpc.testing.HistogramData" + optional :time_elapsed, :double, 2 + optional :time_user, :double, 3 + optional :time_system, :double, 4 + end +end + +module Grpc + module Testing + ServerStats = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ServerStats").msgclass + HistogramParams = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.HistogramParams").msgclass + HistogramData = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.HistogramData").msgclass + ClientStats = Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientStats").msgclass + end +end diff --git a/src/ruby/qps/worker.rb b/src/ruby/qps/worker.rb new file mode 100755 index 0000000000000000000000000000000000000000..7c29204cc2c2c7171793110e1fc95002ce566bb4 --- /dev/null +++ b/src/ruby/qps/worker.rb @@ -0,0 +1,128 @@ +#!/usr/bin/env ruby + +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Worker and worker service implementation + +this_dir = File.expand_path(File.dirname(__FILE__)) +lib_dir = File.join(File.dirname(this_dir), 'lib') +$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir) +$LOAD_PATH.unshift(this_dir) unless $LOAD_PATH.include?(this_dir) + +require 'grpc' +require 'optparse' +require 'histogram' +require 'etc' +require 'facter' +require 'client' +require 'qps-common' +require 'server' +require 'src/proto/grpc/testing/services_services' + +class WorkerServiceImpl < Grpc::Testing::WorkerService::Service + def cpu_cores + Facter.value('processors')['count'] + end + def run_server(reqs) + q = EnumeratorQueue.new(self) + Thread.new { + bms = '' + gtss = Grpc::Testing::ServerStatus + reqs.each do |req| + case req.argtype.to_s + when 'setup' + bms = BenchmarkServer.new(req.setup, @server_port) + q.push(gtss.new(stats: bms.mark(false), port: bms.get_port)) + when 'mark' + q.push(gtss.new(stats: bms.mark(req.mark.reset), cores: cpu_cores)) + end + end + q.push(self) + bms.stop + } + q.each_item + end + def run_client(reqs) + q = EnumeratorQueue.new(self) + Thread.new { + client = '' + reqs.each do |req| + case req.argtype.to_s + when 'setup' + client = BenchmarkClient.new(req.setup) + q.push(Grpc::Testing::ClientStatus.new(stats: client.mark(false))) + when 'mark' + q.push(Grpc::Testing::ClientStatus.new(stats: + client.mark(req.mark.reset))) + end + end + q.push(self) + client.shutdown + } + q.each_item + end + def core_count(_args, _call) + Grpc::Testing::CoreResponse.new(cores: cpu_cores) + end + def quit_worker(_args, _call) + Thread.new { + sleep 3 + @server.stop + } + Grpc::Testing::Void.new + end + def initialize(s, sp) + @server = s + @server_port = sp + end +end + +def main + options = { + 'driver_port' => 0, + 'server_port' => 0 + } + OptionParser.new do |opts| + opts.banner = 'Usage: [--driver_port <port>] [--server_port <port>]' + opts.on('--driver_port PORT', '<port>') do |v| + options['driver_port'] = v + end + opts.on('--server_port PORT', '<port>') do |v| + options['server_port'] = v + end + end.parse! + s = GRPC::RpcServer.new + s.add_http2_port("0.0.0.0:" + options['driver_port'].to_s, + :this_port_is_insecure) + s.handle(WorkerServiceImpl.new(s, options['server_port'].to_i)) + s.run +end + +main diff --git a/src/ruby/spec/client_server_spec.rb b/src/ruby/spec/client_server_spec.rb index 7ef534571f0e053c0d0a03a9e15b3a915cf96f0a..aedeca272d35633ea971690f759c9786e18c6d7c 100644 --- a/src/ruby/spec/client_server_spec.rb +++ b/src/ruby/spec/client_server_spec.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/ruby/spec/generic/client_stub_spec.rb b/src/ruby/spec/generic/client_stub_spec.rb index 5e13c25fcf3e6d1e70f416006a2609cc1af2363c..dd8e2e9f7a2619a338f4ad194ba418ab9120a579 100644 --- a/src/ruby/spec/generic/client_stub_spec.rb +++ b/src/ruby/spec/generic/client_stub_spec.rb @@ -193,44 +193,45 @@ describe 'ClientStub' do describe '#client_streamer' do shared_examples 'client streaming' do before(:each) do + server_port = create_test_server + host = "localhost:#{server_port}" + @stub = GRPC::ClientStub.new(host, @cq, :this_channel_is_insecure) + @options = { k1: 'v1', k2: 'v2' } @sent_msgs = Array.new(3) { |i| 'msg_' + (i + 1).to_s } @resp = 'a_reply' end it 'should send requests to/receive a reply from a server' do - server_port = create_test_server - host = "localhost:#{server_port}" th = run_client_streamer(@sent_msgs, @resp, @pass) - stub = GRPC::ClientStub.new(host, @cq, :this_channel_is_insecure) - expect(get_response(stub)).to eq(@resp) + expect(get_response(@stub)).to eq(@resp) th.join end it 'should send metadata to the server ok' do - server_port = create_test_server - host = "localhost:#{server_port}" - th = run_client_streamer(@sent_msgs, @resp, @pass, - k1: 'v1', k2: 'v2') - stub = GRPC::ClientStub.new(host, @cq, :this_channel_is_insecure) - expect(get_response(stub)).to eq(@resp) + th = run_client_streamer(@sent_msgs, @resp, @pass, @options) + expect(get_response(@stub)).to eq(@resp) th.join end it 'should raise an error if the status is not ok' do - server_port = create_test_server - host = "localhost:#{server_port}" th = run_client_streamer(@sent_msgs, @resp, @fail) - stub = GRPC::ClientStub.new(host, @cq, :this_channel_is_insecure) - blk = proc { get_response(stub) } + blk = proc { get_response(@stub) } expect(&blk).to raise_error(GRPC::BadStatus) th.join end + + it 'should raise ArgumentError if metadata contains invalid values' do + @options.merge!(k3: 3) + expect do + get_response(@stub) + end.to raise_error(ArgumentError, + /Header values must be of type string or array/) + end end describe 'without a call operation' do def get_response(stub) - stub.client_streamer(@method, @sent_msgs, noop, noop, - k1: 'v1', k2: 'v2') + stub.client_streamer(@method, @sent_msgs, noop, noop, @options) end it_behaves_like 'client streaming' @@ -239,7 +240,7 @@ describe 'ClientStub' do describe 'via a call operation' do def get_response(stub) op = stub.client_streamer(@method, @sent_msgs, noop, noop, - return_op: true, k1: 'v1', k2: 'v2') + @options.merge(return_op: true)) expect(op).to be_a(GRPC::ActiveCall::Operation) op.execute end diff --git a/src/ruby/spec/generic/rpc_server_spec.rb b/src/ruby/spec/generic/rpc_server_spec.rb index dfaec6d6edc01dabb9be8b0b70a4a04e44a3c946..e688057cb1772bce14b3b1006ffa0a1da5fcffa4 100644 --- a/src/ruby/spec/generic/rpc_server_spec.rb +++ b/src/ruby/spec/generic/rpc_server_spec.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -426,7 +426,7 @@ describe GRPC::RpcServer do threads.each(&:join) end - it 'should return UNAVAILABLE on too many jobs', server: true do + it 'should return RESOURCE_EXHAUSTED on too many jobs', server: true do opts = { a_channel_arg: 'an_arg', server_override: @server, @@ -449,7 +449,8 @@ describe GRPC::RpcServer do begin stub.an_rpc(req) rescue GRPC::BadStatus => e - one_failed_as_unavailable = e.code == StatusCodes::UNAVAILABLE + one_failed_as_unavailable = + e.code == StatusCodes::RESOURCE_EXHAUSTED end end end diff --git a/src/ruby/spec/pb/health/checker_spec.rb b/src/ruby/spec/pb/health/checker_spec.rb index 9bb79bb4cae057c8a5ebab92467570d570076e2d..5523347f45c7db4206d2ea16e10c81656e1f5b1f 100644 --- a/src/ruby/spec/pb/health/checker_spec.rb +++ b/src/ruby/spec/pb/health/checker_spec.rb @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/src/zlib/gen_build_yaml.py b/src/zlib/gen_build_yaml.py index 4bd557367abd0926760c5c5e879060c341850b16..0692edb753b48f00d1dbd50a516621aaae9e14b1 100755 --- a/src/zlib/gen_build_yaml.py +++ b/src/zlib/gen_build_yaml.py @@ -1,6 +1,6 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/Makefile.template b/templates/Makefile.template index 57fc1461313f5ac234ff3b837ec862bd5d98a2a2..e84ceebf221e037cabfec0c904d6dcca95ecb7cb 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -7,7 +7,7 @@ # This file can be regenerated from the template by running # tools/buildgen/generate_projects.sh - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/binding.gyp.template b/templates/binding.gyp.template index 3ffbc0664322f207305419d215d5926765600545..40d430f79255673ff30f9f05b3a8edd9a7324904 100644 --- a/templates/binding.gyp.template +++ b/templates/binding.gyp.template @@ -7,7 +7,7 @@ # This file can be regenerated from the template by running # tools/buildgen/generate_projects.sh - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/src/core/lib/surface/version.c.template b/templates/src/core/lib/surface/version.c.template index f2b3cfdc5893baf3ce12775ac38af41b5f433de6..5f0273e49df4e58ca2431ab99aceadeff5235675 100644 --- a/templates/src/core/lib/surface/version.c.template +++ b/templates/src/core/lib/surface/version.c.template @@ -2,7 +2,7 @@ --- | /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/templates/src/core/plugin_registry.template b/templates/src/core/plugin_registry.template new file mode 100644 index 0000000000000000000000000000000000000000..352682c3f0b3c5a081c2c81674dccadc48feda9d --- /dev/null +++ b/templates/src/core/plugin_registry.template @@ -0,0 +1,52 @@ +%YAML 1.2 +--- +foreach: libs +cond: selected.get('generate_plugin_registry', False) +output_name: ${selected.name}_plugin_registry.c +template: | + /* + * + * Copyright 2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + + #include <grpc/grpc.h> + + %for plugin in selected.plugins: + extern void ${plugin}_init(void); + extern void ${plugin}_shutdown(void); + %endfor + + void grpc_register_built_in_plugins(void) { + %for plugin in selected.plugins: + grpc_register_plugin(${plugin}_init, + ${plugin}_shutdown); + %endfor + } diff --git a/templates/src/csharp/Grpc.Core/VersionInfo.cs.template b/templates/src/csharp/Grpc.Core/VersionInfo.cs.template index 59864fa058334510eb8559c7eb8fbc82dbfd4ca8..3ca111e72b13867d2e386a5b4340289ce21c372a 100644 --- a/templates/src/csharp/Grpc.Core/VersionInfo.cs.template +++ b/templates/src/csharp/Grpc.Core/VersionInfo.cs.template @@ -2,7 +2,7 @@ --- | #region Copyright notice and license - // Copyright 2015-2016, Google Inc. + // Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/templates/src/node/tools/package.json.template b/templates/src/node/tools/package.json.template new file mode 100644 index 0000000000000000000000000000000000000000..c69de7c989f3a8979597b07c2f3d7ce6a7db8d29 --- /dev/null +++ b/templates/src/node/tools/package.json.template @@ -0,0 +1,40 @@ +%YAML 1.2 +--- | + { + "name": "grpc-tools", + "version": "${settings.node_version}", + "author": "Google Inc.", + "description": "Tools for developing with gRPC on Node.js", + "homepage": "http://www.grpc.io/", + "repository": { + "type": "git", + "url": "https://github.com/grpc/grpc.git" + }, + "bugs": "https://github.com/grpc/grpc/issues", + "contributors": [ + { + "name": "Michael Lumish", + "email": "mlumish@google.com" + } + ], + "bin": { + "grpc-tools-protoc": "./bin/protoc.js" + }, + "scripts": { + "install": "./node_modules/.bin/node-pre-gyp install" + }, + "bundledDependencies": ["node-pre-gyp"], + "binary": { + "module_name": "grpc_tools", + "host": "https://storage.googleapis.com/", + "remote_path": "grpc-precompiled-binaries/node/{name}/v{version}", + "package_name": "{platform}-{arch}.tar.gz", + "module_path": "bin" + }, + "files": [ + "index.js", + "bin/protoc.js", + "LICENSE" + ], + "main": "index.js" + } diff --git a/templates/src/python/grpcio/grpc_core_dependencies.py.template b/templates/src/python/grpcio/grpc_core_dependencies.py.template index 2fc7a03f18148baf839ad610c3b84c2dec3b3451..01770a9e9101f1c784157b6943cfa4006e067fe0 100644 --- a/templates/src/python/grpcio/grpc_core_dependencies.py.template +++ b/templates/src/python/grpcio/grpc_core_dependencies.py.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/src/python/grpcio/grpc_version.py.template b/templates/src/python/grpcio/grpc_version.py.template index aaacab1a5080a02919297e3417da7ac0399d3f81..39a6932ebb79af3bf6df9a3627ab2eeb69904074 100644 --- a/templates/src/python/grpcio/grpc_version.py.template +++ b/templates/src/python/grpcio/grpc_version.py.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/src/ruby/lib/grpc/version.rb.template b/templates/src/ruby/lib/grpc/version.rb.template index 6488614aed9b5f334741f2910976fecf33a2bd78..9c7bc13f6c6770eacd64e2ec352598c6b897ab73 100644 --- a/templates/src/ruby/lib/grpc/version.rb.template +++ b/templates/src/ruby/lib/grpc/version.rb.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/test/core/end2end/end2end_defs.include b/templates/test/core/end2end/end2end_defs.include index 461c8eb698b9326f6dc8d9ef11e1e755c54464bc..b828f84f1c68f9fa0d829193b66be8e2c5b668a1 100644 --- a/templates/test/core/end2end/end2end_defs.include +++ b/templates/test/core/end2end/end2end_defs.include @@ -1,7 +1,7 @@ <%def name="end2end_selector(tests)"> /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -37,18 +37,32 @@ #include "test/core/end2end/end2end_tests.h" +#include <stdbool.h> #include <string.h> #include <grpc/support/log.h> +static bool g_pre_init_called = false; + % for test in tests: extern void ${test}(grpc_end2end_test_config config); +extern void ${test}_pre_init(void); % endfor +void grpc_end2end_tests_pre_init(void) { + GPR_ASSERT(!g_pre_init_called); + g_pre_init_called = true; +% for test in tests: + ${test}_pre_init(); +% endfor +} + void grpc_end2end_tests(int argc, char **argv, grpc_end2end_test_config config) { int i; + GPR_ASSERT(g_pre_init_called); + if (argc <= 1) { % for test in tests: ${test}(config); diff --git a/templates/tools/dockerfile/grpc_interop_stress_cxx/Dockerfile.template b/templates/tools/dockerfile/stress_test/grpc_interop_stress_cxx/Dockerfile.template similarity index 87% rename from templates/tools/dockerfile/grpc_interop_stress_cxx/Dockerfile.template rename to templates/tools/dockerfile/stress_test/grpc_interop_stress_cxx/Dockerfile.template index b1049d0d7f2f0ef741b39c0d7620daf95d0ef02a..ac087c5da74ba8e5618834c2e18a1d4c20ccb6d8 100644 --- a/templates/tools/dockerfile/grpc_interop_stress_cxx/Dockerfile.template +++ b/templates/tools/dockerfile/stress_test/grpc_interop_stress_cxx/Dockerfile.template @@ -31,10 +31,10 @@ FROM debian:jessie - <%include file="../apt_get_basic.include"/> - <%include file="../ccache_setup.include"/> - <%include file="../cxx_deps.include"/> - <%include file="../gcp_api_libraries.include"/> - <%include file="../clang_update.include"/> + <%include file="../../apt_get_basic.include"/> + <%include file="../../ccache_setup.include"/> + <%include file="../../cxx_deps.include"/> + <%include file="../../gcp_api_libraries.include"/> + <%include file="../../clang_update.include"/> # Define the default command. CMD ["bash"] diff --git a/templates/tools/dockerfile/stress_test/grpc_interop_stress_node/Dockerfile.template b/templates/tools/dockerfile/stress_test/grpc_interop_stress_node/Dockerfile.template new file mode 100644 index 0000000000000000000000000000000000000000..c50d38d1eca4f4d66505e92fe224bc9a2b943253 --- /dev/null +++ b/templates/tools/dockerfile/stress_test/grpc_interop_stress_node/Dockerfile.template @@ -0,0 +1,39 @@ +%YAML 1.2 +--- | + # Copyright 2016, Google Inc. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are + # met: + # + # * Redistributions of source code must retain the above copyright + # notice, this list of conditions and the following disclaimer. + # * Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following disclaimer + # in the documentation and/or other materials provided with the + # distribution. + # * Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + FROM debian:jessie + + <%include file="../../apt_get_basic.include"/> + <%include file="../../node_deps.include"/> + <%include file="../../gcp_api_libraries.include"/> + <%include file="../../run_tests_addons.include"/> + # Define the default command. + CMD ["bash"] diff --git a/templates/tools/dockerfile/test/csharp_jessie_x64/Dockerfile.template b/templates/tools/dockerfile/test/csharp_jessie_x64/Dockerfile.template index 1c01deac3d4c96cc081427616580b539f6febbb2..4cb8d3b088fdbf3b5c30be283870849b589ac169 100644 --- a/templates/tools/dockerfile/test/csharp_jessie_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/csharp_jessie_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/tools/dockerfile/test/cxx_jessie_x64/Dockerfile.template b/templates/tools/dockerfile/test/cxx_jessie_x64/Dockerfile.template index eb11ce352c82984986312550aae432d998d84c08..04abf9f741ed257f2f84e511a0ef77f93e0fd44f 100644 --- a/templates/tools/dockerfile/test/cxx_jessie_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/cxx_jessie_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/tools/dockerfile/test/cxx_jessie_x86/Dockerfile.template b/templates/tools/dockerfile/test/cxx_jessie_x86/Dockerfile.template index 4e95cdd65eaa9de20460d6572272bbec231ce6b1..7f43e759fc0e1e1671b3fb75a0e9c7108484065a 100644 --- a/templates/tools/dockerfile/test/cxx_jessie_x86/Dockerfile.template +++ b/templates/tools/dockerfile/test/cxx_jessie_x86/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/tools/dockerfile/test/cxx_ubuntu1404_x64/Dockerfile.template b/templates/tools/dockerfile/test/cxx_ubuntu1404_x64/Dockerfile.template index d824220afeaf335d3814430e736afcc0f7342439..fbed53930b60056d19d3d35f5773007775b9803d 100644 --- a/templates/tools/dockerfile/test/cxx_ubuntu1404_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/cxx_ubuntu1404_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/tools/dockerfile/test/cxx_ubuntu1604_x64/Dockerfile.template b/templates/tools/dockerfile/test/cxx_ubuntu1604_x64/Dockerfile.template index 6b302748925f2133c35744194d40478e7029ff15..c11cefd283b1b77833e98e846648f7fc85fc81c8 100644 --- a/templates/tools/dockerfile/test/cxx_ubuntu1604_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/cxx_ubuntu1604_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/tools/dockerfile/test/fuzzer/Dockerfile.template b/templates/tools/dockerfile/test/fuzzer/Dockerfile.template index 479be0556a097a4580fcc1fc6d3fc2105385bcb1..33df275908406cbe6dea47d933b43e0dda702dc6 100644 --- a/templates/tools/dockerfile/test/fuzzer/Dockerfile.template +++ b/templates/tools/dockerfile/test/fuzzer/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/tools/dockerfile/test/node_jessie_x64/Dockerfile.template b/templates/tools/dockerfile/test/node_jessie_x64/Dockerfile.template index 10551a574e38a938e1e3ea0c75a523d87984b41e..5a6233343e9d2e6f53e3b438421b6d73ea89e753 100644 --- a/templates/tools/dockerfile/test/node_jessie_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/node_jessie_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/tools/dockerfile/test/php_jessie_x64/Dockerfile.template b/templates/tools/dockerfile/test/php_jessie_x64/Dockerfile.template index d7172398a9ed5750234ebdc1276580a4c4b970e1..fffac89efcd0cb814dea764bd5f2676a0249f47f 100644 --- a/templates/tools/dockerfile/test/php_jessie_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/php_jessie_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/tools/dockerfile/test/python_jessie_x64/Dockerfile.template b/templates/tools/dockerfile/test/python_jessie_x64/Dockerfile.template index 9e68b3ef9174cca980a10bcfea9614e2adafffa9..46fb84ba830d6a1d6ae4e065cb3bced49b6208c7 100644 --- a/templates/tools/dockerfile/test/python_jessie_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/python_jessie_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/tools/dockerfile/test/ruby_jessie_x64/Dockerfile.template b/templates/tools/dockerfile/test/ruby_jessie_x64/Dockerfile.template index db777bebb440ef2e1894857383afae2dadc51408..70baddffbf9fff94b73dceaf035233e3d9b0065e 100644 --- a/templates/tools/dockerfile/test/ruby_jessie_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/ruby_jessie_x64/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/tools/dockerfile/test/sanity/Dockerfile.template b/templates/tools/dockerfile/test/sanity/Dockerfile.template index 8265c09afc096821334d60141fdb0b5986d9d483..1baa9c896bec7651ffffdd0685363f30e0fee017 100644 --- a/templates/tools/dockerfile/test/sanity/Dockerfile.template +++ b/templates/tools/dockerfile/test/sanity/Dockerfile.template @@ -1,6 +1,6 @@ %YAML 1.2 --- | - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/tools/fuzzer/runners.template b/templates/tools/fuzzer/runners.template index aa81a6545d7d2f121e17219ccb43130047738089..5228f86c7e46f53307fb95a78ebc304159baeefa 100644 --- a/templates/tools/fuzzer/runners.template +++ b/templates/tools/fuzzer/runners.template @@ -35,7 +35,7 @@ template: | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # - flags="-max_total_time=3600 -jobs=3 -workers=3" + flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=${selected.maxlen}" if [ "$config" == "asan-trace-cmp" ] then flags="-use_traces=1 $flags" diff --git a/templates/tools/openssl/use_openssl.sh.template b/templates/tools/openssl/use_openssl.sh.template index 5fb377154a1b18fbd14a9090f74e34cb9574dd1c..237a92b02fd9351ba57f060300b8eddb6f5d13a4 100644 --- a/templates/tools/openssl/use_openssl.sh.template +++ b/templates/tools/openssl/use_openssl.sh.template @@ -2,7 +2,7 @@ --- | #!/bin/bash - # Copyright 2015-2016, Google Inc. + # Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/templates/tools/run_tests/sources_and_headers.json.template b/templates/tools/run_tests/sources_and_headers.json.template index 18b9bc26547ccf992de4b5a2058bba35a7f1615f..07559828dc49a5ff9086f4b44ba13fdf559dc7d3 100644 --- a/templates/tools/run_tests/sources_and_headers.json.template +++ b/templates/tools/run_tests/sources_and_headers.json.template @@ -12,11 +12,13 @@ out.extend(fmt % name for fmt in ['%s.grpc.pb.h', '%s.pb.h']) return out - def all_targets(targets, libs): + def all_targets(targets, libs, filegroups): for tgt in targets: yield ('target', tgt) for tgt in libs: yield ('lib', tgt) + for tgt in filegroups: + yield ('filegroup', tgt) def no_protos_filter(src): return os.path.splitext(src)[1] != '.proto' @@ -38,13 +40,15 @@ "language": tgt.language, "third_party": tgt.boringssl or tgt.zlib, "src": sorted( - filter_srcs(tgt.src, (no_protos_filter, no_third_party_filter)) + - filter_srcs(tgt.get('public_headers', []), (no_protos_filter, no_third_party_filter)) + - filter_srcs(tgt.get('headers', []), (no_third_party_filter,))), + filter_srcs(tgt.own_src, (no_protos_filter, no_third_party_filter)) + + filter_srcs(tgt.own_public_headers, (no_protos_filter, no_third_party_filter)) + + filter_srcs(tgt.own_headers, (no_third_party_filter,))), "headers": sorted( - tgt.get('public_headers', []) + - tgt.get('headers', []) + - proto_headers(tgt.src)), - "deps": sorted(tgt.get('deps', []))} - for typ, tgt in all_targets(targets, libs)], + tgt.own_public_headers + + tgt.own_headers + + proto_headers(tgt.own_src)), + "deps": sorted(tgt.get('deps', []) + + tgt.get('uses', []) + + tgt.get('filegroups', []))} + for typ, tgt in all_targets(targets, libs, filegroups)], sort_keys=True, indent=2)} diff --git a/test/core/bad_client/bad_client.c b/test/core/bad_client/bad_client.c index 7fd7a00c81f81f995a96ff62904f15cf4f6d4eb4..cd5b541249272747acc20c77c954aa82753a105f 100644 --- a/test/core/bad_client/bad_client.c +++ b/test/core/bad_client/bad_client.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,18 +33,20 @@ #include "test/core/bad_client/bad_client.h" +#include <grpc/support/alloc.h> +#include <grpc/support/string_util.h> +#include <grpc/support/sync.h> +#include <grpc/support/thd.h> +#include <stdio.h> #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/channel/http_server_filter.h" #include "src/core/lib/iomgr/endpoint_pair.h" +#include "src/core/lib/support/murmur_hash.h" #include "src/core/lib/support/string.h" #include "src/core/lib/surface/completion_queue.h" #include "src/core/lib/surface/server.h" -#include <grpc/support/alloc.h> -#include <grpc/support/sync.h> -#include <grpc/support/thd.h> - typedef struct { grpc_server *server; grpc_completion_queue *cq; @@ -110,7 +112,8 @@ void grpc_run_bad_client_test(grpc_bad_client_server_side_validator validator, grpc_server_register_completion_queue(a.server, a.cq, NULL); a.registered_method = grpc_server_register_method(a.server, GRPC_BAD_CLIENT_REGISTERED_METHOD, - GRPC_BAD_CLIENT_REGISTERED_HOST); + GRPC_BAD_CLIENT_REGISTERED_HOST, + GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER, 0); grpc_server_start(a.server); transport = grpc_create_chttp2_transport(&exec_ctx, NULL, sfd.server, 0); server_setup_transport(&a, transport); diff --git a/test/core/bad_client/gen_build_yaml.py b/test/core/bad_client/gen_build_yaml.py index c538bffd718fd4d12548ae89a717eacaf5046e07..d49858ed6d85caff647429786a252bc020536352 100755 --- a/test/core/bad_client/gen_build_yaml.py +++ b/test/core/bad_client/gen_build_yaml.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -44,6 +44,7 @@ BAD_CLIENT_TESTS = { 'connection_prefix': default_test_options._replace(cpu_cost=0.2), 'headers': default_test_options._replace(cpu_cost=0.2), 'initial_settings_frame': default_test_options._replace(cpu_cost=0.2), + 'head_of_line_blocking': default_test_options, 'server_registered_method': default_test_options, 'simple_request': default_test_options, 'window_overflow': default_test_options, diff --git a/test/core/bad_client/tests/badreq.c b/test/core/bad_client/tests/badreq.c index fd3d13f908aa6e1a383b21da7dfecf9f04717371..b17e3b35ee40c9240b6e3820e4498c2a4777108f 100644 --- a/test/core/bad_client/tests/badreq.c +++ b/test/core/bad_client/tests/badreq.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/bad_client/tests/connection_prefix.c b/test/core/bad_client/tests/connection_prefix.c index 87826afa2c083fbb628443875e060f7c2400654b..9a30aad0e9315ceb4a12b6b903198f6306e771c8 100644 --- a/test/core/bad_client/tests/connection_prefix.c +++ b/test/core/bad_client/tests/connection_prefix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/bad_client/tests/head_of_line_blocking.c b/test/core/bad_client/tests/head_of_line_blocking.c new file mode 100644 index 0000000000000000000000000000000000000000..53cd4537b2ffdb8e76a1f38034d4a9aa2d3d63e1 --- /dev/null +++ b/test/core/bad_client/tests/head_of_line_blocking.c @@ -0,0 +1,151 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include "test/core/bad_client/bad_client.h" + +#include <string.h> + +#include <grpc/support/alloc.h> + +#include "src/core/lib/surface/server.h" +#include "test/core/end2end/cq_verifier.h" + +static const char prefix[] = + "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" + // settings frame + "\x00\x00\x00\x04\x00\x00\x00\x00\x00" + // stream 1 headers: generated from server_registered_method.headers in this + // directory + "\x00\x00\xd0\x01\x04\x00\x00\x00\x01" + "\x10\x05:path\x0f/registered/bar" + "\x10\x07:scheme\x04http" + "\x10\x07:method\x04POST" + "\x10\x0a:authority\x09localhost" + "\x10\x0c" + "content-type\x10" + "application/grpc" + "\x10\x14grpc-accept-encoding\x15identity,deflate,gzip" + "\x10\x02te\x08trailers" + "\x10\x0auser-agent\"bad-client grpc-c/0.12.0.0 (linux)" + // data frame for stream 1: advertise a 10000 byte payload (that we won't + // fulfill) + "\x00\x00\x05\x00\x00\x00\x00\x00\x01" + "\x01\x00\x00\x27\x10" + // stream 3 headers: generated from server_registered_method.headers in this + // directory + "\x00\x00\xd0\x01\x04\x00\x00\x00\x03" + "\x10\x05:path\x0f/registered/bar" + "\x10\x07:scheme\x04http" + "\x10\x07:method\x04POST" + "\x10\x0a:authority\x09localhost" + "\x10\x0c" + "content-type\x10" + "application/grpc" + "\x10\x14grpc-accept-encoding\x15identity,deflate,gzip" + "\x10\x02te\x08trailers" + "\x10\x0auser-agent\"bad-client grpc-c/0.12.0.0 (linux)" + // data frame for stream 3: advertise a 10000 byte payload (that we will + // fulfill) + "\x00\x00\x05\x00\x00\x00\x00\x00\x03" + "\x01\x00\x00\x27\x10" + ""; + +static void *tag(intptr_t t) { return (void *)t; } + +static void verifier(grpc_server *server, grpc_completion_queue *cq, + void *registered_method) { + grpc_call_error error; + grpc_call *s; + cq_verifier *cqv = cq_verifier_create(cq); + grpc_metadata_array request_metadata_recv; + gpr_timespec deadline; + grpc_byte_buffer *payload = NULL; + + grpc_metadata_array_init(&request_metadata_recv); + + error = grpc_server_request_registered_call(server, registered_method, &s, + &deadline, &request_metadata_recv, + &payload, cq, cq, tag(101)); + GPR_ASSERT(GRPC_CALL_OK == error); + cq_expect_completion(cqv, tag(101), 1); + cq_verify(cqv); + + GPR_ASSERT(payload != NULL); + + grpc_metadata_array_destroy(&request_metadata_recv); + grpc_call_destroy(s); + grpc_byte_buffer_destroy(payload); + cq_verifier_destroy(cqv); +} + +char *g_buffer; +size_t g_cap = 0; +size_t g_count = 0; + +static void addbuf(const void *data, size_t len) { + if (g_count + len > g_cap) { + g_cap = GPR_MAX(g_count + len, g_cap * 2); + g_buffer = gpr_realloc(g_buffer, g_cap); + } + memcpy(g_buffer + g_count, data, len); + g_count += len; +} + +int main(int argc, char **argv) { + int i; + grpc_test_init(argc, argv); + +#define NUM_FRAMES 10 +#define FRAME_SIZE 1000 + + addbuf(prefix, sizeof(prefix) - 1); + for (i = 0; i < NUM_FRAMES; i++) { + uint8_t hdr[9] = {(uint8_t)(FRAME_SIZE >> 16), + (uint8_t)(FRAME_SIZE >> 8), + (uint8_t)FRAME_SIZE, + 0, + 0, + 0, + 0, + 0, + 3}; + uint8_t msg[FRAME_SIZE]; + memset(msg, 'a', sizeof(msg)); + addbuf(hdr, sizeof(hdr)); + addbuf(msg, FRAME_SIZE); + } + grpc_run_bad_client_test(verifier, g_buffer, g_count, 0); + gpr_free(g_buffer); + + return 0; +} diff --git a/test/core/bad_client/tests/headers.c b/test/core/bad_client/tests/headers.c index f66f14d8aa47f471a0af4c6b1b9cf687f0142c2e..4c1a76743e302a72d4b371a03e3d464c28e56f83 100644 --- a/test/core/bad_client/tests/headers.c +++ b/test/core/bad_client/tests/headers.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/bad_client/tests/initial_settings_frame.c b/test/core/bad_client/tests/initial_settings_frame.c index b303f033f1032c638c0c77af898da61fd849a012..63a770df91f28641259d68fbc8dafbbfadc554d2 100644 --- a/test/core/bad_client/tests/initial_settings_frame.c +++ b/test/core/bad_client/tests/initial_settings_frame.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/bad_client/tests/server_registered_method.c b/test/core/bad_client/tests/server_registered_method.c index c35457c3f8e59f0d76c16029fab615cb6fc59744..60d3b890b224a503d5085d4e8bf8e400c445912b 100644 --- a/test/core/bad_client/tests/server_registered_method.c +++ b/test/core/bad_client/tests/server_registered_method.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/bad_client/tests/simple_request.c b/test/core/bad_client/tests/simple_request.c index 6cb44ee27320848dffd10bdd16f7a1422345eb8d..ac0fdde876fd245432b08df1b831466853dcd675 100644 --- a/test/core/bad_client/tests/simple_request.c +++ b/test/core/bad_client/tests/simple_request.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/bad_client/tests/unknown_frame.c b/test/core/bad_client/tests/unknown_frame.c index 44d1e35299a872db6cbe995ec23e9037d4052bbd..f3870a181385fabf98ab2d8df452b97428ed7095 100644 --- a/test/core/bad_client/tests/unknown_frame.c +++ b/test/core/bad_client/tests/unknown_frame.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/bad_client/tests/window_overflow.c b/test/core/bad_client/tests/window_overflow.c index b6d0101c80f4b988545f64421710353385fa9191..16f11e7dd0ab0e91ce75090b27f9b496e92461ca 100644 --- a/test/core/bad_client/tests/window_overflow.c +++ b/test/core/bad_client/tests/window_overflow.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/bad_ssl/bad_ssl_test.c b/test/core/bad_ssl/bad_ssl_test.c index 013b8eaf13a8e631ab01a60804ea9e7fccff0cbe..c4ae212ec29c7e5181d968be40bc7b4d4d73b079 100644 --- a/test/core/bad_ssl/bad_ssl_test.c +++ b/test/core/bad_ssl/bad_ssl_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -87,7 +87,7 @@ static void run_test(const char *target, size_t nops) { op = ops; op->op = GRPC_OP_SEND_INITIAL_METADATA; op->data.send_initial_metadata.count = 0; - op->flags = 0; + op->flags = GRPC_INITIAL_METADATA_IGNORE_CONNECTIVITY; op->reserved = NULL; op++; op->op = GRPC_OP_RECV_STATUS_ON_CLIENT; diff --git a/test/core/bad_ssl/gen_build_yaml.py b/test/core/bad_ssl/gen_build_yaml.py index e2a3febe5d9e801564c54f3436c660d1658087e5..69f921989cded9a421e0e5ed95adc9006936e2dc 100755 --- a/test/core/bad_ssl/gen_build_yaml.py +++ b/test/core/bad_ssl/gen_build_yaml.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/test/core/bad_ssl/server_common.c b/test/core/bad_ssl/server_common.c index cde844a55296b5de724a9d4a115443dbfc7a31e9..14b1892c2e9fc0ef293a9c60c47535a0e72c7426 100644 --- a/test/core/bad_ssl/server_common.c +++ b/test/core/bad_ssl/server_common.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/bad_ssl/server_common.h b/test/core/bad_ssl/server_common.h index 2566c2590594db86f5aaf875268f7b775c475115..8ec775550307ba90702d40bf4256322c969201d1 100644 --- a/test/core/bad_ssl/server_common.h +++ b/test/core/bad_ssl/server_common.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/bad_ssl/servers/alpn.c b/test/core/bad_ssl/servers/alpn.c index 3225fd03150bdfaa4d5e063dbbdc03e391534ff8..007fa252c94f7b96c9da14a2734346f1bdc44821 100644 --- a/test/core/bad_ssl/servers/alpn.c +++ b/test/core/bad_ssl/servers/alpn.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -38,7 +38,7 @@ #include <grpc/support/log.h> #include <grpc/support/useful.h> -#include "src/core/ext/transport/chttp2/transport/alpn.h" +#include "src/core/ext/transport/chttp2/alpn/alpn.h" #include "test/core/bad_ssl/server_common.h" #include "test/core/end2end/data/ssl_test_data.h" diff --git a/test/core/bad_ssl/servers/cert.c b/test/core/bad_ssl/servers/cert.c index 730768282175d9c9abbcb71a89c7e32598c5130e..bd11efd31478e5bc91c654ea87707593ba79850d 100644 --- a/test/core/bad_ssl/servers/cert.c +++ b/test/core/bad_ssl/servers/cert.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/census/context_test.c b/test/core/census/context_test.c index ad4c337465cdfbe8973daee89dfbc8efda8face5..e7a65380fb8cfe6072198eb665098fd0deb3625d 100644 --- a/test/core/census/context_test.c +++ b/test/core/census/context_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/census/mlog_test.c b/test/core/census/mlog_test.c index a1fadc2290a10c948634bab9524fabb748e57347..36e8a492fd5a8361541f7ee1edcc24f491d1db5c 100644 --- a/test/core/census/mlog_test.c +++ b/test/core/census/mlog_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/census/mlog.h" +#include "src/core/ext/census/mlog.h" #include <grpc/support/cpu.h> #include <grpc/support/log.h> #include <grpc/support/port_platform.h> diff --git a/test/core/channel/channel_args_test.c b/test/core/channel/channel_args_test.c index 352dfa045eacbe0563a730c428d255e30d7e495c..c7fc25960c095e14514cabf6fc7ee79722b102e7 100644 --- a/test/core/channel/channel_args_test.c +++ b/test/core/channel/channel_args_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/channel/channel_stack_test.c b/test/core/channel/channel_stack_test.c index 49e9c7e969bfb9a0b6bc4d2ea31a918478d17974..81e3927a00646866e9a3acbb0f4d35b922e8ca60 100644 --- a/test/core/channel/channel_stack_test.c +++ b/test/core/channel/channel_stack_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/client_config/lb_policies_test.c b/test/core/client_config/lb_policies_test.c index bc7040de776114fdfbe6df64f7e35f4ebdfe514c..e766672cf5d110a45b7d98160a41eb2edba6aa9f 100644 --- a/test/core/client_config/lb_policies_test.c +++ b/test/core/client_config/lb_policies_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,10 +41,9 @@ #include <grpc/support/string_util.h> #include <grpc/support/time.h> +#include "src/core/ext/client_config/client_channel.h" +#include "src/core/ext/client_config/lb_policy_registry.h" #include "src/core/lib/channel/channel_stack.h" -#include "src/core/lib/channel/client_channel.h" -#include "src/core/lib/client_config/lb_policies/round_robin.h" -#include "src/core/lib/client_config/lb_policy_registry.h" #include "src/core/lib/support/string.h" #include "src/core/lib/surface/channel.h" #include "src/core/lib/surface/server.h" @@ -881,7 +880,7 @@ int main(int argc, char **argv) { grpc_test_init(argc, argv); grpc_init(); - grpc_lb_round_robin_trace = 1; + grpc_tracer_set_enabled("round_robin", 1); GPR_ASSERT(grpc_lb_policy_create(&exec_ctx, "this-lb-policy-does-not-exist", NULL) == NULL); diff --git a/test/core/client_config/resolvers/dns_resolver_connectivity_test.c b/test/core/client_config/resolvers/dns_resolver_connectivity_test.c index dc6a614d555f3e853bdae42a25df40a619bf78f6..2322aa688a40d026e22e0c6510617c66d373b426 100644 --- a/test/core/client_config/resolvers/dns_resolver_connectivity_test.c +++ b/test/core/client_config/resolvers/dns_resolver_connectivity_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,31 +31,38 @@ * */ -#include "src/core/lib/client_config/resolvers/dns_resolver.h" - #include <string.h> #include <grpc/grpc.h> #include <grpc/support/alloc.h> +#include "src/core/ext/client_config/resolver_registry.h" #include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/iomgr/timer.h" #include "test/core/util/test_config.h" -static void subchannel_factory_ref(grpc_subchannel_factory *scv) {} -static void subchannel_factory_unref(grpc_exec_ctx *exec_ctx, - grpc_subchannel_factory *scv) {} -static grpc_subchannel *subchannel_factory_create_subchannel( - grpc_exec_ctx *exec_ctx, grpc_subchannel_factory *factory, +static void client_channel_factory_ref(grpc_client_channel_factory *scv) {} +static void client_channel_factory_unref(grpc_exec_ctx *exec_ctx, + grpc_client_channel_factory *scv) {} +static grpc_subchannel *client_channel_factory_create_subchannel( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *factory, grpc_subchannel_args *args) { return NULL; } -static const grpc_subchannel_factory_vtable sc_vtable = { - subchannel_factory_ref, subchannel_factory_unref, - subchannel_factory_create_subchannel}; +static grpc_channel *client_channel_factory_create_channel( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory, + const char *target, grpc_client_channel_type type, + grpc_channel_args *args) { + GPR_UNREACHABLE_CODE(return NULL); +} + +static const grpc_client_channel_factory_vtable sc_vtable = { + client_channel_factory_ref, client_channel_factory_unref, + client_channel_factory_create_subchannel, + client_channel_factory_create_channel}; -static grpc_subchannel_factory sc_factory = {&sc_vtable}; +static grpc_client_channel_factory cc_factory = {&sc_vtable}; static gpr_mu g_mu; static bool g_fail_resolution = true; @@ -79,13 +86,13 @@ static grpc_resolved_addresses *my_resolve_address(const char *name, } static grpc_resolver *create_resolver(const char *name) { - grpc_resolver_factory *factory = grpc_dns_resolver_factory_create(); + grpc_resolver_factory *factory = grpc_resolver_factory_lookup("dns"); grpc_uri *uri = grpc_uri_parse(name, 0); GPR_ASSERT(uri); grpc_resolver_args args; memset(&args, 0, sizeof(args)); args.uri = uri; - args.subchannel_factory = &sc_factory; + args.client_channel_factory = &cc_factory; grpc_resolver *resolver = grpc_resolver_factory_create_resolver(factory, &args); grpc_resolver_factory_unref(factory); diff --git a/test/core/client_config/resolvers/dns_resolver_test.c b/test/core/client_config/resolvers/dns_resolver_test.c index 6c7a6b27e4a6289002d89d435f2d4e9b24dfa9a6..21dc99cadd8f7274f8f693fbaf5e158ce189ce46 100644 --- a/test/core/client_config/resolvers/dns_resolver_test.c +++ b/test/core/client_config/resolvers/dns_resolver_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,29 +31,35 @@ * */ -#include "src/core/lib/client_config/resolvers/dns_resolver.h" - #include <string.h> #include <grpc/support/log.h> -#include "src/core/lib/client_config/resolver.h" +#include "src/core/ext/client_config/resolver_registry.h" #include "test/core/util/test_config.h" -static void subchannel_factory_ref(grpc_subchannel_factory *scv) {} -static void subchannel_factory_unref(grpc_exec_ctx *exec_ctx, - grpc_subchannel_factory *scv) {} -static grpc_subchannel *subchannel_factory_create_subchannel( - grpc_exec_ctx *exec_ctx, grpc_subchannel_factory *factory, +static void client_channel_factory_ref(grpc_client_channel_factory *scv) {} +static void client_channel_factory_unref(grpc_exec_ctx *exec_ctx, + grpc_client_channel_factory *scv) {} +static grpc_subchannel *client_channel_factory_create_subchannel( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *factory, grpc_subchannel_args *args) { GPR_UNREACHABLE_CODE(return NULL); } -static const grpc_subchannel_factory_vtable sc_vtable = { - subchannel_factory_ref, subchannel_factory_unref, - subchannel_factory_create_subchannel}; +static grpc_channel *client_channel_factory_create_channel( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory, + const char *target, grpc_client_channel_type type, + grpc_channel_args *args) { + GPR_UNREACHABLE_CODE(return NULL); +} + +static const grpc_client_channel_factory_vtable sc_vtable = { + client_channel_factory_ref, client_channel_factory_unref, + client_channel_factory_create_subchannel, + client_channel_factory_create_channel}; -static grpc_subchannel_factory sc_factory = {&sc_vtable}; +static grpc_client_channel_factory cc_factory = {&sc_vtable}; static void test_succeeds(grpc_resolver_factory *factory, const char *string) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; @@ -65,7 +71,7 @@ static void test_succeeds(grpc_resolver_factory *factory, const char *string) { GPR_ASSERT(uri); memset(&args, 0, sizeof(args)); args.uri = uri; - args.subchannel_factory = &sc_factory; + args.client_channel_factory = &cc_factory; resolver = grpc_resolver_factory_create_resolver(factory, &args); GPR_ASSERT(resolver != NULL); GRPC_RESOLVER_UNREF(&exec_ctx, resolver, "test_succeeds"); @@ -92,8 +98,9 @@ static void test_fails(grpc_resolver_factory *factory, const char *string) { int main(int argc, char **argv) { grpc_resolver_factory *dns; grpc_test_init(argc, argv); + grpc_init(); - dns = grpc_dns_resolver_factory_create(); + dns = grpc_resolver_factory_lookup("dns"); test_succeeds(dns, "dns:10.2.1.1"); test_succeeds(dns, "dns:10.2.1.1:1234"); @@ -101,6 +108,7 @@ int main(int argc, char **argv) { test_fails(dns, "ipv4://8.8.8.8/8.8.8.8:8888"); grpc_resolver_factory_unref(dns); + grpc_shutdown(); return 0; } diff --git a/test/core/client_config/resolvers/sockaddr_resolver_test.c b/test/core/client_config/resolvers/sockaddr_resolver_test.c index fafddfd166da85624bd5fdf5ab7da997507960df..b11546b6b1cb18d6eaf8d3cb262e48ac88ee48c5 100644 --- a/test/core/client_config/resolvers/sockaddr_resolver_test.c +++ b/test/core/client_config/resolvers/sockaddr_resolver_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,29 +31,35 @@ * */ -#include "src/core/lib/client_config/resolvers/sockaddr_resolver.h" - #include <string.h> #include <grpc/support/log.h> -#include "src/core/lib/client_config/resolver.h" +#include "src/core/ext/client_config/resolver_registry.h" #include "test/core/util/test_config.h" -static void subchannel_factory_ref(grpc_subchannel_factory *scv) {} -static void subchannel_factory_unref(grpc_exec_ctx *exec_ctx, - grpc_subchannel_factory *scv) {} -static grpc_subchannel *subchannel_factory_create_subchannel( - grpc_exec_ctx *exec_ctx, grpc_subchannel_factory *factory, +static void client_channel_factory_ref(grpc_client_channel_factory *scv) {} +static void client_channel_factory_unref(grpc_exec_ctx *exec_ctx, + grpc_client_channel_factory *scv) {} +static grpc_subchannel *client_channel_factory_create_subchannel( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *factory, grpc_subchannel_args *args) { GPR_UNREACHABLE_CODE(return NULL); } -static const grpc_subchannel_factory_vtable sc_vtable = { - subchannel_factory_ref, subchannel_factory_unref, - subchannel_factory_create_subchannel}; +static grpc_channel *client_channel_factory_create_channel( + grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *cc_factory, + const char *target, grpc_client_channel_type type, + grpc_channel_args *args) { + GPR_UNREACHABLE_CODE(return NULL); +} + +static const grpc_client_channel_factory_vtable sc_vtable = { + client_channel_factory_ref, client_channel_factory_unref, + client_channel_factory_create_subchannel, + client_channel_factory_create_channel}; -static grpc_subchannel_factory sc_factory = {&sc_vtable}; +static grpc_client_channel_factory cc_factory = {&sc_vtable}; static void test_succeeds(grpc_resolver_factory *factory, const char *string) { grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; @@ -65,7 +71,7 @@ static void test_succeeds(grpc_resolver_factory *factory, const char *string) { GPR_ASSERT(uri); memset(&args, 0, sizeof(args)); args.uri = uri; - args.subchannel_factory = &sc_factory; + args.client_channel_factory = &cc_factory; resolver = grpc_resolver_factory_create_resolver(factory, &args); GPR_ASSERT(resolver != NULL); GRPC_RESOLVER_UNREF(&exec_ctx, resolver, "test_succeeds"); @@ -92,12 +98,14 @@ static void test_fails(grpc_resolver_factory *factory, const char *string) { int main(int argc, char **argv) { grpc_resolver_factory *ipv4, *ipv6; grpc_test_init(argc, argv); + grpc_init(); - ipv4 = grpc_ipv4_resolver_factory_create(); - ipv6 = grpc_ipv6_resolver_factory_create(); + ipv4 = grpc_resolver_factory_lookup("ipv4"); + ipv6 = grpc_resolver_factory_lookup("ipv6"); test_fails(ipv4, "ipv4:10.2.1.1"); test_succeeds(ipv4, "ipv4:10.2.1.1:1234"); + test_succeeds(ipv4, "ipv4:10.2.1.1:1234,127.0.0.1:4321"); test_fails(ipv4, "ipv4:10.2.1.1:123456"); test_fails(ipv4, "ipv4:www.google.com"); test_fails(ipv4, "ipv4:["); @@ -111,6 +119,7 @@ int main(int argc, char **argv) { grpc_resolver_factory_unref(ipv4); grpc_resolver_factory_unref(ipv6); + grpc_shutdown(); return 0; } diff --git a/test/core/client_config/set_initial_connect_string_test.c b/test/core/client_config/set_initial_connect_string_test.c index 7fd92a079e5531b1a9778e85454dc359eadcb829..83058d9b2c33d31845bc4d974657934f0c088568 100644 --- a/test/core/client_config/set_initial_connect_string_test.c +++ b/test/core/client_config/set_initial_connect_string_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -38,7 +38,7 @@ #include <grpc/support/log.h> #include <grpc/support/slice.h> -#include "src/core/lib/client_config/initial_connect_string.h" +#include "src/core/ext/client_config/initial_connect_string.h" #include "src/core/lib/iomgr/sockaddr.h" #include "src/core/lib/security/credentials.h" #include "src/core/lib/support/string.h" diff --git a/test/core/client_config/uri_fuzzer_test.c b/test/core/client_config/uri_fuzzer_test.c index cd746c1c0e115107af3aeafe774bec2361385374..eb976fc9f53a7c2d25e5c87c50301605d1f29389 100644 --- a/test/core/client_config/uri_fuzzer_test.c +++ b/test/core/client_config/uri_fuzzer_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,7 +36,7 @@ #include <grpc/support/alloc.h> -#include "src/core/lib/client_config/uri_parser.h" +#include "src/core/ext/client_config/uri_parser.h" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { char *s = gpr_malloc(size + 1); diff --git a/test/core/client_config/uri_parser_test.c b/test/core/client_config/uri_parser_test.c index c7f7726380433e4c6d994cccccf9dc2a2bf7e3de..323e8b6f70b1d6229126ddf949cd7239c40f4bab 100644 --- a/test/core/client_config/uri_parser_test.c +++ b/test/core/client_config/uri_parser_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/client_config/uri_parser.h" +#include "src/core/ext/client_config/uri_parser.h" #include <string.h> @@ -56,6 +56,73 @@ static void test_fails(const char *uri_text) { GPR_ASSERT(NULL == grpc_uri_parse(uri_text, 0)); } +static void test_query_parts() { + { + const char *uri_text = "http://foo/path?a&b=B&c=&#frag"; + grpc_uri *uri = grpc_uri_parse(uri_text, 0); + GPR_ASSERT(uri); + + GPR_ASSERT(0 == strcmp("http", uri->scheme)); + GPR_ASSERT(0 == strcmp("foo", uri->authority)); + GPR_ASSERT(0 == strcmp("/path", uri->path)); + GPR_ASSERT(0 == strcmp("a&b=B&c=&", uri->query)); + GPR_ASSERT(4 == uri->num_query_parts); + + GPR_ASSERT(0 == strcmp("a", uri->query_parts[0])); + GPR_ASSERT(NULL == uri->query_parts_values[0]); + + GPR_ASSERT(0 == strcmp("b", uri->query_parts[1])); + GPR_ASSERT(0 == strcmp("B", uri->query_parts_values[1])); + + GPR_ASSERT(0 == strcmp("c", uri->query_parts[2])); + GPR_ASSERT(0 == strcmp("", uri->query_parts_values[2])); + + GPR_ASSERT(0 == strcmp("", uri->query_parts[3])); + GPR_ASSERT(NULL == uri->query_parts_values[3]); + + GPR_ASSERT(NULL == grpc_uri_get_query_arg(uri, "a")); + GPR_ASSERT(0 == strcmp("B", grpc_uri_get_query_arg(uri, "b"))); + GPR_ASSERT(0 == strcmp("", grpc_uri_get_query_arg(uri, "c"))); + GPR_ASSERT(NULL == grpc_uri_get_query_arg(uri, "")); + + GPR_ASSERT(0 == strcmp("frag", uri->fragment)); + grpc_uri_destroy(uri); + } + { + /* test the current behavior of multiple query part values */ + const char *uri_text = "http://auth/path?foo=bar=baz&foobar=="; + grpc_uri *uri = grpc_uri_parse(uri_text, 0); + GPR_ASSERT(uri); + + GPR_ASSERT(0 == strcmp("http", uri->scheme)); + GPR_ASSERT(0 == strcmp("auth", uri->authority)); + GPR_ASSERT(0 == strcmp("/path", uri->path)); + GPR_ASSERT(0 == strcmp("foo=bar=baz&foobar==", uri->query)); + GPR_ASSERT(2 == uri->num_query_parts); + + GPR_ASSERT(0 == strcmp("bar", grpc_uri_get_query_arg(uri, "foo"))); + GPR_ASSERT(0 == strcmp("", grpc_uri_get_query_arg(uri, "foobar"))); + + grpc_uri_destroy(uri); + } + { + /* empty query */ + const char *uri_text = "http://foo/path"; + grpc_uri *uri = grpc_uri_parse(uri_text, 0); + GPR_ASSERT(uri); + + GPR_ASSERT(0 == strcmp("http", uri->scheme)); + GPR_ASSERT(0 == strcmp("foo", uri->authority)); + GPR_ASSERT(0 == strcmp("/path", uri->path)); + GPR_ASSERT(0 == strcmp("", uri->query)); + GPR_ASSERT(0 == uri->num_query_parts); + GPR_ASSERT(NULL == uri->query_parts); + GPR_ASSERT(NULL == uri->query_parts_values); + GPR_ASSERT(0 == strcmp("", uri->fragment)); + grpc_uri_destroy(uri); + } +} + int main(int argc, char **argv) { grpc_test_init(argc, argv); test_succeeds("http://www.google.com", "http", "www.google.com", "", "", ""); @@ -82,5 +149,6 @@ int main(int argc, char **argv) { test_fails("http://foo?x[bar]"); test_fails("http://foo?bar#lol#"); + test_query_parts(); return 0; } diff --git a/test/core/compression/algorithm_test.c b/test/core/compression/algorithm_test.c index 937eb66903131959597650f296d25ca571ab84da..bdee748ae6fa02c9cbe2ea68466dc19240a693b9 100644 --- a/test/core/compression/algorithm_test.c +++ b/test/core/compression/algorithm_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/compression/compression_test.c b/test/core/compression/compression_test.c index 5d8231fd7fe80903a6c96b1fb029e243ba25f39a..4c43746e335243bcb9f2608b6472d6ab6c5a03b9 100644 --- a/test/core/compression/compression_test.c +++ b/test/core/compression/compression_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/compression/message_compress_test.c b/test/core/compression/message_compress_test.c index 378badca286816eb1732871f048e7372da4394ff..1a93903346f3495fc8de677f8b7c6f714a0c0b2e 100644 --- a/test/core/compression/message_compress_test.c +++ b/test/core/compression/message_compress_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/end2end/cq_verifier.c b/test/core/end2end/cq_verifier.c index baf8e8ed18b511b501e1ea2c8a0074425e35ff60..77afe588d79b166b2329884eb6ce033b7b28606f 100644 --- a/test/core/end2end/cq_verifier.c +++ b/test/core/end2end/cq_verifier.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/end2end/dualstack_socket_test.c b/test/core/end2end/dualstack_socket_test.c index 7501df98dc7f56ba0919bc7a6e52ee3535092534..81f76ea79c20886c9f8b1609ef2b6a574ee6eb3d 100644 --- a/test/core/end2end/dualstack_socket_test.c +++ b/test/core/end2end/dualstack_socket_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -168,7 +168,7 @@ void test_connect(const char *server_host, const char *client_host, int port, op = ops; op->op = GRPC_OP_SEND_INITIAL_METADATA; op->data.send_initial_metadata.count = 0; - op->flags = 0; + op->flags = expect_ok ? GRPC_INITIAL_METADATA_IGNORE_CONNECTIVITY : 0; op->reserved = NULL; op++; op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT; @@ -237,7 +237,7 @@ void test_connect(const char *server_host, const char *client_host, int port, cq_expect_completion(cqv, tag(1), 1); cq_verify(cqv); - GPR_ASSERT(status == GRPC_STATUS_DEADLINE_EXCEEDED); + GPR_ASSERT(status == GRPC_STATUS_UNAVAILABLE); } grpc_call_destroy(c); diff --git a/test/core/end2end/end2end_nosec_tests.c b/test/core/end2end/end2end_nosec_tests.c index b8934512c67a417e4fd52feb5414561d9b2aa095..b71299c09e0d6277600ef0dde3c12f012d79756c 100644 --- a/test/core/end2end/end2end_nosec_tests.c +++ b/test/core/end2end/end2end_nosec_tests.c @@ -1,7 +1,7 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,50 +36,136 @@ #include "test/core/end2end/end2end_tests.h" +#include <stdbool.h> #include <string.h> #include <grpc/support/log.h> +static bool g_pre_init_called = false; + extern void bad_hostname(grpc_end2end_test_config config); +extern void bad_hostname_pre_init(void); extern void binary_metadata(grpc_end2end_test_config config); +extern void binary_metadata_pre_init(void); extern void cancel_after_accept(grpc_end2end_test_config config); +extern void cancel_after_accept_pre_init(void); extern void cancel_after_client_done(grpc_end2end_test_config config); +extern void cancel_after_client_done_pre_init(void); extern void cancel_after_invoke(grpc_end2end_test_config config); +extern void cancel_after_invoke_pre_init(void); extern void cancel_before_invoke(grpc_end2end_test_config config); +extern void cancel_before_invoke_pre_init(void); extern void cancel_in_a_vacuum(grpc_end2end_test_config config); +extern void cancel_in_a_vacuum_pre_init(void); extern void cancel_with_status(grpc_end2end_test_config config); +extern void cancel_with_status_pre_init(void); extern void compressed_payload(grpc_end2end_test_config config); +extern void compressed_payload_pre_init(void); extern void connectivity(grpc_end2end_test_config config); +extern void connectivity_pre_init(void); extern void default_host(grpc_end2end_test_config config); +extern void default_host_pre_init(void); extern void disappearing_server(grpc_end2end_test_config config); +extern void disappearing_server_pre_init(void); extern void empty_batch(grpc_end2end_test_config config); +extern void empty_batch_pre_init(void); +extern void filter_causes_close(grpc_end2end_test_config config); +extern void filter_causes_close_pre_init(void); extern void graceful_server_shutdown(grpc_end2end_test_config config); +extern void graceful_server_shutdown_pre_init(void); extern void high_initial_seqno(grpc_end2end_test_config config); +extern void high_initial_seqno_pre_init(void); extern void hpack_size(grpc_end2end_test_config config); +extern void hpack_size_pre_init(void); +extern void idempotent_request(grpc_end2end_test_config config); +extern void idempotent_request_pre_init(void); extern void invoke_large_request(grpc_end2end_test_config config); +extern void invoke_large_request_pre_init(void); extern void large_metadata(grpc_end2end_test_config config); +extern void large_metadata_pre_init(void); extern void max_concurrent_streams(grpc_end2end_test_config config); +extern void max_concurrent_streams_pre_init(void); extern void max_message_length(grpc_end2end_test_config config); +extern void max_message_length_pre_init(void); extern void negative_deadline(grpc_end2end_test_config config); +extern void negative_deadline_pre_init(void); extern void no_op(grpc_end2end_test_config config); +extern void no_op_pre_init(void); extern void payload(grpc_end2end_test_config config); +extern void payload_pre_init(void); extern void ping(grpc_end2end_test_config config); +extern void ping_pre_init(void); extern void ping_pong_streaming(grpc_end2end_test_config config); +extern void ping_pong_streaming_pre_init(void); extern void registered_call(grpc_end2end_test_config config); +extern void registered_call_pre_init(void); extern void request_with_flags(grpc_end2end_test_config config); +extern void request_with_flags_pre_init(void); extern void request_with_payload(grpc_end2end_test_config config); +extern void request_with_payload_pre_init(void); extern void server_finishes_request(grpc_end2end_test_config config); +extern void server_finishes_request_pre_init(void); extern void shutdown_finishes_calls(grpc_end2end_test_config config); +extern void shutdown_finishes_calls_pre_init(void); extern void shutdown_finishes_tags(grpc_end2end_test_config config); +extern void shutdown_finishes_tags_pre_init(void); extern void simple_delayed_request(grpc_end2end_test_config config); +extern void simple_delayed_request_pre_init(void); extern void simple_metadata(grpc_end2end_test_config config); +extern void simple_metadata_pre_init(void); extern void simple_request(grpc_end2end_test_config config); +extern void simple_request_pre_init(void); extern void trailing_metadata(grpc_end2end_test_config config); +extern void trailing_metadata_pre_init(void); + +void grpc_end2end_tests_pre_init(void) { + GPR_ASSERT(!g_pre_init_called); + g_pre_init_called = true; + bad_hostname_pre_init(); + binary_metadata_pre_init(); + cancel_after_accept_pre_init(); + cancel_after_client_done_pre_init(); + cancel_after_invoke_pre_init(); + cancel_before_invoke_pre_init(); + cancel_in_a_vacuum_pre_init(); + cancel_with_status_pre_init(); + compressed_payload_pre_init(); + connectivity_pre_init(); + default_host_pre_init(); + disappearing_server_pre_init(); + empty_batch_pre_init(); + filter_causes_close_pre_init(); + graceful_server_shutdown_pre_init(); + high_initial_seqno_pre_init(); + hpack_size_pre_init(); + idempotent_request_pre_init(); + invoke_large_request_pre_init(); + large_metadata_pre_init(); + max_concurrent_streams_pre_init(); + max_message_length_pre_init(); + negative_deadline_pre_init(); + no_op_pre_init(); + payload_pre_init(); + ping_pre_init(); + ping_pong_streaming_pre_init(); + registered_call_pre_init(); + request_with_flags_pre_init(); + request_with_payload_pre_init(); + server_finishes_request_pre_init(); + shutdown_finishes_calls_pre_init(); + shutdown_finishes_tags_pre_init(); + simple_delayed_request_pre_init(); + simple_metadata_pre_init(); + simple_request_pre_init(); + trailing_metadata_pre_init(); +} void grpc_end2end_tests(int argc, char **argv, grpc_end2end_test_config config) { int i; + GPR_ASSERT(g_pre_init_called); + if (argc <= 1) { bad_hostname(config); binary_metadata(config); @@ -94,9 +180,11 @@ void grpc_end2end_tests(int argc, char **argv, default_host(config); disappearing_server(config); empty_batch(config); + filter_causes_close(config); graceful_server_shutdown(config); high_initial_seqno(config); hpack_size(config); + idempotent_request(config); invoke_large_request(config); large_metadata(config); max_concurrent_streams(config); @@ -172,6 +260,10 @@ void grpc_end2end_tests(int argc, char **argv, empty_batch(config); continue; } + if (0 == strcmp("filter_causes_close", argv[i])) { + filter_causes_close(config); + continue; + } if (0 == strcmp("graceful_server_shutdown", argv[i])) { graceful_server_shutdown(config); continue; @@ -184,6 +276,10 @@ void grpc_end2end_tests(int argc, char **argv, hpack_size(config); continue; } + if (0 == strcmp("idempotent_request", argv[i])) { + idempotent_request(config); + continue; + } if (0 == strcmp("invoke_large_request", argv[i])) { invoke_large_request(config); continue; diff --git a/test/core/end2end/end2end_tests.c b/test/core/end2end/end2end_tests.c index f0969794c605d92e659a70cdacbb0e0ed61fcdd6..00c9c44a78c63777377b6a8dc0073378fbfb5598 100644 --- a/test/core/end2end/end2end_tests.c +++ b/test/core/end2end/end2end_tests.c @@ -1,7 +1,7 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,51 +36,139 @@ #include "test/core/end2end/end2end_tests.h" +#include <stdbool.h> #include <string.h> #include <grpc/support/log.h> +static bool g_pre_init_called = false; + extern void bad_hostname(grpc_end2end_test_config config); +extern void bad_hostname_pre_init(void); extern void binary_metadata(grpc_end2end_test_config config); +extern void binary_metadata_pre_init(void); extern void call_creds(grpc_end2end_test_config config); +extern void call_creds_pre_init(void); extern void cancel_after_accept(grpc_end2end_test_config config); +extern void cancel_after_accept_pre_init(void); extern void cancel_after_client_done(grpc_end2end_test_config config); +extern void cancel_after_client_done_pre_init(void); extern void cancel_after_invoke(grpc_end2end_test_config config); +extern void cancel_after_invoke_pre_init(void); extern void cancel_before_invoke(grpc_end2end_test_config config); +extern void cancel_before_invoke_pre_init(void); extern void cancel_in_a_vacuum(grpc_end2end_test_config config); +extern void cancel_in_a_vacuum_pre_init(void); extern void cancel_with_status(grpc_end2end_test_config config); +extern void cancel_with_status_pre_init(void); extern void compressed_payload(grpc_end2end_test_config config); +extern void compressed_payload_pre_init(void); extern void connectivity(grpc_end2end_test_config config); +extern void connectivity_pre_init(void); extern void default_host(grpc_end2end_test_config config); +extern void default_host_pre_init(void); extern void disappearing_server(grpc_end2end_test_config config); +extern void disappearing_server_pre_init(void); extern void empty_batch(grpc_end2end_test_config config); +extern void empty_batch_pre_init(void); +extern void filter_causes_close(grpc_end2end_test_config config); +extern void filter_causes_close_pre_init(void); extern void graceful_server_shutdown(grpc_end2end_test_config config); +extern void graceful_server_shutdown_pre_init(void); extern void high_initial_seqno(grpc_end2end_test_config config); +extern void high_initial_seqno_pre_init(void); extern void hpack_size(grpc_end2end_test_config config); +extern void hpack_size_pre_init(void); +extern void idempotent_request(grpc_end2end_test_config config); +extern void idempotent_request_pre_init(void); extern void invoke_large_request(grpc_end2end_test_config config); +extern void invoke_large_request_pre_init(void); extern void large_metadata(grpc_end2end_test_config config); +extern void large_metadata_pre_init(void); extern void max_concurrent_streams(grpc_end2end_test_config config); +extern void max_concurrent_streams_pre_init(void); extern void max_message_length(grpc_end2end_test_config config); +extern void max_message_length_pre_init(void); extern void negative_deadline(grpc_end2end_test_config config); +extern void negative_deadline_pre_init(void); extern void no_op(grpc_end2end_test_config config); +extern void no_op_pre_init(void); extern void payload(grpc_end2end_test_config config); +extern void payload_pre_init(void); extern void ping(grpc_end2end_test_config config); +extern void ping_pre_init(void); extern void ping_pong_streaming(grpc_end2end_test_config config); +extern void ping_pong_streaming_pre_init(void); extern void registered_call(grpc_end2end_test_config config); +extern void registered_call_pre_init(void); extern void request_with_flags(grpc_end2end_test_config config); +extern void request_with_flags_pre_init(void); extern void request_with_payload(grpc_end2end_test_config config); +extern void request_with_payload_pre_init(void); extern void server_finishes_request(grpc_end2end_test_config config); +extern void server_finishes_request_pre_init(void); extern void shutdown_finishes_calls(grpc_end2end_test_config config); +extern void shutdown_finishes_calls_pre_init(void); extern void shutdown_finishes_tags(grpc_end2end_test_config config); +extern void shutdown_finishes_tags_pre_init(void); extern void simple_delayed_request(grpc_end2end_test_config config); +extern void simple_delayed_request_pre_init(void); extern void simple_metadata(grpc_end2end_test_config config); +extern void simple_metadata_pre_init(void); extern void simple_request(grpc_end2end_test_config config); +extern void simple_request_pre_init(void); extern void trailing_metadata(grpc_end2end_test_config config); +extern void trailing_metadata_pre_init(void); + +void grpc_end2end_tests_pre_init(void) { + GPR_ASSERT(!g_pre_init_called); + g_pre_init_called = true; + bad_hostname_pre_init(); + binary_metadata_pre_init(); + call_creds_pre_init(); + cancel_after_accept_pre_init(); + cancel_after_client_done_pre_init(); + cancel_after_invoke_pre_init(); + cancel_before_invoke_pre_init(); + cancel_in_a_vacuum_pre_init(); + cancel_with_status_pre_init(); + compressed_payload_pre_init(); + connectivity_pre_init(); + default_host_pre_init(); + disappearing_server_pre_init(); + empty_batch_pre_init(); + filter_causes_close_pre_init(); + graceful_server_shutdown_pre_init(); + high_initial_seqno_pre_init(); + hpack_size_pre_init(); + idempotent_request_pre_init(); + invoke_large_request_pre_init(); + large_metadata_pre_init(); + max_concurrent_streams_pre_init(); + max_message_length_pre_init(); + negative_deadline_pre_init(); + no_op_pre_init(); + payload_pre_init(); + ping_pre_init(); + ping_pong_streaming_pre_init(); + registered_call_pre_init(); + request_with_flags_pre_init(); + request_with_payload_pre_init(); + server_finishes_request_pre_init(); + shutdown_finishes_calls_pre_init(); + shutdown_finishes_tags_pre_init(); + simple_delayed_request_pre_init(); + simple_metadata_pre_init(); + simple_request_pre_init(); + trailing_metadata_pre_init(); +} void grpc_end2end_tests(int argc, char **argv, grpc_end2end_test_config config) { int i; + GPR_ASSERT(g_pre_init_called); + if (argc <= 1) { bad_hostname(config); binary_metadata(config); @@ -96,9 +184,11 @@ void grpc_end2end_tests(int argc, char **argv, default_host(config); disappearing_server(config); empty_batch(config); + filter_causes_close(config); graceful_server_shutdown(config); high_initial_seqno(config); hpack_size(config); + idempotent_request(config); invoke_large_request(config); large_metadata(config); max_concurrent_streams(config); @@ -178,6 +268,10 @@ void grpc_end2end_tests(int argc, char **argv, empty_batch(config); continue; } + if (0 == strcmp("filter_causes_close", argv[i])) { + filter_causes_close(config); + continue; + } if (0 == strcmp("graceful_server_shutdown", argv[i])) { graceful_server_shutdown(config); continue; @@ -190,6 +284,10 @@ void grpc_end2end_tests(int argc, char **argv, hpack_size(config); continue; } + if (0 == strcmp("idempotent_request", argv[i])) { + idempotent_request(config); + continue; + } if (0 == strcmp("invoke_large_request", argv[i])) { invoke_large_request(config); continue; diff --git a/test/core/end2end/end2end_tests.h b/test/core/end2end/end2end_tests.h index bc44f43a1785355e3843896f4bcaa4fdf8bc0dda..dfa041c0c64b6cbbe838a7fe2ec9fbc0987886da 100644 --- a/test/core/end2end/end2end_tests.h +++ b/test/core/end2end/end2end_tests.h @@ -64,6 +64,7 @@ struct grpc_end2end_test_config { void (*tear_down_data)(grpc_end2end_test_fixture *f); }; +void grpc_end2end_tests_pre_init(void); void grpc_end2end_tests(int argc, char **argv, grpc_end2end_test_config config); #endif /* GRPC_TEST_CORE_END2END_END2END_TESTS_H */ diff --git a/test/core/end2end/fixtures/h2_census.c b/test/core/end2end/fixtures/h2_census.c index 9d091d5dbeaacde69ec022c83dfe9e44811024e3..ff2f028f096a0ea6c51177be0716075c9824b211 100644 --- a/test/core/end2end/fixtures/h2_census.c +++ b/test/core/end2end/fixtures/h2_census.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,9 +41,9 @@ #include <grpc/support/sync.h> #include <grpc/support/thd.h> #include <grpc/support/useful.h> +#include "src/core/ext/client_config/client_channel.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" #include "src/core/lib/channel/channel_args.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/channel/http_server_filter.h" #include "src/core/lib/surface/channel.h" @@ -120,6 +120,7 @@ int main(int argc, char **argv) { size_t i; grpc_test_init(argc, argv); + grpc_end2end_tests_pre_init(); grpc_init(); for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { diff --git a/test/core/end2end/fixtures/h2_compress.c b/test/core/end2end/fixtures/h2_compress.c index 8d8d5e7d6c406cac01c542b2c308d88b29bb9659..8f9b7c9cd9a662a3dfab10be1aeee8df6721f8c9 100644 --- a/test/core/end2end/fixtures/h2_compress.c +++ b/test/core/end2end/fixtures/h2_compress.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,9 +41,9 @@ #include <grpc/support/sync.h> #include <grpc/support/thd.h> #include <grpc/support/useful.h> +#include "src/core/ext/client_config/client_channel.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" #include "src/core/lib/channel/channel_args.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/channel/http_server_filter.h" #include "src/core/lib/surface/channel.h" @@ -124,6 +124,7 @@ int main(int argc, char **argv) { size_t i; grpc_test_init(argc, argv); + grpc_end2end_tests_pre_init(); grpc_init(); for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { diff --git a/test/core/end2end/fixtures/h2_fakesec.c b/test/core/end2end/fixtures/h2_fakesec.c index 7386691bdcda419788d4fb60543e214303d752af..246619bf685ebaaa3bd0a35c50615adb4aa0b0d5 100644 --- a/test/core/end2end/fixtures/h2_fakesec.c +++ b/test/core/end2end/fixtures/h2_fakesec.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -150,7 +150,7 @@ static grpc_end2end_test_config configs[] = { int main(int argc, char **argv) { size_t i; grpc_test_init(argc, argv); - + grpc_end2end_tests_pre_init(); grpc_init(); for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { diff --git a/test/core/end2end/fixtures/h2_full+pipe.c b/test/core/end2end/fixtures/h2_full+pipe.c index e23802379c011bb3ede26037758eb0d997f8c209..e7dfc561a1d141ac0a8fba3a111eb629cd10fdf7 100644 --- a/test/core/end2end/fixtures/h2_full+pipe.c +++ b/test/core/end2end/fixtures/h2_full+pipe.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,8 +41,8 @@ #include <grpc/support/sync.h> #include <grpc/support/thd.h> #include <grpc/support/useful.h> +#include "src/core/ext/client_config/client_channel.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/channel/http_server_filter.h" #include "src/core/lib/iomgr/wakeup_fd_posix.h" @@ -108,6 +108,7 @@ int main(int argc, char **argv) { grpc_allow_specialized_wakeup_fd = 0; grpc_test_init(argc, argv); + grpc_end2end_tests_pre_init(); grpc_init(); for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { diff --git a/test/core/end2end/fixtures/h2_full+poll+pipe.c b/test/core/end2end/fixtures/h2_full+poll+pipe.c deleted file mode 100644 index 688686e3224cf2a3df0e74cdf6c3125598ac0a49..0000000000000000000000000000000000000000 --- a/test/core/end2end/fixtures/h2_full+poll+pipe.c +++ /dev/null @@ -1,122 +0,0 @@ -/* - * - * Copyright 2015-2016, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include "test/core/end2end/end2end_tests.h" - -#include <string.h> - -#include <grpc/support/alloc.h> -#include <grpc/support/host_port.h> -#include <grpc/support/log.h> -#include <grpc/support/sync.h> -#include <grpc/support/thd.h> -#include <grpc/support/useful.h> - -#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/channel/client_channel.h" -#include "src/core/lib/channel/connected_channel.h" -#include "src/core/lib/channel/http_server_filter.h" -#include "src/core/lib/iomgr/pollset_posix.h" -#include "src/core/lib/iomgr/wakeup_fd_posix.h" -#include "src/core/lib/surface/channel.h" -#include "src/core/lib/surface/server.h" -#include "test/core/util/port.h" -#include "test/core/util/test_config.h" - -typedef struct fullstack_fixture_data { - char *localaddr; -} fullstack_fixture_data; - -static grpc_end2end_test_fixture chttp2_create_fixture_fullstack( - grpc_channel_args *client_args, grpc_channel_args *server_args) { - grpc_end2end_test_fixture f; - int port = grpc_pick_unused_port_or_die(); - fullstack_fixture_data *ffd = gpr_malloc(sizeof(fullstack_fixture_data)); - memset(&f, 0, sizeof(f)); - - gpr_join_host_port(&ffd->localaddr, "localhost", port); - - f.fixture_data = ffd; - f.cq = grpc_completion_queue_create(NULL); - - return f; -} - -void chttp2_init_client_fullstack(grpc_end2end_test_fixture *f, - grpc_channel_args *client_args) { - fullstack_fixture_data *ffd = f->fixture_data; - f->client = grpc_insecure_channel_create(ffd->localaddr, client_args, NULL); -} - -void chttp2_init_server_fullstack(grpc_end2end_test_fixture *f, - grpc_channel_args *server_args) { - fullstack_fixture_data *ffd = f->fixture_data; - if (f->server) { - grpc_server_destroy(f->server); - } - f->server = grpc_server_create(server_args, NULL); - grpc_server_register_completion_queue(f->server, f->cq, NULL); - GPR_ASSERT(grpc_server_add_insecure_http2_port(f->server, ffd->localaddr)); - grpc_server_start(f->server); -} - -void chttp2_tear_down_fullstack(grpc_end2end_test_fixture *f) { - fullstack_fixture_data *ffd = f->fixture_data; - gpr_free(ffd->localaddr); - gpr_free(ffd); -} - -/* All test configurations */ -static grpc_end2end_test_config configs[] = { - {"chttp2/fullstack", FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION, - chttp2_create_fixture_fullstack, chttp2_init_client_fullstack, - chttp2_init_server_fullstack, chttp2_tear_down_fullstack}, -}; - -int main(int argc, char **argv) { - size_t i; - - grpc_allow_specialized_wakeup_fd = 0; - grpc_platform_become_multipoller = grpc_poll_become_multipoller; - - grpc_test_init(argc, argv); - grpc_init(); - - for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { - grpc_end2end_tests(argc, argv, configs[i]); - } - - grpc_shutdown(); - - return 0; -} diff --git a/test/core/end2end/fixtures/h2_full+poll.c b/test/core/end2end/fixtures/h2_full+poll.c deleted file mode 100644 index 4bb1f808684566329e93b3768e154961e0129b6c..0000000000000000000000000000000000000000 --- a/test/core/end2end/fixtures/h2_full+poll.c +++ /dev/null @@ -1,120 +0,0 @@ -/* - * - * Copyright 2015-2016, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include "test/core/end2end/end2end_tests.h" - -#include <string.h> - -#include <grpc/support/alloc.h> -#include <grpc/support/host_port.h> -#include <grpc/support/log.h> -#include <grpc/support/sync.h> -#include <grpc/support/thd.h> -#include <grpc/support/useful.h> - -#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/channel/client_channel.h" -#include "src/core/lib/channel/connected_channel.h" -#include "src/core/lib/channel/http_server_filter.h" -#include "src/core/lib/iomgr/pollset_posix.h" -#include "src/core/lib/surface/channel.h" -#include "src/core/lib/surface/server.h" -#include "test/core/util/port.h" -#include "test/core/util/test_config.h" - -typedef struct fullstack_fixture_data { - char *localaddr; -} fullstack_fixture_data; - -static grpc_end2end_test_fixture chttp2_create_fixture_fullstack( - grpc_channel_args *client_args, grpc_channel_args *server_args) { - grpc_end2end_test_fixture f; - int port = grpc_pick_unused_port_or_die(); - fullstack_fixture_data *ffd = gpr_malloc(sizeof(fullstack_fixture_data)); - memset(&f, 0, sizeof(f)); - - gpr_join_host_port(&ffd->localaddr, "localhost", port); - - f.fixture_data = ffd; - f.cq = grpc_completion_queue_create(NULL); - - return f; -} - -void chttp2_init_client_fullstack(grpc_end2end_test_fixture *f, - grpc_channel_args *client_args) { - fullstack_fixture_data *ffd = f->fixture_data; - f->client = grpc_insecure_channel_create(ffd->localaddr, client_args, NULL); -} - -void chttp2_init_server_fullstack(grpc_end2end_test_fixture *f, - grpc_channel_args *server_args) { - fullstack_fixture_data *ffd = f->fixture_data; - if (f->server) { - grpc_server_destroy(f->server); - } - f->server = grpc_server_create(server_args, NULL); - grpc_server_register_completion_queue(f->server, f->cq, NULL); - GPR_ASSERT(grpc_server_add_insecure_http2_port(f->server, ffd->localaddr)); - grpc_server_start(f->server); -} - -void chttp2_tear_down_fullstack(grpc_end2end_test_fixture *f) { - fullstack_fixture_data *ffd = f->fixture_data; - gpr_free(ffd->localaddr); - gpr_free(ffd); -} - -/* All test configurations */ -static grpc_end2end_test_config configs[] = { - {"chttp2/fullstack", FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION, - chttp2_create_fixture_fullstack, chttp2_init_client_fullstack, - chttp2_init_server_fullstack, chttp2_tear_down_fullstack}, -}; - -int main(int argc, char **argv) { - size_t i; - - grpc_platform_become_multipoller = grpc_poll_become_multipoller; - - grpc_test_init(argc, argv); - grpc_init(); - - for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { - grpc_end2end_tests(argc, argv, configs[i]); - } - - grpc_shutdown(); - - return 0; -} diff --git a/test/core/end2end/fixtures/h2_full+trace.c b/test/core/end2end/fixtures/h2_full+trace.c index f1b4c5d43ae8d6d81b381196d3ef9b57d4ae8abb..c4dc5b9bc173ce7d81a80b24dea31f8d62c5074a 100644 --- a/test/core/end2end/fixtures/h2_full+trace.c +++ b/test/core/end2end/fixtures/h2_full+trace.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,8 +41,8 @@ #include <grpc/support/sync.h> #include <grpc/support/thd.h> #include <grpc/support/useful.h> +#include "src/core/ext/client_config/client_channel.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/channel/http_server_filter.h" #include "src/core/lib/support/env.h" @@ -116,6 +116,7 @@ int main(int argc, char **argv) { #endif grpc_test_init(argc, argv); + grpc_end2end_tests_pre_init(); grpc_init(); GPR_ASSERT(0 == grpc_tracer_set_enabled("also-doesnt-exist", 0)); diff --git a/test/core/end2end/fixtures/h2_full.c b/test/core/end2end/fixtures/h2_full.c index cd88ed20692df93096f9032ebb70cf07f687904c..4a2f17eb9102d58ff7adef7bed100a3ce3d00550 100644 --- a/test/core/end2end/fixtures/h2_full.c +++ b/test/core/end2end/fixtures/h2_full.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,8 +41,8 @@ #include <grpc/support/sync.h> #include <grpc/support/thd.h> #include <grpc/support/useful.h> +#include "src/core/ext/client_config/client_channel.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/channel/http_server_filter.h" #include "src/core/lib/surface/channel.h" @@ -105,6 +105,7 @@ int main(int argc, char **argv) { size_t i; grpc_test_init(argc, argv); + grpc_end2end_tests_pre_init(); grpc_init(); for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { diff --git a/test/core/end2end/fixtures/h2_oauth2.c b/test/core/end2end/fixtures/h2_oauth2.c index ee188cc1748093c534e1a765cab4c9b84dc147c8..550ff331408932c058d6b1d0fef689c177f308f6 100644 --- a/test/core/end2end/fixtures/h2_oauth2.c +++ b/test/core/end2end/fixtures/h2_oauth2.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -226,7 +226,7 @@ static grpc_end2end_test_config configs[] = { int main(int argc, char **argv) { size_t i; grpc_test_init(argc, argv); - + grpc_end2end_tests_pre_init(); grpc_init(); for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { diff --git a/test/core/end2end/fixtures/h2_proxy.c b/test/core/end2end/fixtures/h2_proxy.c index 299e44e231249c55603532b5f22bb2d7970160c6..863673a4e0120ca931e7fdfcaed0c7ff446cfdf7 100644 --- a/test/core/end2end/fixtures/h2_proxy.c +++ b/test/core/end2end/fixtures/h2_proxy.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,8 +41,8 @@ #include <grpc/support/sync.h> #include <grpc/support/thd.h> #include <grpc/support/useful.h> +#include "src/core/ext/client_config/client_channel.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/channel/http_server_filter.h" #include "src/core/lib/surface/channel.h" @@ -120,6 +120,7 @@ int main(int argc, char **argv) { size_t i; grpc_test_init(argc, argv); + grpc_end2end_tests_pre_init(); grpc_init(); for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { diff --git a/test/core/end2end/fixtures/h2_sockpair+trace.c b/test/core/end2end/fixtures/h2_sockpair+trace.c index 5fc8b325831076fd63ea86336826fea31b4fea09..87533a9b7f37ea2ae2ce494f18678e3988139989 100644 --- a/test/core/end2end/fixtures/h2_sockpair+trace.c +++ b/test/core/end2end/fixtures/h2_sockpair+trace.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,8 +40,8 @@ #include <grpc/support/sync.h> #include <grpc/support/thd.h> #include <grpc/support/useful.h> +#include "src/core/ext/client_config/client_channel.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/compress_filter.h" #include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/channel/http_client_filter.h" @@ -150,6 +150,7 @@ int main(int argc, char **argv) { #endif grpc_test_init(argc, argv); + grpc_end2end_tests_pre_init(); grpc_init(); grpc_exec_ctx_finish(&exec_ctx); diff --git a/test/core/end2end/fixtures/h2_sockpair.c b/test/core/end2end/fixtures/h2_sockpair.c index 739e553514dfdce207950e86c8e6edce1dc1ed64..f28147cf40a99b5e35ddb36d1c040cee551eb43a 100644 --- a/test/core/end2end/fixtures/h2_sockpair.c +++ b/test/core/end2end/fixtures/h2_sockpair.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,8 +40,8 @@ #include <grpc/support/sync.h> #include <grpc/support/thd.h> #include <grpc/support/useful.h> +#include "src/core/ext/client_config/client_channel.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/compress_filter.h" #include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/channel/http_client_filter.h" @@ -139,6 +139,7 @@ int main(int argc, char **argv) { size_t i; grpc_test_init(argc, argv); + grpc_end2end_tests_pre_init(); grpc_init(); for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { diff --git a/test/core/end2end/fixtures/h2_sockpair_1byte.c b/test/core/end2end/fixtures/h2_sockpair_1byte.c index f5312cae8317a2d6bd73b57f3511044ada374e92..302b16b372dd2dc037cdad523f8f206f2c30c69f 100644 --- a/test/core/end2end/fixtures/h2_sockpair_1byte.c +++ b/test/core/end2end/fixtures/h2_sockpair_1byte.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,8 +40,8 @@ #include <grpc/support/sync.h> #include <grpc/support/thd.h> #include <grpc/support/useful.h> +#include "src/core/ext/client_config/client_channel.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/compress_filter.h" #include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/channel/http_client_filter.h" @@ -139,6 +139,7 @@ int main(int argc, char **argv) { size_t i; grpc_test_init(argc, argv); + grpc_end2end_tests_pre_init(); grpc_init(); for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { diff --git a/test/core/end2end/fixtures/h2_ssl+poll.c b/test/core/end2end/fixtures/h2_ssl+poll.c deleted file mode 100644 index e93b4361acc9ee4a39528c08f6559c25c7ed8be5..0000000000000000000000000000000000000000 --- a/test/core/end2end/fixtures/h2_ssl+poll.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - * - * Copyright 2015-2016, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include "test/core/end2end/end2end_tests.h" - -#include <stdio.h> -#include <string.h> - -#include <grpc/support/alloc.h> -#include <grpc/support/host_port.h> -#include <grpc/support/log.h> - -#include "src/core/lib/channel/channel_args.h" -#include "src/core/lib/iomgr/pollset_posix.h" -#include "src/core/lib/security/credentials.h" -#include "src/core/lib/support/env.h" -#include "src/core/lib/support/string.h" -#include "src/core/lib/support/tmpfile.h" -#include "test/core/end2end/data/ssl_test_data.h" -#include "test/core/util/port.h" -#include "test/core/util/test_config.h" - -typedef struct fullstack_secure_fixture_data { - char *localaddr; -} fullstack_secure_fixture_data; - -static grpc_end2end_test_fixture chttp2_create_fixture_secure_fullstack( - grpc_channel_args *client_args, grpc_channel_args *server_args) { - grpc_end2end_test_fixture f; - int port = grpc_pick_unused_port_or_die(); - fullstack_secure_fixture_data *ffd = - gpr_malloc(sizeof(fullstack_secure_fixture_data)); - memset(&f, 0, sizeof(f)); - - gpr_join_host_port(&ffd->localaddr, "localhost", port); - - f.fixture_data = ffd; - f.cq = grpc_completion_queue_create(NULL); - - return f; -} - -static void process_auth_failure(void *state, grpc_auth_context *ctx, - const grpc_metadata *md, size_t md_count, - grpc_process_auth_metadata_done_cb cb, - void *user_data) { - GPR_ASSERT(state == NULL); - cb(user_data, NULL, 0, NULL, 0, GRPC_STATUS_UNAUTHENTICATED, NULL); -} - -static void chttp2_init_client_secure_fullstack( - grpc_end2end_test_fixture *f, grpc_channel_args *client_args, - grpc_channel_credentials *creds) { - fullstack_secure_fixture_data *ffd = f->fixture_data; - f->client = - grpc_secure_channel_create(creds, ffd->localaddr, client_args, NULL); - GPR_ASSERT(f->client != NULL); - grpc_channel_credentials_release(creds); -} - -static void chttp2_init_server_secure_fullstack( - grpc_end2end_test_fixture *f, grpc_channel_args *server_args, - grpc_server_credentials *server_creds) { - fullstack_secure_fixture_data *ffd = f->fixture_data; - if (f->server) { - grpc_server_destroy(f->server); - } - f->server = grpc_server_create(server_args, NULL); - grpc_server_register_completion_queue(f->server, f->cq, NULL); - GPR_ASSERT(grpc_server_add_secure_http2_port(f->server, ffd->localaddr, - server_creds)); - grpc_server_credentials_release(server_creds); - grpc_server_start(f->server); -} - -void chttp2_tear_down_secure_fullstack(grpc_end2end_test_fixture *f) { - fullstack_secure_fixture_data *ffd = f->fixture_data; - gpr_free(ffd->localaddr); - gpr_free(ffd); -} - -static void chttp2_init_client_simple_ssl_secure_fullstack( - grpc_end2end_test_fixture *f, grpc_channel_args *client_args) { - grpc_channel_credentials *ssl_creds = - grpc_ssl_credentials_create(NULL, NULL, NULL); - grpc_arg ssl_name_override = {GRPC_ARG_STRING, - GRPC_SSL_TARGET_NAME_OVERRIDE_ARG, - {"foo.test.google.fr"}}; - grpc_channel_args *new_client_args = - grpc_channel_args_copy_and_add(client_args, &ssl_name_override, 1); - chttp2_init_client_secure_fullstack(f, new_client_args, ssl_creds); - grpc_channel_args_destroy(new_client_args); -} - -static int fail_server_auth_check(grpc_channel_args *server_args) { - size_t i; - if (server_args == NULL) return 0; - for (i = 0; i < server_args->num_args; i++) { - if (strcmp(server_args->args[i].key, FAIL_AUTH_CHECK_SERVER_ARG_NAME) == - 0) { - return 1; - } - } - return 0; -} - -static void chttp2_init_server_simple_ssl_secure_fullstack( - grpc_end2end_test_fixture *f, grpc_channel_args *server_args) { - grpc_ssl_pem_key_cert_pair pem_cert_key_pair = {test_server1_key, - test_server1_cert}; - grpc_server_credentials *ssl_creds = - grpc_ssl_server_credentials_create(NULL, &pem_cert_key_pair, 1, 0, NULL); - if (fail_server_auth_check(server_args)) { - grpc_auth_metadata_processor processor = {process_auth_failure, NULL, NULL}; - grpc_server_credentials_set_auth_metadata_processor(ssl_creds, processor); - } - chttp2_init_server_secure_fullstack(f, server_args, ssl_creds); -} - -/* All test configurations */ - -static grpc_end2end_test_config configs[] = { - {"chttp2/simple_ssl_fullstack", - FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION | - FEATURE_MASK_SUPPORTS_PER_CALL_CREDENTIALS, - chttp2_create_fixture_secure_fullstack, - chttp2_init_client_simple_ssl_secure_fullstack, - chttp2_init_server_simple_ssl_secure_fullstack, - chttp2_tear_down_secure_fullstack}, -}; - -int main(int argc, char **argv) { - size_t i; - FILE *roots_file; - size_t roots_size = strlen(test_root_cert); - char *roots_filename; - - grpc_platform_become_multipoller = grpc_poll_become_multipoller; - - grpc_test_init(argc, argv); - - /* Set the SSL roots env var. */ - roots_file = gpr_tmpfile("chttp2_simple_ssl_with_poll_fullstack_test", - &roots_filename); - GPR_ASSERT(roots_filename != NULL); - GPR_ASSERT(roots_file != NULL); - GPR_ASSERT(fwrite(test_root_cert, 1, roots_size, roots_file) == roots_size); - fclose(roots_file); - gpr_setenv(GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR, roots_filename); - - grpc_init(); - - for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { - grpc_end2end_tests(argc, argv, configs[i]); - } - - grpc_shutdown(); - - /* Cleanup. */ - remove(roots_filename); - gpr_free(roots_filename); - - return 0; -} diff --git a/test/core/end2end/fixtures/h2_ssl.c b/test/core/end2end/fixtures/h2_ssl.c index fecd03f6a7284ea544fa537bddd72a3a6b9bb0f9..69f761607461d2ca876c4a88a6afc6d6ffc9a9a5 100644 --- a/test/core/end2end/fixtures/h2_ssl.c +++ b/test/core/end2end/fixtures/h2_ssl.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -165,6 +165,7 @@ int main(int argc, char **argv) { char *roots_filename; grpc_test_init(argc, argv); + grpc_end2end_tests_pre_init(); /* Set the SSL roots env var. */ roots_file = gpr_tmpfile("chttp2_simple_ssl_fullstack_test", &roots_filename); diff --git a/test/core/end2end/fixtures/h2_ssl_proxy.c b/test/core/end2end/fixtures/h2_ssl_proxy.c index bfbc7357429d8047bc01ab6cd2700796aa6426f2..1403b760f5056251a0386fe06ddded3887ce4f77 100644 --- a/test/core/end2end/fixtures/h2_ssl_proxy.c +++ b/test/core/end2end/fixtures/h2_ssl_proxy.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -195,6 +195,7 @@ int main(int argc, char **argv) { char *roots_filename; grpc_test_init(argc, argv); + grpc_end2end_tests_pre_init(); /* Set the SSL roots env var. */ roots_file = gpr_tmpfile("chttp2_simple_ssl_fullstack_test", &roots_filename); diff --git a/test/core/end2end/fixtures/h2_uds+poll.c b/test/core/end2end/fixtures/h2_uds+poll.c deleted file mode 100644 index 39ae34aa0565e0de03a3378b28b26c0fa30d1311..0000000000000000000000000000000000000000 --- a/test/core/end2end/fixtures/h2_uds+poll.c +++ /dev/null @@ -1,126 +0,0 @@ -/* - * - * Copyright 2015-2016, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include "test/core/end2end/end2end_tests.h" - -#include <stdlib.h> -#include <string.h> -#include <unistd.h> - -#include <grpc/support/alloc.h> -#include <grpc/support/host_port.h> -#include <grpc/support/log.h> -#include <grpc/support/string_util.h> -#include <grpc/support/sync.h> -#include <grpc/support/thd.h> -#include <grpc/support/useful.h> - -#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/channel/client_channel.h" -#include "src/core/lib/channel/connected_channel.h" -#include "src/core/lib/channel/http_server_filter.h" -#include "src/core/lib/iomgr/pollset_posix.h" -#include "src/core/lib/support/string.h" -#include "src/core/lib/surface/channel.h" -#include "src/core/lib/surface/server.h" -#include "test/core/util/port.h" -#include "test/core/util/test_config.h" - -typedef struct fullstack_fixture_data { - char *localaddr; -} fullstack_fixture_data; - -static int unique = 1; - -static grpc_end2end_test_fixture chttp2_create_fixture_fullstack( - grpc_channel_args *client_args, grpc_channel_args *server_args) { - grpc_end2end_test_fixture f; - fullstack_fixture_data *ffd = gpr_malloc(sizeof(fullstack_fixture_data)); - memset(&f, 0, sizeof(f)); - - gpr_asprintf(&ffd->localaddr, "unix:/tmp/grpc_fullstack_test.%d.%d", getpid(), - unique++); - - f.fixture_data = ffd; - f.cq = grpc_completion_queue_create(NULL); - - return f; -} - -void chttp2_init_client_fullstack(grpc_end2end_test_fixture *f, - grpc_channel_args *client_args) { - fullstack_fixture_data *ffd = f->fixture_data; - f->client = grpc_insecure_channel_create(ffd->localaddr, client_args, NULL); -} - -void chttp2_init_server_fullstack(grpc_end2end_test_fixture *f, - grpc_channel_args *server_args) { - fullstack_fixture_data *ffd = f->fixture_data; - if (f->server) { - grpc_server_destroy(f->server); - } - f->server = grpc_server_create(server_args, NULL); - grpc_server_register_completion_queue(f->server, f->cq, NULL); - GPR_ASSERT(grpc_server_add_insecure_http2_port(f->server, ffd->localaddr)); - grpc_server_start(f->server); -} - -void chttp2_tear_down_fullstack(grpc_end2end_test_fixture *f) { - fullstack_fixture_data *ffd = f->fixture_data; - gpr_free(ffd->localaddr); - gpr_free(ffd); -} - -/* All test configurations */ -static grpc_end2end_test_config configs[] = { - {"chttp2/fullstack_uds", FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION, - chttp2_create_fixture_fullstack, chttp2_init_client_fullstack, - chttp2_init_server_fullstack, chttp2_tear_down_fullstack}, -}; - -int main(int argc, char **argv) { - size_t i; - - grpc_platform_become_multipoller = grpc_poll_become_multipoller; - - grpc_test_init(argc, argv); - grpc_init(); - - for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { - grpc_end2end_tests(argc, argv, configs[i]); - } - - grpc_shutdown(); - - return 0; -} diff --git a/test/core/end2end/fixtures/h2_uds.c b/test/core/end2end/fixtures/h2_uds.c index cc0d6bf9565f8af5e101d1fa631303a1805d6342..cffbeaf045395547a2a598a8e3d92036fa8ceae3 100644 --- a/test/core/end2end/fixtures/h2_uds.c +++ b/test/core/end2end/fixtures/h2_uds.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,8 +44,8 @@ #include <grpc/support/sync.h> #include <grpc/support/thd.h> #include <grpc/support/useful.h> +#include "src/core/ext/client_config/client_channel.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" -#include "src/core/lib/channel/client_channel.h" #include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/channel/http_server_filter.h" #include "src/core/lib/support/string.h" @@ -110,6 +110,7 @@ int main(int argc, char **argv) { size_t i; grpc_test_init(argc, argv); + grpc_end2end_tests_pre_init(); grpc_init(); for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { diff --git a/test/core/end2end/fixtures/proxy.c b/test/core/end2end/fixtures/proxy.c index 434e75dd15ed22b9c3a80708ec91746d1f022cad..a6487a17ac29df4c81100ae5e5e104189ce8bf92 100644 --- a/test/core/end2end/fixtures/proxy.c +++ b/test/core/end2end/fixtures/proxy.c @@ -338,10 +338,10 @@ static void on_new_call(void *arg, int success) { proxy->new_call_details.deadline, NULL); gpr_ref_init(&pc->refs, 1); - op.flags = 0; op.reserved = NULL; op.op = GRPC_OP_RECV_INITIAL_METADATA; + op.flags = 0; op.data.recv_initial_metadata = &pc->p2s_initial_metadata; refpc(pc, "on_p2s_recv_initial_metadata"); err = grpc_call_start_batch( @@ -349,6 +349,7 @@ static void on_new_call(void *arg, int success) { GPR_ASSERT(err == GRPC_CALL_OK); op.op = GRPC_OP_SEND_INITIAL_METADATA; + op.flags = proxy->new_call_details.flags; op.data.send_initial_metadata.count = pc->c2p_initial_metadata.count; op.data.send_initial_metadata.metadata = pc->c2p_initial_metadata.metadata; refpc(pc, "on_p2s_sent_initial_metadata"); @@ -357,6 +358,7 @@ static void on_new_call(void *arg, int success) { GPR_ASSERT(err == GRPC_CALL_OK); op.op = GRPC_OP_RECV_MESSAGE; + op.flags = 0; op.data.recv_message = &pc->c2p_msg; refpc(pc, "on_c2p_recv_msg"); err = grpc_call_start_batch(pc->c2p, &op, 1, @@ -364,6 +366,7 @@ static void on_new_call(void *arg, int success) { GPR_ASSERT(err == GRPC_CALL_OK); op.op = GRPC_OP_RECV_MESSAGE; + op.flags = 0; op.data.recv_message = &pc->p2s_msg; refpc(pc, "on_p2s_recv_msg"); err = grpc_call_start_batch(pc->p2s, &op, 1, @@ -371,6 +374,7 @@ static void on_new_call(void *arg, int success) { GPR_ASSERT(err == GRPC_CALL_OK); op.op = GRPC_OP_RECV_STATUS_ON_CLIENT; + op.flags = 0; op.data.recv_status_on_client.trailing_metadata = &pc->p2s_trailing_metadata; op.data.recv_status_on_client.status = &pc->p2s_status; @@ -383,6 +387,7 @@ static void on_new_call(void *arg, int success) { GPR_ASSERT(err == GRPC_CALL_OK); op.op = GRPC_OP_RECV_CLOSE_ON_SERVER; + op.flags = 0; op.data.recv_close_on_server.cancelled = &pc->c2p_server_cancelled; refpc(pc, "on_c2p_closed"); err = grpc_call_start_batch(pc->c2p, &op, 1, new_closure(on_c2p_closed, pc), diff --git a/test/core/end2end/fuzzers/server_fuzzer.c b/test/core/end2end/fuzzers/server_fuzzer.c new file mode 100644 index 0000000000000000000000000000000000000000..393d33033bac8a7d328054cae12e719b97fa9012 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer.c @@ -0,0 +1,121 @@ +/* + * + * Copyright 2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include <grpc/grpc.h> + +#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" +#include "src/core/lib/surface/server.h" +#include "test/core/util/mock_endpoint.h" + +static const bool squelch = true; + +static void discard_write(gpr_slice slice) {} + +static void *tag(int n) { return (void *)(uintptr_t)n; } +static int detag(void *p) { return (int)(uintptr_t)p; } + +static void dont_log(gpr_log_func_args *args) {} + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + grpc_test_only_set_metadata_hash_seed(0); + if (squelch) gpr_set_log_function(dont_log); + grpc_init(); + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + + grpc_endpoint *mock_endpoint = grpc_mock_endpoint_create(discard_write); + grpc_mock_endpoint_put_read( + &exec_ctx, mock_endpoint, + gpr_slice_from_copied_buffer((const char *)data, size)); + + grpc_server *server = grpc_server_create(NULL, NULL); + grpc_completion_queue *cq = grpc_completion_queue_create(NULL); + grpc_server_register_completion_queue(server, cq, NULL); + // TODO(ctiller): add registered methods (one for POST, one for PUT) + // void *registered_method = + // grpc_server_register_method(server, "/reg", NULL, 0); + grpc_server_start(server); + grpc_transport *transport = + grpc_create_chttp2_transport(&exec_ctx, NULL, mock_endpoint, 0); + grpc_server_setup_transport(&exec_ctx, server, transport, NULL); + grpc_chttp2_transport_start_reading(&exec_ctx, transport, NULL, 0); + + grpc_call *call1 = NULL; + grpc_call_details call_details1; + grpc_metadata_array request_metadata1; + grpc_call_details_init(&call_details1); + grpc_metadata_array_init(&request_metadata1); + int requested_calls = 0; + + grpc_server_request_call(server, &call1, &call_details1, &request_metadata1, + cq, cq, tag(1)); + requested_calls++; + + grpc_event ev; + while (1) { + grpc_exec_ctx_flush(&exec_ctx); + ev = grpc_completion_queue_next(cq, gpr_inf_past(GPR_CLOCK_REALTIME), NULL); + switch (ev.type) { + case GRPC_QUEUE_TIMEOUT: + goto done; + case GRPC_QUEUE_SHUTDOWN: + break; + case GRPC_OP_COMPLETE: + switch (detag(ev.tag)) { + case 1: + requested_calls--; + // TODO(ctiller): keep reading that call! + break; + } + } + } + +done: + if (call1 != NULL) grpc_call_destroy(call1); + grpc_call_details_destroy(&call_details1); + grpc_metadata_array_destroy(&request_metadata1); + grpc_server_shutdown_and_notify(server, cq, tag(0xdead)); + grpc_server_cancel_all_calls(server); + for (int i = 0; i <= requested_calls; i++) { + ev = grpc_completion_queue_next(cq, gpr_inf_past(GPR_CLOCK_REALTIME), NULL); + GPR_ASSERT(ev.type == GRPC_OP_COMPLETE); + } + grpc_completion_queue_shutdown(cq); + for (int i = 0; i <= requested_calls; i++) { + ev = grpc_completion_queue_next(cq, gpr_inf_past(GPR_CLOCK_REALTIME), NULL); + GPR_ASSERT(ev.type == GRPC_QUEUE_SHUTDOWN); + } + grpc_server_destroy(server); + grpc_completion_queue_destroy(cq); + grpc_shutdown(); + return 0; +} diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/01c008fa.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/01c008fa.bin new file mode 100644 index 0000000000000000000000000000000000000000..2f670cf2db62b12f27c1f50bf5bc5acb1b3782ac Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/01c008fa.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/021ec59f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/021ec59f.bin new file mode 100644 index 0000000000000000000000000000000000000000..b4896fd928baa8ecb73c684b60508db788f856b5 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/021ec59f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/02918e4ad9e8928845f232c0cb043057add3c9a9 b/test/core/end2end/fuzzers/server_fuzzer_corpus/02918e4ad9e8928845f232c0cb043057add3c9a9 new file mode 100644 index 0000000000000000000000000000000000000000..5f53b70b2dd497553e3c983ddd816c03bedc39b2 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/02918e4ad9e8928845f232c0cb043057add3c9a9 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0336e1ff71939de9e2007fdb4aba891e35a37488 b/test/core/end2end/fuzzers/server_fuzzer_corpus/0336e1ff71939de9e2007fdb4aba891e35a37488 new file mode 100644 index 0000000000000000000000000000000000000000..c1d8fa1ea4d3790a0caf5e8def921416f7730c7d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0336e1ff71939de9e2007fdb4aba891e35a37488 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/033dd2f6.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/033dd2f6.bin new file mode 100644 index 0000000000000000000000000000000000000000..732d84630a0e24b030d6a8e1f6d1552ca0a808c6 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/033dd2f6.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0384345c.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0384345c.bin new file mode 100644 index 0000000000000000000000000000000000000000..00c4956d38ce5d2ac04ee105d54def6c17580021 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0384345c.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/03b9be1fa172dff5d1543be079b9c64fa2c9a278 b/test/core/end2end/fuzzers/server_fuzzer_corpus/03b9be1fa172dff5d1543be079b9c64fa2c9a278 new file mode 100644 index 0000000000000000000000000000000000000000..94a877e85f207e5dcc8cf0861d61da76e0245946 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/03b9be1fa172dff5d1543be079b9c64fa2c9a278 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/05c3a0390d0f52d241728926fa901599a47e4606 b/test/core/end2end/fuzzers/server_fuzzer_corpus/05c3a0390d0f52d241728926fa901599a47e4606 new file mode 100644 index 0000000000000000000000000000000000000000..4c657a0330c3941663db963659e43a50e70d3799 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/05c3a0390d0f52d241728926fa901599a47e4606 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/06bd2f82fefb9943787d63ea359f9b77072380c2 b/test/core/end2end/fuzzers/server_fuzzer_corpus/06bd2f82fefb9943787d63ea359f9b77072380c2 new file mode 100644 index 0000000000000000000000000000000000000000..c3408cf8cb37c769663cb6850433a5702d49fd17 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/06bd2f82fefb9943787d63ea359f9b77072380c2 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0766afc7c27c06ea18d896083470d587a380de3c b/test/core/end2end/fuzzers/server_fuzzer_corpus/0766afc7c27c06ea18d896083470d587a380de3c new file mode 100644 index 0000000000000000000000000000000000000000..dbe2ade20e340fb061104cec88c18476aea332d8 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0766afc7c27c06ea18d896083470d587a380de3c differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/07c96c06eddbed5a3ce050436bc805f6821cbc9b b/test/core/end2end/fuzzers/server_fuzzer_corpus/07c96c06eddbed5a3ce050436bc805f6821cbc9b new file mode 100644 index 0000000000000000000000000000000000000000..7d5fb0bdf618802443d33dee8935e1688da8e17b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/07c96c06eddbed5a3ce050436bc805f6821cbc9b differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/081e56ce6f6b1c57adb806fbc5baa9f93f87513a b/test/core/end2end/fuzzers/server_fuzzer_corpus/081e56ce6f6b1c57adb806fbc5baa9f93f87513a new file mode 100644 index 0000000000000000000000000000000000000000..5c016718199b1276db7e276bd6e7b1cf2e426bbb Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/081e56ce6f6b1c57adb806fbc5baa9f93f87513a differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/08492d3d0994005206d1d3213b8747d1026ae1eb b/test/core/end2end/fuzzers/server_fuzzer_corpus/08492d3d0994005206d1d3213b8747d1026ae1eb new file mode 100644 index 0000000000000000000000000000000000000000..0910f9362b692f6006d2623bd67ff2b81f0f9099 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/08492d3d0994005206d1d3213b8747d1026ae1eb differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/09938e3256d06a8e168eb038d8a58b8462f7f697 b/test/core/end2end/fuzzers/server_fuzzer_corpus/09938e3256d06a8e168eb038d8a58b8462f7f697 new file mode 100644 index 0000000000000000000000000000000000000000..0c1be253791b16f059c0499508bb25114f7cd1a1 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/09938e3256d06a8e168eb038d8a58b8462f7f697 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0aa599e20761777c2cb9b41cd89e5c2e18f82d9e b/test/core/end2end/fuzzers/server_fuzzer_corpus/0aa599e20761777c2cb9b41cd89e5c2e18f82d9e new file mode 100644 index 0000000000000000000000000000000000000000..efbfeaf5390c6134991134121a215c6e7a09761e Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0aa599e20761777c2cb9b41cd89e5c2e18f82d9e differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0aa7b949.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0aa7b949.bin new file mode 100644 index 0000000000000000000000000000000000000000..0e22a4504dbfb93e0477f785977b4dae8ac35bc6 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/0aa7b949.bin @@ -0,0 +1 @@ +PRI * HTTP/2X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0abd533e.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0abd533e.bin new file mode 100644 index 0000000000000000000000000000000000000000..112188c052f9ca4149879be26f8f7cb461f50f4f --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/0abd533e.bin @@ -0,0 +1,2 @@ +PRI * HTTP/2.0 + X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0b275a7f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0b275a7f.bin new file mode 100644 index 0000000000000000000000000000000000000000..853ca7c4f0373a8945181681f085c75b4510b430 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0b275a7f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0d10bb63.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0d10bb63.bin new file mode 100644 index 0000000000000000000000000000000000000000..50bb312addc27d7ade5499d407493df94f61257a Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0d10bb63.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0e349b8762703d080b3a696600e21d64c23a2ed3 b/test/core/end2end/fuzzers/server_fuzzer_corpus/0e349b8762703d080b3a696600e21d64c23a2ed3 new file mode 100644 index 0000000000000000000000000000000000000000..c57226e418b4116d1dfa693f713a7ae8bd264e6b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0e349b8762703d080b3a696600e21d64c23a2ed3 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0f700e05.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0f700e05.bin new file mode 100644 index 0000000000000000000000000000000000000000..f861853d887e038cc5d65f73ab852158b0af3a2c Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0f700e05.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0ff4d220.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/0ff4d220.bin new file mode 100644 index 0000000000000000000000000000000000000000..fc79411662349e04d7ca2d8ed0cc4ad6624b5d9f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/0ff4d220.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/10724098.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/10724098.bin new file mode 100644 index 0000000000000000000000000000000000000000..9d1a39d6063ff65ce2424a37df014a7508ac9584 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/10724098.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/108e270a272e312fc97ec23004b80fdc7bad3906 b/test/core/end2end/fuzzers/server_fuzzer_corpus/108e270a272e312fc97ec23004b80fdc7bad3906 new file mode 100644 index 0000000000000000000000000000000000000000..2d703ccf5367167e8b9a8d59b27bcbaf70d1e2f1 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/108e270a272e312fc97ec23004b80fdc7bad3906 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/11516d58.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/11516d58.bin new file mode 100644 index 0000000000000000000000000000000000000000..7edd81d660ec8c05cd5bbb05043aa09d6ec064f1 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/11516d58.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/11cda3f70be4b507ea936bca93af9ce5aaab3be7 b/test/core/end2end/fuzzers/server_fuzzer_corpus/11cda3f70be4b507ea936bca93af9ce5aaab3be7 new file mode 100644 index 0000000000000000000000000000000000000000..62cbd41e0fa17973978d8edb55752c56db3ac3f9 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/11cda3f70be4b507ea936bca93af9ce5aaab3be7 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/13501419f349b7855d2e94060bd08b28923d1f37 b/test/core/end2end/fuzzers/server_fuzzer_corpus/13501419f349b7855d2e94060bd08b28923d1f37 new file mode 100644 index 0000000000000000000000000000000000000000..34906e8b5430da2e229210f76e54a8c4b29b2172 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/13501419f349b7855d2e94060bd08b28923d1f37 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/146b7d66ad932c4b623eec8004e286d3705697d3 b/test/core/end2end/fuzzers/server_fuzzer_corpus/146b7d66ad932c4b623eec8004e286d3705697d3 new file mode 100644 index 0000000000000000000000000000000000000000..e6a85419cf48e6ffd4400a14214fe8c200149982 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/146b7d66ad932c4b623eec8004e286d3705697d3 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/14f9a0cda0d64590430218aaf6dedd9be2a3533f b/test/core/end2end/fuzzers/server_fuzzer_corpus/14f9a0cda0d64590430218aaf6dedd9be2a3533f new file mode 100644 index 0000000000000000000000000000000000000000..7f448c298d91457409c30bc97fca3d67020cff6b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/14f9a0cda0d64590430218aaf6dedd9be2a3533f differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/15ae78a8543a4794a27e6c79b0d34540322b97fd b/test/core/end2end/fuzzers/server_fuzzer_corpus/15ae78a8543a4794a27e6c79b0d34540322b97fd new file mode 100644 index 0000000000000000000000000000000000000000..602f456092df818eeeaa1ddf2bb4b8ca47fdba26 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/15ae78a8543a4794a27e6c79b0d34540322b97fd differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1650b19093c56a1e86ee192bd9cd8d2266a9e353 b/test/core/end2end/fuzzers/server_fuzzer_corpus/1650b19093c56a1e86ee192bd9cd8d2266a9e353 new file mode 100644 index 0000000000000000000000000000000000000000..1aab1987dae732bcc1ad2fc7d5212bf676031cce Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/1650b19093c56a1e86ee192bd9cd8d2266a9e353 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/16753235697083ecc45c117287f1d8ce6ad1ad1a b/test/core/end2end/fuzzers/server_fuzzer_corpus/16753235697083ecc45c117287f1d8ce6ad1ad1a new file mode 100644 index 0000000000000000000000000000000000000000..0e4097e57db6c8a3d30f665e656c821f3ca8bbd4 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/16753235697083ecc45c117287f1d8ce6ad1ad1a differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/17d7c718ec2597353a5dd2c78d6717a3d6aabfae b/test/core/end2end/fuzzers/server_fuzzer_corpus/17d7c718ec2597353a5dd2c78d6717a3d6aabfae new file mode 100644 index 0000000000000000000000000000000000000000..8f5786f06ff9eed7faf7b1c5a2d97afe8633f8d4 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/17d7c718ec2597353a5dd2c78d6717a3d6aabfae differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/18d8d274aa7c163fd6d0084d5c25c8623e10c541 b/test/core/end2end/fuzzers/server_fuzzer_corpus/18d8d274aa7c163fd6d0084d5c25c8623e10c541 new file mode 100644 index 0000000000000000000000000000000000000000..6c44d1a81b9aea624131cfcefe6d704cb62b447b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/18d8d274aa7c163fd6d0084d5c25c8623e10c541 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/18f00b5f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/18f00b5f.bin new file mode 100644 index 0000000000000000000000000000000000000000..a41cbd4b019ffaf618c627b930d0e8fee93eb8dd --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/18f00b5f.bin @@ -0,0 +1 @@ +PRI * HTTX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1939a9021aba59ea2e49d3d0909e6fdf86ac3f9e b/test/core/end2end/fuzzers/server_fuzzer_corpus/1939a9021aba59ea2e49d3d0909e6fdf86ac3f9e new file mode 100644 index 0000000000000000000000000000000000000000..e5acc977d75a5d85561f52bbc8f61d4503242d52 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/1939a9021aba59ea2e49d3d0909e6fdf86ac3f9e differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1a69d5fc.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/1a69d5fc.bin new file mode 100644 index 0000000000000000000000000000000000000000..db1c0d6d72b87300030d918e4160445c954699f1 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/1a69d5fc.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1aa6897b6eebb8c68c972cc5025b39c7e60c17fe b/test/core/end2end/fuzzers/server_fuzzer_corpus/1aa6897b6eebb8c68c972cc5025b39c7e60c17fe new file mode 100644 index 0000000000000000000000000000000000000000..699279de97ebb3864252d4b5f3c85235b6c81f00 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/1aa6897b6eebb8c68c972cc5025b39c7e60c17fe differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1cf17783de9e662f3720847f2d83d86dcdcab500 b/test/core/end2end/fuzzers/server_fuzzer_corpus/1cf17783de9e662f3720847f2d83d86dcdcab500 new file mode 100644 index 0000000000000000000000000000000000000000..21a3a65eb5425bfc44a23a43ee1521021b78f7a2 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/1cf17783de9e662f3720847f2d83d86dcdcab500 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1cfdde7a.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/1cfdde7a.bin new file mode 100644 index 0000000000000000000000000000000000000000..61a954d0ac9371f91cf37de31cdb7908a889beb3 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/1cfdde7a.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1e92aaa5.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/1e92aaa5.bin new file mode 100644 index 0000000000000000000000000000000000000000..02796cb265559fac165786e11791804919caac5d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/1e92aaa5.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1ea5651f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/1ea5651f.bin new file mode 100644 index 0000000000000000000000000000000000000000..782f21d69be5039916942dc6ab4fce3bd81b9305 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/1ea5651f.bin @@ -0,0 +1 @@ +PRI * X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1f992057.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/1f992057.bin new file mode 100644 index 0000000000000000000000000000000000000000..c60d1eb4e5f8a0da87388cd2f0880fb2a26c11cd Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/1f992057.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/20fd12d3670571283dc0c5dbb3fc139a8e943790 b/test/core/end2end/fuzzers/server_fuzzer_corpus/20fd12d3670571283dc0c5dbb3fc139a8e943790 new file mode 100644 index 0000000000000000000000000000000000000000..1bf164c7c8887af14670034867e7fedf1082208e Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/20fd12d3670571283dc0c5dbb3fc139a8e943790 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/21475569.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/21475569.bin new file mode 100644 index 0000000000000000000000000000000000000000..06aecff914ec0696486d3077b06a89fb15df10d8 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/21475569.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/218c1b123428a07622570947e9b7cdb48c310ca5 b/test/core/end2end/fuzzers/server_fuzzer_corpus/218c1b123428a07622570947e9b7cdb48c310ca5 new file mode 100644 index 0000000000000000000000000000000000000000..d7ec73755f0ee244ae1bd1776ef4295430ba8ac1 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/218c1b123428a07622570947e9b7cdb48c310ca5 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/21a2dcda.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/21a2dcda.bin new file mode 100644 index 0000000000000000000000000000000000000000..92b918f362d7919f8a0ef44325f5519eeecdbf75 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/21a2dcda.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/22ad891a.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/22ad891a.bin new file mode 100644 index 0000000000000000000000000000000000000000..edd095a03e566da8c1ee99b99e678b6317aa7ec3 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/22ad891a.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2463aea879c5ab49f8409d0e5c062c7e086b034b b/test/core/end2end/fuzzers/server_fuzzer_corpus/2463aea879c5ab49f8409d0e5c062c7e086b034b new file mode 100644 index 0000000000000000000000000000000000000000..aecaacd30e49f6e235209a6682c00852a5090239 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2463aea879c5ab49f8409d0e5c062c7e086b034b differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/24ed80095e58199c52997f174046272f61ce4a8d b/test/core/end2end/fuzzers/server_fuzzer_corpus/24ed80095e58199c52997f174046272f61ce4a8d new file mode 100644 index 0000000000000000000000000000000000000000..a2f7fadc7557f25f2ee5eaa9f64fa2ca37c43da1 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/24ed80095e58199c52997f174046272f61ce4a8d differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/25ab638f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/25ab638f.bin new file mode 100644 index 0000000000000000000000000000000000000000..af5a22a48d6fe32ca00141bed71ac55910dafe2c Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/25ab638f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/26048c58bd5f2a94843f6fd1e4ab0be04b232636 b/test/core/end2end/fuzzers/server_fuzzer_corpus/26048c58bd5f2a94843f6fd1e4ab0be04b232636 new file mode 100644 index 0000000000000000000000000000000000000000..e87be99eb9b74340e73b47c978c60faea2b1ca51 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/26048c58bd5f2a94843f6fd1e4ab0be04b232636 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/26870785fd0564f552af4e0ca418738a85b21086 b/test/core/end2end/fuzzers/server_fuzzer_corpus/26870785fd0564f552af4e0ca418738a85b21086 new file mode 100644 index 0000000000000000000000000000000000000000..2e53646ca1493ed3e38c941f11da1770f5296d1e Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/26870785fd0564f552af4e0ca418738a85b21086 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2701d1669c2996c097a74c5255d569615357b916 b/test/core/end2end/fuzzers/server_fuzzer_corpus/2701d1669c2996c097a74c5255d569615357b916 new file mode 100644 index 0000000000000000000000000000000000000000..ec7d79230a8c7442c4d93a011084bb74b97fb107 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2701d1669c2996c097a74c5255d569615357b916 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/27ac2ae2.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/27ac2ae2.bin new file mode 100644 index 0000000000000000000000000000000000000000..0daef3f1dad856a12d8bcc25626699de32e41e78 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/27ac2ae2.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2814d70c.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/2814d70c.bin new file mode 100644 index 0000000000000000000000000000000000000000..500c0709ca24338426091ca19777e13a1920ebdf --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/2814d70c.bin @@ -0,0 +1 @@ +X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/282b6585.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/282b6585.bin new file mode 100644 index 0000000000000000000000000000000000000000..a2cabf6afdb5ffd0f6e4ab5b370177a7261f5af6 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/282b6585.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2abe64b96e5e72adcf2dcc43444a69d0fb664b66 b/test/core/end2end/fuzzers/server_fuzzer_corpus/2abe64b96e5e72adcf2dcc43444a69d0fb664b66 new file mode 100644 index 0000000000000000000000000000000000000000..a5e92ecc5ce5a74b3977392a39ba7130504fb6d0 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2abe64b96e5e72adcf2dcc43444a69d0fb664b66 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2ad6cedd32cd646ba8e25226c7c13a107c1d6447 b/test/core/end2end/fuzzers/server_fuzzer_corpus/2ad6cedd32cd646ba8e25226c7c13a107c1d6447 new file mode 100644 index 0000000000000000000000000000000000000000..da6f56962da05e6054cb0907a56e3e509959207f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2ad6cedd32cd646ba8e25226c7c13a107c1d6447 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2b14c6e618ec95754ea7e24fe6bc5a3a97df6897 b/test/core/end2end/fuzzers/server_fuzzer_corpus/2b14c6e618ec95754ea7e24fe6bc5a3a97df6897 new file mode 100644 index 0000000000000000000000000000000000000000..3c7963139602774d7da273298c3cc7e457271191 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2b14c6e618ec95754ea7e24fe6bc5a3a97df6897 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2b40aa21723c7e67e92e74a3083df008461d591c b/test/core/end2end/fuzzers/server_fuzzer_corpus/2b40aa21723c7e67e92e74a3083df008461d591c new file mode 100644 index 0000000000000000000000000000000000000000..f7e287773ea25f528969fb232abc66e1ace199a0 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2b40aa21723c7e67e92e74a3083df008461d591c differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2bf69fe6b40734cc3f0abdd765757809b14b0b88 b/test/core/end2end/fuzzers/server_fuzzer_corpus/2bf69fe6b40734cc3f0abdd765757809b14b0b88 new file mode 100644 index 0000000000000000000000000000000000000000..391e89392c5305b9076bdf437caed9624a87cc3d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2bf69fe6b40734cc3f0abdd765757809b14b0b88 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2c6660ba.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/2c6660ba.bin new file mode 100644 index 0000000000000000000000000000000000000000..5f96b344ae6c975f49bd8cfe06ca930a72538bca Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2c6660ba.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2cc6d1f3ee8933518e91b8410781fa6e105b3a15 b/test/core/end2end/fuzzers/server_fuzzer_corpus/2cc6d1f3ee8933518e91b8410781fa6e105b3a15 new file mode 100644 index 0000000000000000000000000000000000000000..da23fe139be4a9ccb32a4cbaa8843227a680334d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2cc6d1f3ee8933518e91b8410781fa6e105b3a15 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2e4805c3.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/2e4805c3.bin new file mode 100644 index 0000000000000000000000000000000000000000..20410999b58b79fe62bddf5c063e7b5c8bcdfb7b --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/2e4805c3.bin @@ -0,0 +1,3 @@ +PRI * HTTP/2.0 + +SX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2f20e2decd09b6f211a5469c67efbada355e6c04 b/test/core/end2end/fuzzers/server_fuzzer_corpus/2f20e2decd09b6f211a5469c67efbada355e6c04 new file mode 100644 index 0000000000000000000000000000000000000000..19ce52cf0d3e2d6e6d1701a73d385579cd0710fc Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2f20e2decd09b6f211a5469c67efbada355e6c04 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2f3b1cd6780fe475f76f17e9e36541963d993165 b/test/core/end2end/fuzzers/server_fuzzer_corpus/2f3b1cd6780fe475f76f17e9e36541963d993165 new file mode 100644 index 0000000000000000000000000000000000000000..bf0334b16ee9b1d4b20e436890778d37e3531d0d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2f3b1cd6780fe475f76f17e9e36541963d993165 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/2fb017cd4c34f4af183d03c4a219d2bb36ee2dd6 b/test/core/end2end/fuzzers/server_fuzzer_corpus/2fb017cd4c34f4af183d03c4a219d2bb36ee2dd6 new file mode 100644 index 0000000000000000000000000000000000000000..df31fcfc9971f899620a6ff1c264bf22e51d72ad Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/2fb017cd4c34f4af183d03c4a219d2bb36ee2dd6 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/30bba77d0f420c4f454011476f3c94e31c50c161 b/test/core/end2end/fuzzers/server_fuzzer_corpus/30bba77d0f420c4f454011476f3c94e31c50c161 new file mode 100644 index 0000000000000000000000000000000000000000..f172eb7ad1ac4e7fc830286c7efd302f7dd605fe Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/30bba77d0f420c4f454011476f3c94e31c50c161 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3224e6cd.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/3224e6cd.bin new file mode 100644 index 0000000000000000000000000000000000000000..b1bfc23f45a6b505ee0dbdda8bb71a3e6b4527bf Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/3224e6cd.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/326ec4d5.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/326ec4d5.bin new file mode 100644 index 0000000000000000000000000000000000000000..98c7665694b930e4506382ce27ed7b511e01421b --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/326ec4d5.bin @@ -0,0 +1 @@ +PRIX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/32b11997.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/32b11997.bin new file mode 100644 index 0000000000000000000000000000000000000000..f19bc2957950e131b099944530a2bd9a76bcbe29 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/32b11997.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/32cecacca27b249bd764f852168036c5f962bd16 b/test/core/end2end/fuzzers/server_fuzzer_corpus/32cecacca27b249bd764f852168036c5f962bd16 new file mode 100644 index 0000000000000000000000000000000000000000..38d8c2aeda33b568cefe38e0289ad1c4dcbaccca Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/32cecacca27b249bd764f852168036c5f962bd16 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/330ad4b6.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/330ad4b6.bin new file mode 100644 index 0000000000000000000000000000000000000000..d4b63bae60881659e40c40d3b91014f6c07e77fc Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/330ad4b6.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/33b4cf1ac251f0ba0c014005ef8207afe1dea623 b/test/core/end2end/fuzzers/server_fuzzer_corpus/33b4cf1ac251f0ba0c014005ef8207afe1dea623 new file mode 100644 index 0000000000000000000000000000000000000000..4b297d46937d7520c75c5392e7aca7bdd96ba123 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/33b4cf1ac251f0ba0c014005ef8207afe1dea623 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/33e2ecd5c9bbc1f1dcab29d00195e0ab6d04642d b/test/core/end2end/fuzzers/server_fuzzer_corpus/33e2ecd5c9bbc1f1dcab29d00195e0ab6d04642d new file mode 100644 index 0000000000000000000000000000000000000000..cc2058d110707b3d9cf0d28d9c4eafa96ec0caf1 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/33e2ecd5c9bbc1f1dcab29d00195e0ab6d04642d differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/340b032d39e2b212828a2bd1a97e2b6b81dcd41b b/test/core/end2end/fuzzers/server_fuzzer_corpus/340b032d39e2b212828a2bd1a97e2b6b81dcd41b new file mode 100644 index 0000000000000000000000000000000000000000..d4240cd504b055798755d44354f1ead61ef4483d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/340b032d39e2b212828a2bd1a97e2b6b81dcd41b differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/34bba9e4.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/34bba9e4.bin new file mode 100644 index 0000000000000000000000000000000000000000..1c77a386582dc1be884c2626907b8ee668d12846 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/34bba9e4.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/374262a5acf9cde1f480e7b7254c788e1936a4de b/test/core/end2end/fuzzers/server_fuzzer_corpus/374262a5acf9cde1f480e7b7254c788e1936a4de new file mode 100644 index 0000000000000000000000000000000000000000..229f07120778d1688b6dcbc4258ab906891a8348 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/374262a5acf9cde1f480e7b7254c788e1936a4de differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/37ec9df8.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/37ec9df8.bin new file mode 100644 index 0000000000000000000000000000000000000000..5400eb508234de06d006c930869d274038cdcf65 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/37ec9df8.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/39ea47bb.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/39ea47bb.bin new file mode 100644 index 0000000000000000000000000000000000000000..13997e01f4f0ce00efa2590277a212e423f953ec --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/39ea47bb.bin @@ -0,0 +1 @@ +PRI * HTTP/2.X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3aa82376296ab5a33f2921d7705b75b78b683c2d b/test/core/end2end/fuzzers/server_fuzzer_corpus/3aa82376296ab5a33f2921d7705b75b78b683c2d new file mode 100644 index 0000000000000000000000000000000000000000..112fbd18cb5b9795b9ab31068f7a0f3e20273fc5 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/3aa82376296ab5a33f2921d7705b75b78b683c2d differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3ca5da2f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/3ca5da2f.bin new file mode 100644 index 0000000000000000000000000000000000000000..5b46240494aaa66030f9959c3d8d2826940cbbb1 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/3ca5da2f.bin @@ -0,0 +1,3 @@ +PRI * HTTP/2.0 + +SMX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3dc665f93db294b9ccb8fcec94bcc2a91f3a04e7 b/test/core/end2end/fuzzers/server_fuzzer_corpus/3dc665f93db294b9ccb8fcec94bcc2a91f3a04e7 new file mode 100644 index 0000000000000000000000000000000000000000..efde0d9a8659e8999d8ff41695e556b63ff3ffee Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/3dc665f93db294b9ccb8fcec94bcc2a91f3a04e7 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3de41f3f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/3de41f3f.bin new file mode 100644 index 0000000000000000000000000000000000000000..262ed24e5be534cd575ca6f7296e5ee6425d2dee Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/3de41f3f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3e2077a4fd2def7b11e618d46245d0aa85824317 b/test/core/end2end/fuzzers/server_fuzzer_corpus/3e2077a4fd2def7b11e618d46245d0aa85824317 new file mode 100644 index 0000000000000000000000000000000000000000..69263de472f7b89fe4ed9c287d63523ebd017cdf Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/3e2077a4fd2def7b11e618d46245d0aa85824317 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3e3ae35a.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/3e3ae35a.bin new file mode 100644 index 0000000000000000000000000000000000000000..49c7897b71826ee333ea23875fc3d6ad715f905a Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/3e3ae35a.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3e787760.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/3e787760.bin new file mode 100644 index 0000000000000000000000000000000000000000..3b8a1ed6b81c4a617d8ed941491a20f038e41a20 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/3e787760.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3f3069cf26f761366f947e025f7049254d555e7f b/test/core/end2end/fuzzers/server_fuzzer_corpus/3f3069cf26f761366f947e025f7049254d555e7f new file mode 100644 index 0000000000000000000000000000000000000000..cd907fe970f00b278b118ecb2a0f3cbfaee24252 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/3f3069cf26f761366f947e025f7049254d555e7f differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/407607d2.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/407607d2.bin new file mode 100644 index 0000000000000000000000000000000000000000..8e489392173eb67afbab802d9128f3264dc7b8f4 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/407607d2.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/40af8d589c76d7912bec06c2ae1f2466065018e7 b/test/core/end2end/fuzzers/server_fuzzer_corpus/40af8d589c76d7912bec06c2ae1f2466065018e7 new file mode 100644 index 0000000000000000000000000000000000000000..c72af8a7e1babd17af4c64eb6ab20f8e0d199b48 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/40af8d589c76d7912bec06c2ae1f2466065018e7 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/418f392319c44d06a018ce4c62569d527829177a b/test/core/end2end/fuzzers/server_fuzzer_corpus/418f392319c44d06a018ce4c62569d527829177a new file mode 100644 index 0000000000000000000000000000000000000000..2d72c37193722810b72b8a6fa93472a6107ef687 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/418f392319c44d06a018ce4c62569d527829177a differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/41b31ef0.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/41b31ef0.bin new file mode 100644 index 0000000000000000000000000000000000000000..7469434155093f077ff476f28a9c945c97e67361 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/41b31ef0.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/422708b4.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/422708b4.bin new file mode 100644 index 0000000000000000000000000000000000000000..111a2b4505cc2db5102ba93cdb6eb3058b53df3e --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/422708b4.bin @@ -0,0 +1 @@ +PRI * HTTP/X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/422fa704.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/422fa704.bin new file mode 100644 index 0000000000000000000000000000000000000000..bfdd4605216c284876ad46fa878e883b2d1ae529 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/422fa704.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/42b0afca.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/42b0afca.bin new file mode 100644 index 0000000000000000000000000000000000000000..e01fec2276824400cb3ae275d7ca76b7479a34c7 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/42b0afca.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/43fc6abab9840be5ee614211f17395b5966f6070 b/test/core/end2end/fuzzers/server_fuzzer_corpus/43fc6abab9840be5ee614211f17395b5966f6070 new file mode 100644 index 0000000000000000000000000000000000000000..2c7f58595440c6acdf4f0fc3b952ba98ed3f7097 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/43fc6abab9840be5ee614211f17395b5966f6070 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/44f342a6.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/44f342a6.bin new file mode 100644 index 0000000000000000000000000000000000000000..1e7e47bf20956ac097de00db8e78be5d694d4bb8 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/44f342a6.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4558ddeb.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/4558ddeb.bin new file mode 100644 index 0000000000000000000000000000000000000000..7b9f09f815794b601d081e356c80128b9d9a0a8c Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/4558ddeb.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/459c0bf6.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/459c0bf6.bin new file mode 100644 index 0000000000000000000000000000000000000000..fcb842e5029531635b0a69d8d4d09a757e915800 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/459c0bf6.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/468cf8bf3e31e1013c7c6d2288baac47ff90aa63 b/test/core/end2end/fuzzers/server_fuzzer_corpus/468cf8bf3e31e1013c7c6d2288baac47ff90aa63 new file mode 100644 index 0000000000000000000000000000000000000000..71cf9ad2024a2bb4936a589907d60d206d95c565 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/468cf8bf3e31e1013c7c6d2288baac47ff90aa63 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4aa883d0.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/4aa883d0.bin new file mode 100644 index 0000000000000000000000000000000000000000..2657149b0d07a03d7d52e08af4b379555b8e94e3 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/4aa883d0.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4b7bcb4ae6c0222a1a24d1fb1a5d96519750ca5e b/test/core/end2end/fuzzers/server_fuzzer_corpus/4b7bcb4ae6c0222a1a24d1fb1a5d96519750ca5e new file mode 100644 index 0000000000000000000000000000000000000000..f6168fd609a2e1c46db69fb396db36629813dbdb Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/4b7bcb4ae6c0222a1a24d1fb1a5d96519750ca5e differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4c412cc1a775cea041fa270483d610afb72f463b b/test/core/end2end/fuzzers/server_fuzzer_corpus/4c412cc1a775cea041fa270483d610afb72f463b new file mode 100644 index 0000000000000000000000000000000000000000..5ef77a00848f4d1f5a93eb44f8e74d30b9763a27 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/4c412cc1a775cea041fa270483d610afb72f463b differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4d55d5ae.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/4d55d5ae.bin new file mode 100644 index 0000000000000000000000000000000000000000..7e5544c7454d22b56af73e1e6856f8d48d44a71f --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/4d55d5ae.bin @@ -0,0 +1 @@ +PRI *X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4db3d4075ed27f2a2311f85dd1d6df028cc5d083 b/test/core/end2end/fuzzers/server_fuzzer_corpus/4db3d4075ed27f2a2311f85dd1d6df028cc5d083 new file mode 100644 index 0000000000000000000000000000000000000000..a0843593a7d6cba35ad78d64a4c00220df89709b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/4db3d4075ed27f2a2311f85dd1d6df028cc5d083 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4eb269c3.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/4eb269c3.bin new file mode 100644 index 0000000000000000000000000000000000000000..cf6e9d434f47c04b8ca6de9dcd61d6fb5e40c5c8 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/4eb269c3.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4ecfe1be695df0d2489dddb52da8bcdeb6ed779d b/test/core/end2end/fuzzers/server_fuzzer_corpus/4ecfe1be695df0d2489dddb52da8bcdeb6ed779d new file mode 100644 index 0000000000000000000000000000000000000000..91eb6a8c1fd76fa7533d3c0da97be5e11bfdf9e4 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/4ecfe1be695df0d2489dddb52da8bcdeb6ed779d differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4f97bd97ab5dc6b4c0f62f8459be8a9593dc83b3 b/test/core/end2end/fuzzers/server_fuzzer_corpus/4f97bd97ab5dc6b4c0f62f8459be8a9593dc83b3 new file mode 100644 index 0000000000000000000000000000000000000000..bb5688e613bcf6160128541be9b87622f55f0677 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/4f97bd97ab5dc6b4c0f62f8459be8a9593dc83b3 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/4ff50e49865768323f94116bd98d2314455273cc b/test/core/end2end/fuzzers/server_fuzzer_corpus/4ff50e49865768323f94116bd98d2314455273cc new file mode 100644 index 0000000000000000000000000000000000000000..01cd4a05d9912924640f44492d932721f3ae7e90 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/4ff50e49865768323f94116bd98d2314455273cc differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/508def44e4d60f237f18a40d7058e58a752a74e1 b/test/core/end2end/fuzzers/server_fuzzer_corpus/508def44e4d60f237f18a40d7058e58a752a74e1 new file mode 100644 index 0000000000000000000000000000000000000000..ab378be4ac2362d6d0f2442fc03f7b33076e6141 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/508def44e4d60f237f18a40d7058e58a752a74e1 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/51a1abd1.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/51a1abd1.bin new file mode 100644 index 0000000000000000000000000000000000000000..dbf6a085aac69aafbc261a88665707766b17ea6b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/51a1abd1.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/52b5478161de7b2eba0f7bfbc29aea985c8d9ee7 b/test/core/end2end/fuzzers/server_fuzzer_corpus/52b5478161de7b2eba0f7bfbc29aea985c8d9ee7 new file mode 100644 index 0000000000000000000000000000000000000000..943d1629d209245ae9d44da2eb19df5152d2b9fc Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/52b5478161de7b2eba0f7bfbc29aea985c8d9ee7 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/52ecfedca3b2b26e6999b6afc846f3dbd5d35130 b/test/core/end2end/fuzzers/server_fuzzer_corpus/52ecfedca3b2b26e6999b6afc846f3dbd5d35130 new file mode 100644 index 0000000000000000000000000000000000000000..58d03789f97ff12207a31b4e6637919b06f4020d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/52ecfedca3b2b26e6999b6afc846f3dbd5d35130 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/53d18398c0d484de00afd8d583fe802d55d4da44 b/test/core/end2end/fuzzers/server_fuzzer_corpus/53d18398c0d484de00afd8d583fe802d55d4da44 new file mode 100644 index 0000000000000000000000000000000000000000..e337a1da3f010d47b746a4a577688a5817a80348 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/53d18398c0d484de00afd8d583fe802d55d4da44 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/53de507f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/53de507f.bin new file mode 100644 index 0000000000000000000000000000000000000000..a6595251d9df175ce90260dc4222b3cf9b35a120 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/53de507f.bin @@ -0,0 +1,5 @@ +PRI * HTTP/2.0 + +SM + + \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/540ada69.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/540ada69.bin new file mode 100644 index 0000000000000000000000000000000000000000..18f0a366f69a816f059f9acdda75b13b51b1441f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/540ada69.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5413b531fe06923ddf2c9e3eb958769374bc2445 b/test/core/end2end/fuzzers/server_fuzzer_corpus/5413b531fe06923ddf2c9e3eb958769374bc2445 new file mode 100644 index 0000000000000000000000000000000000000000..cf83d57b67a6aa851e2b7075a522e80688c895f6 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5413b531fe06923ddf2c9e3eb958769374bc2445 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5429f0da.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/5429f0da.bin new file mode 100644 index 0000000000000000000000000000000000000000..001c62c9a28222c2bfe3fdaa761e7baf4bacdb57 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5429f0da.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5435005f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/5435005f.bin new file mode 100644 index 0000000000000000000000000000000000000000..999a65688ccc8e0c9b641a4703eced21b3cef5da Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5435005f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/54d0fc6c.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/54d0fc6c.bin new file mode 100644 index 0000000000000000000000000000000000000000..24b882d52196a46d01b89cc8f576f0276ea60f73 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/54d0fc6c.bin @@ -0,0 +1,4 @@ +PRI * HTTP/2.0 + +SM +X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/55af20415ead0ddd417f37fa91a4c767b749ee34 b/test/core/end2end/fuzzers/server_fuzzer_corpus/55af20415ead0ddd417f37fa91a4c767b749ee34 new file mode 100644 index 0000000000000000000000000000000000000000..adbf92fe785f0bdfdb3d780c6b03e8c15ca707ea --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/55af20415ead0ddd417f37fa91a4c767b749ee34 @@ -0,0 +1 @@ +PR \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/55f6fb1a.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/55f6fb1a.bin new file mode 100644 index 0000000000000000000000000000000000000000..0963601d510830b8d4de49e07284214999eafde0 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/55f6fb1a.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5780565e.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/5780565e.bin new file mode 100644 index 0000000000000000000000000000000000000000..53057ae34e70713562d753e385885d223c7c8400 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5780565e.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/57918260.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/57918260.bin new file mode 100644 index 0000000000000000000000000000000000000000..2f68d68af9eb06eb3f2748873ef7dd0cdee61151 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/57918260.bin @@ -0,0 +1 @@ +PRI * HTTPX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/58b88a24.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/58b88a24.bin new file mode 100644 index 0000000000000000000000000000000000000000..696be2b5f325a6f6605b5bffe33467c8abd43a33 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/58b88a24.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/597fdab5.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/597fdab5.bin new file mode 100644 index 0000000000000000000000000000000000000000..465b56942b03171eb407597b766128b049abb413 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/597fdab5.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/59ce7091c00075943d79e857c01ad1af5f38c78e b/test/core/end2end/fuzzers/server_fuzzer_corpus/59ce7091c00075943d79e857c01ad1af5f38c78e new file mode 100644 index 0000000000000000000000000000000000000000..848f8ed93b55ecb2648b258ec014a7b6b4298123 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/59ce7091c00075943d79e857c01ad1af5f38c78e differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/59dcfde4.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/59dcfde4.bin new file mode 100644 index 0000000000000000000000000000000000000000..e90e9a66e1aaf928ce2eec99cc1e634a748fda23 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/59dcfde4.bin @@ -0,0 +1,3 @@ +PRI * HTTP/2.0 + +SM X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5ac92c4a7fb476393f8275fe4b79a2b13e3bcad9 b/test/core/end2end/fuzzers/server_fuzzer_corpus/5ac92c4a7fb476393f8275fe4b79a2b13e3bcad9 new file mode 100644 index 0000000000000000000000000000000000000000..fa9842c16cd408f43151f685f69dd4b25dc8db64 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5ac92c4a7fb476393f8275fe4b79a2b13e3bcad9 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5d43ac923d7607a16e3d7bf8b838f52622871251 b/test/core/end2end/fuzzers/server_fuzzer_corpus/5d43ac923d7607a16e3d7bf8b838f52622871251 new file mode 100644 index 0000000000000000000000000000000000000000..afaeca46ccd52d471a3e94077e40b338619fd63f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5d43ac923d7607a16e3d7bf8b838f52622871251 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5d817877.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/5d817877.bin new file mode 100644 index 0000000000000000000000000000000000000000..8c2ec2aa437138738f32c0785ac627f66184b3ab Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5d817877.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5e2508e15c79fbe9c2e6c1a393b490356a17efbc b/test/core/end2end/fuzzers/server_fuzzer_corpus/5e2508e15c79fbe9c2e6c1a393b490356a17efbc new file mode 100644 index 0000000000000000000000000000000000000000..c455479747824d14408b4c1287e6d9c4332f2431 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5e2508e15c79fbe9c2e6c1a393b490356a17efbc differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5f758756.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/5f758756.bin new file mode 100644 index 0000000000000000000000000000000000000000..47f2d2b559cfa27aa7dc11190211a62b2a0463e7 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/5f758756.bin @@ -0,0 +1,2 @@ +PRI * HTTP/2.0 +X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/5f820fa8d44229219d0b7c4724e3e40a2ace97f4 b/test/core/end2end/fuzzers/server_fuzzer_corpus/5f820fa8d44229219d0b7c4724e3e40a2ace97f4 new file mode 100644 index 0000000000000000000000000000000000000000..9026c102f41c0c1137ed57d4dab47b7b688fe54c Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/5f820fa8d44229219d0b7c4724e3e40a2ace97f4 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/62d05f336176a10a2c339c04d818f23b6e9a2637 b/test/core/end2end/fuzzers/server_fuzzer_corpus/62d05f336176a10a2c339c04d818f23b6e9a2637 new file mode 100644 index 0000000000000000000000000000000000000000..ab8ec8fff6cb48607b19d5bbecf4304c77cf0868 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/62d05f336176a10a2c339c04d818f23b6e9a2637 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/6499e2db.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/6499e2db.bin new file mode 100644 index 0000000000000000000000000000000000000000..9187c9447e5526bbd2df983adc35db3ec076c127 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/6499e2db.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/64cdbb31d5eda779d07885fa7881812db7800c05 b/test/core/end2end/fuzzers/server_fuzzer_corpus/64cdbb31d5eda779d07885fa7881812db7800c05 new file mode 100644 index 0000000000000000000000000000000000000000..1cacb8634394770e121c7260155a86a55c830487 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/64cdbb31d5eda779d07885fa7881812db7800c05 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/65077d2946cfb822cf92c9dfc44517a34589f277 b/test/core/end2end/fuzzers/server_fuzzer_corpus/65077d2946cfb822cf92c9dfc44517a34589f277 new file mode 100644 index 0000000000000000000000000000000000000000..094c4e7447320696718350ba4d679d2b8283ae9b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/65077d2946cfb822cf92c9dfc44517a34589f277 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/65099066.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/65099066.bin new file mode 100644 index 0000000000000000000000000000000000000000..bf5806d1b9c36b35758cf7eb0f2152cc3af61cf9 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/65099066.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/652bfdce.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/652bfdce.bin new file mode 100644 index 0000000000000000000000000000000000000000..49d0f7f5d500ed57eee2866dca2c8c7cc1f1a174 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/652bfdce.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/65d5ae42e6acb429459a1e1a5fb35f09c0f95de2 b/test/core/end2end/fuzzers/server_fuzzer_corpus/65d5ae42e6acb429459a1e1a5fb35f09c0f95de2 new file mode 100644 index 0000000000000000000000000000000000000000..b56d59e09869655b777e20c1825642a11b14d0b6 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/65d5ae42e6acb429459a1e1a5fb35f09c0f95de2 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/65fd6cb3058ee0baae854cc7859b7c0c1e1c1166 b/test/core/end2end/fuzzers/server_fuzzer_corpus/65fd6cb3058ee0baae854cc7859b7c0c1e1c1166 new file mode 100644 index 0000000000000000000000000000000000000000..34c9103f663fcdeb9d265beadc5980ce758e6116 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/65fd6cb3058ee0baae854cc7859b7c0c1e1c1166 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/6652f7be83a876214affc3f230040757f7db4ea8 b/test/core/end2end/fuzzers/server_fuzzer_corpus/6652f7be83a876214affc3f230040757f7db4ea8 new file mode 100644 index 0000000000000000000000000000000000000000..c552bf822fc495d7f5d985f6ab84683743ec973a Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/6652f7be83a876214affc3f230040757f7db4ea8 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/67b04816.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/67b04816.bin new file mode 100644 index 0000000000000000000000000000000000000000..5387e6ed68ec1302a4886fcf4c40ae4f9ef09a25 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/67b04816.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/67ebf074c7f928c4fe32fef44e5c958cf441c93c b/test/core/end2end/fuzzers/server_fuzzer_corpus/67ebf074c7f928c4fe32fef44e5c958cf441c93c new file mode 100644 index 0000000000000000000000000000000000000000..59e952e1c8e71aeacf1305b8580133277b7be955 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/67ebf074c7f928c4fe32fef44e5c958cf441c93c differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/68f564fd8064233897ff704b5955b33a2e29293a b/test/core/end2end/fuzzers/server_fuzzer_corpus/68f564fd8064233897ff704b5955b33a2e29293a new file mode 100644 index 0000000000000000000000000000000000000000..291e9c4a2b47c051327ffff6d3a46be031a19064 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/68f564fd8064233897ff704b5955b33a2e29293a differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/69891e9f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/69891e9f.bin new file mode 100644 index 0000000000000000000000000000000000000000..0ba2abc55100804f8483667d4f6644015f734c9b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/69891e9f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/6dc4455c.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/6dc4455c.bin new file mode 100644 index 0000000000000000000000000000000000000000..7ce8938268f06ffc2a45aa70f90b3dd7a0f89673 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/6dc4455c.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/6e050e98.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/6e050e98.bin new file mode 100644 index 0000000000000000000000000000000000000000..0fbf1caacc9865014ec1df52d07dbca61df18f6c Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/6e050e98.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/6f9d75e1af7ae7010d32872da888a582a25fddb4 b/test/core/end2end/fuzzers/server_fuzzer_corpus/6f9d75e1af7ae7010d32872da888a582a25fddb4 new file mode 100644 index 0000000000000000000000000000000000000000..313d3b5fbe6074518229b53314a206ece0be19ab Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/6f9d75e1af7ae7010d32872da888a582a25fddb4 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/70ebe7f32c63ca8940017eb83e6db4d8b39ee03c b/test/core/end2end/fuzzers/server_fuzzer_corpus/70ebe7f32c63ca8940017eb83e6db4d8b39ee03c new file mode 100644 index 0000000000000000000000000000000000000000..0cd6faae066bd100887f8679f7b983d5027f40fe Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/70ebe7f32c63ca8940017eb83e6db4d8b39ee03c differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/712300b98afdb5f0d15c657c13cea76841164b13 b/test/core/end2end/fuzzers/server_fuzzer_corpus/712300b98afdb5f0d15c657c13cea76841164b13 new file mode 100644 index 0000000000000000000000000000000000000000..179133dc1ac07d104898a71d6626401383965ac7 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/712300b98afdb5f0d15c657c13cea76841164b13 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/71ab07577909ca4b766f8ea0c6b8ec2bc395fc66 b/test/core/end2end/fuzzers/server_fuzzer_corpus/71ab07577909ca4b766f8ea0c6b8ec2bc395fc66 new file mode 100644 index 0000000000000000000000000000000000000000..8705aec4758c9fc907ce6221a9bb5f0c9c8e1890 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/71ab07577909ca4b766f8ea0c6b8ec2bc395fc66 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/72296cf9e1052ced4b60e2053aba9f1a569144e9 b/test/core/end2end/fuzzers/server_fuzzer_corpus/72296cf9e1052ced4b60e2053aba9f1a569144e9 new file mode 100644 index 0000000000000000000000000000000000000000..861524b55d9a38a51e2df33b336834b501d474bc Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/72296cf9e1052ced4b60e2053aba9f1a569144e9 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/7342b3febb07521e39abdf4ee976d16199d51239 b/test/core/end2end/fuzzers/server_fuzzer_corpus/7342b3febb07521e39abdf4ee976d16199d51239 new file mode 100644 index 0000000000000000000000000000000000000000..8d69e992e187d6e91de4487a00981c45499680a9 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/7342b3febb07521e39abdf4ee976d16199d51239 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/746715fe.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/746715fe.bin new file mode 100644 index 0000000000000000000000000000000000000000..8ede09c6df21d6dbedb18d7afa08312702dbe9b0 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/746715fe.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/76294f12a5974e9f87d8f092d0df5429cf6c0466 b/test/core/end2end/fuzzers/server_fuzzer_corpus/76294f12a5974e9f87d8f092d0df5429cf6c0466 new file mode 100644 index 0000000000000000000000000000000000000000..80206a094a1ba60e3083f80343b6be422e1953af Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/76294f12a5974e9f87d8f092d0df5429cf6c0466 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/769f5d079151d1b5cab388c47a74f3c297c18d58 b/test/core/end2end/fuzzers/server_fuzzer_corpus/769f5d079151d1b5cab388c47a74f3c297c18d58 new file mode 100644 index 0000000000000000000000000000000000000000..9b79b6e76ab027bd16cddbd7e38d56bea3456966 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/769f5d079151d1b5cab388c47a74f3c297c18d58 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/7b453adcb9c4bf31dbc448ff32c2bc90ebcbdf0f b/test/core/end2end/fuzzers/server_fuzzer_corpus/7b453adcb9c4bf31dbc448ff32c2bc90ebcbdf0f new file mode 100644 index 0000000000000000000000000000000000000000..effab960aa51802658df7a88ef1ecb9032ee36c5 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/7b453adcb9c4bf31dbc448ff32c2bc90ebcbdf0f differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/7f15bbce.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/7f15bbce.bin new file mode 100644 index 0000000000000000000000000000000000000000..eb23e5a4478ea5b05ef05179bc165fd17a182a50 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/7f15bbce.bin @@ -0,0 +1 @@ +PRI * HX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/7ffd05db.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/7ffd05db.bin new file mode 100644 index 0000000000000000000000000000000000000000..ed01ab25f4a3375e3f801e49ba955f69505eb98d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/7ffd05db.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/81fb19dfcb3c3a18fd9e7c177356479503e75e6f b/test/core/end2end/fuzzers/server_fuzzer_corpus/81fb19dfcb3c3a18fd9e7c177356479503e75e6f new file mode 100644 index 0000000000000000000000000000000000000000..3834be4679726d6aa906a9ec9fd565762c7889cc Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/81fb19dfcb3c3a18fd9e7c177356479503e75e6f differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/82dda42ddde662192ebaa96788945b7673bb486b b/test/core/end2end/fuzzers/server_fuzzer_corpus/82dda42ddde662192ebaa96788945b7673bb486b new file mode 100644 index 0000000000000000000000000000000000000000..4b6e82f8e3cf572b002c66bf16674575cd513d31 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/82dda42ddde662192ebaa96788945b7673bb486b differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/8338ebee.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/8338ebee.bin new file mode 100644 index 0000000000000000000000000000000000000000..7e6c62ce4d3fbe04743f415cb0fc21fefea3d3b5 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/8338ebee.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/86a19d13cc65790696299c819cac17b14e337647 b/test/core/end2end/fuzzers/server_fuzzer_corpus/86a19d13cc65790696299c819cac17b14e337647 new file mode 100644 index 0000000000000000000000000000000000000000..25ecc53a4170c60ac7f7470bd0883bfa00114195 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/86a19d13cc65790696299c819cac17b14e337647 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/86e6dbf2.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/86e6dbf2.bin new file mode 100644 index 0000000000000000000000000000000000000000..b77356714a7e7c737dd2484bbe4481ce2e68ea86 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/86e6dbf2.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/88e1329b.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/88e1329b.bin new file mode 100644 index 0000000000000000000000000000000000000000..7464d0e4f6ef82de15400d51c3b7ba09b3853f53 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/88e1329b.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/8b186384.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/8b186384.bin new file mode 100644 index 0000000000000000000000000000000000000000..cb04b30c8e89beb35b66f2a8452e971dff363bda Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/8b186384.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/8c04817a75fddd71f13779f2ad5b994f45c333a2 b/test/core/end2end/fuzzers/server_fuzzer_corpus/8c04817a75fddd71f13779f2ad5b994f45c333a2 new file mode 100644 index 0000000000000000000000000000000000000000..97eb4e31c61026e1fbd203ffea25052938e4a4c5 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/8c04817a75fddd71f13779f2ad5b994f45c333a2 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/8c72c3f35e9b9fd168ad9024c953a703f33ae3c1 b/test/core/end2end/fuzzers/server_fuzzer_corpus/8c72c3f35e9b9fd168ad9024c953a703f33ae3c1 new file mode 100644 index 0000000000000000000000000000000000000000..8323a67245cb6bad45660a1209c0758df9c4fedd Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/8c72c3f35e9b9fd168ad9024c953a703f33ae3c1 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/8c760938a2a72fa92b27e00e05005e2e4c429359 b/test/core/end2end/fuzzers/server_fuzzer_corpus/8c760938a2a72fa92b27e00e05005e2e4c429359 new file mode 100644 index 0000000000000000000000000000000000000000..3accdc06c5bbcb106e3cc81699d556cf5425fedc Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/8c760938a2a72fa92b27e00e05005e2e4c429359 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/8da521d9.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/8da521d9.bin new file mode 100644 index 0000000000000000000000000000000000000000..122486a89da4b72bbf3403275eed5788482247c6 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/8da521d9.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/8de81717.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/8de81717.bin new file mode 100644 index 0000000000000000000000000000000000000000..b16f546df12e92044d1925805315295137d62e48 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/8de81717.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/90224b8e.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/90224b8e.bin new file mode 100644 index 0000000000000000000000000000000000000000..f6606019d2b3217b4f075d9127cf361698646c6b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/90224b8e.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/90240c7c.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/90240c7c.bin new file mode 100644 index 0000000000000000000000000000000000000000..365bf2deb5518e8b836764cb01cd478f1b1665ec Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/90240c7c.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/9099ac4e83f6460c80b5557c87f653e4c65aa091 b/test/core/end2end/fuzzers/server_fuzzer_corpus/9099ac4e83f6460c80b5557c87f653e4c65aa091 new file mode 100644 index 0000000000000000000000000000000000000000..4136f9eb378b144c7df1fd4c5c125994f58179b7 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/9099ac4e83f6460c80b5557c87f653e4c65aa091 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/914ed07570b6441365a3636d05850f7316c7f2a8 b/test/core/end2end/fuzzers/server_fuzzer_corpus/914ed07570b6441365a3636d05850f7316c7f2a8 new file mode 100644 index 0000000000000000000000000000000000000000..5af7800e8a01d1bf423678b4fa7fa33c9fff2e80 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/914ed07570b6441365a3636d05850f7316c7f2a8 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/916b825da0ffc46fdb6120b1044e98ae158fce70 b/test/core/end2end/fuzzers/server_fuzzer_corpus/916b825da0ffc46fdb6120b1044e98ae158fce70 new file mode 100644 index 0000000000000000000000000000000000000000..dc54a58d4fa7c308edaf88957fee277179498f57 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/916b825da0ffc46fdb6120b1044e98ae158fce70 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/93beeba2.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/93beeba2.bin new file mode 100644 index 0000000000000000000000000000000000000000..dc2c3a0667406abbcbefb7ed2bd955d915f764b7 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/93beeba2.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/93c3ffcb7e3bcb5ed7e37a5b3dfb97b43ca42718 b/test/core/end2end/fuzzers/server_fuzzer_corpus/93c3ffcb7e3bcb5ed7e37a5b3dfb97b43ca42718 new file mode 100644 index 0000000000000000000000000000000000000000..00329edec9773c61716e3d3899449b6c80d48b00 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/93c3ffcb7e3bcb5ed7e37a5b3dfb97b43ca42718 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/9540d3ad3fa75bfb95c0d57cefd737611c7069a5 b/test/core/end2end/fuzzers/server_fuzzer_corpus/9540d3ad3fa75bfb95c0d57cefd737611c7069a5 new file mode 100644 index 0000000000000000000000000000000000000000..fc338c15ecca82a02e591c1e01e78d09bab78c96 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/9540d3ad3fa75bfb95c0d57cefd737611c7069a5 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/954337ef.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/954337ef.bin new file mode 100644 index 0000000000000000000000000000000000000000..782e59db70fb9d8768034b7200192d79b3ce7999 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/954337ef.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/95d25ba2e190fafa2b3ca1e1c467b9ef64868962 b/test/core/end2end/fuzzers/server_fuzzer_corpus/95d25ba2e190fafa2b3ca1e1c467b9ef64868962 new file mode 100644 index 0000000000000000000000000000000000000000..ee35bc7aa44f23326ae4ffbdfe69022900f848b2 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/95d25ba2e190fafa2b3ca1e1c467b9ef64868962 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/9764015f89a0b7a59f3b5359b0a037b38d6e39d7 b/test/core/end2end/fuzzers/server_fuzzer_corpus/9764015f89a0b7a59f3b5359b0a037b38d6e39d7 new file mode 100644 index 0000000000000000000000000000000000000000..9b4a436b3211eead4057da2d7e4e572f1cdde693 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/9764015f89a0b7a59f3b5359b0a037b38d6e39d7 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/97aed4bd.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/97aed4bd.bin new file mode 100644 index 0000000000000000000000000000000000000000..dbe2507024116b06b754791083af9c77c323aad9 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/97aed4bd.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/9953eb28aa1ed661612a4710a9d16a15de4ae353 b/test/core/end2end/fuzzers/server_fuzzer_corpus/9953eb28aa1ed661612a4710a9d16a15de4ae353 new file mode 100644 index 0000000000000000000000000000000000000000..837c3e3ca85991b669e061f8a9053d37eb22f756 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/9953eb28aa1ed661612a4710a9d16a15de4ae353 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/9a6963b0d0fcb0e91a31748c47c6f0e1e842fea9 b/test/core/end2end/fuzzers/server_fuzzer_corpus/9a6963b0d0fcb0e91a31748c47c6f0e1e842fea9 new file mode 100644 index 0000000000000000000000000000000000000000..e8fef7f1cfb4a6bcd4df89d838a961734a1242f6 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/9a6963b0d0fcb0e91a31748c47c6f0e1e842fea9 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/9bf7553a.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/9bf7553a.bin new file mode 100644 index 0000000000000000000000000000000000000000..e612aec94017c4572c95571f847fc775a3cd899c --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/9bf7553a.bin @@ -0,0 +1 @@ +PRX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/9d2d18fce18c790035d8f67ed798703bdda0a949 b/test/core/end2end/fuzzers/server_fuzzer_corpus/9d2d18fce18c790035d8f67ed798703bdda0a949 new file mode 100644 index 0000000000000000000000000000000000000000..3799081273b3bdcd18a6354a1d4df5b1a622a987 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/9d2d18fce18c790035d8f67ed798703bdda0a949 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a112d484b70e778835fcd478fd651828720791e5 b/test/core/end2end/fuzzers/server_fuzzer_corpus/a112d484b70e778835fcd478fd651828720791e5 new file mode 100644 index 0000000000000000000000000000000000000000..47c71a33643affeac0212934a3d8477fd2f11154 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a112d484b70e778835fcd478fd651828720791e5 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a24bf2dc.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/a24bf2dc.bin new file mode 100644 index 0000000000000000000000000000000000000000..1e5b421dd45d0da2d3dd6d4cb616507c9122b08d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a24bf2dc.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a32be0653ccc65463445b4aaf24a7a1164d5c642 b/test/core/end2end/fuzzers/server_fuzzer_corpus/a32be0653ccc65463445b4aaf24a7a1164d5c642 new file mode 100644 index 0000000000000000000000000000000000000000..a4c4bf3a4412d6abe7936455e2a0b5af4006952f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a32be0653ccc65463445b4aaf24a7a1164d5c642 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a357658d.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/a357658d.bin new file mode 100644 index 0000000000000000000000000000000000000000..255103fca9056c274064b449b30ae6302b5a2416 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/a357658d.bin @@ -0,0 +1 @@ +PX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a3a2b1af.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/a3a2b1af.bin new file mode 100644 index 0000000000000000000000000000000000000000..23086f5f7dec1f768b6e6d5c928680dfe294aa2f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a3a2b1af.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a5348197.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/a5348197.bin new file mode 100644 index 0000000000000000000000000000000000000000..d8a73f33eaae133fe81f9822f3dd3a43e45dc265 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a5348197.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a5cc3762cb2b2cac316c60ddee794016057fb4ff b/test/core/end2end/fuzzers/server_fuzzer_corpus/a5cc3762cb2b2cac316c60ddee794016057fb4ff new file mode 100644 index 0000000000000000000000000000000000000000..c9105a67ec3ce41e917679570e0aed3a15505a7b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a5cc3762cb2b2cac316c60ddee794016057fb4ff differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a7e64803.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/a7e64803.bin new file mode 100644 index 0000000000000000000000000000000000000000..e40616623f236face7c6ec4b8df7243860438cfe Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a7e64803.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a8d229374635fa6f2a75ca1669892e1bc244e719 b/test/core/end2end/fuzzers/server_fuzzer_corpus/a8d229374635fa6f2a75ca1669892e1bc244e719 new file mode 100644 index 0000000000000000000000000000000000000000..f40ea15bc74599fd9e5a805b48a22284e36dfc8c Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a8d229374635fa6f2a75ca1669892e1bc244e719 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a8f2345b2c949e9e32a434c99accf771f405eb65 b/test/core/end2end/fuzzers/server_fuzzer_corpus/a8f2345b2c949e9e32a434c99accf771f405eb65 new file mode 100644 index 0000000000000000000000000000000000000000..a5d1315732d03ed921b933a082d026e599d4e770 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a8f2345b2c949e9e32a434c99accf771f405eb65 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a9463428cdc47d37efb6e3c5633d1e5e78911f16 b/test/core/end2end/fuzzers/server_fuzzer_corpus/a9463428cdc47d37efb6e3c5633d1e5e78911f16 new file mode 100644 index 0000000000000000000000000000000000000000..5cb8323a90547cb19b7c50c609aaa32038d2cb0e Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a9463428cdc47d37efb6e3c5633d1e5e78911f16 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a9966f7181d08f6a9ff8158736ad77a285d743a6 b/test/core/end2end/fuzzers/server_fuzzer_corpus/a9966f7181d08f6a9ff8158736ad77a285d743a6 new file mode 100644 index 0000000000000000000000000000000000000000..f692fa18b2f2c1c097e2488e0273dd0a150acb8f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a9966f7181d08f6a9ff8158736ad77a285d743a6 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a9e22d93.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/a9e22d93.bin new file mode 100644 index 0000000000000000000000000000000000000000..f3ef55b14c05d5175cb498e74ce22431f26bf55c Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/a9e22d93.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/aa3c8974.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/aa3c8974.bin new file mode 100644 index 0000000000000000000000000000000000000000..9998126fce1bf43d8b986a08ae56aa3d7a34c1f1 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/aa3c8974.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/aa825693.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/aa825693.bin new file mode 100644 index 0000000000000000000000000000000000000000..4a68f21d18d2caa7dc77af4f2c4274df6b559803 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/aa825693.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/aa8729d7.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/aa8729d7.bin new file mode 100644 index 0000000000000000000000000000000000000000..2f4e4782d8b0eb1eb3c1f1f3ca3dde0f1cde6076 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/aa8729d7.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/ad810f7f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/ad810f7f.bin new file mode 100644 index 0000000000000000000000000000000000000000..7761e5216ee048b93970f399d60977f9c9add788 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/ad810f7f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/aedefcd9bd7fc10b7bf60372da54c43e953523bd b/test/core/end2end/fuzzers/server_fuzzer_corpus/aedefcd9bd7fc10b7bf60372da54c43e953523bd new file mode 100644 index 0000000000000000000000000000000000000000..f93d485f9f2f6cf92fc2a76f5af4affa15f6dd6d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/aedefcd9bd7fc10b7bf60372da54c43e953523bd differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b06ce623.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b06ce623.bin new file mode 100644 index 0000000000000000000000000000000000000000..63a9a8c714af40de88ea5ceda80fa3f7f50709e2 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b06ce623.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b1128694.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b1128694.bin new file mode 100644 index 0000000000000000000000000000000000000000..82aa699e0d1c2865d7ba36ec5a8832417337a91b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b1128694.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b220d23a13d98d4815b1f7a3e4fe7dd8672b1c83 b/test/core/end2end/fuzzers/server_fuzzer_corpus/b220d23a13d98d4815b1f7a3e4fe7dd8672b1c83 new file mode 100644 index 0000000000000000000000000000000000000000..dffb6073f12893cd8bae6c9023591ab6613e4a11 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b220d23a13d98d4815b1f7a3e4fe7dd8672b1c83 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b28959dd.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b28959dd.bin new file mode 100644 index 0000000000000000000000000000000000000000..42522780a1d4725a048e9c5d03f0854dfb67ea10 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/b28959dd.bin @@ -0,0 +1 @@ +PRI * HTTP/2.0X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b431df13.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b431df13.bin new file mode 100644 index 0000000000000000000000000000000000000000..a1a1842af92754e16d99c2f380d67a3e56a24e0d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b431df13.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b5acaa52.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b5acaa52.bin new file mode 100644 index 0000000000000000000000000000000000000000..ea99ae78be4eb7aefbad7a2611bebc379db9a8be Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b5acaa52.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b7ce4a4f6eea20c0b83d9f7fa8406a0730ee0040 b/test/core/end2end/fuzzers/server_fuzzer_corpus/b7ce4a4f6eea20c0b83d9f7fa8406a0730ee0040 new file mode 100644 index 0000000000000000000000000000000000000000..cca0014f8e31c5f510db5da78f4ffc71b909da17 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b7ce4a4f6eea20c0b83d9f7fa8406a0730ee0040 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b829143b.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b829143b.bin new file mode 100644 index 0000000000000000000000000000000000000000..b3e88f07d94c52d98ed2f1163ef79f027f318f72 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b829143b.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b887097732b9c30719f6c7ea7a7cbac531512a31 b/test/core/end2end/fuzzers/server_fuzzer_corpus/b887097732b9c30719f6c7ea7a7cbac531512a31 new file mode 100644 index 0000000000000000000000000000000000000000..3cee5d4396cb6b78c061494f3bf821297b4a20d1 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b887097732b9c30719f6c7ea7a7cbac531512a31 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/b924c842.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/b924c842.bin new file mode 100644 index 0000000000000000000000000000000000000000..05f8de10442d29576a6c78afce8406091a64bfb2 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/b924c842.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/bad4f467.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/bad4f467.bin new file mode 100644 index 0000000000000000000000000000000000000000..068e1ce1822dcd54619df6f4aeef2c3ade4ec07d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/bad4f467.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/bd63e44a3b004e7ed471c2367c3efae2c58a676d b/test/core/end2end/fuzzers/server_fuzzer_corpus/bd63e44a3b004e7ed471c2367c3efae2c58a676d new file mode 100644 index 0000000000000000000000000000000000000000..e66fdcbc8ecb411a29612214432ee1921c086796 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/bd63e44a3b004e7ed471c2367c3efae2c58a676d differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/be9b6e78.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/be9b6e78.bin new file mode 100644 index 0000000000000000000000000000000000000000..27e9ebc7dc7948555cbac2424df2e4220b75cb2a Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/be9b6e78.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/bf5e21c32becb5839deeb81e9174cf6478a25473 b/test/core/end2end/fuzzers/server_fuzzer_corpus/bf5e21c32becb5839deeb81e9174cf6478a25473 new file mode 100644 index 0000000000000000000000000000000000000000..c26cef3d250d1d6aec8ffa64dd7f1b89ce641747 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/bf5e21c32becb5839deeb81e9174cf6478a25473 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/bfb55acd5b66521eb5bd8ce6b57b3b6895883675 b/test/core/end2end/fuzzers/server_fuzzer_corpus/bfb55acd5b66521eb5bd8ce6b57b3b6895883675 new file mode 100644 index 0000000000000000000000000000000000000000..94fb6a9f10976f61cd96a452c0337b841b555881 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/bfb55acd5b66521eb5bd8ce6b57b3b6895883675 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/bfcbffa9.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/bfcbffa9.bin new file mode 100644 index 0000000000000000000000000000000000000000..a571ff3c2fb95b8224ba99866bd220bb2201ef09 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/bfcbffa9.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c004455e9d60bc2fff094e79cd0b38507023e018 b/test/core/end2end/fuzzers/server_fuzzer_corpus/c004455e9d60bc2fff094e79cd0b38507023e018 new file mode 100644 index 0000000000000000000000000000000000000000..41ddff951da813ce7959fb00b7c72e142f83d19d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c004455e9d60bc2fff094e79cd0b38507023e018 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c039ac9a5a570f8fd9064df9320890b885edf9c3 b/test/core/end2end/fuzzers/server_fuzzer_corpus/c039ac9a5a570f8fd9064df9320890b885edf9c3 new file mode 100644 index 0000000000000000000000000000000000000000..dbc94052f1a30eebdbc8d6e43fc75679800bbde5 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c039ac9a5a570f8fd9064df9320890b885edf9c3 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c1188b44.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c1188b44.bin new file mode 100644 index 0000000000000000000000000000000000000000..bbc80e999791c0e7ded23d14cad3da7217554fd7 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c1188b44.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c12835aa9f3513d3f7179ee4f9976292713f7cb9 b/test/core/end2end/fuzzers/server_fuzzer_corpus/c12835aa9f3513d3f7179ee4f9976292713f7cb9 new file mode 100644 index 0000000000000000000000000000000000000000..e61533a3adce0fb7dbfc166b451f0bf2e607f4f1 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c12835aa9f3513d3f7179ee4f9976292713f7cb9 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c13188118af1634061b6a3947b81618891aeb6a3 b/test/core/end2end/fuzzers/server_fuzzer_corpus/c13188118af1634061b6a3947b81618891aeb6a3 new file mode 100644 index 0000000000000000000000000000000000000000..a423a7bb308c7ba5e769ca39b7240a79643b378f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c13188118af1634061b6a3947b81618891aeb6a3 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c35968bf.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c35968bf.bin new file mode 100644 index 0000000000000000000000000000000000000000..1d4b51662e6146a2292df12225df9a95038497fb --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/c35968bf.bin @@ -0,0 +1 @@ +PRI X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c43d97f2.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c43d97f2.bin new file mode 100644 index 0000000000000000000000000000000000000000..62959580a80e2e55664d1523bcfbd96fa978cac3 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c43d97f2.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c4534867.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c4534867.bin new file mode 100644 index 0000000000000000000000000000000000000000..40fb374d692d6b4f19444df5b1575f91c9788e77 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c4534867.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c559f565.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c559f565.bin new file mode 100644 index 0000000000000000000000000000000000000000..28429cf067e3c8bf0896dccc0644c9e6298e1a9b --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/c559f565.bin @@ -0,0 +1,3 @@ +PRI * HTTP/2.0 + +X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c56fada76f5c198232201a608072a1a63e3d3785 b/test/core/end2end/fuzzers/server_fuzzer_corpus/c56fada76f5c198232201a608072a1a63e3d3785 new file mode 100644 index 0000000000000000000000000000000000000000..f7092e5e02e6422a8c05bd7bc350def5e699e90b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c56fada76f5c198232201a608072a1a63e3d3785 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c66e84d1.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c66e84d1.bin new file mode 100644 index 0000000000000000000000000000000000000000..1cc73ce7919490460d16f4adf6c9fdd69ad586d0 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c66e84d1.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c6a1d2cc8935808b6e317a69baec1c3cb87cac94 b/test/core/end2end/fuzzers/server_fuzzer_corpus/c6a1d2cc8935808b6e317a69baec1c3cb87cac94 new file mode 100644 index 0000000000000000000000000000000000000000..23ae45234c5e362c6748272f904e016babf6f4f6 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c6a1d2cc8935808b6e317a69baec1c3cb87cac94 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c7c44b98faa21c8f0645a818a65b60d956d15952 b/test/core/end2end/fuzzers/server_fuzzer_corpus/c7c44b98faa21c8f0645a818a65b60d956d15952 new file mode 100644 index 0000000000000000000000000000000000000000..6c3603316daa62eedad37f86ffc0b7cee639d66d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c7c44b98faa21c8f0645a818a65b60d956d15952 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c8073f5f41970fab4738215e42ec97a4383855e5 b/test/core/end2end/fuzzers/server_fuzzer_corpus/c8073f5f41970fab4738215e42ec97a4383855e5 new file mode 100644 index 0000000000000000000000000000000000000000..8a6e4323763f540309c82f449d76b79023b0ef1b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c8073f5f41970fab4738215e42ec97a4383855e5 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c81dec02.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/c81dec02.bin new file mode 100644 index 0000000000000000000000000000000000000000..746cd72ba6a2d3d474991898dcfb68aa5b498112 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c81dec02.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c8812dc8a1ab1592a2d7b71300e1a0a5da6a6382 b/test/core/end2end/fuzzers/server_fuzzer_corpus/c8812dc8a1ab1592a2d7b71300e1a0a5da6a6382 new file mode 100644 index 0000000000000000000000000000000000000000..59f3bd05b6e6cd3c68343f3ddce8ec8d32c80137 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/c8812dc8a1ab1592a2d7b71300e1a0a5da6a6382 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/ca843c66c4c4807ccb1615b472c79bc459e5c6cb b/test/core/end2end/fuzzers/server_fuzzer_corpus/ca843c66c4c4807ccb1615b472c79bc459e5c6cb new file mode 100644 index 0000000000000000000000000000000000000000..e8fa525129b03bc441dd5009f796af3f2cfeef4d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/ca843c66c4c4807ccb1615b472c79bc459e5c6cb differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/cbb04be69714f81f5cd09e36e8ea4e69ea73d618 b/test/core/end2end/fuzzers/server_fuzzer_corpus/cbb04be69714f81f5cd09e36e8ea4e69ea73d618 new file mode 100644 index 0000000000000000000000000000000000000000..5622aca4aa1e73b364ec2ff4bc25e71a45366f55 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/cbb04be69714f81f5cd09e36e8ea4e69ea73d618 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/cca29902.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/cca29902.bin new file mode 100644 index 0000000000000000000000000000000000000000..60f208f595b8c14dde200dad71fdc3f7b5023c60 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/cca29902.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/cdba6c45.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/cdba6c45.bin new file mode 100644 index 0000000000000000000000000000000000000000..e2e324cd85a49e558d0cc85d8853e6d17a1e13bc Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/cdba6c45.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-0f4b135c0242669ce425d2662168e9440f8a628d b/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-0f4b135c0242669ce425d2662168e9440f8a628d new file mode 100644 index 0000000000000000000000000000000000000000..9c2ae72439ebb9e46e98784485ed27a32709204d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-0f4b135c0242669ce425d2662168e9440f8a628d differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-239cc27a23827ea53b60ccbaee0ecc64dad2bff0 b/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-239cc27a23827ea53b60ccbaee0ecc64dad2bff0 new file mode 100644 index 0000000000000000000000000000000000000000..0bfd76462838fec2f43b870e51950b46b85f6b30 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-239cc27a23827ea53b60ccbaee0ecc64dad2bff0 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-41ab0e868e84612275f77118f9e832bc94ff45c5 b/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-41ab0e868e84612275f77118f9e832bc94ff45c5 new file mode 100644 index 0000000000000000000000000000000000000000..87bfefb8490a582d9a12897d0b6d95889fb30000 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-41ab0e868e84612275f77118f9e832bc94ff45c5 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-7e121dd3be057176369bea160d873040b32a03dc b/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-7e121dd3be057176369bea160d873040b32a03dc new file mode 100644 index 0000000000000000000000000000000000000000..9491b01e3cce3df2ab1ddc55bdb1d4c070b7709c Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-7e121dd3be057176369bea160d873040b32a03dc differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-e34b0a9a428001cb4094a9ebca76329f578811a4 b/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-e34b0a9a428001cb4094a9ebca76329f578811a4 new file mode 100644 index 0000000000000000000000000000000000000000..adbbcec92e1bab24a42a65719cbd90a249456b40 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-e34b0a9a428001cb4094a9ebca76329f578811a4 @@ -0,0 +1,2 @@ +PRI * HTP/2.0 ÏPR"I * HT +TP \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/d0f7eebc.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/d0f7eebc.bin new file mode 100644 index 0000000000000000000000000000000000000000..0edc3bb1fd3d3ed721e200552ca6e4318a48960f --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/d0f7eebc.bin @@ -0,0 +1 @@ +PRI * HTX \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/d2031009d3783fcf083963fa30bb493f7f935541 b/test/core/end2end/fuzzers/server_fuzzer_corpus/d2031009d3783fcf083963fa30bb493f7f935541 new file mode 100644 index 0000000000000000000000000000000000000000..953d5e8da9dacdc3337b886bcbb27b7221810151 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/d2031009d3783fcf083963fa30bb493f7f935541 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/d28155c6c92642c61dfb097f7b2eb1d6ced272c0 b/test/core/end2end/fuzzers/server_fuzzer_corpus/d28155c6c92642c61dfb097f7b2eb1d6ced272c0 new file mode 100644 index 0000000000000000000000000000000000000000..13dc155d72b39e297620c8413e3a12eb12e1fb56 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/d28155c6c92642c61dfb097f7b2eb1d6ced272c0 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/d6979f0f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/d6979f0f.bin new file mode 100644 index 0000000000000000000000000000000000000000..8ed84f9303e1282b717de6f011b985373302d250 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/d6979f0f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/d9074e68.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/d9074e68.bin new file mode 100644 index 0000000000000000000000000000000000000000..b7cd2f7a6264321a668a03961e8efd4122c4d863 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/d9074e68.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/d95556cac07e720909aaf2ac09d876106420463f b/test/core/end2end/fuzzers/server_fuzzer_corpus/d95556cac07e720909aaf2ac09d876106420463f new file mode 100644 index 0000000000000000000000000000000000000000..e3d74d05fc95b2d131a213a29c7951dbddf554a2 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/d95556cac07e720909aaf2ac09d876106420463f differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/da7e44a9.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/da7e44a9.bin new file mode 100644 index 0000000000000000000000000000000000000000..cc57d195ceca3d340173d0603d0d8c412fca59a1 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/da7e44a9.bin @@ -0,0 +1,4 @@ +PRI * HTTP/2.0 + +SM + X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/dab172ff.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/dab172ff.bin new file mode 100644 index 0000000000000000000000000000000000000000..c1fec49b4774827c1fc5aed2c6b3fcabf159673f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/dab172ff.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/db33559d4afb4c32e68525c000fde16a4c3300f5 b/test/core/end2end/fuzzers/server_fuzzer_corpus/db33559d4afb4c32e68525c000fde16a4c3300f5 new file mode 100644 index 0000000000000000000000000000000000000000..fb1e78cff7b539cec601c6a361b234c6d65f90ee Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/db33559d4afb4c32e68525c000fde16a4c3300f5 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/dcabac1ef8b197ef39b188bcf5dc470f9749e903 b/test/core/end2end/fuzzers/server_fuzzer_corpus/dcabac1ef8b197ef39b188bcf5dc470f9749e903 new file mode 100644 index 0000000000000000000000000000000000000000..ec70c9c1daefcc1dcd77afbb482b64c59dbec59b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/dcabac1ef8b197ef39b188bcf5dc470f9749e903 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/e0d9a9a7.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/e0d9a9a7.bin new file mode 100644 index 0000000000000000000000000000000000000000..3d32ffc3958617e77c8d084b1b14a437a4ddb304 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/e0d9a9a7.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/e2652fbb.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/e2652fbb.bin new file mode 100644 index 0000000000000000000000000000000000000000..946cfe22b3f2901fee5a832cf852928e4cf04e3f Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/e2652fbb.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/e2c954e1.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/e2c954e1.bin new file mode 100644 index 0000000000000000000000000000000000000000..759683f469b34a11f71c58226b799d685e5c9ce4 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/e2c954e1.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/e3bab014.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/e3bab014.bin new file mode 100644 index 0000000000000000000000000000000000000000..d9ae95a015458c0ac020f1b087a06a44a86a418b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/e3bab014.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/e9d96662.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/e9d96662.bin new file mode 100644 index 0000000000000000000000000000000000000000..672f0799e7658fd960e3d1e5366aa01e2d8410dd Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/e9d96662.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/eb66106b.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/eb66106b.bin new file mode 100644 index 0000000000000000000000000000000000000000..32c355bc753ab0d029c85ca7d47b6c4f8d2dc6a3 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/eb66106b.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/eba8472a.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/eba8472a.bin new file mode 100644 index 0000000000000000000000000000000000000000..24d97fe39218fb991e525b7436e9c6e4090b620e Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/eba8472a.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/ed8da77f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/ed8da77f.bin new file mode 100644 index 0000000000000000000000000000000000000000..a78a2ae62090c5432bd46ee2fc949ebf2ebf2666 --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_corpus/ed8da77f.bin @@ -0,0 +1 @@ +PRI * HTTP/2.0 X \ No newline at end of file diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f0387dfdd6b8c925d958113e669ec4a1897034b4 b/test/core/end2end/fuzzers/server_fuzzer_corpus/f0387dfdd6b8c925d958113e669ec4a1897034b4 new file mode 100644 index 0000000000000000000000000000000000000000..6c651037767ba6c492ebdaf4c593417f1bb18ab2 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f0387dfdd6b8c925d958113e669ec4a1897034b4 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f1121b952e75463cc71137683dc2528f9cbc19b7 b/test/core/end2end/fuzzers/server_fuzzer_corpus/f1121b952e75463cc71137683dc2528f9cbc19b7 new file mode 100644 index 0000000000000000000000000000000000000000..6d2a60d80b9a79801d8fe4a68a11c81734e237c0 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f1121b952e75463cc71137683dc2528f9cbc19b7 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f3220426.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/f3220426.bin new file mode 100644 index 0000000000000000000000000000000000000000..eac62a7e2ce6c05a35d720688e5fac61314342e0 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f3220426.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f3d084cf20b92a5f026fe7cc6e5af49bde28693d b/test/core/end2end/fuzzers/server_fuzzer_corpus/f3d084cf20b92a5f026fe7cc6e5af49bde28693d new file mode 100644 index 0000000000000000000000000000000000000000..589225ebf81247ece9f88eac1ba329877f27ad40 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f3d084cf20b92a5f026fe7cc6e5af49bde28693d differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f4024b01.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/f4024b01.bin new file mode 100644 index 0000000000000000000000000000000000000000..7097b7eb26816d75f89e75f6d91a410b0ae74c46 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f4024b01.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f541d27e.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/f541d27e.bin new file mode 100644 index 0000000000000000000000000000000000000000..50be7f342ecc48ec66b27fb35c074b4d5794c18e Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f541d27e.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f5424a9d7bd14317b6de7b15587df28bfde8362d b/test/core/end2end/fuzzers/server_fuzzer_corpus/f5424a9d7bd14317b6de7b15587df28bfde8362d new file mode 100644 index 0000000000000000000000000000000000000000..ddfb3e4b524e2364bbdc5d337d22818ebf5f9472 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f5424a9d7bd14317b6de7b15587df28bfde8362d differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f5c877c4.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/f5c877c4.bin new file mode 100644 index 0000000000000000000000000000000000000000..35cf8229fda4f1fdeead366eb6500ea83cbc773e Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f5c877c4.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f74b9428.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/f74b9428.bin new file mode 100644 index 0000000000000000000000000000000000000000..fd41223579c0550705e12313310ab694c96b536a Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f74b9428.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f7bf0d7bb0dd6e1866ccef9fafc3cb295db2f07f b/test/core/end2end/fuzzers/server_fuzzer_corpus/f7bf0d7bb0dd6e1866ccef9fafc3cb295db2f07f new file mode 100644 index 0000000000000000000000000000000000000000..cb892bd334d47abb719754433362a6e1b9f940a7 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f7bf0d7bb0dd6e1866ccef9fafc3cb295db2f07f differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f826100f.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/f826100f.bin new file mode 100644 index 0000000000000000000000000000000000000000..a072e28d21aedf9dca7c8c8de225c6e4186db0cb Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f826100f.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f88ffb7f3066f2706cfcd9be077595e07834cc15 b/test/core/end2end/fuzzers/server_fuzzer_corpus/f88ffb7f3066f2706cfcd9be077595e07834cc15 new file mode 100644 index 0000000000000000000000000000000000000000..d17e0172100b5b48dd0d18cf25a285b6d1ca5ff9 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f88ffb7f3066f2706cfcd9be077595e07834cc15 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/f8b46e92c7ceb4c2f2cdcb3452a6d8c58768eaa2 b/test/core/end2end/fuzzers/server_fuzzer_corpus/f8b46e92c7ceb4c2f2cdcb3452a6d8c58768eaa2 new file mode 100644 index 0000000000000000000000000000000000000000..db89ca108e248ec986563509aeef3d111e7f1f7b Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/f8b46e92c7ceb4c2f2cdcb3452a6d8c58768eaa2 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fa36b4280d9e28edd81c5e4d192d1a5c2765e5e4 b/test/core/end2end/fuzzers/server_fuzzer_corpus/fa36b4280d9e28edd81c5e4d192d1a5c2765e5e4 new file mode 100644 index 0000000000000000000000000000000000000000..6fe763300c62f361bea284647e47dcc7305a31bc Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fa36b4280d9e28edd81c5e4d192d1a5c2765e5e4 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fb3b0d80.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/fb3b0d80.bin new file mode 100644 index 0000000000000000000000000000000000000000..b403188f430b4d57c90efbcb69cbf11ca76963f5 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fb3b0d80.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fb84edfa9e8cbddba26a7184e7fdc219bde556c0 b/test/core/end2end/fuzzers/server_fuzzer_corpus/fb84edfa9e8cbddba26a7184e7fdc219bde556c0 new file mode 100644 index 0000000000000000000000000000000000000000..f5de9d4fc8129acab0a4bd07af836fe7b4cf3e2d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fb84edfa9e8cbddba26a7184e7fdc219bde556c0 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fd14bea45ecaf13af0053900edb2f17b71a0bf09 b/test/core/end2end/fuzzers/server_fuzzer_corpus/fd14bea45ecaf13af0053900edb2f17b71a0bf09 new file mode 100644 index 0000000000000000000000000000000000000000..fc84812d2de27bceb4dc375166bea682286b7fa2 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fd14bea45ecaf13af0053900edb2f17b71a0bf09 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fd26e0a6.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/fd26e0a6.bin new file mode 100644 index 0000000000000000000000000000000000000000..999ed6bf0c6f9fa8f02533e2b4af10309399197d Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fd26e0a6.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fd943e69304dffebf47e1e40b0849e12abeee287 b/test/core/end2end/fuzzers/server_fuzzer_corpus/fd943e69304dffebf47e1e40b0849e12abeee287 new file mode 100644 index 0000000000000000000000000000000000000000..25ecfe113c76556d6950515ba9bfd8811e30fb83 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fd943e69304dffebf47e1e40b0849e12abeee287 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fdf67df81857577361d319e76559c5e85a257b07 b/test/core/end2end/fuzzers/server_fuzzer_corpus/fdf67df81857577361d319e76559c5e85a257b07 new file mode 100644 index 0000000000000000000000000000000000000000..a4656806f7a569b48f4d9861a387a66e0a1b9fa5 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fdf67df81857577361d319e76559c5e85a257b07 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fe1957b9bc7c6bf9d8b6089c422d72a0f444da6e b/test/core/end2end/fuzzers/server_fuzzer_corpus/fe1957b9bc7c6bf9d8b6089c422d72a0f444da6e new file mode 100644 index 0000000000000000000000000000000000000000..5c73a94051e5faecdda853af484b7bbbf5bab5e2 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fe1957b9bc7c6bf9d8b6089c422d72a0f444da6e differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fe66893c.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/fe66893c.bin new file mode 100644 index 0000000000000000000000000000000000000000..3a954cb30a33b43e4bd36cddbcc40f84473695ff Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fe66893c.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fe69ddfa5827dd560bb0b5d4da7d982273f17ef9 b/test/core/end2end/fuzzers/server_fuzzer_corpus/fe69ddfa5827dd560bb0b5d4da7d982273f17ef9 new file mode 100644 index 0000000000000000000000000000000000000000..c20a0c8cf7f9ad17ffbf1f4a5d33268cdbdda433 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/fe69ddfa5827dd560bb0b5d4da7d982273f17ef9 differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/ff227015.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/ff227015.bin new file mode 100644 index 0000000000000000000000000000000000000000..c9d6bf07663815c8d53e23a90162d6c636e5b866 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/ff227015.bin differ diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/ff898c08.bin b/test/core/end2end/fuzzers/server_fuzzer_corpus/ff898c08.bin new file mode 100644 index 0000000000000000000000000000000000000000..ff0f909642455d55a00be7191a429aa5a3bbf385 Binary files /dev/null and b/test/core/end2end/fuzzers/server_fuzzer_corpus/ff898c08.bin differ diff --git a/test/core/end2end/gen_build_yaml.py b/test/core/end2end/gen_build_yaml.py index 93b48c331c62a677ebfe36a751fa99955086fcd2..9a940a4ab512bbfe6495e7168f061db380cc8058 100755 --- a/test/core/end2end/gen_build_yaml.py +++ b/test/core/end2end/gen_build_yaml.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -53,12 +53,8 @@ END2END_FIXTURES = { 'h2_census': default_unsecure_fixture_options, 'h2_fakesec': default_secure_fixture_options._replace(ci_mac=False), 'h2_full': default_unsecure_fixture_options, - 'h2_full+poll': default_unsecure_fixture_options._replace( - platforms=['linux']), 'h2_full+pipe': default_unsecure_fixture_options._replace( platforms=['linux']), - 'h2_full+poll+pipe': default_unsecure_fixture_options._replace( - platforms=['linux']), 'h2_full+trace': default_unsecure_fixture_options._replace(tracing=True), 'h2_oauth2': default_secure_fixture_options._replace(ci_mac=False), 'h2_proxy': default_unsecure_fixture_options._replace(includes_proxy=True, @@ -69,10 +65,8 @@ END2END_FIXTURES = { 'h2_sockpair+trace': socketpair_unsecure_fixture_options._replace( ci_mac=False, tracing=True), 'h2_ssl': default_secure_fixture_options, - 'h2_ssl+poll': default_secure_fixture_options._replace(platforms=['linux']), 'h2_ssl_proxy': default_secure_fixture_options._replace(includes_proxy=True, ci_mac=False), - 'h2_uds+poll': uds_fixture_options._replace(platforms=['linux']), 'h2_uds': uds_fixture_options, } @@ -100,10 +94,12 @@ END2END_TESTS = { needs_dns=True), 'disappearing_server': connectivity_test_options, 'empty_batch': default_test_options, + 'filter_causes_close': default_test_options, 'graceful_server_shutdown': default_test_options._replace(cpu_cost=LOWCPU), 'hpack_size': default_test_options._replace(proxyable=False, traceable=False), 'high_initial_seqno': default_test_options, + 'idempotent_request': default_test_options, 'invoke_large_request': default_test_options, 'large_metadata': default_test_options, 'max_concurrent_streams': default_test_options._replace(proxyable=False), diff --git a/test/core/end2end/goaway_server_test.c b/test/core/end2end/goaway_server_test.c new file mode 100644 index 0000000000000000000000000000000000000000..5f8c2641e7668b69379964c049fa437a67bc604a --- /dev/null +++ b/test/core/end2end/goaway_server_test.c @@ -0,0 +1,301 @@ +/* + * + * Copyright 2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include <grpc/grpc.h> +#include <grpc/support/alloc.h> +#include <grpc/support/log.h> +#include <grpc/support/string_util.h> +#include <string.h> +#include "src/core/lib/iomgr/resolve_address.h" +#include "src/core/lib/iomgr/sockaddr.h" +#include "test/core/end2end/cq_verifier.h" +#include "test/core/util/port.h" +#include "test/core/util/test_config.h" + +static void *tag(intptr_t i) { return (void *)i; } + +static gpr_mu g_mu; +static int g_resolve_port = -1; +static grpc_resolved_addresses *(*iomgr_resolve_address)( + const char *name, const char *default_port); + +static void set_resolve_port(int port) { + gpr_mu_lock(&g_mu); + g_resolve_port = port; + gpr_mu_unlock(&g_mu); +} + +static grpc_resolved_addresses *my_resolve_address(const char *name, + const char *addr) { + if (0 != strcmp(name, "test")) { + return iomgr_resolve_address(name, addr); + } + + gpr_mu_lock(&g_mu); + if (g_resolve_port < 0) { + gpr_mu_unlock(&g_mu); + return NULL; + } else { + grpc_resolved_addresses *addrs = gpr_malloc(sizeof(*addrs)); + addrs->naddrs = 1; + addrs->addrs = gpr_malloc(sizeof(*addrs->addrs)); + memset(addrs->addrs, 0, sizeof(*addrs->addrs)); + struct sockaddr_in *sa = (struct sockaddr_in *)addrs->addrs[0].addr; + sa->sin_family = AF_INET; + sa->sin_addr.s_addr = htonl(0x7f000001); + sa->sin_port = htons((uint16_t)g_resolve_port); + addrs->addrs[0].len = sizeof(*sa); + gpr_mu_unlock(&g_mu); + return addrs; + } +} + +int main(int argc, char **argv) { + grpc_completion_queue *cq; + cq_verifier *cqv; + grpc_op ops[6]; + grpc_op *op; + + grpc_test_init(argc, argv); + + gpr_mu_init(&g_mu); + iomgr_resolve_address = grpc_blocking_resolve_address; + grpc_blocking_resolve_address = my_resolve_address; + grpc_init(); + + int was_cancelled1; + int was_cancelled2; + + grpc_metadata_array trailing_metadata_recv1; + grpc_metadata_array request_metadata1; + grpc_call_details request_details1; + grpc_status_code status1; + char *details1 = NULL; + size_t details_capacity1 = 0; + grpc_metadata_array_init(&trailing_metadata_recv1); + grpc_metadata_array_init(&request_metadata1); + grpc_call_details_init(&request_details1); + + grpc_metadata_array trailing_metadata_recv2; + grpc_metadata_array request_metadata2; + grpc_call_details request_details2; + grpc_status_code status2; + char *details2 = NULL; + size_t details_capacity2 = 0; + grpc_metadata_array_init(&trailing_metadata_recv2); + grpc_metadata_array_init(&request_metadata2); + grpc_call_details_init(&request_details2); + + cq = grpc_completion_queue_create(NULL); + cqv = cq_verifier_create(cq); + + /* reserve two ports */ + int port1 = grpc_pick_unused_port_or_die(); + int port2 = grpc_pick_unused_port_or_die(); + + char *addr; + + /* create a channel that picks first amongst the servers */ + grpc_channel *chan = grpc_insecure_channel_create("test", NULL, NULL); + /* and an initial call to them */ + grpc_call *call1 = grpc_channel_create_call( + chan, NULL, GRPC_PROPAGATE_DEFAULTS, cq, "/foo", "127.0.0.1", + GRPC_TIMEOUT_SECONDS_TO_DEADLINE(20), NULL); + /* send initial metadata to probe connectivity */ + op = ops; + op->op = GRPC_OP_SEND_INITIAL_METADATA; + op->data.send_initial_metadata.count = 0; + op->flags = 0; + op->reserved = NULL; + op++; + GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(call1, ops, + (size_t)(op - ops), + tag(0x101), NULL)); + /* and receive status to probe termination */ + op = ops; + op->op = GRPC_OP_RECV_STATUS_ON_CLIENT; + op->data.recv_status_on_client.trailing_metadata = &trailing_metadata_recv1; + op->data.recv_status_on_client.status = &status1; + op->data.recv_status_on_client.status_details = &details1; + op->data.recv_status_on_client.status_details_capacity = &details_capacity1; + op->flags = 0; + op->reserved = NULL; + op++; + GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(call1, ops, + (size_t)(op - ops), + tag(0x102), NULL)); + + /* bring a server up on the first port */ + grpc_server *server1 = grpc_server_create(NULL, NULL); + gpr_asprintf(&addr, "127.0.0.1:%d", port1); + grpc_server_add_insecure_http2_port(server1, addr); + grpc_server_register_completion_queue(server1, cq, NULL); + gpr_free(addr); + grpc_server_start(server1); + + /* request a call to the server */ + grpc_call *server_call1; + GPR_ASSERT(GRPC_CALL_OK == + grpc_server_request_call(server1, &server_call1, &request_details1, + &request_metadata1, cq, cq, tag(0x301))); + + set_resolve_port(port1); + + /* first call should now start */ + cq_expect_completion(cqv, tag(0x101), 1); + cq_expect_completion(cqv, tag(0x301), 1); + cq_verify(cqv); + + GPR_ASSERT(GRPC_CHANNEL_READY == + grpc_channel_check_connectivity_state(chan, 0)); + grpc_channel_watch_connectivity_state(chan, GRPC_CHANNEL_READY, + gpr_inf_future(GPR_CLOCK_REALTIME), cq, + tag(0x9999)); + + /* listen for close on the server call to probe for finishing */ + op = ops; + op->op = GRPC_OP_RECV_CLOSE_ON_SERVER; + op->data.recv_close_on_server.cancelled = &was_cancelled1; + op->flags = 0; + op++; + GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(server_call1, ops, + (size_t)(op - ops), + tag(0x302), NULL)); + + /* shutdown first server: + * we should see a connectivity change and then nothing */ + set_resolve_port(-1); + grpc_server_shutdown_and_notify(server1, cq, tag(0xdead1)); + cq_expect_completion(cqv, tag(0x9999), 1); + cq_verify(cqv); + cq_verify_empty(cqv); + + /* and a new call: should go through to server2 when we start it */ + grpc_call *call2 = grpc_channel_create_call( + chan, NULL, GRPC_PROPAGATE_DEFAULTS, cq, "/foo", "127.0.0.1", + GRPC_TIMEOUT_SECONDS_TO_DEADLINE(20), NULL); + /* send initial metadata to probe connectivity */ + op = ops; + op->op = GRPC_OP_SEND_INITIAL_METADATA; + op->data.send_initial_metadata.count = 0; + op->flags = 0; + op->reserved = NULL; + op++; + GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(call2, ops, + (size_t)(op - ops), + tag(0x201), NULL)); + /* and receive status to probe termination */ + op = ops; + op->op = GRPC_OP_RECV_STATUS_ON_CLIENT; + op->data.recv_status_on_client.trailing_metadata = &trailing_metadata_recv2; + op->data.recv_status_on_client.status = &status2; + op->data.recv_status_on_client.status_details = &details2; + op->data.recv_status_on_client.status_details_capacity = &details_capacity2; + op->flags = 0; + op->reserved = NULL; + op++; + GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(call2, ops, + (size_t)(op - ops), + tag(0x202), NULL)); + + /* and bring up second server */ + set_resolve_port(port2); + grpc_server *server2 = grpc_server_create(NULL, NULL); + gpr_asprintf(&addr, "127.0.0.1:%d", port2); + grpc_server_add_insecure_http2_port(server2, addr); + grpc_server_register_completion_queue(server2, cq, NULL); + gpr_free(addr); + grpc_server_start(server2); + + /* request a call to the server */ + grpc_call *server_call2; + GPR_ASSERT(GRPC_CALL_OK == + grpc_server_request_call(server2, &server_call2, &request_details2, + &request_metadata2, cq, cq, tag(0x401))); + + /* second call should now start */ + cq_expect_completion(cqv, tag(0x201), 1); + cq_expect_completion(cqv, tag(0x401), 1); + cq_verify(cqv); + + /* listen for close on the server call to probe for finishing */ + op = ops; + op->op = GRPC_OP_RECV_CLOSE_ON_SERVER; + op->data.recv_close_on_server.cancelled = &was_cancelled2; + op->flags = 0; + op++; + GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(server_call2, ops, + (size_t)(op - ops), + tag(0x402), NULL)); + + /* shutdown second server: we should see nothing */ + grpc_server_shutdown_and_notify(server2, cq, tag(0xdead2)); + cq_verify_empty(cqv); + + grpc_call_cancel(call1, NULL); + grpc_call_cancel(call2, NULL); + + /* now everything else should finish */ + cq_expect_completion(cqv, tag(0x102), 1); + cq_expect_completion(cqv, tag(0x202), 1); + cq_expect_completion(cqv, tag(0x302), 1); + cq_expect_completion(cqv, tag(0x402), 1); + cq_expect_completion(cqv, tag(0xdead1), 1); + cq_expect_completion(cqv, tag(0xdead2), 1); + cq_verify(cqv); + + grpc_call_destroy(call1); + grpc_call_destroy(call2); + grpc_call_destroy(server_call1); + grpc_call_destroy(server_call2); + grpc_server_destroy(server1); + grpc_server_destroy(server2); + grpc_channel_destroy(chan); + + grpc_metadata_array_destroy(&trailing_metadata_recv1); + grpc_metadata_array_destroy(&request_metadata1); + grpc_call_details_destroy(&request_details1); + gpr_free(details1); + grpc_metadata_array_destroy(&trailing_metadata_recv2); + grpc_metadata_array_destroy(&request_metadata2); + grpc_call_details_destroy(&request_details2); + gpr_free(details2); + + cq_verifier_destroy(cqv); + grpc_completion_queue_destroy(cq); + + grpc_shutdown(); + gpr_mu_destroy(&g_mu); + + return 0; +} diff --git a/test/core/end2end/invalid_call_argument_test.c b/test/core/end2end/invalid_call_argument_test.c index 642b044ed8e2ba227f4d1bc27d8ebf1b920b70e0..cf42e92a1a3a253f98aeef65a4c6e450b7e8f906 100644 --- a/test/core/end2end/invalid_call_argument_test.c +++ b/test/core/end2end/invalid_call_argument_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/end2end/no_server_test.c b/test/core/end2end/no_server_test.c index c1be55df131fe4ce3b7f652b15e542f0f7b63d02..7a5cd2335f17b3c6bab1de77cf2da2ad33a9121c 100644 --- a/test/core/end2end/no_server_test.c +++ b/test/core/end2end/no_server_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/end2end/tests/bad_hostname.c b/test/core/end2end/tests/bad_hostname.c index e8c07ac41c7660aa229d8d719e8c1d66d235fc8a..3cb9b3d4b12158c0af64d35b6f22570f230b3c6e 100644 --- a/test/core/end2end/tests/bad_hostname.c +++ b/test/core/end2end/tests/bad_hostname.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -179,3 +179,5 @@ void bad_hostname(grpc_end2end_test_config config) { test_invoke_simple_request(config); } } + +void bad_hostname_pre_init(void) {} diff --git a/test/core/end2end/tests/binary_metadata.c b/test/core/end2end/tests/binary_metadata.c index a4f4afac659f2b58c8f2cb92a959cc99041f6068..994c3bf1dd21d2a5496095432a0734cbeb793d1b 100644 --- a/test/core/end2end/tests/binary_metadata.c +++ b/test/core/end2end/tests/binary_metadata.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -287,3 +287,5 @@ static void test_request_response_with_metadata_and_payload( void binary_metadata(grpc_end2end_test_config config) { test_request_response_with_metadata_and_payload(config); } + +void binary_metadata_pre_init(void) {} diff --git a/test/core/end2end/tests/call_creds.c b/test/core/end2end/tests/call_creds.c index f749a6097933760022e62c6e1513c2c7e4c57982..b555bea740b60e64281bf67f33bac62de74306e1 100644 --- a/test/core/end2end/tests/call_creds.c +++ b/test/core/end2end/tests/call_creds.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -475,3 +475,5 @@ void call_creds(grpc_end2end_test_config config) { test_request_with_server_rejecting_client_creds(config); } } + +void call_creds_pre_init(void) {} diff --git a/test/core/end2end/tests/cancel_after_accept.c b/test/core/end2end/tests/cancel_after_accept.c index 2025f1191f7a8e7abc840ed30ec0808917ee3be8..fc2a64a6c18a7ef001dc2eb348a8fa971ddbd10a 100644 --- a/test/core/end2end/tests/cancel_after_accept.c +++ b/test/core/end2end/tests/cancel_after_accept.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -233,3 +233,5 @@ void cancel_after_accept(grpc_end2end_test_config config) { test_cancel_after_accept(config, cancellation_modes[i]); } } + +void cancel_after_accept_pre_init(void) {} diff --git a/test/core/end2end/tests/cancel_after_client_done.c b/test/core/end2end/tests/cancel_after_client_done.c index bc958a6ff3c00b82e2e5084eeada6cd0e79c86f2..3bafa8c85fd61417148a7fe4044cfaee0f58568e 100644 --- a/test/core/end2end/tests/cancel_after_client_done.c +++ b/test/core/end2end/tests/cancel_after_client_done.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -237,3 +237,5 @@ void cancel_after_client_done(grpc_end2end_test_config config) { test_cancel_after_accept_and_writes_closed(config, cancellation_modes[i]); } } + +void cancel_after_client_done_pre_init(void) {} diff --git a/test/core/end2end/tests/cancel_after_invoke.c b/test/core/end2end/tests/cancel_after_invoke.c index 5bab10e030ecfd1175b609fce7c0542b1844b3be..fc2751af8e1647b452e5cb50569fe34b4ef69146 100644 --- a/test/core/end2end/tests/cancel_after_invoke.c +++ b/test/core/end2end/tests/cancel_after_invoke.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -199,3 +199,5 @@ void cancel_after_invoke(grpc_end2end_test_config config) { } } } + +void cancel_after_invoke_pre_init(void) {} diff --git a/test/core/end2end/tests/cancel_before_invoke.c b/test/core/end2end/tests/cancel_before_invoke.c index 8c0becd1c85de7c1ff5d2b37867474b29960c198..33005db9e45ffcd4610d7641caed56f266cbcded 100644 --- a/test/core/end2end/tests/cancel_before_invoke.c +++ b/test/core/end2end/tests/cancel_before_invoke.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -194,3 +194,5 @@ void cancel_before_invoke(grpc_end2end_test_config config) { test_cancel_before_invoke(config, i); } } + +void cancel_before_invoke_pre_init(void) {} diff --git a/test/core/end2end/tests/cancel_in_a_vacuum.c b/test/core/end2end/tests/cancel_in_a_vacuum.c index 7bea7d7e6595bcb5a83872a5c12edd75a34a37a7..0c893b5f9efb5ecf95e1213bf0e47216c4fc72a1 100644 --- a/test/core/end2end/tests/cancel_in_a_vacuum.c +++ b/test/core/end2end/tests/cancel_in_a_vacuum.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -127,3 +127,5 @@ void cancel_in_a_vacuum(grpc_end2end_test_config config) { test_cancel_in_a_vacuum(config, cancellation_modes[i]); } } + +void cancel_in_a_vacuum_pre_init(void) {} diff --git a/test/core/end2end/tests/cancel_with_status.c b/test/core/end2end/tests/cancel_with_status.c index e5a155601934df08089b397bab379da270ca0384..c3ee4a6a0eea94ffec52eb3bf768e2043ebe4a6c 100644 --- a/test/core/end2end/tests/cancel_with_status.c +++ b/test/core/end2end/tests/cancel_with_status.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -182,3 +182,5 @@ void cancel_with_status(grpc_end2end_test_config config) { test_invoke_simple_request(config, i); } } + +void cancel_with_status_pre_init(void) {} diff --git a/test/core/end2end/tests/compressed_payload.c b/test/core/end2end/tests/compressed_payload.c index 9c258858cb4c4ce9085df55041dcb8efc847a5dc..589bc314f8e521ce2a0b52752fce9c6ad1a75657 100644 --- a/test/core/end2end/tests/compressed_payload.c +++ b/test/core/end2end/tests/compressed_payload.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -336,3 +336,5 @@ void compressed_payload(grpc_end2end_test_config config) { test_invoke_request_with_compressed_payload(config); test_invoke_request_with_compressed_payload_md_override(config); } + +void compressed_payload_pre_init(void) {} diff --git a/test/core/end2end/tests/connectivity.c b/test/core/end2end/tests/connectivity.c index 975c62073148f2abf33ad3c01230c1062af19f19..5775976b1cbda2eaffac1ecb246804654341afcb 100644 --- a/test/core/end2end/tests/connectivity.c +++ b/test/core/end2end/tests/connectivity.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -172,3 +172,5 @@ void connectivity(grpc_end2end_test_config config) { GPR_ASSERT(config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION); test_connectivity(config); } + +void connectivity_pre_init(void) {} diff --git a/test/core/end2end/tests/default_host.c b/test/core/end2end/tests/default_host.c index 576d81e3953b842ebd3dd8fd84a705cd2ec45e55..44384a783ec2179f007686844a0c26be6d657260 100644 --- a/test/core/end2end/tests/default_host.c +++ b/test/core/end2end/tests/default_host.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -232,3 +232,5 @@ void default_host(grpc_end2end_test_config config) { return; test_invoke_simple_request(config); } + +void default_host_pre_init(void) {} diff --git a/test/core/end2end/tests/disappearing_server.c b/test/core/end2end/tests/disappearing_server.c index 5b2bbaf70cd58eec0048086b48022e6924208a72..03d1ded04cf1654bdad6e02f4c53686cfacdc044 100644 --- a/test/core/end2end/tests/disappearing_server.c +++ b/test/core/end2end/tests/disappearing_server.c @@ -213,3 +213,5 @@ void disappearing_server(grpc_end2end_test_config config) { GPR_ASSERT(config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION); disappearing_server_test(config); } + +void disappearing_server_pre_init(void) {} diff --git a/test/core/end2end/tests/empty_batch.c b/test/core/end2end/tests/empty_batch.c index 7f56313fa0d5794d83aafe60442c54a05e5977a0..c05b91991467d00a7618e088a46aec4c97ed3cf1 100644 --- a/test/core/end2end/tests/empty_batch.c +++ b/test/core/end2end/tests/empty_batch.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -132,3 +132,5 @@ static void test_invoke_empty_body(grpc_end2end_test_config config) { void empty_batch(grpc_end2end_test_config config) { test_invoke_empty_body(config); } + +void empty_batch_pre_init(void) {} diff --git a/test/core/end2end/tests/filter_causes_close.c b/test/core/end2end/tests/filter_causes_close.c new file mode 100644 index 0000000000000000000000000000000000000000..ca54167b2052f410b28291908c469deeca540d37 --- /dev/null +++ b/test/core/end2end/tests/filter_causes_close.c @@ -0,0 +1,289 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include "test/core/end2end/end2end_tests.h" + +#include <stdbool.h> +#include <stdio.h> +#include <string.h> + +#include <grpc/byte_buffer.h> +#include <grpc/support/alloc.h> +#include <grpc/support/log.h> +#include <grpc/support/time.h> +#include <grpc/support/useful.h> +#include "src/core/lib/channel/channel_stack_builder.h" +#include "src/core/lib/surface/channel_init.h" +#include "test/core/end2end/cq_verifier.h" + +enum { TIMEOUT = 200000 }; + +static bool g_enable_filter = false; + +static void *tag(intptr_t t) { return (void *)t; } + +static grpc_end2end_test_fixture begin_test(grpc_end2end_test_config config, + const char *test_name, + grpc_channel_args *client_args, + grpc_channel_args *server_args) { + grpc_end2end_test_fixture f; + gpr_log(GPR_INFO, "%s/%s", test_name, config.name); + f = config.create_fixture(client_args, server_args); + config.init_server(&f, server_args); + config.init_client(&f, client_args); + return f; +} + +static gpr_timespec n_seconds_time(int n) { + return GRPC_TIMEOUT_SECONDS_TO_DEADLINE(n); +} + +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } + +static void drain_cq(grpc_completion_queue *cq) { + grpc_event ev; + do { + ev = grpc_completion_queue_next(cq, five_seconds_time(), NULL); + } while (ev.type != GRPC_QUEUE_SHUTDOWN); +} + +static void shutdown_server(grpc_end2end_test_fixture *f) { + if (!f->server) return; + grpc_server_shutdown_and_notify(f->server, f->cq, tag(1000)); + GPR_ASSERT(grpc_completion_queue_pluck( + f->cq, tag(1000), GRPC_TIMEOUT_SECONDS_TO_DEADLINE(5), NULL) + .type == GRPC_OP_COMPLETE); + grpc_server_destroy(f->server); + f->server = NULL; +} + +static void shutdown_client(grpc_end2end_test_fixture *f) { + if (!f->client) return; + grpc_channel_destroy(f->client); + f->client = NULL; +} + +static void end_test(grpc_end2end_test_fixture *f) { + shutdown_server(f); + shutdown_client(f); + + grpc_completion_queue_shutdown(f->cq); + drain_cq(f->cq); + grpc_completion_queue_destroy(f->cq); +} + +/* Request with a large amount of metadata.*/ +static void test_request(grpc_end2end_test_config config) { + grpc_call *c; + grpc_call *s; + gpr_slice request_payload_slice = gpr_slice_from_copied_string("hello world"); + grpc_byte_buffer *request_payload = + grpc_raw_byte_buffer_create(&request_payload_slice, 1); + gpr_timespec deadline = five_seconds_time(); + grpc_end2end_test_fixture f = + begin_test(config, "filter_causes_close", NULL, NULL); + cq_verifier *cqv = cq_verifier_create(f.cq); + grpc_op ops[6]; + grpc_op *op; + grpc_metadata_array initial_metadata_recv; + grpc_metadata_array trailing_metadata_recv; + grpc_metadata_array request_metadata_recv; + grpc_byte_buffer *request_payload_recv = NULL; + grpc_call_details call_details; + grpc_status_code status; + grpc_call_error error; + char *details = NULL; + size_t details_capacity = 0; + + c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq, + "/foo", "foo.test.google.fr", deadline, NULL); + GPR_ASSERT(c); + + grpc_metadata_array_init(&initial_metadata_recv); + grpc_metadata_array_init(&trailing_metadata_recv); + grpc_metadata_array_init(&request_metadata_recv); + grpc_call_details_init(&call_details); + + op = ops; + op->op = GRPC_OP_SEND_INITIAL_METADATA; + op->data.send_initial_metadata.count = 0; + op->data.send_initial_metadata.metadata = NULL; + op->flags = 0; + op->reserved = NULL; + op++; + op->op = GRPC_OP_SEND_MESSAGE; + op->data.send_message = request_payload; + op->flags = 0; + op->reserved = NULL; + op++; + op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT; + op->flags = 0; + op->reserved = NULL; + op++; + op->op = GRPC_OP_RECV_INITIAL_METADATA; + op->data.recv_initial_metadata = &initial_metadata_recv; + op->flags = 0; + op->reserved = NULL; + op++; + op->op = GRPC_OP_RECV_STATUS_ON_CLIENT; + op->data.recv_status_on_client.trailing_metadata = &trailing_metadata_recv; + op->data.recv_status_on_client.status = &status; + op->data.recv_status_on_client.status_details = &details; + op->data.recv_status_on_client.status_details_capacity = &details_capacity; + op->flags = 0; + op->reserved = NULL; + op++; + error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), NULL); + GPR_ASSERT(GRPC_CALL_OK == error); + + error = + grpc_server_request_call(f.server, &s, &call_details, + &request_metadata_recv, f.cq, f.cq, tag(101)); + GPR_ASSERT(GRPC_CALL_OK == error); + + cq_expect_completion(cqv, tag(1), 1); + cq_verify(cqv); + + GPR_ASSERT(status == GRPC_STATUS_PERMISSION_DENIED); + GPR_ASSERT(0 == strcmp(details, "Random failure that's not preventable.")); + + gpr_free(details); + grpc_metadata_array_destroy(&initial_metadata_recv); + grpc_metadata_array_destroy(&trailing_metadata_recv); + grpc_metadata_array_destroy(&request_metadata_recv); + grpc_call_details_destroy(&call_details); + + grpc_call_destroy(c); + + cq_verifier_destroy(cqv); + + grpc_byte_buffer_destroy(request_payload); + grpc_byte_buffer_destroy(request_payload_recv); + + end_test(&f); + config.tear_down_data(&f); +} + +/******************************************************************************* + * Test filter - always closes incoming requests + */ + +typedef struct { grpc_closure *recv_im_ready; } call_data; + +typedef struct { uint8_t unused; } channel_data; + +static void recv_im_ready(grpc_exec_ctx *exec_ctx, void *arg, bool success) { + grpc_call_element *elem = arg; + call_data *calld = elem->call_data; + if (success) { + // close the stream with an error. + gpr_slice message; + grpc_transport_stream_op close_op; + memset(&close_op, 0, sizeof(close_op)); + message = + gpr_slice_from_copied_string("Random failure that's not preventable."); + grpc_transport_stream_op op; + memset(&op, 0, sizeof(op)); + grpc_transport_stream_op_add_close(&op, GRPC_STATUS_PERMISSION_DENIED, + &message); + grpc_call_next_op(exec_ctx, elem, &op); + } + calld->recv_im_ready->cb(exec_ctx, calld->recv_im_ready->cb_arg, false); +} + +static void start_transport_stream_op(grpc_exec_ctx *exec_ctx, + grpc_call_element *elem, + grpc_transport_stream_op *op) { + call_data *calld = elem->call_data; + if (op->recv_initial_metadata != NULL) { + calld->recv_im_ready = op->recv_initial_metadata_ready; + op->recv_initial_metadata_ready = grpc_closure_create(recv_im_ready, elem); + } + grpc_call_next_op(exec_ctx, elem, op); +} + +static void init_call_elem(grpc_exec_ctx *exec_ctx, grpc_call_element *elem, + grpc_call_element_args *args) {} + +static void destroy_call_elem(grpc_exec_ctx *exec_ctx, + grpc_call_element *elem) {} + +static void init_channel_elem(grpc_exec_ctx *exec_ctx, + grpc_channel_element *elem, + grpc_channel_element_args *args) {} + +static void destroy_channel_elem(grpc_exec_ctx *exec_ctx, + grpc_channel_element *elem) {} + +static const grpc_channel_filter test_filter = { + start_transport_stream_op, + grpc_channel_next_op, + sizeof(call_data), + init_call_elem, + grpc_call_stack_ignore_set_pollset, + destroy_call_elem, + sizeof(channel_data), + init_channel_elem, + destroy_channel_elem, + grpc_call_next_get_peer, + "filter_causes_close"}; + +/******************************************************************************* + * Registration + */ + +static bool maybe_add_filter(grpc_channel_stack_builder *builder, void *arg) { + if (g_enable_filter) { + return grpc_channel_stack_builder_prepend_filter(builder, &test_filter, + NULL, NULL); + } else { + return true; + } +} + +static void init_plugin(void) { + grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, 0, maybe_add_filter, + NULL); +} + +static void destroy_plugin(void) {} + +void filter_causes_close(grpc_end2end_test_config config) { + g_enable_filter = true; + test_request(config); + g_enable_filter = false; +} + +void filter_causes_close_pre_init(void) { + grpc_register_plugin(init_plugin, destroy_plugin); +} diff --git a/test/core/end2end/tests/graceful_server_shutdown.c b/test/core/end2end/tests/graceful_server_shutdown.c index cc6a9d44f8acd03be2f58ccb43ef0bbd3367e6de..26198f3bdfc3ebcbcc9aac9c2cf73b55eb7e0a43 100644 --- a/test/core/end2end/tests/graceful_server_shutdown.c +++ b/test/core/end2end/tests/graceful_server_shutdown.c @@ -210,3 +210,5 @@ static void test_early_server_shutdown_finishes_inflight_calls( void graceful_server_shutdown(grpc_end2end_test_config config) { test_early_server_shutdown_finishes_inflight_calls(config); } + +void graceful_server_shutdown_pre_init(void) {} diff --git a/test/core/end2end/tests/high_initial_seqno.c b/test/core/end2end/tests/high_initial_seqno.c index 2196fbd343b09ad26a3a1b06a4faa3d79bc6970c..374606dcb73cdbd2cafc0d8a79d4565407dc572a 100644 --- a/test/core/end2end/tests/high_initial_seqno.c +++ b/test/core/end2end/tests/high_initial_seqno.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -237,3 +237,5 @@ void high_initial_seqno(grpc_end2end_test_config config) { test_invoke_10_simple_requests(config, 2147483645); } } + +void high_initial_seqno_pre_init(void) {} diff --git a/test/core/end2end/tests/hpack_size.c b/test/core/end2end/tests/hpack_size.c index 2774e5062775abbb380259b6b15ad41562cf53de..07d5d387b4c7166de9e38ce9ca1d02147d23e51d 100644 --- a/test/core/end2end/tests/hpack_size.c +++ b/test/core/end2end/tests/hpack_size.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -444,3 +444,5 @@ void hpack_size(grpc_end2end_test_config config) { } } } + +void hpack_size_pre_init(void) {} diff --git a/test/core/end2end/tests/idempotent_request.c b/test/core/end2end/tests/idempotent_request.c new file mode 100644 index 0000000000000000000000000000000000000000..e53f3b2aaa833842229711fbcbbc8a59509543b4 --- /dev/null +++ b/test/core/end2end/tests/idempotent_request.c @@ -0,0 +1,250 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include "test/core/end2end/end2end_tests.h" + +#include <stdio.h> +#include <string.h> + +#include <grpc/byte_buffer.h> +#include <grpc/grpc.h> +#include <grpc/support/alloc.h> +#include <grpc/support/log.h> +#include <grpc/support/time.h> +#include <grpc/support/useful.h> +#include "src/core/lib/support/string.h" +#include "test/core/end2end/cq_verifier.h" + +enum { TIMEOUT = 200000 }; + +static void *tag(intptr_t t) { return (void *)t; } + +static grpc_end2end_test_fixture begin_test(grpc_end2end_test_config config, + const char *test_name, + grpc_channel_args *client_args, + grpc_channel_args *server_args) { + grpc_end2end_test_fixture f; + gpr_log(GPR_INFO, "%s/%s", test_name, config.name); + f = config.create_fixture(client_args, server_args); + config.init_server(&f, server_args); + config.init_client(&f, client_args); + return f; +} + +static gpr_timespec n_seconds_time(int n) { + return GRPC_TIMEOUT_SECONDS_TO_DEADLINE(n); +} + +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } + +static void drain_cq(grpc_completion_queue *cq) { + grpc_event ev; + do { + ev = grpc_completion_queue_next(cq, five_seconds_time(), NULL); + } while (ev.type != GRPC_QUEUE_SHUTDOWN); +} + +static void shutdown_server(grpc_end2end_test_fixture *f) { + if (!f->server) return; + grpc_server_shutdown_and_notify(f->server, f->cq, tag(1000)); + GPR_ASSERT(grpc_completion_queue_pluck( + f->cq, tag(1000), GRPC_TIMEOUT_SECONDS_TO_DEADLINE(5), NULL) + .type == GRPC_OP_COMPLETE); + grpc_server_destroy(f->server); + f->server = NULL; +} + +static void shutdown_client(grpc_end2end_test_fixture *f) { + if (!f->client) return; + grpc_channel_destroy(f->client); + f->client = NULL; +} + +static void end_test(grpc_end2end_test_fixture *f) { + shutdown_server(f); + shutdown_client(f); + + grpc_completion_queue_shutdown(f->cq); + drain_cq(f->cq); + grpc_completion_queue_destroy(f->cq); +} + +static void simple_request_body(grpc_end2end_test_fixture f) { + grpc_call *c; + grpc_call *s; + gpr_timespec deadline = five_seconds_time(); + cq_verifier *cqv = cq_verifier_create(f.cq); + grpc_op ops[6]; + grpc_op *op; + grpc_metadata_array initial_metadata_recv; + grpc_metadata_array trailing_metadata_recv; + grpc_metadata_array request_metadata_recv; + grpc_call_details call_details; + grpc_status_code status; + grpc_call_error error; + char *details = NULL; + size_t details_capacity = 0; + int was_cancelled = 2; + char *peer; + + c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq, + "/foo", "foo.test.google.fr:1234", deadline, + NULL); + GPR_ASSERT(c); + + peer = grpc_call_get_peer(c); + GPR_ASSERT(peer != NULL); + gpr_log(GPR_DEBUG, "client_peer_before_call=%s", peer); + gpr_free(peer); + + grpc_metadata_array_init(&initial_metadata_recv); + grpc_metadata_array_init(&trailing_metadata_recv); + grpc_metadata_array_init(&request_metadata_recv); + grpc_call_details_init(&call_details); + + op = ops; + op->op = GRPC_OP_SEND_INITIAL_METADATA; + op->data.send_initial_metadata.count = 0; + op->flags = GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST; + op->reserved = NULL; + op++; + op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT; + op->flags = 0; + op->reserved = NULL; + op++; + op->op = GRPC_OP_RECV_INITIAL_METADATA; + op->data.recv_initial_metadata = &initial_metadata_recv; + op->flags = 0; + op->reserved = NULL; + op++; + op->op = GRPC_OP_RECV_STATUS_ON_CLIENT; + op->data.recv_status_on_client.trailing_metadata = &trailing_metadata_recv; + op->data.recv_status_on_client.status = &status; + op->data.recv_status_on_client.status_details = &details; + op->data.recv_status_on_client.status_details_capacity = &details_capacity; + op->flags = 0; + op->reserved = NULL; + op++; + error = grpc_call_start_batch(c, ops, (size_t)(op - ops), tag(1), NULL); + GPR_ASSERT(GRPC_CALL_OK == error); + + error = + grpc_server_request_call(f.server, &s, &call_details, + &request_metadata_recv, f.cq, f.cq, tag(101)); + GPR_ASSERT(GRPC_CALL_OK == error); + cq_expect_completion(cqv, tag(101), 1); + cq_verify(cqv); + + peer = grpc_call_get_peer(s); + GPR_ASSERT(peer != NULL); + gpr_log(GPR_DEBUG, "server_peer=%s", peer); + gpr_free(peer); + peer = grpc_call_get_peer(c); + GPR_ASSERT(peer != NULL); + gpr_log(GPR_DEBUG, "client_peer=%s", peer); + gpr_free(peer); + + op = ops; + op->op = GRPC_OP_SEND_INITIAL_METADATA; + op->data.send_initial_metadata.count = 0; + op->flags = 0; + op->reserved = NULL; + op++; + op->op = GRPC_OP_SEND_STATUS_FROM_SERVER; + op->data.send_status_from_server.trailing_metadata_count = 0; + op->data.send_status_from_server.status = GRPC_STATUS_UNIMPLEMENTED; + op->data.send_status_from_server.status_details = "xyz"; + op->flags = 0; + op->reserved = NULL; + op++; + op->op = GRPC_OP_RECV_CLOSE_ON_SERVER; + op->data.recv_close_on_server.cancelled = &was_cancelled; + op->flags = 0; + op->reserved = NULL; + op++; + error = grpc_call_start_batch(s, ops, (size_t)(op - ops), tag(102), NULL); + GPR_ASSERT(GRPC_CALL_OK == error); + + cq_expect_completion(cqv, tag(102), 1); + cq_expect_completion(cqv, tag(1), 1); + cq_verify(cqv); + + GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED); + GPR_ASSERT(0 == strcmp(details, "xyz")); + GPR_ASSERT(0 == strcmp(call_details.method, "/foo")); + GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.fr:1234")); + GPR_ASSERT(GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST == call_details.flags); + GPR_ASSERT(was_cancelled == 1); + + gpr_free(details); + grpc_metadata_array_destroy(&initial_metadata_recv); + grpc_metadata_array_destroy(&trailing_metadata_recv); + grpc_metadata_array_destroy(&request_metadata_recv); + grpc_call_details_destroy(&call_details); + + grpc_call_destroy(c); + grpc_call_destroy(s); + + cq_verifier_destroy(cqv); +} + +static void test_invoke_simple_request(grpc_end2end_test_config config) { + grpc_end2end_test_fixture f; + + f = begin_test(config, "test_invoke_simple_request", NULL, NULL); + simple_request_body(f); + end_test(&f); + config.tear_down_data(&f); +} + +static void test_invoke_10_simple_requests(grpc_end2end_test_config config) { + int i; + grpc_end2end_test_fixture f = + begin_test(config, "test_invoke_10_simple_requests", NULL, NULL); + for (i = 0; i < 10; i++) { + simple_request_body(f); + gpr_log(GPR_INFO, "Passed simple request %d", i); + } + end_test(&f); + config.tear_down_data(&f); +} + +void idempotent_request(grpc_end2end_test_config config) { + int i; + for (i = 0; i < 10; i++) { + test_invoke_simple_request(config); + } + test_invoke_10_simple_requests(config); +} + +void idempotent_request_pre_init(void) {} diff --git a/test/core/end2end/tests/invoke_large_request.c b/test/core/end2end/tests/invoke_large_request.c index 7f03ebbc6fcc2276dc4e3470eb82beb03d8a3e39..6410305451a99389eaafadc50455b7c564efdad6 100644 --- a/test/core/end2end/tests/invoke_large_request.c +++ b/test/core/end2end/tests/invoke_large_request.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -254,3 +254,5 @@ static void test_invoke_large_request(grpc_end2end_test_config config) { void invoke_large_request(grpc_end2end_test_config config) { test_invoke_large_request(config); } + +void invoke_large_request_pre_init(void) {} diff --git a/test/core/end2end/tests/large_metadata.c b/test/core/end2end/tests/large_metadata.c index 4b7797447044124de9b5bf4bbcd9c7fb8ac0aa25..0e5d6b4fe012a2d87144141823f5db179e3d181f 100644 --- a/test/core/end2end/tests/large_metadata.c +++ b/test/core/end2end/tests/large_metadata.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -245,3 +245,5 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) { void large_metadata(grpc_end2end_test_config config) { test_request_with_large_metadata(config); } + +void large_metadata_pre_init(void) {} diff --git a/test/core/end2end/tests/max_concurrent_streams.c b/test/core/end2end/tests/max_concurrent_streams.c index 05472bf19e5b09741edbdb3197481ac99e668e82..1bb53073cb0617f968f8004c1164691e800d39b3 100644 --- a/test/core/end2end/tests/max_concurrent_streams.c +++ b/test/core/end2end/tests/max_concurrent_streams.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -436,3 +436,5 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) { void max_concurrent_streams(grpc_end2end_test_config config) { test_max_concurrent_streams(config); } + +void max_concurrent_streams_pre_init(void) {} diff --git a/test/core/end2end/tests/max_message_length.c b/test/core/end2end/tests/max_message_length.c index 2202306325c5e714344072f1aa3dc5197bfaea9d..b5dbc1382a84268ada53ffe4b2aed5c20d5f552a 100644 --- a/test/core/end2end/tests/max_message_length.c +++ b/test/core/end2end/tests/max_message_length.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -221,3 +221,5 @@ static void test_max_message_length(grpc_end2end_test_config config) { void max_message_length(grpc_end2end_test_config config) { test_max_message_length(config); } + +void max_message_length_pre_init(void) {} diff --git a/test/core/end2end/tests/negative_deadline.c b/test/core/end2end/tests/negative_deadline.c index e5031af59aa9f76808585c9b6ee8253475259c6f..03e57a90f6f91005c77918ac660b6683a923152e 100644 --- a/test/core/end2end/tests/negative_deadline.c +++ b/test/core/end2end/tests/negative_deadline.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -179,3 +179,5 @@ void negative_deadline(grpc_end2end_test_config config) { test_invoke_simple_request(config, i); } } + +void negative_deadline_pre_init(void) {} diff --git a/test/core/end2end/tests/no_op.c b/test/core/end2end/tests/no_op.c index efcd496071d943e87ba89de5531e1a8c1734cf2b..284be7af2ae27e0b2aa9fc6b44d8605cfb1564df 100644 --- a/test/core/end2end/tests/no_op.c +++ b/test/core/end2end/tests/no_op.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -104,3 +104,5 @@ static void test_no_op(grpc_end2end_test_config config) { } void no_op(grpc_end2end_test_config config) { test_no_op(config); } + +void no_op_pre_init(void) {} diff --git a/test/core/end2end/tests/payload.c b/test/core/end2end/tests/payload.c index 74af28ddc3ccaf9312fad0a4b56955f33483dd9f..bdfb1354068e9544360e872637d34b9f96e1ba94 100644 --- a/test/core/end2end/tests/payload.c +++ b/test/core/end2end/tests/payload.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -268,3 +268,5 @@ void payload(grpc_end2end_test_config config) { test_invoke_request_response_with_payload(config); test_invoke_10_request_response_with_payload(config); } + +void payload_pre_init(void) {} diff --git a/test/core/end2end/tests/ping.c b/test/core/end2end/tests/ping.c index f85df63de7907db8b8ef9b6b7d5ac340b6a5edbf..d49bec983be98de5cf94d5b06653421ef44feb97 100644 --- a/test/core/end2end/tests/ping.c +++ b/test/core/end2end/tests/ping.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -95,3 +95,5 @@ void ping(grpc_end2end_test_config config) { GPR_ASSERT(config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION); test_ping(config); } + +void ping_pre_init(void) {} diff --git a/test/core/end2end/tests/ping_pong_streaming.c b/test/core/end2end/tests/ping_pong_streaming.c index 7af01497c58e3195b1cd3f67b0481d6ba94e635f..15e1c6e338a75bfae865fc2b1e966e22b75d795c 100644 --- a/test/core/end2end/tests/ping_pong_streaming.c +++ b/test/core/end2end/tests/ping_pong_streaming.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -275,3 +275,5 @@ void ping_pong_streaming(grpc_end2end_test_config config) { test_pingpong_streaming(config, i); } } + +void ping_pong_streaming_pre_init(void) {} diff --git a/test/core/end2end/tests/registered_call.c b/test/core/end2end/tests/registered_call.c index 09f452f6e5cc5e2dfbcee93278e598caa44d57af..3c4edbae7dc2a20a08beb1c8a6d4ff7bc7d7dda8 100644 --- a/test/core/end2end/tests/registered_call.c +++ b/test/core/end2end/tests/registered_call.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -231,3 +231,5 @@ void registered_call(grpc_end2end_test_config config) { test_invoke_simple_request(config); test_invoke_10_simple_requests(config); } + +void registered_call_pre_init(void) {} diff --git a/test/core/end2end/tests/request_with_flags.c b/test/core/end2end/tests/request_with_flags.c index 433622e2dad0238c081f2966ccafd56d4223a975..779895b97014faee9e1a94e186feef026a7d9eaa 100644 --- a/test/core/end2end/tests/request_with_flags.c +++ b/test/core/end2end/tests/request_with_flags.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -214,3 +214,5 @@ void request_with_flags(grpc_end2end_test_config config) { } } } + +void request_with_flags_pre_init(void) {} diff --git a/test/core/end2end/tests/request_with_payload.c b/test/core/end2end/tests/request_with_payload.c index 07f9993d2410d48e27542486d22e0fc9bf76eead..77064040909c0369000f93f935544b21e6178c9f 100644 --- a/test/core/end2end/tests/request_with_payload.c +++ b/test/core/end2end/tests/request_with_payload.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -232,3 +232,5 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) { void request_with_payload(grpc_end2end_test_config config) { test_invoke_request_with_payload(config); } + +void request_with_payload_pre_init(void) {} diff --git a/test/core/end2end/tests/server_finishes_request.c b/test/core/end2end/tests/server_finishes_request.c index d3ac2d5d6133f070ec4a7c8447e895bd2313e8f2..a4f5319e5b4fabd890d18fd100c0313fb5041dc4 100644 --- a/test/core/end2end/tests/server_finishes_request.c +++ b/test/core/end2end/tests/server_finishes_request.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -210,3 +210,5 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) { void server_finishes_request(grpc_end2end_test_config config) { test_invoke_simple_request(config); } + +void server_finishes_request_pre_init(void) {} diff --git a/test/core/end2end/tests/shutdown_finishes_calls.c b/test/core/end2end/tests/shutdown_finishes_calls.c index b56ba464b9b9dd4752131a819b7010cbaf9ce2bc..80287cd507adff5b3170b7dd9cbe750c51919b24 100644 --- a/test/core/end2end/tests/shutdown_finishes_calls.c +++ b/test/core/end2end/tests/shutdown_finishes_calls.c @@ -192,3 +192,5 @@ static void test_early_server_shutdown_finishes_inflight_calls( void shutdown_finishes_calls(grpc_end2end_test_config config) { test_early_server_shutdown_finishes_inflight_calls(config); } + +void shutdown_finishes_calls_pre_init(void) {} diff --git a/test/core/end2end/tests/shutdown_finishes_tags.c b/test/core/end2end/tests/shutdown_finishes_tags.c index 4a060de716b23cb1de0b4b9a5d3a810759501bca..b1f3c94562a84eae6b05d17949508adce33c3927 100644 --- a/test/core/end2end/tests/shutdown_finishes_tags.c +++ b/test/core/end2end/tests/shutdown_finishes_tags.c @@ -119,3 +119,5 @@ static void test_early_server_shutdown_finishes_tags( void shutdown_finishes_tags(grpc_end2end_test_config config) { test_early_server_shutdown_finishes_tags(config); } + +void shutdown_finishes_tags_pre_init(void) {} diff --git a/test/core/end2end/tests/simple_delayed_request.c b/test/core/end2end/tests/simple_delayed_request.c index e9f5a38c76314057bdaa929ebdceb922eb41b1b4..400b3a00274725c06c8d4c758a12be60493f5370 100644 --- a/test/core/end2end/tests/simple_delayed_request.c +++ b/test/core/end2end/tests/simple_delayed_request.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -120,7 +120,7 @@ static void simple_delayed_request_body(grpc_end2end_test_config config, op = ops; op->op = GRPC_OP_SEND_INITIAL_METADATA; op->data.send_initial_metadata.count = 0; - op->flags = 0; + op->flags = GRPC_INITIAL_METADATA_IGNORE_CONNECTIVITY; op->reserved = NULL; op++; op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT; @@ -221,3 +221,5 @@ void simple_delayed_request(grpc_end2end_test_config config) { test_simple_delayed_request_short(config); test_simple_delayed_request_long(config); } + +void simple_delayed_request_pre_init(void) {} diff --git a/test/core/end2end/tests/simple_metadata.c b/test/core/end2end/tests/simple_metadata.c index 0e214e3770b2838155923280007b9b8e1a492887..707b3c9512c305c358bacb52e02c1684287138ac 100644 --- a/test/core/end2end/tests/simple_metadata.c +++ b/test/core/end2end/tests/simple_metadata.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -263,3 +263,5 @@ static void test_request_response_with_metadata_and_payload( void simple_metadata(grpc_end2end_test_config config) { test_request_response_with_metadata_and_payload(config); } + +void simple_metadata_pre_init(void) {} diff --git a/test/core/end2end/tests/simple_request.c b/test/core/end2end/tests/simple_request.c index bc634ef83a22a267eddd21bf471b1c56c948d2e3..42108425e6f1bac98c2251a4d0fe77993ee143f2 100644 --- a/test/core/end2end/tests/simple_request.c +++ b/test/core/end2end/tests/simple_request.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -203,6 +203,7 @@ static void simple_request_body(grpc_end2end_test_fixture f) { GPR_ASSERT(0 == strcmp(details, "xyz")); GPR_ASSERT(0 == strcmp(call_details.method, "/foo")); GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.fr:1234")); + GPR_ASSERT(0 == call_details.flags); GPR_ASSERT(was_cancelled == 1); gpr_free(details); @@ -245,3 +246,5 @@ void simple_request(grpc_end2end_test_config config) { } test_invoke_10_simple_requests(config); } + +void simple_request_pre_init(void) {} diff --git a/test/core/end2end/tests/trailing_metadata.c b/test/core/end2end/tests/trailing_metadata.c index 03f4f3e79ba5a304703ae889e4f33ffe2e3b29a0..4dd8c12cba94430c99f37bb0004eabeeb7b83c90 100644 --- a/test/core/end2end/tests/trailing_metadata.c +++ b/test/core/end2end/tests/trailing_metadata.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -268,3 +268,5 @@ static void test_request_response_with_metadata_and_payload( void trailing_metadata(grpc_end2end_test_config config) { test_request_response_with_metadata_and_payload(config); } + +void trailing_metadata_pre_init(void) {} diff --git a/test/core/fling/client.c b/test/core/fling/client.c index 6a4eb1c6e311602cd70f500cfe434f97fe9015af..81562277ec0db83cc4d0302a58bc7b727f365633 100644 --- a/test/core/fling/client.c +++ b/test/core/fling/client.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/fling/fling_stream_test.c b/test/core/fling/fling_stream_test.c index 2807504976d9376130d5f909dd140180e80eefad..7e4daaa84fe734ec494d3787e45bde6e69cfff83 100644 --- a/test/core/fling/fling_stream_test.c +++ b/test/core/fling/fling_stream_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/fling/fling_test.c b/test/core/fling/fling_test.c index 46456a2901b078bcf5e29e2c2fd99923d895ea16..6663ad3507306998575e6cc6dac99279779df393 100644 --- a/test/core/fling/fling_test.c +++ b/test/core/fling/fling_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/fling/server.c b/test/core/fling/server.c index 4fef21f51d8ff58a4e5f4d8eddd48def153c7b34..fd446f1128e20fafdf6dab5fbfd79e2eead76c40 100644 --- a/test/core/fling/server.c +++ b/test/core/fling/server.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/http/corpus/3787bcc22ef645e665cc5f722b8a633af86de9cf b/test/core/http/corpus/3787bcc22ef645e665cc5f722b8a633af86de9cf new file mode 100644 index 0000000000000000000000000000000000000000..4efa386f3b586308f3cb066bcf912b5edbb43cb1 --- /dev/null +++ b/test/core/http/corpus/3787bcc22ef645e665cc5f722b8a633af86de9cf @@ -0,0 +1,9 @@ +HTTP/1.1 200 OKH TTP/16.1 200 OK +tesH +tHTTP/00.021 :Oe¶,H +test: h!eHTTP/1.1 200 OKH +llo + +abcdtH +TTP/01.021 : Oes,H +tes \ No newline at end of file diff --git a/test/core/http/corpus/ae8ba95d7dbe99926a8f5bfd80347fd6a4b616a0 b/test/core/http/corpus/ae8ba95d7dbe99926a8f5bfd80347fd6a4b616a0 new file mode 100644 index 0000000000000000000000000000000000000000..6075d0a5d7a21f6832fcae80b8e5945b082c3766 --- /dev/null +++ b/test/core/http/corpus/ae8ba95d7dbe99926a8f5bfd80347fd6a4b616a0 @@ -0,0 +1,17 @@ +HTTP/1.1 200 OKH TTP/16.1 200 OK +tesH +tHHTTP/1.1 20TTP/00.021 :Oe¶,H +test: h!eHTTP/1.1 200 OKH +llo + +abcdtH +TTP/01.021 : Oes,0 OKH TTP/16.1 200 OK +tesH +tHTTP/00.021 :Oe¶,H +test: h!eHTTP/1.1 200 OKH +llo + +abcdtH +TTP/01.021 : Oes,H +Ht +teses \ No newline at end of file diff --git a/test/core/http/corpus/d39c8ee11a697634a09b309460c0bbd967e7effa b/test/core/http/corpus/d39c8ee11a697634a09b309460c0bbd967e7effa new file mode 100644 index 0000000000000000000000000000000000000000..e241a0c01c122bcc2d31213b84d5ce1b54290739 --- /dev/null +++ b/test/core/http/corpus/d39c8ee11a697634a09b309460c0bbd967e7effa @@ -0,0 +1,17 @@ +HTTP/1.1 200 OKH TTP/16.1 200 OK +tesHTTP/1.1 200 OKH TTP/16.1 200 OK +tesH +tHTTP/00.021 :Oe¶,H +test: h!eHTTP/1.1 200H +tHTTP/00.010 :Oe¶,H +test: h!eHTTP/1.… 200 OKH +llo + +abcdtH +TTP/01.02 : Oes,H OKH +llo + +abcdtH +TTP/01.021 : Oes , +H +tteess \ No newline at end of file diff --git a/test/core/http/format_request_test.c b/test/core/http/format_request_test.c index a676420b706bc5f90e2e8a46f03de4c48d639766..0d21e1200b1231e736261523d8f8e0e92dd7f034 100644 --- a/test/core/http/format_request_test.c +++ b/test/core/http/format_request_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/http/fuzzer.c b/test/core/http/fuzzer.c index bab846d72200c7938062dd8ab9a03d41f73eccf1..7e4f4eb993d1db9201aa9e9e4fc53d4d393cf989 100644 --- a/test/core/http/fuzzer.c +++ b/test/core/http/fuzzer.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/http/httpcli_test.c b/test/core/http/httpcli_test.c index 1fdbcd080012ca2c7b0532bbe70ccd90403ce3c0..d3a68d0eb8758f722cd7ff4092f2b725567b43ff 100644 --- a/test/core/http/httpcli_test.c +++ b/test/core/http/httpcli_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/http/httpscli_test.c b/test/core/http/httpscli_test.c index 71db3e72bfec311458d3170644fd4f4ac9cdb3ce..d807336904603b236f10ae0625cc630e574416ab 100644 --- a/test/core/http/httpscli_test.c +++ b/test/core/http/httpscli_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/http/parser_test.c b/test/core/http/parser_test.c index 149919d095393d8d5615d4b4e9402ff170c99a1f..10936754d9625ad37a99a239d4f08ba356d0a4a6 100644 --- a/test/core/http/parser_test.c +++ b/test/core/http/parser_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/http/test_server.py b/test/core/http/test_server.py index 9f8d052ceada646fc27b5feb10e9e3916e132443..86c2fe96bf9c2c66bf2843a49add7ae7049db62d 100755 --- a/test/core/http/test_server.py +++ b/test/core/http/test_server.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/test/core/internal_api_canaries/iomgr.c b/test/core/internal_api_canaries/iomgr.c new file mode 100644 index 0000000000000000000000000000000000000000..f87a80cd90c918806bf7afae95b9d1f34fb2a40c --- /dev/null +++ b/test/core/internal_api_canaries/iomgr.c @@ -0,0 +1,115 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include "src/core/lib/iomgr/iomgr.h" +#include "src/core/lib/iomgr/closure.h" +#include "src/core/lib/iomgr/endpoint.h" +#include "src/core/lib/iomgr/exec_ctx.h" +#include "src/core/lib/iomgr/executor.h" + +/******************************************************************************* + * NOTE: If this test fails to compile, then the api changes are likely to cause + * merge failures downstream. Please pay special attention to reviewing + * these changes, and solicit help as appropriate when merging downstream. + * + * This test is NOT expected to be run directly. + ******************************************************************************/ + +static void test_code(void) { + /* iomgr.h */ + grpc_iomgr_init(); + grpc_iomgr_shutdown(); + + /* closure.h */ + grpc_closure closure; + closure.cb = NULL; + closure.cb_arg = NULL; + closure.final_data = 0; + + grpc_closure_list closure_list = GRPC_CLOSURE_LIST_INIT; + closure_list.head = NULL; + closure_list.tail = NULL; + + grpc_closure_init(&closure, NULL, NULL); + + grpc_closure_create(NULL, NULL); + + grpc_closure_list_move(NULL, NULL); + grpc_closure_list_add(NULL, NULL, true); + bool x = grpc_closure_list_empty(closure_list); + grpc_closure_next(&closure); + + /* exec_ctx.h */ + grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + grpc_exec_ctx_flush(&exec_ctx); + grpc_exec_ctx_finish(&exec_ctx); + grpc_exec_ctx_enqueue(&exec_ctx, &closure, x, NULL); + grpc_exec_ctx_enqueue_list(&exec_ctx, &closure_list, NULL); + + /* endpoint.h */ + grpc_endpoint endpoint; + grpc_endpoint_vtable vtable = { + grpc_endpoint_read, grpc_endpoint_write, + grpc_endpoint_add_to_pollset, grpc_endpoint_add_to_pollset_set, + grpc_endpoint_shutdown, grpc_endpoint_destroy, + grpc_endpoint_get_peer}; + endpoint.vtable = &vtable; + + grpc_endpoint_read(&exec_ctx, &endpoint, NULL, NULL); + grpc_endpoint_get_peer(&endpoint); + grpc_endpoint_write(&exec_ctx, &endpoint, NULL, NULL); + grpc_endpoint_shutdown(&exec_ctx, &endpoint); + grpc_endpoint_destroy(&exec_ctx, &endpoint); + grpc_endpoint_add_to_pollset(&exec_ctx, &endpoint, NULL); + grpc_endpoint_add_to_pollset_set(&exec_ctx, &endpoint, NULL); + + /* executor.h */ + grpc_executor_init(); + grpc_executor_enqueue(&closure, x); + grpc_executor_shutdown(); + + /* pollset.h */ + grpc_pollset_size(); + grpc_pollset_init(NULL, NULL); + grpc_pollset_shutdown(NULL, NULL, NULL); + grpc_pollset_reset(NULL); + grpc_pollset_destroy(NULL); + grpc_pollset_work(NULL, NULL, NULL, gpr_now(GPR_CLOCK_REALTIME), + gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_pollset_kick(NULL, NULL); +} + +int main(void) { + if (false) test_code(); + return 0; +} diff --git a/test/core/internal_api_canaries/support.c b/test/core/internal_api_canaries/support.c new file mode 100644 index 0000000000000000000000000000000000000000..c51cbf2522c581996d004f823f5f6812fc1c8e49 --- /dev/null +++ b/test/core/internal_api_canaries/support.c @@ -0,0 +1,58 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/******************************************************************************* + * NOTE: If this test fails to compile, then the api changes are likely to cause + * merge failures downstream. Please pay special attention to reviewing + * these changes, and solicit help as appropriate when merging downstream. + * + * This test is NOT expected to be run directly. + ******************************************************************************/ + +#include "src/core/lib/support/env.h" +#include "src/core/lib/support/load_file.h" +#include "src/core/lib/support/tmpfile.h" + +static void test_code(void) { + /* env.h */ + gpr_set_env("abc", gpr_getenv("xyz")); + /* load_file.h */ + gpr_load_file("abc", 1, NULL); + /* tmpfile.h */ + fclose(gpr_tmpfile("foo", NULL)); +} + +int main(void) { + if (false) test_code(); + return 0; +} diff --git a/test/core/internal_api_canaries/transport.c b/test/core/internal_api_canaries/transport.c new file mode 100644 index 0000000000000000000000000000000000000000..061786541235b5544a54c936b2577bb5867e215f --- /dev/null +++ b/test/core/internal_api_canaries/transport.c @@ -0,0 +1,81 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/******************************************************************************* + * NOTE: If this test fails to compile, then the api changes are likely to cause + * merge failures downstream. Please pay special attention to reviewing + * these changes, and solicit help as appropriate when merging downstream. + * + * This test is NOT expected to be run directly. + ******************************************************************************/ + +#include "src/core/lib/transport/transport.h" +#include "src/core/lib/transport/transport_impl.h" + +static void test_code(void) { + /* transport_impl.h */ + grpc_transport transport; + grpc_transport_vtable vtable = {12345, + grpc_transport_init_stream, + grpc_transport_set_pollset, + grpc_transport_perform_stream_op, + grpc_transport_perform_op, + grpc_transport_destroy_stream, + grpc_transport_destroy, + grpc_transport_get_peer}; + transport.vtable = &vtable; + + /* transport.h */ + GRPC_STREAM_REF_INIT(NULL, 0, NULL, NULL, "xyz"); + GPR_ASSERT(0 == grpc_transport_stream_size(NULL)); + GPR_ASSERT(grpc_transport_init_stream(&transport, NULL, NULL, NULL, NULL)); + grpc_transport_set_pollset(&transport, NULL, NULL, NULL); + grpc_transport_destroy_stream(&transport, NULL, NULL); + grpc_transport_stream_op_finish_with_failure(NULL, NULL); + grpc_transport_stream_op_add_cancellation(NULL, GRPC_STATUS_UNAVAILABLE); + grpc_transport_stream_op_add_close(NULL, GRPC_STATUS_UNAVAILABLE, + grpc_transport_op_string(NULL)); + grpc_transport_perform_stream_op(&transport, NULL, NULL, NULL); + grpc_transport_perform_op(&transport, NULL, NULL); + grpc_transport_ping(&transport, NULL); + grpc_transport_goaway(&transport, GRPC_STATUS_UNAVAILABLE, + gpr_slice_malloc(0)); + grpc_transport_close(&transport); + grpc_transport_destroy(&transport, NULL); + GPR_ASSERT("xyz" == grpc_transport_get_peer(&transport, NULL)); +} + +int main(void) { + if (false) test_code(); + return 0; +} diff --git a/test/core/iomgr/endpoint_pair_test.c b/test/core/iomgr/endpoint_pair_test.c index a91a9a70843efcae213036b483eec520b2d4f96b..0df94a878f00100252d5248e6576959f43caa6ad 100644 --- a/test/core/iomgr/endpoint_pair_test.c +++ b/test/core/iomgr/endpoint_pair_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,14 +31,12 @@ * */ -#include "src/core/lib/iomgr/tcp_posix.h" - +#include "src/core/lib/iomgr/endpoint_pair.h" #include <grpc/grpc.h> #include <grpc/support/alloc.h> #include <grpc/support/log.h> #include <grpc/support/time.h> #include <grpc/support/useful.h> -#include "src/core/lib/iomgr/endpoint_pair.h" #include "test/core/iomgr/endpoint_tests.h" #include "test/core/util/test_config.h" diff --git a/test/core/iomgr/endpoint_tests.c b/test/core/iomgr/endpoint_tests.c index f689e4ba7fb336daf3c40c68e44b4148436930ca..9b3b0336245dc6b73e9195a265bbc5a1004a6138 100644 --- a/test/core/iomgr/endpoint_tests.c +++ b/test/core/iomgr/endpoint_tests.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/iomgr/endpoint_tests.h b/test/core/iomgr/endpoint_tests.h index c7542a03e3162db912376198be6fb681162c34ff..586010c863bf95bd981ffb5ce30ae7cd2530b618 100644 --- a/test/core/iomgr/endpoint_tests.h +++ b/test/core/iomgr/endpoint_tests.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/iomgr/fd_conservation_posix_test.c b/test/core/iomgr/fd_conservation_posix_test.c index aae94e71b2003c6d73f656154ab095b84c79d4fb..bbb3f46497f534f2b978a3a06bc291aec6b4af35 100644 --- a/test/core/iomgr/fd_conservation_posix_test.c +++ b/test/core/iomgr/fd_conservation_posix_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/iomgr/fd_posix_test.c b/test/core/iomgr/fd_posix_test.c index 203e1e3899b727232b370844bdab59bbdec77442..f97f33712eb1733a05b30d9a62a9ca35808b0f6b 100644 --- a/test/core/iomgr/fd_posix_test.c +++ b/test/core/iomgr/fd_posix_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/iomgr/fd_posix.h" +#include "src/core/lib/iomgr/ev_posix.h" #include <ctype.h> #include <errno.h> @@ -50,7 +50,8 @@ #include <grpc/support/sync.h> #include <grpc/support/time.h> -#include "src/core/lib/iomgr/pollset_posix.h" +#include "src/core/lib/iomgr/ev_posix.h" +#include "src/core/lib/iomgr/iomgr.h" #include "test/core/util/test_config.h" static gpr_mu *g_mu; @@ -134,7 +135,7 @@ static void session_shutdown_cb(grpc_exec_ctx *exec_ctx, void *arg, /*session */ static void session_read_cb(grpc_exec_ctx *exec_ctx, void *arg, /*session */ bool success) { session *se = arg; - int fd = se->em_fd->fd; + int fd = grpc_fd_wrapped_fd(se->em_fd); ssize_t read_once = 0; ssize_t read_total = 0; @@ -204,7 +205,7 @@ static void listen_cb(grpc_exec_ctx *exec_ctx, void *arg, /*=sv_arg*/ return; } - fd = accept(listen_em_fd->fd, (struct sockaddr *)&ss, &slen); + fd = accept(grpc_fd_wrapped_fd(listen_em_fd), (struct sockaddr *)&ss, &slen); GPR_ASSERT(fd >= 0); GPR_ASSERT(fd < FD_SETSIZE); flags = fcntl(fd, F_GETFL, 0); @@ -306,7 +307,7 @@ static void client_session_shutdown_cb(grpc_exec_ctx *exec_ctx, static void client_session_write(grpc_exec_ctx *exec_ctx, void *arg, /*client */ bool success) { client *cl = arg; - int fd = cl->em_fd->fd; + int fd = grpc_fd_wrapped_fd(cl->em_fd); ssize_t write_once = 0; if (!success) { diff --git a/test/core/iomgr/resolve_address_test.c b/test/core/iomgr/resolve_address_test.c index 7aec91a85ebb2303321b8b95df41de31d60f6590..a66edc9df2b49bac1003d5a505c77bc5dfce25d0 100644 --- a/test/core/iomgr/resolve_address_test.c +++ b/test/core/iomgr/resolve_address_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/iomgr/sockaddr_utils_test.c b/test/core/iomgr/sockaddr_utils_test.c index 19bee9a3995652c2145b66d88598ad3b16dcc43b..a330314443a0006afd8b75137a58c89eeb64fed3 100644 --- a/test/core/iomgr/sockaddr_utils_test.c +++ b/test/core/iomgr/sockaddr_utils_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/iomgr/socket_utils_test.c b/test/core/iomgr/socket_utils_test.c index 8238a9c33f5da6f7ff6946a10377ce59485a3d62..85c027a978aad183ae7ba1f3b5898d3c70be0071 100644 --- a/test/core/iomgr/socket_utils_test.c +++ b/test/core/iomgr/socket_utils_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/iomgr/tcp_client_posix_test.c b/test/core/iomgr/tcp_client_posix_test.c index d798bf241d6ae057a8150865086deacff3a2c296..22dc9366c33d60254d96753ff8d0ad0a7a0d0dfd 100644 --- a/test/core/iomgr/tcp_client_posix_test.c +++ b/test/core/iomgr/tcp_client_posix_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -45,6 +45,7 @@ #include <grpc/support/time.h> #include "src/core/lib/iomgr/iomgr.h" +#include "src/core/lib/iomgr/pollset_set.h" #include "src/core/lib/iomgr/socket_utils_posix.h" #include "src/core/lib/iomgr/timer.h" #include "test/core/util/test_config.h" diff --git a/test/core/iomgr/tcp_posix_test.c b/test/core/iomgr/tcp_posix_test.c index 79f18c6d7abfa38f7d4179d9223bfa0cfe9bff9f..d51b6b75970827d4f2268c9e1ef27b1fbff573ac 100644 --- a/test/core/iomgr/tcp_posix_test.c +++ b/test/core/iomgr/tcp_posix_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/iomgr/tcp_server_posix_test.c b/test/core/iomgr/tcp_server_posix_test.c index cde147d30e7effc4b68bec4716ff7ec5d35bde1c..266d2396afd62f7b70571b9edf516da911603bad 100644 --- a/test/core/iomgr/tcp_server_posix_test.c +++ b/test/core/iomgr/tcp_server_posix_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/iomgr/time_averaged_stats_test.c b/test/core/iomgr/time_averaged_stats_test.c index a49d899e30851f0bb509cc733d8f6aa79e2fe060..72f8559d666d449e5d61789e614f5e6ea5c6c188 100644 --- a/test/core/iomgr/time_averaged_stats_test.c +++ b/test/core/iomgr/time_averaged_stats_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/iomgr/timer_heap_test.c b/test/core/iomgr/timer_heap_test.c index d230c831ca7a93f9667a3105c0cf5373ff981114..d1cb0047f2649fa36ca18d4fbfbe373c98a92f1e 100644 --- a/test/core/iomgr/timer_heap_test.c +++ b/test/core/iomgr/timer_heap_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/iomgr/timer_list_test.c b/test/core/iomgr/timer_list_test.c index 0333a75059b4328086a7b3ad139f5f680718c349..2e0f5c870198ab8efb1a02b501788e6268baed18 100644 --- a/test/core/iomgr/timer_list_test.c +++ b/test/core/iomgr/timer_list_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/iomgr/udp_server_test.c b/test/core/iomgr/udp_server_test.c index 0c55ef08b46d7787551b85052a76da2f782be19f..463d40a46b46e15be1874974510d7512ebb0a558 100644 --- a/test/core/iomgr/udp_server_test.c +++ b/test/core/iomgr/udp_server_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,8 +36,8 @@ #include <grpc/support/log.h> #include <grpc/support/sync.h> #include <grpc/support/time.h> +#include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/iomgr.h" -#include "src/core/lib/iomgr/pollset_posix.h" #include "test/core/util/test_config.h" #include <netinet/in.h> diff --git a/test/core/iomgr/workqueue_test.c b/test/core/iomgr/workqueue_test.c index 2d9b5d0d55a5cbdeb4bc6d82b54e45c97b223a64..874e696fc2f1ee8fd3a22774a920f2d693627400 100644 --- a/test/core/iomgr/workqueue_test.c +++ b/test/core/iomgr/workqueue_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/json/corpus/15a8f2e7f94aa00b46f1b991416aa015dd633580 b/test/core/json/corpus/15a8f2e7f94aa00b46f1b991416aa015dd633580 new file mode 100644 index 0000000000000000000000000000000000000000..7e613e891d3ab421c6dcb97fdac9794768d29060 --- /dev/null +++ b/test/core/json/corpus/15a8f2e7f94aa00b46f1b991416aa015dd633580 @@ -0,0 +1 @@ +{"":21} \ No newline at end of file diff --git a/test/core/json/corpus/56cd60743c2cee939f5f357905bd36ec9363f441 b/test/core/json/corpus/56cd60743c2cee939f5f357905bd36ec9363f441 new file mode 100644 index 0000000000000000000000000000000000000000..8d53a05e08d4e8f5b283fec710c50513eea2d2dc --- /dev/null +++ b/test/core/json/corpus/56cd60743c2cee939f5f357905bd36ec9363f441 @@ -0,0 +1 @@ +{"":21] \ No newline at end of file diff --git a/test/core/json/corpus/743e89b768af4bd591ea7228118550b1bfb8e7d1 b/test/core/json/corpus/743e89b768af4bd591ea7228118550b1bfb8e7d1 new file mode 100644 index 0000000000000000000000000000000000000000..b232065b0953d459f7382daeec7a30512e3e678d --- /dev/null +++ b/test/core/json/corpus/743e89b768af4bd591ea7228118550b1bfb8e7d1 @@ -0,0 +1 @@ +{"":0}f'+G{)13(§!(''\! \ No newline at end of file diff --git a/test/core/json/corpus/775e8ffda1f5d340dba472d06dc7c8bf8159e379 b/test/core/json/corpus/775e8ffda1f5d340dba472d06dc7c8bf8159e379 new file mode 100644 index 0000000000000000000000000000000000000000..6f56d403bb894640d31feb1fa585df48c098705e --- /dev/null +++ b/test/core/json/corpus/775e8ffda1f5d340dba472d06dc7c8bf8159e379 @@ -0,0 +1 @@ +{"":0},f'+G{)23(§!''! \ No newline at end of file diff --git a/test/core/json/corpus/8d952ec2e33b2a6a1c7876898719a610f5546388 b/test/core/json/corpus/8d952ec2e33b2a6a1c7876898719a610f5546388 new file mode 100644 index 0000000000000000000000000000000000000000..fb7475be91b9f902f1a5bd2f5750dd8f1e28cd45 --- /dev/null +++ b/test/core/json/corpus/8d952ec2e33b2a6a1c7876898719a610f5546388 @@ -0,0 +1 @@ +{"":0]f'+G{)13(§!(''\! \ No newline at end of file diff --git a/test/core/json/corpus/a0d4af29c6c223b48fe34d6a09b3a7466242f33c b/test/core/json/corpus/a0d4af29c6c223b48fe34d6a09b3a7466242f33c new file mode 100644 index 0000000000000000000000000000000000000000..db616e9f561b7d0deb7cee7352aff6aa8ea2cce2 --- /dev/null +++ b/test/core/json/corpus/a0d4af29c6c223b48fe34d6a09b3a7466242f33c @@ -0,0 +1 @@ +{"":0],f'`+G{-22(§!''! \ No newline at end of file diff --git a/test/core/json/fuzzer.c b/test/core/json/fuzzer.c index 65f89e64a4f15e5f3d7cd672068cae6ed9723a2b..044db973ab1fec418750036f68a9614713324469 100644 --- a/test/core/json/fuzzer.c +++ b/test/core/json/fuzzer.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,16 +35,53 @@ #include <string.h> #include <grpc/support/alloc.h> +#include <grpc/support/log.h> #include "src/core/lib/json/json.h" +static size_t g_total_size = 0; +static gpr_allocation_functions g_old_allocs; + +void *guard_malloc(size_t size) { + size_t *ptr; + g_total_size += size; + ptr = g_old_allocs.malloc_fn(size + sizeof(size)); + *ptr++ = size; + return ptr; +} + +void *guard_realloc(void *vptr, size_t size) { + size_t *ptr = vptr; + --ptr; + g_total_size -= *ptr; + ptr = g_old_allocs.realloc_fn(ptr, size + sizeof(size)); + g_total_size += size; + *ptr++ = size; + return ptr; +} + +void guard_free(void *vptr) { + size_t *ptr = vptr; + --ptr; + g_total_size -= *ptr; + g_old_allocs.free_fn(ptr); +} + +struct gpr_allocation_functions g_guard_allocs = {guard_malloc, guard_realloc, + guard_free}; + int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - char *s = gpr_malloc(size); + char *s; + g_old_allocs = gpr_get_allocation_functions(); + gpr_set_allocation_functions(g_guard_allocs); + s = gpr_malloc(size); memcpy(s, data, size); grpc_json *x; if ((x = grpc_json_parse_string_with_len(s, size))) { grpc_json_destroy(x); } gpr_free(s); + gpr_set_allocation_functions(g_old_allocs); + GPR_ASSERT(g_total_size == 0); return 0; } diff --git a/test/core/json/json_rewrite.c b/test/core/json/json_rewrite.c index 41090db105e2e13239b98ec8bd372e5762bb363a..c43c6e25899dc462ee67a9414f6fc781bafad1ce 100644 --- a/test/core/json/json_rewrite.c +++ b/test/core/json/json_rewrite.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/json/json_rewrite_test.c b/test/core/json/json_rewrite_test.c index 33fc98ed7455ab8482eed38860bd3cffe4c7c9b3..cf42670337b3de8f75f2c8c80e0cba04fba34cd3 100644 --- a/test/core/json/json_rewrite_test.c +++ b/test/core/json/json_rewrite_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/json/json_stream_error_test.c b/test/core/json/json_stream_error_test.c index 630e1b03df7f9abcc7151548da3b2400b7e4d701..82b9bd96d3cc9196f4e8db0db2f608a45f2e253c 100644 --- a/test/core/json/json_stream_error_test.c +++ b/test/core/json/json_stream_error_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/json/json_test.c b/test/core/json/json_test.c index 13ee5bbe45681eebc63fdfef4b797c80a285f475..ac1abbd8f3d3a0ef5c5f1238b74aec2637fe8af5 100644 --- a/test/core/json/json_test.c +++ b/test/core/json/json_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -89,6 +89,8 @@ static testing_pair testing_pairs[] = { {"{\"foo\": bar}", NULL}, {"{\"foo\": bar\"x\"}", NULL}, {"fals", NULL}, + {"0,0 ", NULL}, + {"\"foo\",[]", NULL}, /* Testing unterminated string. */ {"\"\\x", NULL}, /* Testing invalid UTF-16 number. */ diff --git a/test/core/nanopb/corpus_response/0c35544f40d428d103e9c5b969ad9cd16767b110 b/test/core/nanopb/corpus_response/0c35544f40d428d103e9c5b969ad9cd16767b110 new file mode 100644 index 0000000000000000000000000000000000000000..2b5fc999d84a136dff6c032fd7e1f7dcb913604f Binary files /dev/null and b/test/core/nanopb/corpus_response/0c35544f40d428d103e9c5b969ad9cd16767b110 differ diff --git a/test/core/nanopb/corpus_response/0c60ee9ed55c9af6190b132ef6636c1d2abe4540 b/test/core/nanopb/corpus_response/0c60ee9ed55c9af6190b132ef6636c1d2abe4540 new file mode 100644 index 0000000000000000000000000000000000000000..85366bee0aac6fda6887ae1f39d859cc171b576b --- /dev/null +++ b/test/core/nanopb/corpus_response/0c60ee9ed55c9af6190b132ef6636c1d2abe4540 @@ -0,0 +1 @@ +½“½“2ƒ;΃;Î)±%Ì))±%Ì):: \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/0ecb3e69889c036a86d21eb942077dc9abd649be b/test/core/nanopb/corpus_response/0ecb3e69889c036a86d21eb942077dc9abd649be new file mode 100644 index 0000000000000000000000000000000000000000..74921b21700a44dab56b3c54a64f47aeb29d7cb1 Binary files /dev/null and b/test/core/nanopb/corpus_response/0ecb3e69889c036a86d21eb942077dc9abd649be differ diff --git a/test/core/nanopb/corpus_response/1324c95dafe597fe05f9babe92fe6fbf181c1897 b/test/core/nanopb/corpus_response/1324c95dafe597fe05f9babe92fe6fbf181c1897 new file mode 100644 index 0000000000000000000000000000000000000000..4b7de2e4739cf72216fe28b29b2e8eaeb14c0e6a --- /dev/null +++ b/test/core/nanopb/corpus_response/1324c95dafe597fe05f9babe92fe6fbf181c1897 @@ -0,0 +1 @@ +(z%;:8!(¼;ªo!>::†©;=È( );;!ÞØ*:):B(r''' *þEàh;**!!Ý**** \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/14eb42f7423081b455820daa2c02b358315dc0fa b/test/core/nanopb/corpus_response/14eb42f7423081b455820daa2c02b358315dc0fa new file mode 100644 index 0000000000000000000000000000000000000000..5a077927d9a113435273ef11f096eaa8661438a6 --- /dev/null +++ b/test/core/nanopb/corpus_response/14eb42f7423081b455820daa2c02b358315dc0fa @@ -0,0 +1 @@ +(z%;:8!(¼;ª!>::†©;=È( );;!ÞØ*:):B(r''' *þEàh;**!!Ý**** \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/23121c5f633db5d7c1a9f2225240754246fee513 b/test/core/nanopb/corpus_response/23121c5f633db5d7c1a9f2225240754246fee513 new file mode 100644 index 0000000000000000000000000000000000000000..e9db64ba0b7b07f6ec42c7e52f024dcd6f76ee00 Binary files /dev/null and b/test/core/nanopb/corpus_response/23121c5f633db5d7c1a9f2225240754246fee513 differ diff --git a/test/core/nanopb/corpus_response/235548307ee9f2b0855fded42a871990d9ade956 b/test/core/nanopb/corpus_response/235548307ee9f2b0855fded42a871990d9ade956 new file mode 100644 index 0000000000000000000000000000000000000000..da1306ddd6592783787da55d018b86bb823982e3 Binary files /dev/null and b/test/core/nanopb/corpus_response/235548307ee9f2b0855fded42a871990d9ade956 differ diff --git a/test/core/nanopb/corpus_response/28ed3a797da3c48c309a4ef792147f3c56cfec40 b/test/core/nanopb/corpus_response/28ed3a797da3c48c309a4ef792147f3c56cfec40 new file mode 100644 index 0000000000000000000000000000000000000000..f46d387bf94c89b81aaec9cff2ee52d1f9ab4187 --- /dev/null +++ b/test/core/nanopb/corpus_response/28ed3a797da3c48c309a4ef792147f3c56cfec40 @@ -0,0 +1 @@ +( \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/2bf123dbfa1d37a04493b5662a4b3b9c147485fc b/test/core/nanopb/corpus_response/2bf123dbfa1d37a04493b5662a4b3b9c147485fc new file mode 100644 index 0000000000000000000000000000000000000000..7ea0b41123fc28cca744b88c75a2ef563036236e Binary files /dev/null and b/test/core/nanopb/corpus_response/2bf123dbfa1d37a04493b5662a4b3b9c147485fc differ diff --git a/test/core/nanopb/corpus_response/2d4c0908ecc0310ea234d10b6bdb4f4ca3c41dd1 b/test/core/nanopb/corpus_response/2d4c0908ecc0310ea234d10b6bdb4f4ca3c41dd1 new file mode 100644 index 0000000000000000000000000000000000000000..cd74051c522a7c4e9e71e7069e250a74bd89b85d --- /dev/null +++ b/test/core/nanopb/corpus_response/2d4c0908ecc0310ea234d10b6bdb4f4ca3c41dd1 @@ -0,0 +1 @@ +):):\bJ' \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/304e8cdc9122b709ec2c063a5c8c38489a788033 b/test/core/nanopb/corpus_response/304e8cdc9122b709ec2c063a5c8c38489a788033 new file mode 100644 index 0000000000000000000000000000000000000000..a7571c0e84a889d568dfc0c851ed2120bbac6702 Binary files /dev/null and b/test/core/nanopb/corpus_response/304e8cdc9122b709ec2c063a5c8c38489a788033 differ diff --git a/test/core/nanopb/corpus_response/324d4a2aed8bc1840fee212fd38dadec80a72ea2 b/test/core/nanopb/corpus_response/324d4a2aed8bc1840fee212fd38dadec80a72ea2 new file mode 100644 index 0000000000000000000000000000000000000000..9ca38b32565c27ea085c37b2ac5c24d00ba403e7 Binary files /dev/null and b/test/core/nanopb/corpus_response/324d4a2aed8bc1840fee212fd38dadec80a72ea2 differ diff --git a/test/core/nanopb/corpus_response/33353a0b011901a13d010c6b165074ccdaa717ac b/test/core/nanopb/corpus_response/33353a0b011901a13d010c6b165074ccdaa717ac new file mode 100644 index 0000000000000000000000000000000000000000..9320a7a95d77e90ed7f08a68baf02e53f935d453 --- /dev/null +++ b/test/core/nanopb/corpus_response/33353a0b011901a13d010c6b165074ccdaa717ac @@ -0,0 +1 @@ +ž½“ƒÎ)±Ì)::\!;):bJ):'\éb* \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/37dfead09389fcd9b9d24ef817a0fed13d8ff2b0 b/test/core/nanopb/corpus_response/37dfead09389fcd9b9d24ef817a0fed13d8ff2b0 new file mode 100644 index 0000000000000000000000000000000000000000..725e601a5b456ae9c821aa5b1e280dc5cf7c767d Binary files /dev/null and b/test/core/nanopb/corpus_response/37dfead09389fcd9b9d24ef817a0fed13d8ff2b0 differ diff --git a/test/core/nanopb/corpus_response/47879cc364be304754f6af15563ad6f9a538da41 b/test/core/nanopb/corpus_response/47879cc364be304754f6af15563ad6f9a538da41 new file mode 100644 index 0000000000000000000000000000000000000000..b42661c56c87f6335614c8f21bd4ecb8f8585c18 Binary files /dev/null and b/test/core/nanopb/corpus_response/47879cc364be304754f6af15563ad6f9a538da41 differ diff --git a/test/core/nanopb/corpus_response/49a5cef4c730ecab22712b156ddba5106f165afd b/test/core/nanopb/corpus_response/49a5cef4c730ecab22712b156ddba5106f165afd new file mode 100644 index 0000000000000000000000000000000000000000..4a551cf6de299115b1f93fb979792380bdfde320 --- /dev/null +++ b/test/core/nanopb/corpus_response/49a5cef4c730ecab22712b156ddba5106f165afd @@ -0,0 +1 @@ +(z!;:8!(¼;ªo!>::†©;=È( );ö;!ÞØ*:):B(r''' *þEàh;**!!Ý**** \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/4bbbbb794a098deeacff73b774c30f12c54ceacb b/test/core/nanopb/corpus_response/4bbbbb794a098deeacff73b774c30f12c54ceacb new file mode 100644 index 0000000000000000000000000000000000000000..d99c09f88280640cb299191bbd00d1ba26df86be --- /dev/null +++ b/test/core/nanopb/corpus_response/4bbbbb794a098deeacff73b774c30f12c54ceacb @@ -0,0 +1 @@ +(z%;28!(¼;ª!*>::†(z%;28!(¼;ª!>::†ùâåò© \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/4c498ce69c8476f745693deb23272930e05cad60 b/test/core/nanopb/corpus_response/4c498ce69c8476f745693deb23272930e05cad60 new file mode 100644 index 0000000000000000000000000000000000000000..86181941cb7b91ece726883da10ad399dffbfae9 Binary files /dev/null and b/test/core/nanopb/corpus_response/4c498ce69c8476f745693deb23272930e05cad60 differ diff --git a/test/core/nanopb/corpus_response/4fb5e3085c32e9bccac9e18343cca07017d037de b/test/core/nanopb/corpus_response/4fb5e3085c32e9bccac9e18343cca07017d037de new file mode 100644 index 0000000000000000000000000000000000000000..59a8026f2a2e8abb862c18c73047952b14977afa Binary files /dev/null and b/test/core/nanopb/corpus_response/4fb5e3085c32e9bccac9e18343cca07017d037de differ diff --git a/test/core/nanopb/corpus_response/4fe5e46c1299e7f3e8a41dde3ae1bf1b60b4a43c b/test/core/nanopb/corpus_response/4fe5e46c1299e7f3e8a41dde3ae1bf1b60b4a43c new file mode 100644 index 0000000000000000000000000000000000000000..3d44fadc61a57b4e296c9baf818a690cab2071fb --- /dev/null +++ b/test/core/nanopb/corpus_response/4fe5e46c1299e7f3e8a41dde3ae1bf1b60b4a43c @@ -0,0 +1 @@ +a¶(6)!á•( !!)b:'Ü:*¤();Ì0();)Ï(|)ÿ!V)'*¡!t<b߶…*!(b*()(:dVj) \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/670cc6bae958cb4f15e7297fe63959ac5799aa42 b/test/core/nanopb/corpus_response/670cc6bae958cb4f15e7297fe63959ac5799aa42 new file mode 100644 index 0000000000000000000000000000000000000000..2489cb7ba327e5f2a6d9a1019a8f08644306e77b Binary files /dev/null and b/test/core/nanopb/corpus_response/670cc6bae958cb4f15e7297fe63959ac5799aa42 differ diff --git a/test/core/nanopb/corpus_response/675f3263af7d1bbb084872f2b23f6d363227e85d b/test/core/nanopb/corpus_response/675f3263af7d1bbb084872f2b23f6d363227e85d new file mode 100644 index 0000000000000000000000000000000000000000..d2fb75ced5af0e1652fa4d21404550e101e42eb9 Binary files /dev/null and b/test/core/nanopb/corpus_response/675f3263af7d1bbb084872f2b23f6d363227e85d differ diff --git a/test/core/nanopb/corpus_response/67fe0d2acc727c8a39a707b92c6cebda9bd20986 b/test/core/nanopb/corpus_response/67fe0d2acc727c8a39a707b92c6cebda9bd20986 new file mode 100644 index 0000000000000000000000000000000000000000..0ba194a3ca26cbe5fea4ac2fab66137e0e55ccc3 --- /dev/null +++ b/test/core/nanopb/corpus_response/67fe0d2acc727c8a39a707b92c6cebda9bd20986 @@ -0,0 +1 @@ +½™'Ì)%±ƒ™Þ): \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/6d15065785eb8f4b5f17357a520cb4815a2cb355 b/test/core/nanopb/corpus_response/6d15065785eb8f4b5f17357a520cb4815a2cb355 new file mode 100644 index 0000000000000000000000000000000000000000..98da1dd4eea0fae02b830a8f1c47f87415702440 --- /dev/null +++ b/test/core/nanopb/corpus_response/6d15065785eb8f4b5f17357a520cb4815a2cb355 @@ -0,0 +1 @@ +½™'ƒÎ)±%Ì): \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/73285d7a70d73b517648067520d921e4477dbbfa b/test/core/nanopb/corpus_response/73285d7a70d73b517648067520d921e4477dbbfa new file mode 100644 index 0000000000000000000000000000000000000000..193b899d2d5eee0d3f2871e1f9b283eadedd7f3f Binary files /dev/null and b/test/core/nanopb/corpus_response/73285d7a70d73b517648067520d921e4477dbbfa differ diff --git a/test/core/nanopb/corpus_response/747d1ed8bee4c6f0438beaf88ae76d8ef9f63da2 b/test/core/nanopb/corpus_response/747d1ed8bee4c6f0438beaf88ae76d8ef9f63da2 new file mode 100644 index 0000000000000000000000000000000000000000..8387eab9b4506689c32295113e46a4718d3f3c4b --- /dev/null +++ b/test/core/nanopb/corpus_response/747d1ed8bee4c6f0438beaf88ae76d8ef9f63da2 @@ -0,0 +1 @@ +½¤½“ž½“ƒÎ½ƒ);Î)± \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/763878a34b3adeb99a03b54d09768a4451617016 b/test/core/nanopb/corpus_response/763878a34b3adeb99a03b54d09768a4451617016 new file mode 100644 index 0000000000000000000000000000000000000000..9c5c365715ed4d22de070adfe95d8ff11746ff4f --- /dev/null +++ b/test/core/nanopb/corpus_response/763878a34b3adeb99a03b54d09768a4451617016 @@ -0,0 +1 @@ +½“ž½“ƒÎ)ƒ;Î)±%Ì): \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/7b4b0c2555178333ba15203a930c88ef7e7500e7 b/test/core/nanopb/corpus_response/7b4b0c2555178333ba15203a930c88ef7e7500e7 new file mode 100644 index 0000000000000000000000000000000000000000..b14d25a88d7ffadabdd88871bf673c858e13387d Binary files /dev/null and b/test/core/nanopb/corpus_response/7b4b0c2555178333ba15203a930c88ef7e7500e7 differ diff --git a/test/core/nanopb/corpus_response/7b8a91aa46e370eb61307b4998889dc89775462f b/test/core/nanopb/corpus_response/7b8a91aa46e370eb61307b4998889dc89775462f new file mode 100644 index 0000000000000000000000000000000000000000..4061b65d9630c9872a64df1692c35d1053d9335c --- /dev/null +++ b/test/core/nanopb/corpus_response/7b8a91aa46e370eb61307b4998889dc89775462f @@ -0,0 +1 @@ + :)½: \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/7cd11836c64f98742fa7beccec5c981ef4dd62ae b/test/core/nanopb/corpus_response/7cd11836c64f98742fa7beccec5c981ef4dd62ae new file mode 100644 index 0000000000000000000000000000000000000000..86fd08f4131f6be9a8149816a7339544794c36d7 Binary files /dev/null and b/test/core/nanopb/corpus_response/7cd11836c64f98742fa7beccec5c981ef4dd62ae differ diff --git a/test/core/nanopb/corpus_response/7d8f4f045e70e8a2cb45dc3c001504f5c2614b16 b/test/core/nanopb/corpus_response/7d8f4f045e70e8a2cb45dc3c001504f5c2614b16 new file mode 100644 index 0000000000000000000000000000000000000000..dd8d136cb12a4541ba84a7fe8008455f3b841100 Binary files /dev/null and b/test/core/nanopb/corpus_response/7d8f4f045e70e8a2cb45dc3c001504f5c2614b16 differ diff --git a/test/core/nanopb/corpus_response/7e9848558fb004e14795b3ebd3e1488dcde1db8c b/test/core/nanopb/corpus_response/7e9848558fb004e14795b3ebd3e1488dcde1db8c new file mode 100644 index 0000000000000000000000000000000000000000..be0dfcadd0e2db3defef63618e243ed30566a245 --- /dev/null +++ b/test/core/nanopb/corpus_response/7e9848558fb004e14795b3ebd3e1488dcde1db8c @@ -0,0 +1 @@ +ùâåò!Ù.!Nñrª:U:(œ;!á)*(¾):!'i)b):þ°)'!P!:'á•***!)H:*)(àñÍ* \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/89734c37ee267e69a6950c6d60ee541c1be5ccff b/test/core/nanopb/corpus_response/89734c37ee267e69a6950c6d60ee541c1be5ccff new file mode 100644 index 0000000000000000000000000000000000000000..023ef36861744496c7b2103185acd6d2eef002ad Binary files /dev/null and b/test/core/nanopb/corpus_response/89734c37ee267e69a6950c6d60ee541c1be5ccff differ diff --git a/test/core/nanopb/corpus_response/9034aaf45143996a2b14465c352ab0c6fa26b221 b/test/core/nanopb/corpus_response/9034aaf45143996a2b14465c352ab0c6fa26b221 new file mode 100644 index 0000000000000000000000000000000000000000..9c95a6ba6af7377402d44dc60243769a4c604364 --- /dev/null +++ b/test/core/nanopb/corpus_response/9034aaf45143996a2b14465c352ab0c6fa26b221 @@ -0,0 +1 @@ +½ \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/91e3b6a3484ab4b95cdeecc5aefe1291824060e8 b/test/core/nanopb/corpus_response/91e3b6a3484ab4b95cdeecc5aefe1291824060e8 new file mode 100644 index 0000000000000000000000000000000000000000..8d735ea33c8fcdb517f91d7b62e9bfc005fa7204 --- /dev/null +++ b/test/core/nanopb/corpus_response/91e3b6a3484ab4b95cdeecc5aefe1291824060e8 @@ -0,0 +1 @@ +m!''÷:)ˆ');:Q(*á'!!m!Í()!;e''÷: \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/95cd94c858e5e97f7df4a5eb7552e5e0d5ce1ec4 b/test/core/nanopb/corpus_response/95cd94c858e5e97f7df4a5eb7552e5e0d5ce1ec4 new file mode 100644 index 0000000000000000000000000000000000000000..df2d8194d15939b2941e3cde81e17adeb16ba41a --- /dev/null +++ b/test/core/nanopb/corpus_response/95cd94c858e5e97f7df4a5eb7552e5e0d5ce1ec4 @@ -0,0 +1 @@ + :)½: \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/971f42d5a4d9816145ebc9dd28ba33ed3f5860b0 b/test/core/nanopb/corpus_response/971f42d5a4d9816145ebc9dd28ba33ed3f5860b0 new file mode 100644 index 0000000000000000000000000000000000000000..edd078a94ebe3ed074a9d89e8fa26269f6551fb6 Binary files /dev/null and b/test/core/nanopb/corpus_response/971f42d5a4d9816145ebc9dd28ba33ed3f5860b0 differ diff --git a/test/core/nanopb/corpus_response/9db3a1854de87fd643b910aeab50553afc73e667 b/test/core/nanopb/corpus_response/9db3a1854de87fd643b910aeab50553afc73e667 new file mode 100644 index 0000000000000000000000000000000000000000..7cbc8b771a7b1b9598c6651974417ce522378b21 Binary files /dev/null and b/test/core/nanopb/corpus_response/9db3a1854de87fd643b910aeab50553afc73e667 differ diff --git a/test/core/nanopb/corpus_response/a147873135c6c52d4da03c260a0165bc0ab1b979 b/test/core/nanopb/corpus_response/a147873135c6c52d4da03c260a0165bc0ab1b979 new file mode 100644 index 0000000000000000000000000000000000000000..2f0a565bc30ab973d3a86f804e390ca68e30d33f Binary files /dev/null and b/test/core/nanopb/corpus_response/a147873135c6c52d4da03c260a0165bc0ab1b979 differ diff --git a/test/core/nanopb/corpus_response/a710eead945dabbbffa213a980c75f9463a27398 b/test/core/nanopb/corpus_response/a710eead945dabbbffa213a980c75f9463a27398 new file mode 100644 index 0000000000000000000000000000000000000000..3bc30a1f9c86d055f9efafea1ff6b1521a65b8bd --- /dev/null +++ b/test/core/nanopb/corpus_response/a710eead945dabbbffa213a980c75f9463a27398 @@ -0,0 +1 @@ +½“ƒ;Î)±%Ì): \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/a72406e3ca06d941fe8e168bbf67da88a81c947b b/test/core/nanopb/corpus_response/a72406e3ca06d941fe8e168bbf67da88a81c947b new file mode 100644 index 0000000000000000000000000000000000000000..811a33df5b115f082c4890d29d8d84f40970a0d5 --- /dev/null +++ b/test/core/nanopb/corpus_response/a72406e3ca06d941fe8e168bbf67da88a81c947b @@ -0,0 +1 @@ +¼™'Ì)%±ƒ™Þ½)“½“2ƒ;΃;Î)±%Ì):) \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/a8a62a7ebb7d68b211ae319e082575935c07d188 b/test/core/nanopb/corpus_response/a8a62a7ebb7d68b211ae319e082575935c07d188 new file mode 100644 index 0000000000000000000000000000000000000000..7712307a3aeac85e7ca4326939bf67cc35916d3b Binary files /dev/null and b/test/core/nanopb/corpus_response/a8a62a7ebb7d68b211ae319e082575935c07d188 differ diff --git a/test/core/nanopb/corpus_response/a8abd012eb59b862bf9bc1ea443d2f35a1a2e222 b/test/core/nanopb/corpus_response/a8abd012eb59b862bf9bc1ea443d2f35a1a2e222 new file mode 100644 index 0000000000000000000000000000000000000000..3f1695f161395210e9ab0e22d48014e179514e21 --- /dev/null +++ b/test/core/nanopb/corpus_response/a8abd012eb59b862bf9bc1ea443d2f35a1a2e222 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/aab56035a3533b5d83a32a439f179eb678250113 b/test/core/nanopb/corpus_response/aab56035a3533b5d83a32a439f179eb678250113 new file mode 100644 index 0000000000000000000000000000000000000000..c9f9b4dac25486f9b1f46eb096c950ec2b652235 Binary files /dev/null and b/test/core/nanopb/corpus_response/aab56035a3533b5d83a32a439f179eb678250113 differ diff --git a/test/core/nanopb/corpus_response/ac174acef2c5da26fadc7270bab9c8c4e938c463 b/test/core/nanopb/corpus_response/ac174acef2c5da26fadc7270bab9c8c4e938c463 new file mode 100644 index 0000000000000000000000000000000000000000..a929daa9876dd656c74ad5314ee607b39792e8c1 --- /dev/null +++ b/test/core/nanopb/corpus_response/ac174acef2c5da26fadc7270bab9c8c4e938c463 @@ -0,0 +1 @@ +z(!;:8!(¼;ªo!>::†©;=È( );ö;!ÞØ*:):B(r''' *Eàhþ;**!!Ý**** \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/acbbd60eeb76e41ce254d0fef353b92abe69c831 b/test/core/nanopb/corpus_response/acbbd60eeb76e41ce254d0fef353b92abe69c831 new file mode 100644 index 0000000000000000000000000000000000000000..da47491fb1be0910d9b466d7dc6403da51043cd6 --- /dev/null +++ b/test/core/nanopb/corpus_response/acbbd60eeb76e41ce254d0fef353b92abe69c831 @@ -0,0 +1,2 @@ +½ƒ;Î)±}!;*;*°'';y©É:p +'!(S‘ð?±(¬;I:;:*:w!)èŽwÄÂ)>Å?)N!õ;)— +' \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/c1eed32e1e353737987da851ad760312ea8e557c b/test/core/nanopb/corpus_response/c1eed32e1e353737987da851ad760312ea8e557c new file mode 100644 index 0000000000000000000000000000000000000000..8f8d1492456b869176227f7dacd76d7c56a9ae93 --- /dev/null +++ b/test/core/nanopb/corpus_response/c1eed32e1e353737987da851ad760312ea8e557c @@ -0,0 +1 @@ +½)ƒ;Î)±}):):\!;):bJ):'\b* \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/c4214ace2c4bab24bb356f71aedca08544baad70 b/test/core/nanopb/corpus_response/c4214ace2c4bab24bb356f71aedca08544baad70 new file mode 100644 index 0000000000000000000000000000000000000000..ae25d72c91007b7db2123ef6a9b321e3b90a94b4 --- /dev/null +++ b/test/core/nanopb/corpus_response/c4214ace2c4bab24bb356f71aedca08544baad70 @@ -0,0 +1 @@ +):\bJ'!:׸¶…''*Ž;»*j:M[(…¤!yæ“:)T²P'^)(0©!e&–°ˆ(*W;Ânc''(!$) \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/c4f87a6290aee1acfc1f26083974ce94621fca64 b/test/core/nanopb/corpus_response/c4f87a6290aee1acfc1f26083974ce94621fca64 new file mode 100644 index 0000000000000000000000000000000000000000..a4ceb359eba9f667d23d07784d7208f8188fcbbe --- /dev/null +++ b/test/core/nanopb/corpus_response/c4f87a6290aee1acfc1f26083974ce94621fca64 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/d285d78d3ba966b4b199453d38ead1aa36a7484f b/test/core/nanopb/corpus_response/d285d78d3ba966b4b199453d38ead1aa36a7484f new file mode 100644 index 0000000000000000000000000000000000000000..91b1d68f7212c93fb1603540587b9b6228a342d3 Binary files /dev/null and b/test/core/nanopb/corpus_response/d285d78d3ba966b4b199453d38ead1aa36a7484f differ diff --git a/test/core/nanopb/corpus_response/df5200f371cff3cae0e1595cd86d641725f5d1ba b/test/core/nanopb/corpus_response/df5200f371cff3cae0e1595cd86d641725f5d1ba new file mode 100644 index 0000000000000000000000000000000000000000..bfd9f8b3cd2bbed68133887aefbdac7944d03df7 --- /dev/null +++ b/test/core/nanopb/corpus_response/df5200f371cff3cae0e1595cd86d641725f5d1ba @@ -0,0 +1 @@ +((³34('‰Äúx¡'¦/8(ô](:'çxR$;§'*”!(Ú(!k:(³;;*(/'-½':*:mç4'å%·Â \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/dfc66cb172919102f3ba14f6816228aa46f78154 b/test/core/nanopb/corpus_response/dfc66cb172919102f3ba14f6816228aa46f78154 new file mode 100644 index 0000000000000000000000000000000000000000..13f69eb579180231f5a8d46c2543d141b5b29167 --- /dev/null +++ b/test/core/nanopb/corpus_response/dfc66cb172919102f3ba14f6816228aa46f78154 @@ -0,0 +1 @@ +(z%;28!(¼;ª!>::†©;=( ;;)!ÈÞØm!''÷:)ˆ*:') \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/e53e789a4c175c6a2c468472f1047d0fe8db1177 b/test/core/nanopb/corpus_response/e53e789a4c175c6a2c468472f1047d0fe8db1177 new file mode 100644 index 0000000000000000000000000000000000000000..a6991c85bc9f65523b93d406d94f3900962702cf Binary files /dev/null and b/test/core/nanopb/corpus_response/e53e789a4c175c6a2c468472f1047d0fe8db1177 differ diff --git a/test/core/nanopb/corpus_response/e67fe6794e755ea801272980f2c272edb027f6dc b/test/core/nanopb/corpus_response/e67fe6794e755ea801272980f2c272edb027f6dc new file mode 100644 index 0000000000000000000000000000000000000000..1b1486731a02ef435dd737ac38903f97ec711932 --- /dev/null +++ b/test/core/nanopb/corpus_response/e67fe6794e755ea801272980f2c272edb027f6dc @@ -0,0 +1 @@ +½“ƒ;Î)±Ì):;:\!;):bJ):'\b* \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/ead61e86fedf118df8e44ed70ce002be651cf291 b/test/core/nanopb/corpus_response/ead61e86fedf118df8e44ed70ce002be651cf291 new file mode 100644 index 0000000000000000000000000000000000000000..a4c11a7fb663f511a26154a4f401a0baa7f42881 Binary files /dev/null and b/test/core/nanopb/corpus_response/ead61e86fedf118df8e44ed70ce002be651cf291 differ diff --git a/test/core/nanopb/corpus_response/eced8b29efbdc82eb8a1d0865c5f382f0ff78446 b/test/core/nanopb/corpus_response/eced8b29efbdc82eb8a1d0865c5f382f0ff78446 new file mode 100644 index 0000000000000000000000000000000000000000..a0f0de07efa962fae5be8c75543d3b77f6d01187 --- /dev/null +++ b/test/core/nanopb/corpus_response/eced8b29efbdc82eb8a1d0865c5f382f0ff78446 @@ -0,0 +1 @@ +(z%;28!(¼;ª!*>::†(z%;28!(¼;ª!>::†©©Ï \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/f58a9135d07ea9a5e3e710f6b3bf6d48d5942dfd b/test/core/nanopb/corpus_response/f58a9135d07ea9a5e3e710f6b3bf6d48d5942dfd new file mode 100644 index 0000000000000000000000000000000000000000..17dfae3c71d628de1aead83e3e0f569a2af02258 Binary files /dev/null and b/test/core/nanopb/corpus_response/f58a9135d07ea9a5e3e710f6b3bf6d48d5942dfd differ diff --git a/test/core/nanopb/corpus_response/f8c2c4ddd2f474b4839f13a9be862c00ab0ece77 b/test/core/nanopb/corpus_response/f8c2c4ddd2f474b4839f13a9be862c00ab0ece77 new file mode 100644 index 0000000000000000000000000000000000000000..a94e0c85ac71d8ddeddcc604d54d52474be69ba2 Binary files /dev/null and b/test/core/nanopb/corpus_response/f8c2c4ddd2f474b4839f13a9be862c00ab0ece77 differ diff --git a/test/core/nanopb/corpus_response/faa1781e1444bba5b8c677bc5e2a38d023a1ec65 b/test/core/nanopb/corpus_response/faa1781e1444bba5b8c677bc5e2a38d023a1ec65 new file mode 100644 index 0000000000000000000000000000000000000000..013d565bb4055b02b0853816a9f6c69d1478f3f3 --- /dev/null +++ b/test/core/nanopb/corpus_response/faa1781e1444bba5b8c677bc5e2a38d023a1ec65 @@ -0,0 +1 @@ +‚ \ No newline at end of file diff --git a/test/core/nanopb/corpus_response/fccda587af845f0685275960649d8f4a45272a95 b/test/core/nanopb/corpus_response/fccda587af845f0685275960649d8f4a45272a95 new file mode 100644 index 0000000000000000000000000000000000000000..cfdf87919bcb614124309846a02b1d2908abcc8a --- /dev/null +++ b/test/core/nanopb/corpus_response/fccda587af845f0685275960649d8f4a45272a95 @@ -0,0 +1 @@ +½™'Ì)%±'ƒ™Þ½)ƒ;Î)±}9:):\!;):bJ)):'\:b* \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/000def12957806bb0d40005cb651d35b4cde7b4e b/test/core/nanopb/corpus_serverlist/000def12957806bb0d40005cb651d35b4cde7b4e new file mode 100644 index 0000000000000000000000000000000000000000..314425728dd36882633af48733aa3ed075097cfa --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/000def12957806bb0d40005cb651d35b4cde7b4e @@ -0,0 +1,3 @@ + É=Éÿ +'! +É)='!'ïï'½=ï!)**Í \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0068af2acc3020f344ee84b2c8adfb90492354c3 b/test/core/nanopb/corpus_serverlist/0068af2acc3020f344ee84b2c8adfb90492354c3 new file mode 100644 index 0000000000000000000000000000000000000000..d2ae3657adbd582065fe937fbba1b62f88ad85cd --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0068af2acc3020f344ee84b2c8adfb90492354c3 @@ -0,0 +1 @@ +Á²²Wo:'ì*'!@*(Á*!)(@)ÁP²²²²(!( \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/009132022c3a1660b701728ac92e26baf82e8eac b/test/core/nanopb/corpus_serverlist/009132022c3a1660b701728ac92e26baf82e8eac new file mode 100644 index 0000000000000000000000000000000000000000..1b9e2f9ee6bdc8cec4e715c86cd1cc9bf1c3486d Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/009132022c3a1660b701728ac92e26baf82e8eac differ diff --git a/test/core/nanopb/corpus_serverlist/00bf0233aa1155b34a3081e4a2b7a1c9cdf8ea1e b/test/core/nanopb/corpus_serverlist/00bf0233aa1155b34a3081e4a2b7a1c9cdf8ea1e new file mode 100644 index 0000000000000000000000000000000000000000..3fc89e839a2f8bb30e3edcf6e25bf5efc81e05d1 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/00bf0233aa1155b34a3081e4a2b7a1c9cdf8ea1e @@ -0,0 +1,2 @@ +Ų;Ų +UõUú‰Ù( Ų;²UUú‰*Ų;²UÅÙ(Ž²'Ö!…z%)#€ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/013197cfb12b59755b807501c6d6615859f9cd3f b/test/core/nanopb/corpus_serverlist/013197cfb12b59755b807501c6d6615859f9cd3f new file mode 100644 index 0000000000000000000000000000000000000000..ae044dc77fdf305e840741000a28cdccafd3d315 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/013197cfb12b59755b807501c6d6615859f9cd3f @@ -0,0 +1 @@ +)Û)¦'U!a Øç•ÏøÉ=*×Éÿ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/018a4332eb19f2398162317cb6ad2e8cf700dfd6 b/test/core/nanopb/corpus_serverlist/018a4332eb19f2398162317cb6ad2e8cf700dfd6 new file mode 100644 index 0000000000000000000000000000000000000000..2519ccb195801356dd9040f5336f499cc3545664 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/018a4332eb19f2398162317cb6ad2e8cf700dfd6 @@ -0,0 +1 @@ +)B!B!à@)ò);'Ç“¢ƒ§'à@*::sED'tÂ'–!();!)*!) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0273d3496bf5f4594e59083ac319f8f863a15be0 b/test/core/nanopb/corpus_serverlist/0273d3496bf5f4594e59083ac319f8f863a15be0 new file mode 100644 index 0000000000000000000000000000000000000000..609e6525975706cd6fc477f06910c37324919918 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0273d3496bf5f4594e59083ac319f8f863a15be0 @@ -0,0 +1 @@ +Á²•Wo:'ì*#!@ :*)Á²²Wo:'Wo*'!@*()*()@)(!:)Áü²²²(!' \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0355002521e74dcdb3a0c633338bd02ab1d85312 b/test/core/nanopb/corpus_serverlist/0355002521e74dcdb3a0c633338bd02ab1d85312 new file mode 100644 index 0000000000000000000000000000000000000000..6e2df12eb6eea3cc58c7e8b18cf148c7c480b4d4 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0355002521e74dcdb3a0c633338bd02ab1d85312 @@ -0,0 +1,3 @@ +!¼;@oCÙ'–((!*Ú*'‚'*') +!((š;!x!(*:)ÞNË):y +œ“)I;ô):()”o:;©ä(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/053d8d6ceeba9453c97d0ee5374db863e6f77ad4 b/test/core/nanopb/corpus_serverlist/053d8d6ceeba9453c97d0ee5374db863e6f77ad4 new file mode 100644 index 0000000000000000000000000000000000000000..268720a2e79c9095b9b38ddd2ab7495ab6474f1b Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/053d8d6ceeba9453c97d0ee5374db863e6f77ad4 differ diff --git a/test/core/nanopb/corpus_serverlist/0628c29e3ae264f8fa08652435bb3e61afe60883 b/test/core/nanopb/corpus_serverlist/0628c29e3ae264f8fa08652435bb3e61afe60883 new file mode 100644 index 0000000000000000000000000000000000000000..235fa37d29b7fa8387ccabb1ab0663ad591e8b66 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0628c29e3ae264f8fa08652435bb3e61afe60883 @@ -0,0 +1 @@ +2;ò•:.<ý:*::ƒž*Š):’ªÜ:2;ò•:ô(ã**.<ý:*::ƒž*Š)!'dv!*!”¾(;'**:W \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/065e91578e5359b70a668164310af6f0dd40e922 b/test/core/nanopb/corpus_serverlist/065e91578e5359b70a668164310af6f0dd40e922 new file mode 100644 index 0000000000000000000000000000000000000000..25d794756f30377a931a68c1c00ff89d62318faf --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/065e91578e5359b70a668164310af6f0dd40e922 @@ -0,0 +1,2 @@ + +Á²²ò \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/06b4b617d5937da8a7b58aed5341dc5ef6d1bcd7 b/test/core/nanopb/corpus_serverlist/06b4b617d5937da8a7b58aed5341dc5ef6d1bcd7 new file mode 100644 index 0000000000000000000000000000000000000000..78bdaad21d7b211d8c7ac458ce462448f52c9aea --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/06b4b617d5937da8a7b58aed5341dc5ef6d1bcd7 @@ -0,0 +1 @@ +!¼;)@oCÙ diff --git a/test/core/nanopb/corpus_serverlist/07216a4f5934890b89d845f6256546c2681350ce b/test/core/nanopb/corpus_serverlist/07216a4f5934890b89d845f6256546c2681350ce new file mode 100644 index 0000000000000000000000000000000000000000..e48a1b5254ea0e04dcaa61a41688a234a4fa7641 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/07216a4f5934890b89d845f6256546c2681350ce @@ -0,0 +1,3 @@ +)'Û¦)U!a Øç•ÏøÉÿ×' É=Éÿ +!'!É +)='!'ïïÉ=ÿ'):(: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/08584e8308b7f52f0fe380358800d7f585cba89c b/test/core/nanopb/corpus_serverlist/08584e8308b7f52f0fe380358800d7f585cba89c new file mode 100644 index 0000000000000000000000000000000000000000..20fafeee24cecc5c9df28b4c5a29efdec46bac8c --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/08584e8308b7f52f0fe380358800d7f585cba89c @@ -0,0 +1 @@ +Øì÷(!½Æ)!5Sã::`…¶(p½!'e€*'U)))(:)婤;*:!p(È':Ö¶;óÑ))e);À'!;:µ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/085a37568e99ec5855bd96affd259921515479e8 b/test/core/nanopb/corpus_serverlist/085a37568e99ec5855bd96affd259921515479e8 new file mode 100644 index 0000000000000000000000000000000000000000..b441046fb82c43fb33a3bcac32c6be0839b51c5b --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/085a37568e99ec5855bd96affd259921515479e8 @@ -0,0 +1,2 @@ +Á²•W!o:'ì*#!Á::()*@:)Á|²²²Á;9!' +²Áƒ'’² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0903d1e9297179c18de6a3707b16f27d0d54ed67 b/test/core/nanopb/corpus_serverlist/0903d1e9297179c18de6a3707b16f27d0d54ed67 new file mode 100644 index 0000000000000000000000000000000000000000..ccb513ddecfea42d9244a86ce22fe13c6ae44a3b --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0903d1e9297179c18de6a3707b16f27d0d54ed67 @@ -0,0 +1 @@ +(Õ';¤**´'Xò;)()<!*Â9*!(t;*î{R'! *:Èz!µ\ù;(U^Ò)a8ä(:Î'Çuy';** \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0aa20a75bff4e8af10330c66d288e900146f1a39 b/test/core/nanopb/corpus_serverlist/0aa20a75bff4e8af10330c66d288e900146f1a39 new file mode 100644 index 0000000000000000000000000000000000000000..8d2d5e930cc46f3c35e2ae96246aa80f4065e77b --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0aa20a75bff4e8af10330c66d288e900146f1a39 @@ -0,0 +1 @@ +)*!B!Óà@'))ò);'Ç“¹¢ƒ§U)àB!B \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0ae76e2b24ca999bd5e09e517aa4d88f5b5f58a4 b/test/core/nanopb/corpus_serverlist/0ae76e2b24ca999bd5e09e517aa4d88f5b5f58a4 new file mode 100644 index 0000000000000000000000000000000000000000..dd58fda983c3df60427a57385f88d3f85d711f8e --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0ae76e2b24ca999bd5e09e517aa4d88f5b5f58a4 @@ -0,0 +1 @@ +Á²•Wì:o#'*!@Á²²Wo:'Wo:::*') \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0c3025fdfb008a6563ea2a2bb6cbc79b8ccbf8f3 b/test/core/nanopb/corpus_serverlist/0c3025fdfb008a6563ea2a2bb6cbc79b8ccbf8f3 new file mode 100644 index 0000000000000000000000000000000000000000..6ec1b09120a6de3d03691754bf928899196623df --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0c3025fdfb008a6563ea2a2bb6cbc79b8ccbf8f3 @@ -0,0 +1,2 @@ +Ų;IJ +UUú‰™( !MÁ²²²Á² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0d219165cd317142afa36b8b5476cc022c95c4e6 b/test/core/nanopb/corpus_serverlist/0d219165cd317142afa36b8b5476cc022c95c4e6 new file mode 100644 index 0000000000000000000000000000000000000000..6ac63d3f07e60e07d4549798cac2f8a5728c8d58 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/0d219165cd317142afa36b8b5476cc022c95c4e6 differ diff --git a/test/core/nanopb/corpus_serverlist/0e053123dd6256de5aff55b0731f913de250c18e b/test/core/nanopb/corpus_serverlist/0e053123dd6256de5aff55b0731f913de250c18e new file mode 100644 index 0000000000000000000000000000000000000000..b0f591e625701a068d3e9dfa95b2c95d9c1515a3 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0e053123dd6256de5aff55b0731f913de250c18e @@ -0,0 +1,2 @@ +!' §'* É=Éÿ + '=ï!) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0e065f98325849ac05eed515865b33dba0264cd4 b/test/core/nanopb/corpus_serverlist/0e065f98325849ac05eed515865b33dba0264cd4 new file mode 100644 index 0000000000000000000000000000000000000000..220e90bc86fa01494417bab14f7d6e3eb8a37d4c --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0e065f98325849ac05eed515865b33dba0264cd4 @@ -0,0 +1 @@ +!'*.*:*’P§ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0e4ff715d491c9f0b471c400b71804739b6d400a b/test/core/nanopb/corpus_serverlist/0e4ff715d491c9f0b471c400b71804739b6d400a new file mode 100644 index 0000000000000000000000000000000000000000..c25468a02ca76c215c727191cea4be054e4349dd --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0e4ff715d491c9f0b471c400b71804739b6d400a @@ -0,0 +1,2 @@ +!¼+@oCÙ'–((!*Ú*'‚'*')!!¼;@oCÙ'–((!*Ú*''*' ! +’Œš;!x!(*(:)ÞNËš \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0ec94942046cd7e00bc058204c1d046075ca9531 b/test/core/nanopb/corpus_serverlist/0ec94942046cd7e00bc058204c1d046075ca9531 new file mode 100644 index 0000000000000000000000000000000000000000..0184c3cbea051ce52d87b8080e6e454b7ffba3da --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0ec94942046cd7e00bc058204c1d046075ca9531 @@ -0,0 +1 @@ +ȯõÜ!:)'*l:*\!D)…');ȯõÜ!WѯÈѯ2Ü:!:*ò)!D\õ*:l)…');W‘¯õÈÑ¯Ü \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0f0e8da530eb8c924cee6985d9c3dfd93274ef8c b/test/core/nanopb/corpus_serverlist/0f0e8da530eb8c924cee6985d9c3dfd93274ef8c new file mode 100644 index 0000000000000000000000000000000000000000..d49c2cac938a6851c8c4ca0c33f103f44baefd7f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0f0e8da530eb8c924cee6985d9c3dfd93274ef8c @@ -0,0 +1 @@ +'P:*!/!;'Ù*;kÜ*!'l;À‚°Q'(¼ã:)'*î#â;+Ç»(›²(«;w'!* \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/0ff365225c981d74b89499d1e708684ed4d0b570 b/test/core/nanopb/corpus_serverlist/0ff365225c981d74b89499d1e708684ed4d0b570 new file mode 100644 index 0000000000000000000000000000000000000000..101f1368364c3d4d96625df765732e6bad5d6955 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/0ff365225c981d74b89499d1e708684ed4d0b570 @@ -0,0 +1,2 @@ +!]!à +!ØØìƽ÷ìƽ‰÷( )!!;n(!! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/113b1efff1677c1b9a24f89aec0c3ecc228ddf62 b/test/core/nanopb/corpus_serverlist/113b1efff1677c1b9a24f89aec0c3ecc228ddf62 new file mode 100644 index 0000000000000000000000000000000000000000..2ed09e89af8673142a5c116f76d68ea6a2e8291d --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/113b1efff1677c1b9a24f89aec0c3ecc228ddf62 @@ -0,0 +1,2 @@ +)'Û¦)U!a Øç•ÏøÉÿ×' É=Éÿ +'!pÉ)='!'ïïÉ=ÿ'):(: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/11697d621eab6743ba22715722d5b23830b79075 b/test/core/nanopb/corpus_serverlist/11697d621eab6743ba22715722d5b23830b79075 new file mode 100644 index 0000000000000000000000000000000000000000..afbff8383afda0f762dcdbcb35a464576f18f1c9 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/11697d621eab6743ba22715722d5b23830b79075 @@ -0,0 +1 @@ +P:*:!/!;'Ù*;kÜ*!'l;À‚°Ê'¼Q:)'*;#+âîÇ»(›²(«;w'!*!J;Ó**)))r \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/12463318b795c756f389bc0fb1cca9645eafef28 b/test/core/nanopb/corpus_serverlist/12463318b795c756f389bc0fb1cca9645eafef28 new file mode 100644 index 0000000000000000000000000000000000000000..1d5fe161df40240fd0a85b259232deb3def00dfa --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/12463318b795c756f389bc0fb1cca9645eafef28 @@ -0,0 +1 @@ +!)fB!(j)ò !)!Z!'!*M)!:“ ó'ØH(ã‰T('¯fBÒ!û) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/12784250cf16ec999529f601ae5c5798e853d34a b/test/core/nanopb/corpus_serverlist/12784250cf16ec999529f601ae5c5798e853d34a new file mode 100644 index 0000000000000000000000000000000000000000..f38c8f1588eaef4f10f171d75bd9ea61440ee2e1 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/12784250cf16ec999529f601ae5c5798e853d34a @@ -0,0 +1 @@ +2;ò•:.<ý:*::ƒž*Š):’ªÜ:ô(ã**!'dv!*!”¾(;'**W›!Øâ(!;;:/*f§¨Ça°î \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/13122d08c1cee0dae6434605917d4cc6d8ea8cc5 b/test/core/nanopb/corpus_serverlist/13122d08c1cee0dae6434605917d4cc6d8ea8cc5 new file mode 100644 index 0000000000000000000000000000000000000000..110037ce5b54c346c186b1919d32688492993831 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/13122d08c1cee0dae6434605917d4cc6d8ea8cc5 @@ -0,0 +1 @@ +'=ï!)**Í(()#õhÕ|'µ)T;“Õq£!(Sª!*(*(4!;)*A!+*'§:*Ò;µk;'¢Ãp*!¿) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/148a1118649dd8aa9b4ed778efdf7c1611aa5d27 b/test/core/nanopb/corpus_serverlist/148a1118649dd8aa9b4ed778efdf7c1611aa5d27 new file mode 100644 index 0000000000000000000000000000000000000000..f13399b1b0c15887e824a0a6524d75f01806c9fd Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/148a1118649dd8aa9b4ed778efdf7c1611aa5d27 differ diff --git a/test/core/nanopb/corpus_serverlist/15dea2bb5fb36a3dd5172796da66a821a32918e7 b/test/core/nanopb/corpus_serverlist/15dea2bb5fb36a3dd5172796da66a821a32918e7 new file mode 100644 index 0000000000000000000000000000000000000000..c88bba52090e5734287b306b38bd60144dc03e88 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/15dea2bb5fb36a3dd5172796da66a821a32918e7 @@ -0,0 +1,2 @@ +! +(!Øìƽ‰÷(!)!°S::Ô`…¶(!q"!½!€e&@n;*'Un))) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/16488fe15a7e33cb41f2b7c159c99154464b3fd3 b/test/core/nanopb/corpus_serverlist/16488fe15a7e33cb41f2b7c159c99154464b3fd3 new file mode 100644 index 0000000000000000000000000000000000000000..ae939a0498912b0f60f4e9fda3c419805ba650f7 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/16488fe15a7e33cb41f2b7c159c99154464b3fd3 @@ -0,0 +1 @@ +²U \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/1870a48a3c9c1dd9027cbd85beb503b43cff6e89 b/test/core/nanopb/corpus_serverlist/1870a48a3c9c1dd9027cbd85beb503b43cff6e89 new file mode 100644 index 0000000000000000000000000000000000000000..74a76f5105d83158f8cc1f6f7263ebeb476f4b54 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/1870a48a3c9c1dd9027cbd85beb503b43cff6e89 @@ -0,0 +1,2 @@ +!¼+@kCÙ'–((!*Ú*'‚'*')!)(;!x!(*:)ÞyËNœ“) +:)I*ô):()”o:;©'(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/1900b6a9123667a79020319aa7fd54d230bc7073 b/test/core/nanopb/corpus_serverlist/1900b6a9123667a79020319aa7fd54d230bc7073 new file mode 100644 index 0000000000000000000000000000000000000000..3f1e26b38c8c503efb062378189d2f71d6c023da --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/1900b6a9123667a79020319aa7fd54d230bc7073 @@ -0,0 +1,2 @@ +)'Û¦)U!a Øç•ÏøÉÿ×' É=Éÿ +'!I)='!'ïïÉ=ÿ'):(: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/1a000f1cbccd2ab6f7e623e015ed2e84284c9dbf b/test/core/nanopb/corpus_serverlist/1a000f1cbccd2ab6f7e623e015ed2e84284c9dbf new file mode 100644 index 0000000000000000000000000000000000000000..1ae57306e860e0ed0d05721a6f2c9bc11ef4234d --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/1a000f1cbccd2ab6f7e623e015ed2e84284c9dbf @@ -0,0 +1,2 @@ +Á²•Wo:'ì*#!@ +Á²:*²ò):)Áü²²²Å;; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/1c1d403f6175d52ac4430d1ef2401b549761707e b/test/core/nanopb/corpus_serverlist/1c1d403f6175d52ac4430d1ef2401b549761707e new file mode 100644 index 0000000000000000000000000000000000000000..9d25e355b13a18252abb814a47ece68fd52410a4 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/1c1d403f6175d52ac4430d1ef2401b549761707e differ diff --git a/test/core/nanopb/corpus_serverlist/1c2ae0e1915e18dffc2215e9121f1afe0e4335c4 b/test/core/nanopb/corpus_serverlist/1c2ae0e1915e18dffc2215e9121f1afe0e4335c4 new file mode 100644 index 0000000000000000000000000000000000000000..ead5846073bc509537d4f75ba3d3b38b8f797fae --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/1c2ae0e1915e18dffc2215e9121f1afe0e4335c4 @@ -0,0 +1,3 @@ +!¼+@oCÙ'–((!*Ú*'‚'*') +!!'@¼CoÙ;–((!*Ú*''*' ! +’š;!x!(*(:)ÞNËš \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/1c5d2eef52426db9d0842f3d57b27a219434c512 b/test/core/nanopb/corpus_serverlist/1c5d2eef52426db9d0842f3d57b27a219434c512 new file mode 100644 index 0000000000000000000000000000000000000000..266ade1bbf669771d67c9d44f117d5bb8a06d317 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/1c5d2eef52426db9d0842f3d57b27a219434c512 @@ -0,0 +1 @@ +P²² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/1d0676867c1ebce84531035fa7eb86ed00762df5 b/test/core/nanopb/corpus_serverlist/1d0676867c1ebce84531035fa7eb86ed00762df5 new file mode 100644 index 0000000000000000000000000000000000000000..d502f614019c3ec24607ba8b6d37b39b0c1dbf48 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/1d0676867c1ebce84531035fa7eb86ed00762df5 @@ -0,0 +1 @@ + !É=Éÿ'! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/1d92b263fa70450b0d0aeb81bf5d2f69eefbbd99 b/test/core/nanopb/corpus_serverlist/1d92b263fa70450b0d0aeb81bf5d2f69eefbbd99 new file mode 100644 index 0000000000000000000000000000000000000000..40ecfd3903c56fa7063269e06f9b616e7b02330f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/1d92b263fa70450b0d0aeb81bf5d2f69eefbbd99 @@ -0,0 +1 @@ +!!Øìƽ÷(!)!5Sã::Ô`…¶8!q"€'!@ne½!;*'Un))) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/1e843ed4864d6a808b671dd6769ae191ac8a13ad b/test/core/nanopb/corpus_serverlist/1e843ed4864d6a808b671dd6769ae191ac8a13ad new file mode 100644 index 0000000000000000000000000000000000000000..4379eead8aa860dab81b60c6442076f93d3f6b37 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/1e843ed4864d6a808b671dd6769ae191ac8a13ad @@ -0,0 +1 @@ + É=Éÿ'! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/1eb06a34ee568d584c4b33472788889bc68af3f5 b/test/core/nanopb/corpus_serverlist/1eb06a34ee568d584c4b33472788889bc68af3f5 new file mode 100644 index 0000000000000000000000000000000000000000..7bb8d454a3bc1d6e267f251d12833f964e503567 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/1eb06a34ee568d584c4b33472788889bc68af3f5 @@ -0,0 +1,3 @@ +' É=Éÿ + '=ï!)**Í(()#õhÕ|'µ)É=É'! +É)ÿT= \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/2169c2b4d560d74a5487df68b56f3af1d648f544 b/test/core/nanopb/corpus_serverlist/2169c2b4d560d74a5487df68b56f3af1d648f544 new file mode 100644 index 0000000000000000000000000000000000000000..055390eda28e03c91fa3215a7d8f534bd840eb59 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/2169c2b4d560d74a5487df68b56f3af1d648f544 @@ -0,0 +1 @@ +ȯõÜ!:)'*l:*\!D)…');ȯõÜ!WѯõÈѯ1Ü:!:*ò)!D\õ*:l)…');WѯõÈѯ4Ü \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/21f8f7583e58c1c81a3ac8237b5fa58071edf8a4 b/test/core/nanopb/corpus_serverlist/21f8f7583e58c1c81a3ac8237b5fa58071edf8a4 new file mode 100644 index 0000000000000000000000000000000000000000..0549191756ce1bb17a3a6e64da251549e9138cd8 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/21f8f7583e58c1c81a3ac8237b5fa58071edf8a4 @@ -0,0 +1 @@ +)'Û¦)U!a Øç•ÏøÉÿ×É=* \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/231e348407fdcb14412c691b0b20982940160ccd b/test/core/nanopb/corpus_serverlist/231e348407fdcb14412c691b0b20982940160ccd new file mode 100644 index 0000000000000000000000000000000000000000..5ce84e476dae4ab03dbeca457d6b3cc93fcebdba --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/231e348407fdcb14412c691b0b20982940160ccd @@ -0,0 +1 @@ +'!=ï'o)**Í(()#õhÕ|(µ)T;“Õ²Wo:'*()@!½()(!('( \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/27b8f060e3296eaef77dcdd4c2cd11d5650604ac b/test/core/nanopb/corpus_serverlist/27b8f060e3296eaef77dcdd4c2cd11d5650604ac new file mode 100644 index 0000000000000000000000000000000000000000..f82d1f9f078e5f9e9e447aa67902a417e1248801 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/27b8f060e3296eaef77dcdd4c2cd11d5650604ac @@ -0,0 +1,2 @@ +Ų;Ų +UõUú‰Ù( (Ų;²UUú‰*Ų;ÙU²Å(Ž²'Ö!…z%)#€ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/28ed3a797da3c48c309a4ef792147f3c56cfec40 b/test/core/nanopb/corpus_serverlist/28ed3a797da3c48c309a4ef792147f3c56cfec40 new file mode 100644 index 0000000000000000000000000000000000000000..f46d387bf94c89b81aaec9cff2ee52d1f9ab4187 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/28ed3a797da3c48c309a4ef792147f3c56cfec40 @@ -0,0 +1 @@ +( \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/291fcc6e043942638fa3c865c0a1be5e4dcc0e70 b/test/core/nanopb/corpus_serverlist/291fcc6e043942638fa3c865c0a1be5e4dcc0e70 new file mode 100644 index 0000000000000000000000000000000000000000..58aebd93b07a2827b1268695985ed4eb477d62c6 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/291fcc6e043942638fa3c865c0a1be5e4dcc0e70 @@ -0,0 +1,2 @@ +! +!Øìƽ‰÷(!)!0S::Ô`…¶(!q"!½!€e&@n;*'Un))) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/2a7f6c1f8fdc090b24ceb90ab4f3a7b331c06c86 b/test/core/nanopb/corpus_serverlist/2a7f6c1f8fdc090b24ceb90ab4f3a7b331c06c86 new file mode 100644 index 0000000000000000000000000000000000000000..0fa7c0c086d041ccb8d7b23d34649915ff664e18 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/2a7f6c1f8fdc090b24ceb90ab4f3a7b331c06c86 @@ -0,0 +1,2 @@ +! +!Øìƽ÷(!)!5Sã::Ô`…¶(!q"€'!@ne½!;*'Un))) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/2b85f180fe56f84925b274819ce10a8972a594e7 b/test/core/nanopb/corpus_serverlist/2b85f180fe56f84925b274819ce10a8972a594e7 new file mode 100644 index 0000000000000000000000000000000000000000..f3078cebf1232fbda5f4893cb2234dda39e9fe6f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/2b85f180fe56f84925b274819ce10a8972a594e7 @@ -0,0 +1 @@ +Z!!Î!*M)!:“(ó'ØH(;ã‰T('¯Ò'û);<''šŸÐ*ÿÙÎ!Ë;;:t:t*(Œò8.€¨(;ñ!! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/2dea73d7d10ba0dcfd103f7542bdf7458e772b2b b/test/core/nanopb/corpus_serverlist/2dea73d7d10ba0dcfd103f7542bdf7458e772b2b new file mode 100644 index 0000000000000000000000000000000000000000..e7381b05d8fc8f51bd41b199641ce42d929285f6 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/2dea73d7d10ba0dcfd103f7542bdf7458e772b2b @@ -0,0 +1 @@ +Á²•Wo:'ì*#!@ å*)Á²²Wo:'Wo*'!@*()*()@)(!:)Áü²²²(!' \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/2e9c19f98ef88b83ec2dea8b1b7f92b8337f757b b/test/core/nanopb/corpus_serverlist/2e9c19f98ef88b83ec2dea8b1b7f92b8337f757b new file mode 100644 index 0000000000000000000000000000000000000000..56a0cc33bd196eba78015170d381926d3ec0ac3a --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/2e9c19f98ef88b83ec2dea8b1b7f92b8337f757b @@ -0,0 +1 @@ +)::(:P:*/!;;'Ù*©;k:° \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/2fbd59ffb74aba392b86f4fe2ff8067b6d45cce8 b/test/core/nanopb/corpus_serverlist/2fbd59ffb74aba392b86f4fe2ff8067b6d45cce8 new file mode 100644 index 0000000000000000000000000000000000000000..659d7e733e78486e8cba69d50baecc3e308087da --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/2fbd59ffb74aba392b86f4fe2ff8067b6d45cce8 @@ -0,0 +1,3 @@ +! +!(Øƽ÷(!)!:5ã:S! +sèÔ`…!ØìƽÂ÷(! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/31059c32ea28d37b7442f51b20e966665662783c b/test/core/nanopb/corpus_serverlist/31059c32ea28d37b7442f51b20e966665662783c new file mode 100644 index 0000000000000000000000000000000000000000..9ce0e277d9f7f0a2ae656398b5c691392416bec1 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/31059c32ea28d37b7442f51b20e966665662783c @@ -0,0 +1 @@ +²²Wo:'Wo:'*()@!½(*()@)(!(!' \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/31f78e35feb36037864df5f8f47136f8e6e4768a b/test/core/nanopb/corpus_serverlist/31f78e35feb36037864df5f8f47136f8e6e4768a new file mode 100644 index 0000000000000000000000000000000000000000..e19d8d2687e7a9fead502d2da50bfe217538861e --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/31f78e35feb36037864df5f8f47136f8e6e4768a @@ -0,0 +1,2 @@ +!à + ØØìƽ÷ìƽ‰÷ )!!;n(!! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/326d322d1aa31696a14518830e544770f12146ee b/test/core/nanopb/corpus_serverlist/326d322d1aa31696a14518830e544770f12146ee new file mode 100644 index 0000000000000000000000000000000000000000..da53230fe950ef59819b101be13c628c3a652cc6 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/326d322d1aa31696a14518830e544770f12146ee differ diff --git a/test/core/nanopb/corpus_serverlist/337df26552e0884ff133cc1be8e72020be38f457 b/test/core/nanopb/corpus_serverlist/337df26552e0884ff133cc1be8e72020be38f457 new file mode 100644 index 0000000000000000000000000000000000000000..d139d04dd81c9866ba5814929e208f4ac9763416 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/337df26552e0884ff133cc1be8e72020be38f457 @@ -0,0 +1 @@ +ȯõÜ!:)'*l:*\!D)…')È;¯õÜ!WѯõÈѯ1Ü:!:*ò)!D\ *:l)…');WѯõÈÑ¯Ô \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/33a2a0aa86956097e034b5ee16aeceacee7efc34 b/test/core/nanopb/corpus_serverlist/33a2a0aa86956097e034b5ee16aeceacee7efc34 new file mode 100644 index 0000000000000000000000000000000000000000..897ad4b10adc94851be194ae8e187a31e5fc329f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/33a2a0aa86956097e034b5ee16aeceacee7efc34 @@ -0,0 +1,2 @@ +Á²•Wo:'ì*#!@:*):)Áü²²²Å;;! +²Áƒ'’² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/33d175d1ecb3a85be7dd93d24efc3ddda0a85ad6 b/test/core/nanopb/corpus_serverlist/33d175d1ecb3a85be7dd93d24efc3ddda0a85ad6 new file mode 100644 index 0000000000000000000000000000000000000000..447cb5ac04c14c38d563d0e2dcceb827a3f4e2be --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/33d175d1ecb3a85be7dd93d24efc3ddda0a85ad6 @@ -0,0 +1 @@ +Á²²²²Wo:'Wo:'*()@!½Wo:'( \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/3718a1b790db16bcfc4ec30691fab24ea7bb0b74 b/test/core/nanopb/corpus_serverlist/3718a1b790db16bcfc4ec30691fab24ea7bb0b74 new file mode 100644 index 0000000000000000000000000000000000000000..66abd73a266d203e04bca98ad997ab9283f26eb1 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/3718a1b790db16bcfc4ec30691fab24ea7bb0b74 @@ -0,0 +1,3 @@ +!¼+@oCÙ'–((!*Ú*'‚'*') +!!¼;@oCÙ'–((!*Ú*''*' ! +’š;!x!(*(:)ÞNËš \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/37aa3946054035b712102a62b71c94747dfd1491 b/test/core/nanopb/corpus_serverlist/37aa3946054035b712102a62b71c94747dfd1491 new file mode 100644 index 0000000000000000000000000000000000000000..a679fb2c64f99d894ab394038eafe9f15beb14d1 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/37aa3946054035b712102a62b71c94747dfd1491 @@ -0,0 +1,3 @@ +!¼;@oCÙ'–((!*Ú*'‚'*'((! š +;!x!(*:)ÞNË):y +œ“)I;ô):()”o:;©'(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/37b697adc0708ad12e4ed7355f3f8fdf1b7919ca b/test/core/nanopb/corpus_serverlist/37b697adc0708ad12e4ed7355f3f8fdf1b7919ca new file mode 100644 index 0000000000000000000000000000000000000000..0a6988cfd7f5c94fa77c98ecf7974adb580e0e3c --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/37b697adc0708ad12e4ed7355f3f8fdf1b7919ca @@ -0,0 +1 @@ +2È;ò•:.<ý:*::ƒž*Š):’ªÜ:ô(ã**!'dv!*!”¾(;'**W›!Øâ(!;;:/*f§¨Ça°î \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/37bf4642c5e5a806e2042cdf5ead9bf3c97b9ac1 b/test/core/nanopb/corpus_serverlist/37bf4642c5e5a806e2042cdf5ead9bf3c97b9ac1 new file mode 100644 index 0000000000000000000000000000000000000000..3069505dea4e55a1b740fed39cd50d41f602e9ee --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/37bf4642c5e5a806e2042cdf5ead9bf3c97b9ac1 @@ -0,0 +1,2 @@ +Ų;Ų +UõUú‰Ù( Ų;²UUú‰*Ų;²UÅÙ(Ž(²'Ö!…z%)#€ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/37d94ca6a20303389b35404f3dfd20aaa9ff0851 b/test/core/nanopb/corpus_serverlist/37d94ca6a20303389b35404f3dfd20aaa9ff0851 new file mode 100644 index 0000000000000000000000000000000000000000..1955fc98aa198745aefb9b5fe8b31cfcbe052fe9 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/37d94ca6a20303389b35404f3dfd20aaa9ff0851 @@ -0,0 +1 @@ +P:*!/!;'Ù*;kÜ*!'l;À‚°Q'ʼ:)'*î#â;+Ç»(›²(«;w'!*!J;Ó**ã)))r \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/39278604f6a1102366464bbe769ae846e542bc56 b/test/core/nanopb/corpus_serverlist/39278604f6a1102366464bbe769ae846e542bc56 new file mode 100644 index 0000000000000000000000000000000000000000..e1e65584278e91b00766a2291abddb168851e7f2 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/39278604f6a1102366464bbe769ae846e542bc56 @@ -0,0 +1,2 @@ +!¼;@oCÙ'–(¾(!*Ú*''*' ! +’ȯõÜ!:)'*l:*\!D)…');š;!x!(*:)ÞNÈ¯Ë \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/396b57d9a11a1b135e36ad266e155cc0c3b77d21 b/test/core/nanopb/corpus_serverlist/396b57d9a11a1b135e36ad266e155cc0c3b77d21 new file mode 100644 index 0000000000000000000000000000000000000000..b20c4d355b2dbfc860f520dc57f889623fd6fa86 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/396b57d9a11a1b135e36ad266e155cc0c3b77d21 @@ -0,0 +1,2 @@ +!)fBB!(@)ò û!!'!*M)!:“(ó'1 +)fØH(ã‰T('¯Ò''û);<'BB!(@ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/39a49db120a807fe4e80c502254a5009625c7599 b/test/core/nanopb/corpus_serverlist/39a49db120a807fe4e80c502254a5009625c7599 new file mode 100644 index 0000000000000000000000000000000000000000..ea066369bea0c709332036aad4f059dba7e50c11 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/39a49db120a807fe4e80c502254a5009625c7599 @@ -0,0 +1 @@ +!)fBB!(@)ò Z!!'!*M)!:“(ó'ØH(ã‰T('¯Ò'û);<''šŸÐ*“¢ƒÿ§'à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/39f04d1c6d4beefa3e3d6eae3a5317d969787055 b/test/core/nanopb/corpus_serverlist/39f04d1c6d4beefa3e3d6eae3a5317d969787055 new file mode 100644 index 0000000000000000000000000000000000000000..a0ea7a3d504093b2ac3999d37d586762c5396b9e --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/39f04d1c6d4beefa3e3d6eae3a5317d969787055 @@ -0,0 +1,3 @@ +!!à +!Ø +Øìƽ÷ìƽ‰÷( )!!;n(!! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/3b199b80209fa0b8ffedba4381019f8729cc09d6 b/test/core/nanopb/corpus_serverlist/3b199b80209fa0b8ffedba4381019f8729cc09d6 new file mode 100644 index 0000000000000000000000000000000000000000..382928e07796ecfcb684dff34b4d0d835b59e247 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/3b199b80209fa0b8ffedba4381019f8729cc09d6 @@ -0,0 +1 @@ +È2ò;•È;."ò:• \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/3ccf7ffb96c3e4789409db33cc12bfd8ddc24c1a b/test/core/nanopb/corpus_serverlist/3ccf7ffb96c3e4789409db33cc12bfd8ddc24c1a new file mode 100644 index 0000000000000000000000000000000000000000..e8d3a078f6b3dca3848b7136f6aaa72dfcb67b72 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/3ccf7ffb96c3e4789409db33cc12bfd8ddc24c1a @@ -0,0 +1 @@ +?P:*!/!;'Š*'kÜš!'l;À‚°Q'ʼ:)'*î#â;+Ç»((²›«;w'!*!J;Ó**ã)))r \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/3d04382d1fe11ff3b717100aece7f9eff2d04b9b b/test/core/nanopb/corpus_serverlist/3d04382d1fe11ff3b717100aece7f9eff2d04b9b new file mode 100644 index 0000000000000000000000000000000000000000..fd14f42b5cf9078cd85be892fadc1b9407edfbf3 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/3d04382d1fe11ff3b717100aece7f9eff2d04b9b @@ -0,0 +1,4 @@ +! +!(Øƽ÷(!)!:5ã:S! + +èÔ`…!ØìƽÂ÷(! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/3d4eb9f836bb40cf4c734073bcba8b73e4cc93ae b/test/core/nanopb/corpus_serverlist/3d4eb9f836bb40cf4c734073bcba8b73e4cc93ae new file mode 100644 index 0000000000000000000000000000000000000000..fdf49e4d0db36492e425ea0044dcb3447683bcb9 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/3d4eb9f836bb40cf4c734073bcba8b73e4cc93ae @@ -0,0 +1 @@ +' \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/41dc8c55e41d32c30865f9761931ddd4c5b740f8 b/test/core/nanopb/corpus_serverlist/41dc8c55e41d32c30865f9761931ddd4c5b740f8 new file mode 100644 index 0000000000000000000000000000000000000000..20387ccea0e61353bec80bc8dfbcd90d9f377d8d --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/41dc8c55e41d32c30865f9761931ddd4c5b740f8 @@ -0,0 +1 @@ +Á²²Wo:Wo:'*()@½(()@)(!(¡ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/41ef7b74d212f8f7f6681edcffd0db719030d31d b/test/core/nanopb/corpus_serverlist/41ef7b74d212f8f7f6681edcffd0db719030d31d new file mode 100644 index 0000000000000000000000000000000000000000..bea906721fa4e626e9db2235f5f3a1428bf4f698 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/41ef7b74d212f8f7f6681edcffd0db719030d31d @@ -0,0 +1 @@ +Á²²Wo:'ì*'!@:(:Á*():)Á| ²²Á²²Wo:'ì*'!@*(Á*² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/431187b5926fa7d0823305a9f87635616ea3ef27 b/test/core/nanopb/corpus_serverlist/431187b5926fa7d0823305a9f87635616ea3ef27 new file mode 100644 index 0000000000000000000000000000000000000000..c735a4b212321639ac28a3388a27589d63fca59f Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/431187b5926fa7d0823305a9f87635616ea3ef27 differ diff --git a/test/core/nanopb/corpus_serverlist/44c6da04b8378986721f7225e70a1514695c176c b/test/core/nanopb/corpus_serverlist/44c6da04b8378986721f7225e70a1514695c176c new file mode 100644 index 0000000000000000000000000000000000000000..0b54830897d5e3943e9a72c6f97ddc243a13f2ff --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/44c6da04b8378986721f7225e70a1514695c176c @@ -0,0 +1 @@ +)*!B!Óà@'))ò);'Ç“¹¢ƒ§U)àB!U)B!B!à@)ò);'Çþ“¢ƒ§'à@*::sEBD \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/450161236e37a1dfc0da6398c4876df82ff640ac b/test/core/nanopb/corpus_serverlist/450161236e37a1dfc0da6398c4876df82ff640ac new file mode 100644 index 0000000000000000000000000000000000000000..5f8fe62f79630b62f4dc0db0a81f6835ca85bee8 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/450161236e37a1dfc0da6398c4876df82ff640ac @@ -0,0 +1 @@ +ȯõÜ!:)'*l:*\!D)…');WѯõÈѯ2Ü!:òõ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/45257a176ca6a05ec65a6df430bbb6b85d0a676f b/test/core/nanopb/corpus_serverlist/45257a176ca6a05ec65a6df430bbb6b85d0a676f new file mode 100644 index 0000000000000000000000000000000000000000..9e49f15c5b38f7bc80c4dce6d8ec3517e65f1a2c --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/45257a176ca6a05ec65a6df430bbb6b85d0a676f @@ -0,0 +1,2 @@ +²Wo:'*()@!½()(!('((Š—;ž' +ý;œ¯C:'((½!D’'*c¸L™'!;±N!’K1!(:Íâ* \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/46d1c2f2edcc9cdc0d1698fa0c8853cb19a6e7d9 b/test/core/nanopb/corpus_serverlist/46d1c2f2edcc9cdc0d1698fa0c8853cb19a6e7d9 new file mode 100644 index 0000000000000000000000000000000000000000..61465c5ab098e22f5ff3eca0943b11533e5f2410 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/46d1c2f2edcc9cdc0d1698fa0c8853cb19a6e7d9 @@ -0,0 +1 @@ +'=ï!)**Í(()#õhÕ|'µ)T;“Õq£!(Sª=ï!)!***Í(() \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/4764bd4297bf0c405348d2bb87b8fbc02beadcb8 b/test/core/nanopb/corpus_serverlist/4764bd4297bf0c405348d2bb87b8fbc02beadcb8 new file mode 100644 index 0000000000000000000000000000000000000000..6b6a461645cbf579559ec1f431f29d727d2a5929 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/4764bd4297bf0c405348d2bb87b8fbc02beadcb8 @@ -0,0 +1,2 @@ +É)='!'ïïÁ²•Wo:'ì*#!@ +*Á'½²:²ò!):)Á'ï!)**ü²²²( \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/48199bfd0e2c160f56d03e881bb5dfe276eec462 b/test/core/nanopb/corpus_serverlist/48199bfd0e2c160f56d03e881bb5dfe276eec462 new file mode 100644 index 0000000000000000000000000000000000000000..81567063a54cc8c7e8771ffd1a0b2cd79f2fcffa --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/48199bfd0e2c160f56d03e881bb5dfe276eec462 @@ -0,0 +1,2 @@ +! +!Øìƽ÷(!)!5Sã::Ô`…¶(!p"€'!@ne½!;*'Un))!) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/48e865c56e8db13640d6ecbfc0f2486eb77e07d1 b/test/core/nanopb/corpus_serverlist/48e865c56e8db13640d6ecbfc0f2486eb77e07d1 new file mode 100644 index 0000000000000000000000000000000000000000..521f5102176c583acf64b72e8221659672064560 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/48e865c56e8db13640d6ecbfc0f2486eb77e07d1 @@ -0,0 +1,2 @@ +Á²•Wo:'ì*#!@ +*(Á²:²ò):)Áü²²²Å;; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/499b003b8b98edd9dbe2668c8c6af948769d7e87 b/test/core/nanopb/corpus_serverlist/499b003b8b98edd9dbe2668c8c6af948769d7e87 new file mode 100644 index 0000000000000000000000000000000000000000..766b50447e189341a8e0106557beed07b810f219 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/499b003b8b98edd9dbe2668c8c6af948769d7e87 @@ -0,0 +1 @@ +È;ò2È;ò•:.• \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/4a55591c4b390c5a36cecc6f1b6f5105300b546b b/test/core/nanopb/corpus_serverlist/4a55591c4b390c5a36cecc6f1b6f5105300b546b new file mode 100644 index 0000000000000000000000000000000000000000..14be25cd2a44bbbb1246b4f1582a27772c52c7b2 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/4a55591c4b390c5a36cecc6f1b6f5105300b546b @@ -0,0 +1 @@ + '!†É=Éÿm'! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/4d33f97ec69c64e14dcf205be36a6319ddb8a20d b/test/core/nanopb/corpus_serverlist/4d33f97ec69c64e14dcf205be36a6319ddb8a20d new file mode 100644 index 0000000000000000000000000000000000000000..f06ce525a054ac816391ce4e04072c566f73efda --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/4d33f97ec69c64e14dcf205be36a6319ddb8a20d @@ -0,0 +1 @@ + Ų;²UU'ú‰(Ž'Ö Å²;;²U!Uú‰Ù(Ž'Ö!…!…z%z% \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/4dbfb08904739928e19c2f459040b35ac410f699 b/test/core/nanopb/corpus_serverlist/4dbfb08904739928e19c2f459040b35ac410f699 new file mode 100644 index 0000000000000000000000000000000000000000..c56ae6408ba8b46e9d14d6a575f334c0e37d4c19 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/4dbfb08904739928e19c2f459040b35ac410f699 @@ -0,0 +1,3 @@ +!¼;@oCÙ'–((!*Ú*'‚'*') +!((š;!x!(*:)ÞNË):y +œ“)I;ô):()”o:;©'(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/501bd6fe1de2719cf8d2c517a071e5d883fbe766 b/test/core/nanopb/corpus_serverlist/501bd6fe1de2719cf8d2c517a071e5d883fbe766 new file mode 100644 index 0000000000000000000000000000000000000000..677eff207fae18e4f05869b4c5b13d378b6f93d8 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/501bd6fe1de2719cf8d2c517a071e5d883fbe766 @@ -0,0 +1 @@ +Á²•Wo:'ì*#!@ å*²)²ÁWo:'Wo*'!@*()*()Á@()):ü!²;²²(!' \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/5208871ea8948223b64b304336cea41ac3240244 b/test/core/nanopb/corpus_serverlist/5208871ea8948223b64b304336cea41ac3240244 new file mode 100644 index 0000000000000000000000000000000000000000..695b70164b3a470bb88c2692b31b2a6430480334 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/5208871ea8948223b64b304336cea41ac3240244 @@ -0,0 +1 @@ +Á²•Wo:'ì*#!@ 'Á²²:*)Á²²Wo²:'W \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/5348c71be34967458403bd4b58bb2a8a744d35ee b/test/core/nanopb/corpus_serverlist/5348c71be34967458403bd4b58bb2a8a744d35ee new file mode 100644 index 0000000000000000000000000000000000000000..0b0ec9c1844b560f6eeb8c191b4909dc99db0e59 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/5348c71be34967458403bd4b58bb2a8a744d35ee @@ -0,0 +1 @@ +!)fBB!(@)ò 'Z!!Î!*M)!:“(ó'ØH(ã‰T('¯Ò'û);<''šŸÐ*“¢ƒÿ§'à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/54362c2f6965268d0835a992c3ba656171b8f044 b/test/core/nanopb/corpus_serverlist/54362c2f6965268d0835a992c3ba656171b8f044 new file mode 100644 index 0000000000000000000000000000000000000000..3f690988686ebdbc844bab6c4fb8d6c561c5dba7 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/54362c2f6965268d0835a992c3ba656171b8f044 @@ -0,0 +1,4 @@ +! +!(Øƽ÷(!)!:5ãS: + +!èÔ`…!ØìƽÂ÷(! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/54411aa13f6d9118028171935322bbbc74c15329 b/test/core/nanopb/corpus_serverlist/54411aa13f6d9118028171935322bbbc74c15329 new file mode 100644 index 0000000000000000000000000000000000000000..488ceb99af006e33d7124d16b7796ca0805fd16a --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/54411aa13f6d9118028171935322bbbc74c15329 @@ -0,0 +1,2 @@ +Ų;Ų +UUú‰Ù( ÅÁ²²²²²;²UW \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/54c50af22d147f192918499b4b3819eb389468a4 b/test/core/nanopb/corpus_serverlist/54c50af22d147f192918499b4b3819eb389468a4 new file mode 100644 index 0000000000000000000000000000000000000000..ad654dd7b3ccda5be1fbe0658f253149de5455f9 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/54c50af22d147f192918499b4b3819eb389468a4 @@ -0,0 +1 @@ +Á²²Wo'ì*'!@:(:Á*r):)Á| ²²Á²²Wo:'ì*'!@*(Á*² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/55441aac903d96b36bf8a11bc804234bcf0c04da b/test/core/nanopb/corpus_serverlist/55441aac903d96b36bf8a11bc804234bcf0c04da new file mode 100644 index 0000000000000000000000000000000000000000..13c40131436bb6bf863c3b2011e3858e0c179762 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/55441aac903d96b36bf8a11bc804234bcf0c04da @@ -0,0 +1 @@ +É='!'ïï½ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/56e1a7c279482a57fcbca43468df96a791ee22b4 b/test/core/nanopb/corpus_serverlist/56e1a7c279482a57fcbca43468df96a791ee22b4 new file mode 100644 index 0000000000000000000000000000000000000000..6612943d3c9ecceb0a5d333b8c68366129603620 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/56e1a7c279482a57fcbca43468df96a791ee22b4 @@ -0,0 +1 @@ +!)fBB!(@)òÎ;!!Z'!*M)!:“(ó'ØH(ã‰T('¯Ò'û);<''šŸÐ*“¢ƒÿ§'à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/57cbea7c563d5c4b6b290271b0009c3f348d92da b/test/core/nanopb/corpus_serverlist/57cbea7c563d5c4b6b290271b0009c3f348d92da new file mode 100644 index 0000000000000000000000000000000000000000..969aafa6b800285aebdb122b048874283ee701c3 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/57cbea7c563d5c4b6b290271b0009c3f348d92da @@ -0,0 +1,2 @@ +!í!;:n!@"P^ +;;(!!ð!':;!+P:y5ua; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/57e11c7a62f0fc807d7b51bb1ef0f0e22f43795b b/test/core/nanopb/corpus_serverlist/57e11c7a62f0fc807d7b51bb1ef0f0e22f43795b new file mode 100644 index 0000000000000000000000000000000000000000..630d7563208f3f7bdacb526c9bdadb9bf42efff3 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/57e11c7a62f0fc807d7b51bb1ef0f0e22f43795b @@ -0,0 +1,3 @@ +!¼;@oCÙ'–((!*Ú*''*' ! +’š;!x!(*:)ÞNË):y +œ“)I)?ô)):(”o:;©'(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/585183c1a240df6926689fe1bd8cb434664db4d8 b/test/core/nanopb/corpus_serverlist/585183c1a240df6926689fe1bd8cb434664db4d8 new file mode 100644 index 0000000000000000000000000000000000000000..08579d170b502d0862e81cf9d1219b56b71f1fce --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/585183c1a240df6926689fe1bd8cb434664db4d8 @@ -0,0 +1 @@ +!)fBB!(j)ò !Z!'!*M)!:“(ó'ØH(ã‰T('¯Ò'û);<''šŸÐ*“¢ƒÿ§'à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/5b2ee8ca40508bf108a729dcb228191670ec34d6 b/test/core/nanopb/corpus_serverlist/5b2ee8ca40508bf108a729dcb228191670ec34d6 new file mode 100644 index 0000000000000000000000000000000000000000..c46daca443d1e3afd1af31382bd6ef915ea6fa98 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/5b2ee8ca40508bf108a729dcb228191670ec34d6 @@ -0,0 +1 @@ + Ų;²UUú‰Ù(Ž'Ö!…z%)#€!*º*)Á²²W: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/5b47eabaf74479348fd0318f174d649dbe96e7d2 b/test/core/nanopb/corpus_serverlist/5b47eabaf74479348fd0318f174d649dbe96e7d2 new file mode 100644 index 0000000000000000000000000000000000000000..7a1285cc99ea568c2b965ecdd6e3dbb7bb5dfc29 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/5b47eabaf74479348fd0318f174d649dbe96e7d2 @@ -0,0 +1,2 @@ +Ų;Ų +UõUú‰Ù( Ų;²UUú‰Ù(Ž \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/5ba93c9db0cff93f52b521d7420e43f6eda2784f b/test/core/nanopb/corpus_serverlist/5ba93c9db0cff93f52b521d7420e43f6eda2784f new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/5ba93c9db0cff93f52b521d7420e43f6eda2784f differ diff --git a/test/core/nanopb/corpus_serverlist/5cc827e33932ccf8c72c6a839074e856d93463d8 b/test/core/nanopb/corpus_serverlist/5cc827e33932ccf8c72c6a839074e856d93463d8 new file mode 100644 index 0000000000000000000000000000000000000000..9eb493504f9d3d9499cf5f9fb37bcfa80b34e71c --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/5cc827e33932ccf8c72c6a839074e856d93463d8 @@ -0,0 +1 @@ +²²' \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/5cc89bbf687f94ff87241a8f935905e1c441de33 b/test/core/nanopb/corpus_serverlist/5cc89bbf687f94ff87241a8f935905e1c441de33 new file mode 100644 index 0000000000000000000000000000000000000000..f8de66829379c1ae39193a2b3d6a0ec6322badea --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/5cc89bbf687f94ff87241a8f935905e1c441de33 @@ -0,0 +1,3 @@ +)'Û¦)U!a Øç•ÏøÉÿ×' É=Éÿ +'! +É)='!'ïïÉ=ÿ'):(: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/5ec6596f12462fe9f36924c262f97408b54bbba8 b/test/core/nanopb/corpus_serverlist/5ec6596f12462fe9f36924c262f97408b54bbba8 new file mode 100644 index 0000000000000000000000000000000000000000..448ce08280896f665d58612dfbbf9df7816436cb --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/5ec6596f12462fe9f36924c262f97408b54bbba8 @@ -0,0 +1,3 @@ +! +!;n!@"!;n!P^*;;(!!;ð!':;!+P:@"P^*;;(!!y0ua;) +;ð!':: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/5f8f3af69295223fb04c37d28035bb75b4cbd705 b/test/core/nanopb/corpus_serverlist/5f8f3af69295223fb04c37d28035bb75b4cbd705 new file mode 100644 index 0000000000000000000000000000000000000000..a47eac7694e32bf8090306f56195a2a718322c82 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/5f8f3af69295223fb04c37d28035bb75b4cbd705 @@ -0,0 +1,2 @@ +1 +*)fBB!(@)ò 'Z!!Î!*M)!:“(ó'ØHã(‰T('¯Ò'û);<'šŸÐ*“ƒÿ§'à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/5fd76d48b9fefecbdabd4511decc161b25db79dd b/test/core/nanopb/corpus_serverlist/5fd76d48b9fefecbdabd4511decc161b25db79dd new file mode 100644 index 0000000000000000000000000000000000000000..676bb61bf87fe2fcf669d6d1cc84ccbdc0e621f1 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/5fd76d48b9fefecbdabd4511decc161b25db79dd @@ -0,0 +1,2 @@ +! +!Ø(ƽ÷(!)!5Sã::Ô`…¶(!p"€'!@ne½!;*'Un!)!) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/614cf839ccac2d896d61a0ba0ab1f42b2fabafea b/test/core/nanopb/corpus_serverlist/614cf839ccac2d896d61a0ba0ab1f42b2fabafea new file mode 100644 index 0000000000000000000000000000000000000000..b0173a33a8bd2f5bc0eb09b2be06414aca1f0158 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/614cf839ccac2d896d61a0ba0ab1f42b2fabafea @@ -0,0 +1 @@ + É=ÿ'É'! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/618305cc2d3d3814d78b77ffbf421b769bd862cf b/test/core/nanopb/corpus_serverlist/618305cc2d3d3814d78b77ffbf421b769bd862cf new file mode 100644 index 0000000000000000000000000000000000000000..3f2ea6e771230ed2d4836f6727d88d4fddea5811 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/618305cc2d3d3814d78b77ffbf421b769bd862cf @@ -0,0 +1,2 @@ +Á²•Wo:'ì*#!@ +*Á²:²ò):)Áü²²²Å;; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/61dfcd913c4f0a8d005bd089c34e95d8dbbf1897 b/test/core/nanopb/corpus_serverlist/61dfcd913c4f0a8d005bd089c34e95d8dbbf1897 new file mode 100644 index 0000000000000000000000000000000000000000..63ca029c2b79b10a666a4343371adf00f7bd74b4 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/61dfcd913c4f0a8d005bd089c34e95d8dbbf1897 @@ -0,0 +1 @@ +!;! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/65a89e10aab00039680e1f7d014737b634c74d8d b/test/core/nanopb/corpus_serverlist/65a89e10aab00039680e1f7d014737b634c74d8d new file mode 100644 index 0000000000000000000000000000000000000000..17f6f3ee20c6a0c21dc7c6223969a65f39572498 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/65a89e10aab00039680e1f7d014737b634c74d8d @@ -0,0 +1 @@ +Èѯõ2Ü!:ò \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/66a273dbf5e37410efd45518a42b06a65cffe1f0 b/test/core/nanopb/corpus_serverlist/66a273dbf5e37410efd45518a42b06a65cffe1f0 new file mode 100644 index 0000000000000000000000000000000000000000..92b830ed3678fb37ff626ee7a73f0fc508974006 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/66a273dbf5e37410efd45518a42b06a65cffe1f0 @@ -0,0 +1,3 @@ +' É=Éÿ +'! +É)='!'ïï'½=ï!)**Í \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/673ff0de0702e8098892060a5365c175d8ef18fc b/test/core/nanopb/corpus_serverlist/673ff0de0702e8098892060a5365c175d8ef18fc new file mode 100644 index 0000000000000000000000000000000000000000..e26a533f6588ae1b0018f9f9802ec9b5cb205ed6 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/673ff0de0702e8098892060a5365c175d8ef18fc @@ -0,0 +1 @@ + ')'Û)'Û¦)U!a¦)U!a!†Éÿm' Øç•ÏøÉ=*×Éÿ Øç•!Ï \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/68465c782c37bfdd98ac493b0458444bb94336e5 b/test/core/nanopb/corpus_serverlist/68465c782c37bfdd98ac493b0458444bb94336e5 new file mode 100644 index 0000000000000000000000000000000000000000..5b0075ec1f5fc135452a7ebdbcdfdb98b7185b55 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/68465c782c37bfdd98ac493b0458444bb94336e5 @@ -0,0 +1,2 @@ +Ų;Ų +UõUú‰Ù( ÅÕ²;²UŲ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/688451dee13d0be420598c6e205a3bc419173e18 b/test/core/nanopb/corpus_serverlist/688451dee13d0be420598c6e205a3bc419173e18 new file mode 100644 index 0000000000000000000000000000000000000000..b5ea767f3f49ae13b187227aa0153fb149190001 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/688451dee13d0be420598c6e205a3bc419173e18 @@ -0,0 +1 @@ +!)fBB!à@)ò ;'Ç“¢ƒ§'à@*:s:ED'tÂ'–!();!)*!) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/68a1d9150e1380c219e0a1deb3993f321e000ecd b/test/core/nanopb/corpus_serverlist/68a1d9150e1380c219e0a1deb3993f321e000ecd new file mode 100644 index 0000000000000000000000000000000000000000..b331f3c6293d51ccfd517dcee4dcc2c28a81dfd1 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/68a1d9150e1380c219e0a1deb3993f321e000ecd @@ -0,0 +1,2 @@ +Á²•Wo:'ì*#!@:(:Á*):)Á|²²²Á;;!' +²Áƒ'’² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/69f49bf7ae8886f5b4c6296fdb1c570256919604 b/test/core/nanopb/corpus_serverlist/69f49bf7ae8886f5b4c6296fdb1c570256919604 new file mode 100644 index 0000000000000000000000000000000000000000..8a353676dcfe4098b6c63b5d98596a52eb9da342 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/69f49bf7ae8886f5b4c6296fdb1c570256919604 @@ -0,0 +1,2 @@ +É)='!'ïïÁ•Wo:'ì*#!@ +*'Á²:½²ò!):)Á'ï!)**ü²²²( \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/6a425f414cd69ffffdbaa34d03eb43841b432e11 b/test/core/nanopb/corpus_serverlist/6a425f414cd69ffffdbaa34d03eb43841b432e11 new file mode 100644 index 0000000000000000000000000000000000000000..53f8bd4b45cd612550cf5f343e50a50cb25b25b6 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/6a425f414cd69ffffdbaa34d03eb43841b432e11 @@ -0,0 +1 @@ +:Á²² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/6ca9e6e85f9b007a0920b0112decbd1403d506da b/test/core/nanopb/corpus_serverlist/6ca9e6e85f9b007a0920b0112decbd1403d506da new file mode 100644 index 0000000000000000000000000000000000000000..155a67f49666b6042135684f1dcf5724934e785c --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/6ca9e6e85f9b007a0920b0112decbd1403d506da @@ -0,0 +1 @@ +U)B!B!à@)ò);'Çþ“¢ƒ§'à@*::sED'tÂ'–!();!)'²;(N);)&ÑÅvŠÅ™: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/6cd62e3d67b4154639adbe753115bfdd770edddb b/test/core/nanopb/corpus_serverlist/6cd62e3d67b4154639adbe753115bfdd770edddb new file mode 100644 index 0000000000000000000000000000000000000000..9a301480ab08e9705e2fe47ba4fc14e6bc34d056 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/6cd62e3d67b4154639adbe753115bfdd770edddb @@ -0,0 +1 @@ + '=ï!)**Í(()#õhÕ|'µ)É=ÉÿT \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/6d4f2de4cc427417d6335ff5396ea2588509bb5b b/test/core/nanopb/corpus_serverlist/6d4f2de4cc427417d6335ff5396ea2588509bb5b new file mode 100644 index 0000000000000000000000000000000000000000..8e780ed6601a05f2d2a62d8f3c0521873a77beab --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/6d4f2de4cc427417d6335ff5396ea2588509bb5b @@ -0,0 +1,2 @@ +Á²•W:'ì*#!@ +*:Á(²:²òD:)Áü²°²Å;; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/6ea84030dd0b5b03e4720c244ea8b4ec65e1f236 b/test/core/nanopb/corpus_serverlist/6ea84030dd0b5b03e4720c244ea8b4ec65e1f236 new file mode 100644 index 0000000000000000000000000000000000000000..53cb812e1b9d8d83c302a98374effdc573332bfa --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/6ea84030dd0b5b03e4720c244ea8b4ec65e1f236 @@ -0,0 +1 @@ +Ų;Ų‘UõUú‰Ù(Ų;²UUú‰*Ų;²HÅÙ(Ž(²'Ö…!z%)#€ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/710c1fc8cf7dc1386312c34de5057933fcf868b3 b/test/core/nanopb/corpus_serverlist/710c1fc8cf7dc1386312c34de5057933fcf868b3 new file mode 100644 index 0000000000000000000000000000000000000000..770e2ed7250146f627a35297c90db500d6022847 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/710c1fc8cf7dc1386312c34de5057933fcf868b3 @@ -0,0 +1,2 @@ +! +Øìƽ÷(!)2;ò•:!. \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/720e81dcaf83f867288a90293c5de3b088d5c556 b/test/core/nanopb/corpus_serverlist/720e81dcaf83f867288a90293c5de3b088d5c556 new file mode 100644 index 0000000000000000000000000000000000000000..623ad37091f204498f7e608baff69e27cb5ea421 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/720e81dcaf83f867288a90293c5de3b088d5c556 @@ -0,0 +1 @@ +!)fBB!(@)ò 'Z!!Î!*M)!:“(ó'ØH(ã‰T('¯Ò'û);<''šŸÐ*“¢ƒÿ§'à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/72cdc8f78ab5237f96ed354264c726ac79ec429c b/test/core/nanopb/corpus_serverlist/72cdc8f78ab5237f96ed354264c726ac79ec429c new file mode 100644 index 0000000000000000000000000000000000000000..a8237837ba9a20eb49f86f08e887e9c97a2536d8 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/72cdc8f78ab5237f96ed354264c726ac79ec429c @@ -0,0 +1 @@ +):(:P:*!/!;·'Ù*©;k° \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/73535a4f7af7e4c6aa23556cacd63f6929ac33fe b/test/core/nanopb/corpus_serverlist/73535a4f7af7e4c6aa23556cacd63f6929ac33fe new file mode 100644 index 0000000000000000000000000000000000000000..ee7c14dcd226279ca18c1de9d7bb68a2f5a4f6e7 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/73535a4f7af7e4c6aa23556cacd63f6929ac33fe @@ -0,0 +1 @@ +ȯõÜ!:)'*l:*\!D)…');ȯõÜ!WѯõÈѯ1Ü:!:*ò)!D\*:l)…');WѯõÈÑ¯Ô \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/73d7b933a5673a4d6f5905006ef6266dda1e4fba b/test/core/nanopb/corpus_serverlist/73d7b933a5673a4d6f5905006ef6266dda1e4fba new file mode 100644 index 0000000000000000000000000000000000000000..3887fa0bfab172bb1e37da6c489f61a9da2d0b72 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/73d7b933a5673a4d6f5905006ef6266dda1e4fba differ diff --git a/test/core/nanopb/corpus_serverlist/753aea13c82d1f8841c2bd4309b1b55d0ae2ba8d b/test/core/nanopb/corpus_serverlist/753aea13c82d1f8841c2bd4309b1b55d0ae2ba8d new file mode 100644 index 0000000000000000000000000000000000000000..05085ca8e0d87bf7dee2ff054fbd8aaa823f8ce1 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/753aea13c82d1f8841c2bd4309b1b55d0ae2ba8d differ diff --git a/test/core/nanopb/corpus_serverlist/754428e00e8a1d0471e00bd9e8f060ab88ab640e b/test/core/nanopb/corpus_serverlist/754428e00e8a1d0471e00bd9e8f060ab88ab640e new file mode 100644 index 0000000000000000000000000000000000000000..be9b4d53105d1987e82f91629bda425c8f4cb654 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/754428e00e8a1d0471e00bd9e8f060ab88ab640e @@ -0,0 +1 @@ + Ų;²UUú‰Ù(Ž'Ö!…z%)#€!*º*)Á²: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/761c29151b23b4d14ce6261626641df1182f7a96 b/test/core/nanopb/corpus_serverlist/761c29151b23b4d14ce6261626641df1182f7a96 new file mode 100644 index 0000000000000000000000000000000000000000..6d91ac7425bdf13eca6af35b4dc9ced9a34358f0 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/761c29151b23b4d14ce6261626641df1182f7a96 differ diff --git a/test/core/nanopb/corpus_serverlist/7658451dd805f277a5b1c3d4065d752d2d8de5f4 b/test/core/nanopb/corpus_serverlist/7658451dd805f277a5b1c3d4065d752d2d8de5f4 new file mode 100644 index 0000000000000000000000000000000000000000..f8a1e6fc6138ce93b4fb7bcda16a3192388891c8 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/7658451dd805f277a5b1c3d4065d752d2d8de5f4 @@ -0,0 +1,2 @@ +¹! +!ÆìÆØØ!ì½÷(!)!5Sã::Ô`…¶8!q½÷(!"€')2;ò•:!!. \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/767e91cedcd9bc1bdac882acc34a53cc23cf4d02 b/test/core/nanopb/corpus_serverlist/767e91cedcd9bc1bdac882acc34a53cc23cf4d02 new file mode 100644 index 0000000000000000000000000000000000000000..1930875685af82ff35df3976737eba1a75d9d515 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/767e91cedcd9bc1bdac882acc34a53cc23cf4d02 @@ -0,0 +1 @@ +¯õÜ!:)'*l:*\!D)…');W''í;:!Z2(x;*!:))FÓ':ã);)!!:"]W;;-)(!!!!; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/77d3754bdd4ea358369c936ed36b974b4181f6ab b/test/core/nanopb/corpus_serverlist/77d3754bdd4ea358369c936ed36b974b4181f6ab new file mode 100644 index 0000000000000000000000000000000000000000..8eb2c96a964e71c978ea0c5e2ef1c9f19a0a9267 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/77d3754bdd4ea358369c936ed36b974b4181f6ab @@ -0,0 +1 @@ +):(:P:*!/!;'Ù*©;k° \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/7a95295bebe6237f65deb15ffeccab22716d574d b/test/core/nanopb/corpus_serverlist/7a95295bebe6237f65deb15ffeccab22716d574d new file mode 100644 index 0000000000000000000000000000000000000000..a08ce91d9a5b83cf8bebe73df65edc7f0b480877 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/7a95295bebe6237f65deb15ffeccab22716d574d @@ -0,0 +1,2 @@ +Ų;IJ +UUú‰™( !MÁ²²²²;²²UW \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/7ad88b82e87fbfb3d4bddaa2f6e201a151e3a007 b/test/core/nanopb/corpus_serverlist/7ad88b82e87fbfb3d4bddaa2f6e201a151e3a007 new file mode 100644 index 0000000000000000000000000000000000000000..301079df156cb3cd3184202424be495697239b5f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/7ad88b82e87fbfb3d4bddaa2f6e201a151e3a007 @@ -0,0 +1,3 @@ +¹! +!¹! +ØìÆ!ØìÆ!½÷ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/7b1010cc012e34af1d03e8845868ff0e1db3a601 b/test/core/nanopb/corpus_serverlist/7b1010cc012e34af1d03e8845868ff0e1db3a601 new file mode 100644 index 0000000000000000000000000000000000000000..dd19e2e83438edeae07069ae5db97c7a0953cb30 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/7b1010cc012e34af1d03e8845868ff0e1db3a601 @@ -0,0 +1,3 @@ +! +!(Øƽ÷(!)!³:0ã:! +!(Øƽ÷(! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/7d3ddbd11e82807321c9a53835ea897cf43aa7f2 b/test/core/nanopb/corpus_serverlist/7d3ddbd11e82807321c9a53835ea897cf43aa7f2 new file mode 100644 index 0000000000000000000000000000000000000000..99b53b2f37ae8d65b1eb315c8160d398e6b95b0a --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/7d3ddbd11e82807321c9a53835ea897cf43aa7f2 @@ -0,0 +1 @@ +Á²²Wo:'Wo:'*()@!½(*()@)(!(!' \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/7da9c5ab5f049da297b0f4c1322edd696202d02a b/test/core/nanopb/corpus_serverlist/7da9c5ab5f049da297b0f4c1322edd696202d02a new file mode 100644 index 0000000000000000000000000000000000000000..a9cba681c6a4bcb3138ba2e577b0b9f4ce4f2863 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/7da9c5ab5f049da297b0f4c1322edd696202d02a @@ -0,0 +1 @@ + Ų;²UUú‰Ù(Ž'Ö!…z%)#€!*º*)Á²²: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/7e265a019c02e5d089152849ac00bb005fa644f5 b/test/core/nanopb/corpus_serverlist/7e265a019c02e5d089152849ac00bb005fa644f5 new file mode 100644 index 0000000000000000000000000000000000000000..b4690757024a08f8b2736a05e1f4e323ca9b4244 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/7e265a019c02e5d089152849ac00bb005fa644f5 @@ -0,0 +1,2 @@ +Á²²Wo:'ì*'!@:(Á*():)Á²²²(;(' +Á²² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/7f33bff4f740eb898b908374b0c1badd47566947 b/test/core/nanopb/corpus_serverlist/7f33bff4f740eb898b908374b0c1badd47566947 new file mode 100644 index 0000000000000000000000000000000000000000..11b1d9b638f936f94ec0d389e2942114e6f1997e --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/7f33bff4f740eb898b908374b0c1badd47566947 @@ -0,0 +1,2 @@ +Á²•Wo:'ì*#!@ +*Á²:²ò):)Áü²²²Å;; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/81f13b9b65891f2bfce77cb183a06045c461fee6 b/test/core/nanopb/corpus_serverlist/81f13b9b65891f2bfce77cb183a06045c461fee6 new file mode 100644 index 0000000000000000000000000000000000000000..1ed1faf7cab427b2936796c393dfb2735abe311c --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/81f13b9b65891f2bfce77cb183a06045c461fee6 @@ -0,0 +1 @@ +)Û¦¬)U!açØ•ÏøÉÿ×É=* \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/846a14a480ffa1ad0f6333f3ecf2be3057ce6aed b/test/core/nanopb/corpus_serverlist/846a14a480ffa1ad0f6333f3ecf2be3057ce6aed new file mode 100644 index 0000000000000000000000000000000000000000..b116189a8450a047114c8165ff6dcc9ce62d02ff --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/846a14a480ffa1ad0f6333f3ecf2be3057ce6aed @@ -0,0 +1,2 @@ +! +!;Øì½÷(!)!5Sã::`…¶(!p½'e€n!@"!;*'Un))!) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/87373a7f89feba2d50591b433f69877044155af2 b/test/core/nanopb/corpus_serverlist/87373a7f89feba2d50591b433f69877044155af2 new file mode 100644 index 0000000000000000000000000000000000000000..836f2deb5a37caa0f892e072a1452f3dac195dcf --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/87373a7f89feba2d50591b433f69877044155af2 @@ -0,0 +1,2 @@ +!;n!@"P^*;;(!!;ð!':;!+P:y0ua;) + \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/8833ba4c780c94fc6c3c466f849c0387acefdb20 b/test/core/nanopb/corpus_serverlist/8833ba4c780c94fc6c3c466f849c0387acefdb20 new file mode 100644 index 0000000000000000000000000000000000000000..1c3f5414036637e3b813e4e1570c57ef14d4a9b5 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/8833ba4c780c94fc6c3c466f849c0387acefdb20 @@ -0,0 +1 @@ + Ų;²UUú‰Ù(Ž'Ö!…z%)#€!*º*)Á²²WÁ²²²²:Wo:' \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/8c23a5ecd20db4da2c061f3463254e9de104c8b9 b/test/core/nanopb/corpus_serverlist/8c23a5ecd20db4da2c061f3463254e9de104c8b9 new file mode 100644 index 0000000000000000000000000000000000000000..f7fa5a3424104d87fbcaf6ee99568c86ddfa7f21 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/8c23a5ecd20db4da2c061f3463254e9de104c8b9 @@ -0,0 +1 @@ +ÈѯõÈѯ2Ü!:òõ2Ü!:ò \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/8d883f1577ca8c334b7c6d75ccb71209d71ced13 b/test/core/nanopb/corpus_serverlist/8d883f1577ca8c334b7c6d75ccb71209d71ced13 new file mode 100644 index 0000000000000000000000000000000000000000..5a77f05831a38ab834f5f49342e29f931e073f5a --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/8d883f1577ca8c334b7c6d75ccb71209d71ced13 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/8dc80bd5f5d1fea64412203e304432edcf5f52c4 b/test/core/nanopb/corpus_serverlist/8dc80bd5f5d1fea64412203e304432edcf5f52c4 new file mode 100644 index 0000000000000000000000000000000000000000..c0942a6da43c65f9ecbf08fa0d5a8189715d3753 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/8dc80bd5f5d1fea64412203e304432edcf5f52c4 @@ -0,0 +1,2 @@ +! +!Øìƽ‰÷(!)!0S::Ô`…¶(!q"€&!@ne½!;*'Un))) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/8fc9a9ea6ad7d6d51e770076eaddacad9f970c6f b/test/core/nanopb/corpus_serverlist/8fc9a9ea6ad7d6d51e770076eaddacad9f970c6f new file mode 100644 index 0000000000000000000000000000000000000000..110407407f56340c1ad8c6d7ade77406d2a2b59c --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/8fc9a9ea6ad7d6d51e770076eaddacad9f970c6f @@ -0,0 +1,2 @@ +)'Û¦)U!a Øç•ÏøÉÿ×' É=Éÿ +'!É)='!'ïïÉ=ÿ'):(: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/8fd167de17534776ef57aba2f27675789a11b8db b/test/core/nanopb/corpus_serverlist/8fd167de17534776ef57aba2f27675789a11b8db new file mode 100644 index 0000000000000000000000000000000000000000..34a190e56e2593b6f0d2962e4071e33a22b54a50 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/8fd167de17534776ef57aba2f27675789a11b8db @@ -0,0 +1,3 @@ +!¼;@oCÙ'–((!*Ú*'‚'*' !( +(š;!x!(*:)ÞNË):y +œ“)I;ô):()”o:;©'(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/9117d3e51560813b3ce4615dced18fa0e4d0a25a b/test/core/nanopb/corpus_serverlist/9117d3e51560813b3ce4615dced18fa0e4d0a25a new file mode 100644 index 0000000000000000000000000000000000000000..620dc7e63a103ee149fe8e70959bc42729c7373e --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/9117d3e51560813b3ce4615dced18fa0e4d0a25a @@ -0,0 +1 @@ +2;ò•:.<ý:(*::ƒž*Š):’ªÜ(ô(ã*!*'dv!*!¾(;'**W›!Øâ(!;;:/*f§¨Ça°î \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/921c68eaa8776f7544e195ae52224355d08a2d4d b/test/core/nanopb/corpus_serverlist/921c68eaa8776f7544e195ae52224355d08a2d4d new file mode 100644 index 0000000000000000000000000000000000000000..3b35a5955ebc30e59958b61e41fe902f455c32df --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/921c68eaa8776f7544e195ae52224355d08a2d4d @@ -0,0 +1 @@ +)ÿ!B!Óà@')ò);'Ç“¹¢ƒ§U)àBuB \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/9293945411fca2dc81fc34b36b575a384e6d489e b/test/core/nanopb/corpus_serverlist/9293945411fca2dc81fc34b36b575a384e6d489e new file mode 100644 index 0000000000000000000000000000000000000000..4b3c2b43e71156839c93d44a899747df12ca7eaa --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/9293945411fca2dc81fc34b36b575a384e6d489e @@ -0,0 +1 @@ +)*!B!Óà@'))ò);'Ç“¹¢ƒ§U)àB!B \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/933287d66c3ff3f0a21f2c583c763f2f65872ef8 b/test/core/nanopb/corpus_serverlist/933287d66c3ff3f0a21f2c583c763f2f65872ef8 new file mode 100644 index 0000000000000000000000000000000000000000..72152406a06eb6e84ee4027cdf42c0da744a304e --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/933287d66c3ff3f0a21f2c583c763f2f65872ef8 @@ -0,0 +1 @@ +Á²²² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/933d1d91283403f0a56571f533f482e9744eb735 b/test/core/nanopb/corpus_serverlist/933d1d91283403f0a56571f533f482e9744eb735 new file mode 100644 index 0000000000000000000000000000000000000000..3a9610d7a9b26d5ff0dffa20f378fb904bb15359 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/933d1d91283403f0a56571f533f482e9744eb735 @@ -0,0 +1 @@ +)B!B!à@)ò);'Ç“¢ƒ§'à@*::sED'tÂ'–!();! )*!) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/93855fc41b3e3004ca6ba85f34b985042d4c9869 b/test/core/nanopb/corpus_serverlist/93855fc41b3e3004ca6ba85f34b985042d4c9869 new file mode 100644 index 0000000000000000000000000000000000000000..1afdd5951289de94fe185faf832e32d1c2e2dd0b --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/93855fc41b3e3004ca6ba85f34b985042d4c9869 @@ -0,0 +1,2 @@ +Ų;Ų +UU¶‰Ù( !ÅÁ²(²²²²;²UW \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/9544f445c39470f05785b52cfc31bb73bda22659 b/test/core/nanopb/corpus_serverlist/9544f445c39470f05785b52cfc31bb73bda22659 new file mode 100644 index 0000000000000000000000000000000000000000..d0fc37bef14eec29a9342c2defdde6c6ffa61d1b --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/9544f445c39470f05785b52cfc31bb73bda22659 @@ -0,0 +1,2 @@ +É='!'ïï½'#Ų;Ų +UÁ²•Wì:o#'*!@Á²²ÁÁ²²••®W:'ì*U¶ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/97757217fde05ff4fc15c864bf29e9f560fd1c62 b/test/core/nanopb/corpus_serverlist/97757217fde05ff4fc15c864bf29e9f560fd1c62 new file mode 100644 index 0000000000000000000000000000000000000000..47e8811539cd93cacdf6a4dd4a29dc983808595e --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/97757217fde05ff4fc15c864bf29e9f560fd1c62 @@ -0,0 +1,2 @@ +! +h!Øìƽ÷(!)!2Sã::Ô`…¶(!q"€'!@ne½!;*'Un))) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/9877c0f2d40dd43878bb0209bbc4b5fa93bec55a b/test/core/nanopb/corpus_serverlist/9877c0f2d40dd43878bb0209bbc4b5fa93bec55a new file mode 100644 index 0000000000000000000000000000000000000000..daf888f06db9222a408c3c379a9669ae6e405b85 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/9877c0f2d40dd43878bb0209bbc4b5fa93bec55a @@ -0,0 +1 @@ +!)fBB!(@)ò'Z!!Î!*M)!:“(ó'ØH(ã‰T('¯Ò'û);<''šŸÐ*“¢ƒÿ§'à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/98bc5065f79dd9d20cdac14ba28f0cf39908cb5f b/test/core/nanopb/corpus_serverlist/98bc5065f79dd9d20cdac14ba28f0cf39908cb5f new file mode 100644 index 0000000000000000000000000000000000000000..09f3479547a2877d926577be2a0392c90945a82a --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/98bc5065f79dd9d20cdac14ba28f0cf39908cb5f @@ -0,0 +1 @@ +‰É=ï!)**Í(()#õhÕ|T'µ)ÉT \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/992860817f7fb0e49423607355dab973aa7ab815 b/test/core/nanopb/corpus_serverlist/992860817f7fb0e49423607355dab973aa7ab815 new file mode 100644 index 0000000000000000000000000000000000000000..aaaec9489ce4407ea999a653d90be117bebf1541 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/992860817f7fb0e49423607355dab973aa7ab815 @@ -0,0 +1 @@ +Éÿ):(:=P:*!/!;·'Ù*©';k° \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/995ee3d74bc6042fd6a8908c9df5a4cb530378d8 b/test/core/nanopb/corpus_serverlist/995ee3d74bc6042fd6a8908c9df5a4cb530378d8 new file mode 100644 index 0000000000000000000000000000000000000000..96e6a478638a585735b348f139c285a6a94b58e2 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/995ee3d74bc6042fd6a8908c9df5a4cb530378d8 @@ -0,0 +1,2 @@ +'#Ų;Ų +UÁ²•Wì:o#'*!@Á²²ÁÁ²²••®W:'ì*U¶ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/9a38c24a6e87e99a72a3a4f007b117ec191a1705 b/test/core/nanopb/corpus_serverlist/9a38c24a6e87e99a72a3a4f007b117ec191a1705 new file mode 100644 index 0000000000000000000000000000000000000000..6ab64b7c7b92642bdd759ce4134f95617253ca5b --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/9a38c24a6e87e99a72a3a4f007b117ec191a1705 @@ -0,0 +1 @@ +ȯõÜ!:)'*l:*\!D)…');ȯõÜ!WѯõÈѯ1Ü!:ò:)'*l:*\!õD)…');WѯõÈѯ2Ü \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/9aa97a0ffcdc37a8ef487355fb7271eb6891deaa b/test/core/nanopb/corpus_serverlist/9aa97a0ffcdc37a8ef487355fb7271eb6891deaa new file mode 100644 index 0000000000000000000000000000000000000000..ab22206f3b578b2739a09278be3e66f00611014f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/9aa97a0ffcdc37a8ef487355fb7271eb6891deaa @@ -0,0 +1,2 @@ +! +!;n!@"P^*;;(!!;ð!':;!+P:y0ua; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/9b9fddc17ed7bc05a81c18f01e800a4e9efd0c8d b/test/core/nanopb/corpus_serverlist/9b9fddc17ed7bc05a81c18f01e800a4e9efd0c8d new file mode 100644 index 0000000000000000000000000000000000000000..5d7be445370fd23b21b111bae740652ec121a398 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/9b9fddc17ed7bc05a81c18f01e800a4e9efd0c8d @@ -0,0 +1 @@ +!)gB!(j)ò !)!Z!'!!)*M)“ ó'ØH(ã‰T('fBÒ!û) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/a0d4cb9a5a30bb01e8e4f68d636fb173632ed29d b/test/core/nanopb/corpus_serverlist/a0d4cb9a5a30bb01e8e4f68d636fb173632ed29d new file mode 100644 index 0000000000000000000000000000000000000000..4e38d90b27b5575fcf01128db66fd0e2efd3c42e --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/a0d4cb9a5a30bb01e8e4f68d636fb173632ed29d @@ -0,0 +1 @@ +)'Û¦)U!a Øç•ÏøÉÿ×É=ÿ):(:= \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/a1e070288ec564d10a8c59779aa07fa771fa1d4f b/test/core/nanopb/corpus_serverlist/a1e070288ec564d10a8c59779aa07fa771fa1d4f new file mode 100644 index 0000000000000000000000000000000000000000..29b27976d850ac60420a79be6c0d015359792fa4 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/a1e070288ec564d10a8c59779aa07fa771fa1d4f @@ -0,0 +1 @@ +Á²²Wo'ì*'!@:(:Á*r):)Á| ²²Á²²Wo:'ì*'!@*(Á*² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/a23d10723415d20f4ef1ed9b14d9dc24494856a0 b/test/core/nanopb/corpus_serverlist/a23d10723415d20f4ef1ed9b14d9dc24494856a0 new file mode 100644 index 0000000000000000000000000000000000000000..e34e7f340900c192379b278ded9280dd85db76db Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/a23d10723415d20f4ef1ed9b14d9dc24494856a0 differ diff --git a/test/core/nanopb/corpus_serverlist/a245750cfe4212dca7bfde918de85f64eb053232 b/test/core/nanopb/corpus_serverlist/a245750cfe4212dca7bfde918de85f64eb053232 new file mode 100644 index 0000000000000000000000000000000000000000..e33de0f1f0f3c2720c24650e424cb69444c32f8c --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/a245750cfe4212dca7bfde918de85f64eb053232 @@ -0,0 +1 @@ +)'Û¦)U!a:Øç•Ïø×*;'e«:c6U’êNŠ'ò:;Æ)ÚrþP:*!!G*:'³*:Ï)ZÑSÒ!!] \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/a24bbe3600f4dfd61bb8415c6a291e0521e4f267 b/test/core/nanopb/corpus_serverlist/a24bbe3600f4dfd61bb8415c6a291e0521e4f267 new file mode 100644 index 0000000000000000000000000000000000000000..a387266411efc4df5883a836d1d5e671dad94fb9 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/a24bbe3600f4dfd61bb8415c6a291e0521e4f267 @@ -0,0 +1 @@ +V!;n)@"P^*;;(!*! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/a25104d039a549c8d457ecea3b55369ed312f086 b/test/core/nanopb/corpus_serverlist/a25104d039a549c8d457ecea3b55369ed312f086 new file mode 100644 index 0000000000000000000000000000000000000000..a04856664d29af7d1dccd009e344ac4fb4f3721a --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/a25104d039a549c8d457ecea3b55369ed312f086 @@ -0,0 +1,3 @@ +!¼+@oCÙ'–((!*Ú*'‚'*') +!(š(;!x!(*:)ÞNË):y +œ“)I;ô):()”o:;©'(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/a33c4fcabe6aebe012cd01c8cb851a9ab0a12098 b/test/core/nanopb/corpus_serverlist/a33c4fcabe6aebe012cd01c8cb851a9ab0a12098 new file mode 100644 index 0000000000000000000000000000000000000000..4dbb720541d90321a2fad395ec542f8277995ffb --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/a33c4fcabe6aebe012cd01c8cb851a9ab0a12098 @@ -0,0 +1,3 @@ +!¼;@oCÙ'–((!*Ú*'‚'*') +!*š;!x!(*:)ÞNË):y +œ“)I;ô9;()”o:;©'(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/a393e1727b0decca9f193179765c3a83d7096437 b/test/core/nanopb/corpus_serverlist/a393e1727b0decca9f193179765c3a83d7096437 new file mode 100644 index 0000000000000000000000000000000000000000..3cb479ca6b98e3360369c60adcb90484e86e4443 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/a393e1727b0decca9f193179765c3a83d7096437 @@ -0,0 +1 @@ +)*!B!Óà@'))ò);'Ç“¢ƒ§à':E:@sD'tÂ'–!();! '³(N);)& \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/a5507f06be4735a3a9e416ea986d52c1a6a20909 b/test/core/nanopb/corpus_serverlist/a5507f06be4735a3a9e416ea986d52c1a6a20909 new file mode 100644 index 0000000000000000000000000000000000000000..e341f43b59a70c7cb5bd611d1e725d10f5b592ae --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/a5507f06be4735a3a9e416ea986d52c1a6a20909 @@ -0,0 +1 @@ +ȯõÜ!:)'*l:*\!D)…');ȯõÜ!WÑHÈѯ2Ü:!:*ò)!D\õ*:l)…');_‘õÈ'Ñ¯Ü \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/a5adf028c902d17dd6a7ddeadabbed2b36420313 b/test/core/nanopb/corpus_serverlist/a5adf028c902d17dd6a7ddeadabbed2b36420313 new file mode 100644 index 0000000000000000000000000000000000000000..a4e17bc24fa833c3b992db5fd8cddef91da8d525 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/a5adf028c902d17dd6a7ddeadabbed2b36420313 @@ -0,0 +1 @@ +ȯõÜ!:)'*l:*\!D)…');ȯõÜ!WѯõÈѯ1Ü:!:*ò)!D\õ*:l)…');WѯõÈÑ¯Ô \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/a6aa1237a282ee3a93f2544bb6bb7704e565209e b/test/core/nanopb/corpus_serverlist/a6aa1237a282ee3a93f2544bb6bb7704e565209e new file mode 100644 index 0000000000000000000000000000000000000000..ea6e832a0ebd7367d49b86b897e5cdf1fdb1bf6a Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/a6aa1237a282ee3a93f2544bb6bb7704e565209e differ diff --git a/test/core/nanopb/corpus_serverlist/a871185cabce7b96c9e2f6ffb40d9901c774b335 b/test/core/nanopb/corpus_serverlist/a871185cabce7b96c9e2f6ffb40d9901c774b335 new file mode 100644 index 0000000000000000000000000000000000000000..dab50d7cab5c23e709699764dbbbdca75790090b --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/a871185cabce7b96c9e2f6ffb40d9901c774b335 @@ -0,0 +1,2 @@ +Á²²Wo:'ì*'!@:(:Á*):)Á|²²²Á(;(' +²Á'’² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/a89d0e67bf53e22533a635f103d1fd400969ad56 b/test/core/nanopb/corpus_serverlist/a89d0e67bf53e22533a635f103d1fd400969ad56 new file mode 100644 index 0000000000000000000000000000000000000000..fe069870a77ed65f4a490e924ac4f35366edb89a --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/a89d0e67bf53e22533a635f103d1fd400969ad56 @@ -0,0 +1 @@ +Á²²Wo:'Wo*'!@*()*()@)(!(!' \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/a8d1b4e5672a501d7a6cd14b2929297f3a82e035 b/test/core/nanopb/corpus_serverlist/a8d1b4e5672a501d7a6cd14b2929297f3a82e035 new file mode 100644 index 0000000000000000000000000000000000000000..dfbbf33d58a6e23f19eff7ec6e45af7f7222db1a --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/a8d1b4e5672a501d7a6cd14b2929297f3a82e035 @@ -0,0 +1 @@ +'P:*!/!;'Ù*;k):(:P:*!/!Ü*;!'l;À‚°Q'(¼ã:'Ù*)'*î©;k# \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/aa614cc8d05a3a58c30a890c10b9a0c1d609b228 b/test/core/nanopb/corpus_serverlist/aa614cc8d05a3a58c30a890c10b9a0c1d609b228 new file mode 100644 index 0000000000000000000000000000000000000000..60e69d99e601861e193b0f93f61971494bb2a7f2 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/aa614cc8d05a3a58c30a890c10b9a0c1d609b228 @@ -0,0 +1 @@ + !†É=Éÿ'! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/aa65320376f63805cc82b247612b2e05b87bdbee b/test/core/nanopb/corpus_serverlist/aa65320376f63805cc82b247612b2e05b87bdbee new file mode 100644 index 0000000000000000000000000000000000000000..9100de995340a74d35e44c980ab42ef82ac8a35e Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/aa65320376f63805cc82b247612b2e05b87bdbee differ diff --git a/test/core/nanopb/corpus_serverlist/abd3f6e2cc8887942de20e1c257427b825aed0ad b/test/core/nanopb/corpus_serverlist/abd3f6e2cc8887942de20e1c257427b825aed0ad new file mode 100644 index 0000000000000000000000000000000000000000..5cd8f7565e6a6f7e55e8e7a42969326ac620d5f4 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/abd3f6e2cc8887942de20e1c257427b825aed0ad @@ -0,0 +1,2 @@ +! +è!Øìƽ÷(!)!5Sã::Ô`…¶(!q"€'!@ne½!;*'Un))) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/ad0653a3a63675a7ce797e69b4673866b88ace33 b/test/core/nanopb/corpus_serverlist/ad0653a3a63675a7ce797e69b4673866b88ace33 new file mode 100644 index 0000000000000000000000000000000000000000..03c166f0c3eec90a96cd43f9fc52dfb74693b75a --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/ad0653a3a63675a7ce797e69b4673866b88ace33 @@ -0,0 +1,2 @@ +Ų;Ų +UõUú‰Ù( Ų;²UŲ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/ae2ce27806f67312e0d0e29a492db9ab9cb9bf4e b/test/core/nanopb/corpus_serverlist/ae2ce27806f67312e0d0e29a492db9ab9cb9bf4e new file mode 100644 index 0000000000000000000000000000000000000000..4cfc263c4f6dd109a01e92f18d3210f6eb11f46e --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/ae2ce27806f67312e0d0e29a492db9ab9cb9bf4e @@ -0,0 +1 @@ + '!I†Éÿm'! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/ae4c0e671bd004165a1e7877d9c67249a165d2df b/test/core/nanopb/corpus_serverlist/ae4c0e671bd004165a1e7877d9c67249a165d2df new file mode 100644 index 0000000000000000000000000000000000000000..ddc80065d52ccda814a0907e5df89101dd661945 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/ae4c0e671bd004165a1e7877d9c67249a165d2df @@ -0,0 +1 @@ +)'Û¦)U!aØç•ÏøÉÿ×É=* \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/af75c24dff7e22948ed141c763a1309e6f540bcc b/test/core/nanopb/corpus_serverlist/af75c24dff7e22948ed141c763a1309e6f540bcc new file mode 100644 index 0000000000000000000000000000000000000000..cdbbf2940611c24e41a6bf4118382b5179ffc55d --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/af75c24dff7e22948ed141c763a1309e6f540bcc @@ -0,0 +1 @@ +`:`xŒV)ýÚ*)!Óx*'**‹;'(±DßP§Ü/!¯†nÃ!$—:a(j)*ƒ!'/**(ñå;îÄVÐ'*)* \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/b0f228c6d0cbbc9f10117f344d5aae6f001d00fa b/test/core/nanopb/corpus_serverlist/b0f228c6d0cbbc9f10117f344d5aae6f001d00fa new file mode 100644 index 0000000000000000000000000000000000000000..5c7579ee82dd4cf4b2605044a8552cf809693837 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/b0f228c6d0cbbc9f10117f344d5aae6f001d00fa @@ -0,0 +1,3 @@ +! +!(Øƽ÷(!)!:5ã:S! +èÔ`…!ØìƽÂ÷(! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/b2c6eab05580b85cda591093d3f05c44bf453fce b/test/core/nanopb/corpus_serverlist/b2c6eab05580b85cda591093d3f05c44bf453fce new file mode 100644 index 0000000000000000000000000000000000000000..3d664774a722ec6288df7aaaa73c6e359524be6a Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/b2c6eab05580b85cda591093d3f05c44bf453fce differ diff --git a/test/core/nanopb/corpus_serverlist/b35281c0aae174d1ddc8999d97b9713f8004f285 b/test/core/nanopb/corpus_serverlist/b35281c0aae174d1ddc8999d97b9713f8004f285 new file mode 100644 index 0000000000000000000000000000000000000000..d6a4f2a6a94556cdd4adf9aa9aa1e9f62d08faa2 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/b35281c0aae174d1ddc8999d97b9713f8004f285 @@ -0,0 +1 @@ +!!;n!@"P^*;;(!!;ð!':;!+P:y0ua; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/b484ae40795cf9730ba94d5a4ca40aa47b88eacb b/test/core/nanopb/corpus_serverlist/b484ae40795cf9730ba94d5a4ca40aa47b88eacb new file mode 100644 index 0000000000000000000000000000000000000000..0b6485782cc4c38720c3a837472cb0d5d78a2010 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/b484ae40795cf9730ba94d5a4ca40aa47b88eacb @@ -0,0 +1,2 @@ +Ų;Ų +UU¶‰Ù( !ÅÁ²(²²²²;²UW \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/b49c2fed1417a981ba29b32be73ee1700bea7ec9 b/test/core/nanopb/corpus_serverlist/b49c2fed1417a981ba29b32be73ee1700bea7ec9 new file mode 100644 index 0000000000000000000000000000000000000000..aa3bcd17bd9e5db519093566239a6f1e66ecf1fa --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/b49c2fed1417a981ba29b32be73ee1700bea7ec9 @@ -0,0 +1 @@ +(‹ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/b68542373c05c0ed25231d09955b2c699d37c45b b/test/core/nanopb/corpus_serverlist/b68542373c05c0ed25231d09955b2c699d37c45b new file mode 100644 index 0000000000000000000000000000000000000000..050ac90ecbd9ce5a88212058fad711b4231d104d --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/b68542373c05c0ed25231d09955b2c699d37c45b @@ -0,0 +1 @@ +þ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/b6d42cbe913f7275b574a71f0768781bdb6f45b7 b/test/core/nanopb/corpus_serverlist/b6d42cbe913f7275b574a71f0768781bdb6f45b7 new file mode 100644 index 0000000000000000000000000000000000000000..08dd3a3d07ee1577e1d1d6d01dd58239416d5536 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/b6d42cbe913f7275b574a71f0768781bdb6f45b7 @@ -0,0 +1 @@ +)B!B!à@)ò);'Çþ“¢ƒ§'à@*::sED'tÂ'–!();!)'²;(N);)&ÑÅvŠÅ™: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/b80b6c2cae83c2097c7e4c1fb181d47cb8fd0519 b/test/core/nanopb/corpus_serverlist/b80b6c2cae83c2097c7e4c1fb181d47cb8fd0519 new file mode 100644 index 0000000000000000000000000000000000000000..c94bcd7537ac3c3f2cfb2ca3b4d025140976de3f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/b80b6c2cae83c2097c7e4c1fb181d47cb8fd0519 @@ -0,0 +1,2 @@ +1 +)fBB!(@)ò 'Z!!Î!*M)!:“(ó'ØHã(‰T('¯Ò'û);<'šŸÐ*“ƒÿ§'à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/b90ab62d8591182fd90cd21cdb893178d97f7e0e b/test/core/nanopb/corpus_serverlist/b90ab62d8591182fd90cd21cdb893178d97f7e0e new file mode 100644 index 0000000000000000000000000000000000000000..c4462f308345fa805373835083f90137609a2964 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/b90ab62d8591182fd90cd21cdb893178d97f7e0e @@ -0,0 +1 @@ +Øìƽ÷!;2(!); \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/ba45c93ee6b8b286798d8791ec049207c448f7cd b/test/core/nanopb/corpus_serverlist/ba45c93ee6b8b286798d8791ec049207c448f7cd new file mode 100644 index 0000000000000000000000000000000000000000..e9f22351133603796eea02ad277b453e48883129 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/ba45c93ee6b8b286798d8791ec049207c448f7cd @@ -0,0 +1 @@ +*à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/ba67e81ef0f9a14bf5a1ca228bff87c681e83a44 b/test/core/nanopb/corpus_serverlist/ba67e81ef0f9a14bf5a1ca228bff87c681e83a44 new file mode 100644 index 0000000000000000000000000000000000000000..eeff9f440acbfd4e7e745a05e8190637395be595 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/ba67e81ef0f9a14bf5a1ca228bff87c681e83a44 @@ -0,0 +1 @@ + Ų;²UUú‰Ù(Ž'Ö!…z%)€!*:')Á²²W: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/bbd1f06ddee4fbbd0e5c9c915889862e5df34f9c b/test/core/nanopb/corpus_serverlist/bbd1f06ddee4fbbd0e5c9c915889862e5df34f9c new file mode 100644 index 0000000000000000000000000000000000000000..cb453432c9ee1b4108138b8b73822d601af5565f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/bbd1f06ddee4fbbd0e5c9c915889862e5df34f9c @@ -0,0 +1 @@ +Á²•Wo:'ì*#!@*P; õú‰(Á²:²Ù \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/bd982feb5dd4362e6bd9746ed216c25ce2749df4 b/test/core/nanopb/corpus_serverlist/bd982feb5dd4362e6bd9746ed216c25ce2749df4 new file mode 100644 index 0000000000000000000000000000000000000000..fe76f8810ed1773e163847236197475f565e44cf --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/bd982feb5dd4362e6bd9746ed216c25ce2749df4 @@ -0,0 +1 @@ +È.¯ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/be77053335e6496288fcf8b6c4d0b4abf86493ff b/test/core/nanopb/corpus_serverlist/be77053335e6496288fcf8b6c4d0b4abf86493ff new file mode 100644 index 0000000000000000000000000000000000000000..eaa7408ced6767869a4ed1b07cb62ca4566c301c --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/be77053335e6496288fcf8b6c4d0b4abf86493ff @@ -0,0 +1 @@ +!!;n!@"P^*;;(!!;ð!':;!+P:y0ua; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/bfb53203499969fac4f4be48e1bcd9235c2fa101 b/test/core/nanopb/corpus_serverlist/bfb53203499969fac4f4be48e1bcd9235c2fa101 new file mode 100644 index 0000000000000000000000000000000000000000..b28e40ea1e2046d4ef1d39d149f60f731eeb87bc --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/bfb53203499969fac4f4be48e1bcd9235c2fa101 @@ -0,0 +1,2 @@ +Ų;Ų +UU¶‰Ù( !ÅÁ²²²²²;²UW \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/c143576bdb5b34ad89fa3319507ae382a721f587 b/test/core/nanopb/corpus_serverlist/c143576bdb5b34ad89fa3319507ae382a721f587 new file mode 100644 index 0000000000000000000000000000000000000000..6c15b37571a363ee6b76a97b64f707e65c9b6001 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/c143576bdb5b34ad89fa3319507ae382a721f587 @@ -0,0 +1 @@ +!)fBB!(@)òZ!!'!*M)!::“(ó'ØH(ã‰T('¯Ò'û);<''šŸÐ*“¢ƒÿ§'à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/c1ac502a15c53a90a1934f4a31d30f93db36dc8a b/test/core/nanopb/corpus_serverlist/c1ac502a15c53a90a1934f4a31d30f93db36dc8a new file mode 100644 index 0000000000000000000000000000000000000000..d2e8bdbb3ada8c212ff1185b9c7ed3570f1ce071 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/c1ac502a15c53a90a1934f4a31d30f93db36dc8a @@ -0,0 +1 @@ + É=Éÿ'! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/c1b29883768551fa5aadc38ba6eaad8007b9b85b b/test/core/nanopb/corpus_serverlist/c1b29883768551fa5aadc38ba6eaad8007b9b85b new file mode 100644 index 0000000000000000000000000000000000000000..29c3b9f280a026cfb6f34927d533b49545510e22 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/c1b29883768551fa5aadc38ba6eaad8007b9b85b @@ -0,0 +1,3 @@ +!¼;@oCÙ'–((!*Ú*'‚'*' +!((š;!x!(*:)ÞNË):y +œ“)I;ô):()”o:;©'(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/c2331fe0660ab5e411f6d38968c706aed390d8f6 b/test/core/nanopb/corpus_serverlist/c2331fe0660ab5e411f6d38968c706aed390d8f6 new file mode 100644 index 0000000000000000000000000000000000000000..cd6e0b216f6d1c572b106667fa58bd88071050f2 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/c2331fe0660ab5e411f6d38968c706aed390d8f6 @@ -0,0 +1 @@ +É)='!'ïï'½=ï!)**Í(()#õhÕ|'µ)T;“Õq£!(Sª=ï!)!***Í \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/c32647119c244cc018bb1863853d5c7bd37090df b/test/core/nanopb/corpus_serverlist/c32647119c244cc018bb1863853d5c7bd37090df new file mode 100644 index 0000000000000000000000000000000000000000..07d457a14620d6e3709922b315a3c08cc01f0a7c --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/c32647119c244cc018bb1863853d5c7bd37090df @@ -0,0 +1 @@ + É=Éÿ'! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/c4098733900c27861bbf74a71afcbbd93d62f8ee b/test/core/nanopb/corpus_serverlist/c4098733900c27861bbf74a71afcbbd93d62f8ee new file mode 100644 index 0000000000000000000000000000000000000000..3e69c25dfc72dd5c13ec4d0db12f17ae6c04b160 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/c4098733900c27861bbf74a71afcbbd93d62f8ee @@ -0,0 +1,3 @@ +!¼;@oCÙ'–((!*Ú*'‚'*') +!(([;!x!(*:)ÞNË):y +œ“)I;ô):()”o:;©'(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/c4f5769bf3b4f2a55c006b4cf5a3bba44b347241 b/test/core/nanopb/corpus_serverlist/c4f5769bf3b4f2a55c006b4cf5a3bba44b347241 new file mode 100644 index 0000000000000000000000000000000000000000..c42581a683417265c1a8fdd8fc756e4c9209531e --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/c4f5769bf3b4f2a55c006b4cf5a3bba44b347241 @@ -0,0 +1,2 @@ +Ų;IJ +UUú‰™( MÁ²²²Á² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/c6ea7b2d47402a458d5d03235bb042b61e05b2e8 b/test/core/nanopb/corpus_serverlist/c6ea7b2d47402a458d5d03235bb042b61e05b2e8 new file mode 100644 index 0000000000000000000000000000000000000000..d5ca5ed55faa32516b6cf4c1bdd9051ad45abb39 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/c6ea7b2d47402a458d5d03235bb042b61e05b2e8 @@ -0,0 +1 @@ + !!;n!@"P^*;;(!!;ð!':;!+P:y1ua; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/c7255dc48b42d44f6c0676d6009051b7e1aa885b b/test/core/nanopb/corpus_serverlist/c7255dc48b42d44f6c0676d6009051b7e1aa885b new file mode 100644 index 0000000000000000000000000000000000000000..c30d0581bfa3e1d73eb6a5efbe638c72911dadb7 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/c7255dc48b42d44f6c0676d6009051b7e1aa885b @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/c7d77af55176ae0ae5e59f46e48e1e6ea108d799 b/test/core/nanopb/corpus_serverlist/c7d77af55176ae0ae5e59f46e48e1e6ea108d799 new file mode 100644 index 0000000000000000000000000000000000000000..dd7d5d1622c1ab89d1f02ed7decfc76201fb16ff Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/c7d77af55176ae0ae5e59f46e48e1e6ea108d799 differ diff --git a/test/core/nanopb/corpus_serverlist/c80827341dcdf1c21b303b82ec7e6df7eaf63f3d b/test/core/nanopb/corpus_serverlist/c80827341dcdf1c21b303b82ec7e6df7eaf63f3d new file mode 100644 index 0000000000000000000000000000000000000000..dc882103bee7deb1c46c21882b43fcb673ac8bbe --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/c80827341dcdf1c21b303b82ec7e6df7eaf63f3d @@ -0,0 +1 @@ +)B!B!à@)ò);'Ç“¢ƒ§'à@::sED'tÂ'–!();! '³(N);)&ÑÅvŠÅ™: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/c9501031a75c067b6602e2831f03421b87be4496 b/test/core/nanopb/corpus_serverlist/c9501031a75c067b6602e2831f03421b87be4496 new file mode 100644 index 0000000000000000000000000000000000000000..4c223e9298203d65db005c61ead3ea836e306949 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/c9501031a75c067b6602e2831f03421b87be4496 @@ -0,0 +1 @@ +'ÐB!à@)ò);'Ç“¢ƒ''*::sED'';B!à@)ò)t;'Ç“ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/c98f88d962dfbc2a83e08bfbd8a87b0cc5a8b330 b/test/core/nanopb/corpus_serverlist/c98f88d962dfbc2a83e08bfbd8a87b0cc5a8b330 new file mode 100644 index 0000000000000000000000000000000000000000..c1cf8591e002059a4056e194a5d5e76c0a9b914a --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/c98f88d962dfbc2a83e08bfbd8a87b0cc5a8b330 @@ -0,0 +1 @@ +!)fBB!à@)ò ';'Ç“¢ƒ§'à@*:s:ED'tÂ'–!();!)*!O) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/ccd33fa22b2983978f9617b3cde76ea05b683c2c b/test/core/nanopb/corpus_serverlist/ccd33fa22b2983978f9617b3cde76ea05b683c2c new file mode 100644 index 0000000000000000000000000000000000000000..47c119b175fc97c83836893b2671f3c204b4ec62 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/ccd33fa22b2983978f9617b3cde76ea05b683c2c @@ -0,0 +1,3 @@ +!¼+@oCÙ'–((!*Ú*'‚'*' +!!'@¼CoÙ;–((!*Ú*''*' ! +’š;!x!(*(:)ÞNËš \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/cd0e7701fd79879c56f680817a0d2705751b1f44 b/test/core/nanopb/corpus_serverlist/cd0e7701fd79879c56f680817a0d2705751b1f44 new file mode 100644 index 0000000000000000000000000000000000000000..c42b7369d1d0ae0cd27317be3c085266fced5b58 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/cd0e7701fd79879c56f680817a0d2705751b1f44 @@ -0,0 +1,2 @@ +Á²²Wo:'ì*'!@:(:Á*():)Á|²²²Á(;(' +²Á²’² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/cd1c2b5c2684d831aab5265e9cd6f1ee045dab9b b/test/core/nanopb/corpus_serverlist/cd1c2b5c2684d831aab5265e9cd6f1ee045dab9b new file mode 100644 index 0000000000000000000000000000000000000000..42148d85a7183ff13c1db21aa822e2b3e3ba3428 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/cd1c2b5c2684d831aab5265e9cd6f1ee045dab9b differ diff --git a/test/core/nanopb/corpus_serverlist/cf98e8b01e7a759f28a9c5f59c896317d74ac47c b/test/core/nanopb/corpus_serverlist/cf98e8b01e7a759f28a9c5f59c896317d74ac47c new file mode 100644 index 0000000000000000000000000000000000000000..5682057d45ad38ae41d2e9c3c6cbc8dc801a53bc --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/cf98e8b01e7a759f28a9c5f59c896317d74ac47c @@ -0,0 +1,3 @@ +!¼;@oCÙ'–((!*Ú*'‚'*') +!((š;!x!(*:)ÞNË):y +œ“)I;ô):()”o:;©'(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/d1d171589e035be85dc347278f0735151a342d68 b/test/core/nanopb/corpus_serverlist/d1d171589e035be85dc347278f0735151a342d68 new file mode 100644 index 0000000000000000000000000000000000000000..0542aaea6bf22400395928b73fe6c583e61bdc2f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/d1d171589e035be85dc347278f0735151a342d68 @@ -0,0 +1 @@ + G!;n!@"P^*;;(';!ð:!;!!+P:y1ua; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/d243143bf9b8adf6be92a157428ec6cbfd785423 b/test/core/nanopb/corpus_serverlist/d243143bf9b8adf6be92a157428ec6cbfd785423 new file mode 100644 index 0000000000000000000000000000000000000000..693233c07934b63c37d171dda5b5bbbee8658f05 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/d243143bf9b8adf6be92a157428ec6cbfd785423 @@ -0,0 +1 @@ +Á²•Wì:o#'*!@Á²²ÁÁ²²••®W:'ì* \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/d2cd278979f2842ebd890f1d84712750273ad0fc b/test/core/nanopb/corpus_serverlist/d2cd278979f2842ebd890f1d84712750273ad0fc new file mode 100644 index 0000000000000000000000000000000000000000..b12dc953cb915d906b4357ddfef39fd0f9c5daa4 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/d2cd278979f2842ebd890f1d84712750273ad0fc @@ -0,0 +1,2 @@ +!¼+@oCÙ'–((!*Ú*'‚'*')!(š(;!x!(*:)ÞNË):y +œ“)I*ô):()”o:;©'(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/d2e96eb2699c7dd4a183f13d3a063a1aa9c192fd b/test/core/nanopb/corpus_serverlist/d2e96eb2699c7dd4a183f13d3a063a1aa9c192fd new file mode 100644 index 0000000000000000000000000000000000000000..59e8225aa54c636c5a629239aa48a788c7f03815 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/d2e96eb2699c7dd4a183f13d3a063a1aa9c192fd @@ -0,0 +1 @@ +!!;n!@"P^*;;(!!;ð!':;!+P:y1ua; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/d3178f8b0d26275667c27bb8533a61643213e4d8 b/test/core/nanopb/corpus_serverlist/d3178f8b0d26275667c27bb8533a61643213e4d8 new file mode 100644 index 0000000000000000000000000000000000000000..b3d0493aac716abf3e7679c7d954e771236c894c --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/d3178f8b0d26275667c27bb8533a61643213e4d8 @@ -0,0 +1,2 @@ +!¼+@oCÙ'–((!*Ú*'‚'*')!(š(;!x!(*:)ÞNË):y +œ“)I*ô:')”o:;©£(ª(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/d46f536ea4b601c0ff313a5eb5b47e2b55aa9eb0 b/test/core/nanopb/corpus_serverlist/d46f536ea4b601c0ff313a5eb5b47e2b55aa9eb0 new file mode 100644 index 0000000000000000000000000000000000000000..59ecd84e9ccad47c18deb6bf851973e1e9082743 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/d46f536ea4b601c0ff313a5eb5b47e2b55aa9eb0 @@ -0,0 +1 @@ +É=ï!)**Í(()#õhÕ|T'µ)T;“Õq£!(SÀª=ï!)!***Í(() \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/d4be3038631eac422022ee23f43b47905a15b2b5 b/test/core/nanopb/corpus_serverlist/d4be3038631eac422022ee23f43b47905a15b2b5 new file mode 100644 index 0000000000000000000000000000000000000000..14ab54c95909e257b8e0eda1688022a598954614 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/d4be3038631eac422022ee23f43b47905a15b2b5 @@ -0,0 +1 @@ +'!=ï'o)**Í(()#hÕ|(µ)T;“Õ²Wo:'*()@!½()(!('( \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/d56b30a2d1b5a2a13ae00392bcb4ca72085310d9 b/test/core/nanopb/corpus_serverlist/d56b30a2d1b5a2a13ae00392bcb4ca72085310d9 new file mode 100644 index 0000000000000000000000000000000000000000..8c74e89f7208f45abfe1d04ec1dd1d7fcb8f08b2 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/d56b30a2d1b5a2a13ae00392bcb4ca72085310d9 @@ -0,0 +1,2 @@ +Á²•Wo:'ì*#!@ +*P; õú‰(Á²:²Ù \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/d67f85948143218d11e2fb7936a119741036045d b/test/core/nanopb/corpus_serverlist/d67f85948143218d11e2fb7936a119741036045d new file mode 100644 index 0000000000000000000000000000000000000000..09d7d97cfd9f92347710b1a1be98599cc2b95395 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/d67f85948143218d11e2fb7936a119741036045d @@ -0,0 +1 @@ +)B!B!à@)ò);'Ç“¢ƒ§'à@*::sED'tÂ'–!();!)'²(N);)&ÑÅvŠÅ™: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/d6930ea81dfd91856a06a0c16483e47616642b4b b/test/core/nanopb/corpus_serverlist/d6930ea81dfd91856a06a0c16483e47616642b4b new file mode 100644 index 0000000000000000000000000000000000000000..9f8cd3845c05b8b719268c94e179ecf2dddbbd50 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/d6930ea81dfd91856a06a0c16483e47616642b4b @@ -0,0 +1 @@ +U) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/d737c10038a92add90e2ebea5c174ed249de8018 b/test/core/nanopb/corpus_serverlist/d737c10038a92add90e2ebea5c174ed249de8018 new file mode 100644 index 0000000000000000000000000000000000000000..41c37cb8609b8a295d274440459a4262db6592c6 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/d737c10038a92add90e2ebea5c174ed249de8018 @@ -0,0 +1 @@ +)'Û¦)U!a Øç•ÏøÉ=*×Éÿ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/d758a67f018b176dfc7d29630cf8cb587f5b2a6b b/test/core/nanopb/corpus_serverlist/d758a67f018b176dfc7d29630cf8cb587f5b2a6b new file mode 100644 index 0000000000000000000000000000000000000000..df361cb4cf09e288a12c25e7ce2c486b4eabc2f8 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/d758a67f018b176dfc7d29630cf8cb587f5b2a6b @@ -0,0 +1,2 @@ +Á²•Wo:'ì*#!@::*):)Áü²²²Á;;!' +²Áƒ'’² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/dc7139105787f3ba67d7971d80796e9cf5786a91 b/test/core/nanopb/corpus_serverlist/dc7139105787f3ba67d7971d80796e9cf5786a91 new file mode 100644 index 0000000000000000000000000000000000000000..6f0d40ab0e8476429b5734a54ee7a0eed69a8c13 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/dc7139105787f3ba67d7971d80796e9cf5786a91 @@ -0,0 +1 @@ +Øìƽ÷(!)!5Sã::`…¶(!p½'e€*'U)))(:)婤;*:!p(È':Ö¶;óÑ))e¿);À';:µ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/dc8ec35f43e994b9c4ac61275d6b934990d42181 b/test/core/nanopb/corpus_serverlist/dc8ec35f43e994b9c4ac61275d6b934990d42181 new file mode 100644 index 0000000000000000000000000000000000000000..e8bf4a9907934946070ab0cd9f6eecb538d25a05 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/dc8ec35f43e994b9c4ac61275d6b934990d42181 @@ -0,0 +1,2 @@ +Á²•Wo:'ì*#!@:*):)Áü²²²Å;;! +²Áƒ'’² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/dd2694fe12a018bc6af6f288b5c22a030eec8049 b/test/core/nanopb/corpus_serverlist/dd2694fe12a018bc6af6f288b5c22a030eec8049 new file mode 100644 index 0000000000000000000000000000000000000000..7646d3e72974faa8ef82298fd2a3abc5c5dce4bb Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/dd2694fe12a018bc6af6f288b5c22a030eec8049 differ diff --git a/test/core/nanopb/corpus_serverlist/de7424f44508582a953f137195533b7a0191eda7 b/test/core/nanopb/corpus_serverlist/de7424f44508582a953f137195533b7a0191eda7 new file mode 100644 index 0000000000000000000000000000000000000000..988584a4a0f0d0558594c6bd70ad68d45b3f9eb1 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/de7424f44508582a953f137195533b7a0191eda7 @@ -0,0 +1 @@ +)'Û¦)U!a Øç•ÏøÉÿ×=É* \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/de91a02040d792dfcb71a4cb5aa4c1c006201273 b/test/core/nanopb/corpus_serverlist/de91a02040d792dfcb71a4cb5aa4c1c006201273 new file mode 100644 index 0000000000000000000000000000000000000000..6119c72690eebc091ba018c8243b0e5475814c3b --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/de91a02040d792dfcb71a4cb5aa4c1c006201273 @@ -0,0 +1 @@ +''=ï!)**Í(()#õhÕ|'µ)T;“Õq£!(Sª=ï!)!***Í(() \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/deb576067b11f6e2a3a39b0f2ef38ddae5c67b18 b/test/core/nanopb/corpus_serverlist/deb576067b11f6e2a3a39b0f2ef38ddae5c67b18 new file mode 100644 index 0000000000000000000000000000000000000000..6a960cdad7b7eb2376b01838a325f54cfb47ed37 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/deb576067b11f6e2a3a39b0f2ef38ddae5c67b18 @@ -0,0 +1 @@ +È2ò;•È;.ò:• \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/df58248c414f342c81e056b40bee12d17a08bf61 b/test/core/nanopb/corpus_serverlist/df58248c414f342c81e056b40bee12d17a08bf61 new file mode 100644 index 0000000000000000000000000000000000000000..f59ec20aabf5842d237244ece8c81ab184faeac1 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/df58248c414f342c81e056b40bee12d17a08bf61 @@ -0,0 +1 @@ +* \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/e076020b2826abd3a4b960fb33a35fd7d0606dd8 b/test/core/nanopb/corpus_serverlist/e076020b2826abd3a4b960fb33a35fd7d0606dd8 new file mode 100644 index 0000000000000000000000000000000000000000..2cf8f9709e2412a1cf7960de164cd9e1d4a65d56 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/e076020b2826abd3a4b960fb33a35fd7d0606dd8 differ diff --git a/test/core/nanopb/corpus_serverlist/e0bcf682342967c002621acd2563a2157826d156 b/test/core/nanopb/corpus_serverlist/e0bcf682342967c002621acd2563a2157826d156 new file mode 100644 index 0000000000000000000000000000000000000000..d9c8b2de1badb5fe40be07df8710986f83f01e19 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/e0bcf682342967c002621acd2563a2157826d156 differ diff --git a/test/core/nanopb/corpus_serverlist/e1edca08a7654b42a64647abb0e773eddddb580b b/test/core/nanopb/corpus_serverlist/e1edca08a7654b42a64647abb0e773eddddb580b new file mode 100644 index 0000000000000000000000000000000000000000..cb23b40471ad65cc96c7ccb9e264a7c52dcde7e7 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/e1edca08a7654b42a64647abb0e773eddddb580b @@ -0,0 +1,2 @@ +! +!;Øì½÷(!)!5Sã::`…¶(!p½'e€n!@"!;*'Un))!) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/e2fa528289b5971f5b40b3687a2a6f0d17348de6 b/test/core/nanopb/corpus_serverlist/e2fa528289b5971f5b40b3687a2a6f0d17348de6 new file mode 100644 index 0000000000000000000000000000000000000000..d4224c766af4aea70e824108eda539219d138113 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/e2fa528289b5971f5b40b3687a2a6f0d17348de6 @@ -0,0 +1,2 @@ +! +!;Øìƽ÷(!)!5Sã::`…¶(!p½'e€n!@"!;*'Un))!) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/e52af0ba8750572b98f3a8968de77811ddff0893 b/test/core/nanopb/corpus_serverlist/e52af0ba8750572b98f3a8968de77811ddff0893 new file mode 100644 index 0000000000000000000000000000000000000000..661acf33ceba4ff38789ba0da86b1f468d9ca992 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/e52af0ba8750572b98f3a8968de77811ddff0893 @@ -0,0 +1 @@ +Á²•W'oÁ²:'²WÁ²²Wo'ì*'!@:(:Á*r):)Á|²²Á²²W \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/e5a0f40647f805b5001645ce2d94505e72fa64f3 b/test/core/nanopb/corpus_serverlist/e5a0f40647f805b5001645ce2d94505e72fa64f3 new file mode 100644 index 0000000000000000000000000000000000000000..4da511f995b6062122d453b3fc92b730399b72ba --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/e5a0f40647f805b5001645ce2d94505e72fa64f3 @@ -0,0 +1,2 @@ +!à +!Øìƽ‰÷( )!!;n!@"P^*;;(!!;ð!':;!+!P:y0ua;5S::Ô` \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/e69762f0c6a2750c0b03503a6aec90ffc94bcb72 b/test/core/nanopb/corpus_serverlist/e69762f0c6a2750c0b03503a6aec90ffc94bcb72 new file mode 100644 index 0000000000000000000000000000000000000000..33344333ce294771ccb1c2d291d4910c741687ee --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/e69762f0c6a2750c0b03503a6aec90ffc94bcb72 @@ -0,0 +1 @@ +ZB! \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/e7064f0b80f61dbc65915311032d27baa569ae2a b/test/core/nanopb/corpus_serverlist/e7064f0b80f61dbc65915311032d27baa569ae2a new file mode 100644 index 0000000000000000000000000000000000000000..e8a0f87653d8b78789cb183ba19f357c636ad33f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/e7064f0b80f61dbc65915311032d27baa569ae2a @@ -0,0 +1 @@ +) \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/e863a4420854c36168d2b8dd39ce474ebe11cd26 b/test/core/nanopb/corpus_serverlist/e863a4420854c36168d2b8dd39ce474ebe11cd26 new file mode 100644 index 0000000000000000000000000000000000000000..9170f6c425c2f28111bfe3fb5c4df21e4fc44564 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/e863a4420854c36168d2b8dd39ce474ebe11cd26 @@ -0,0 +1 @@ +ÁÁ²²² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/e8993f97bb9c83f87c64cfc429095eeaccf32953 b/test/core/nanopb/corpus_serverlist/e8993f97bb9c83f87c64cfc429095eeaccf32953 new file mode 100644 index 0000000000000000000000000000000000000000..4a284b5d79cf7945801129ec6da69eebd447fa85 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/e8993f97bb9c83f87c64cfc429095eeaccf32953 @@ -0,0 +1 @@ + Ų;ŲU!Uú‰Ù(Ž'Ö!…z%)V!*:')Á²²W: \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/e9875d9a54b3ebc57df4da886cd30a39252ac666 b/test/core/nanopb/corpus_serverlist/e9875d9a54b3ebc57df4da886cd30a39252ac666 new file mode 100644 index 0000000000000000000000000000000000000000..5fb45a749e07f493bb0160daef0b25aaec35fa94 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/e9875d9a54b3ebc57df4da886cd30a39252ac666 @@ -0,0 +1,3 @@ +!;n!@"P^*;;(!!;ð!':;!+P:y0ua;) +:';ü': +;}!—£)®*)ô'Å–”':(!):!Fý \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/e98a9d92bbbac9b1e64c0641e967adebd681b2aa b/test/core/nanopb/corpus_serverlist/e98a9d92bbbac9b1e64c0641e967adebd681b2aa new file mode 100644 index 0000000000000000000000000000000000000000..3555391c7e9eb9f01d4f9cf1e19f8fb3fc607e4f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/e98a9d92bbbac9b1e64c0641e967adebd681b2aa @@ -0,0 +1 @@ +ѯõ2ÜÈ!:ò \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/eb7c31f48c77b742fa29126ac78a2c06c41208e8 b/test/core/nanopb/corpus_serverlist/eb7c31f48c77b742fa29126ac78a2c06c41208e8 new file mode 100644 index 0000000000000000000000000000000000000000..db926fdf28d4c296828d338157f10547165f99d2 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/eb7c31f48c77b742fa29126ac78a2c06c41208e8 @@ -0,0 +1 @@ +²U— \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/ec174492517f988010ed3ddbd003cb388f477bb6 b/test/core/nanopb/corpus_serverlist/ec174492517f988010ed3ddbd003cb388f477bb6 new file mode 100644 index 0000000000000000000000000000000000000000..23b7293b430dcd2ac7e457c0077ec1839e8a57db --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/ec174492517f988010ed3ddbd003cb388f477bb6 @@ -0,0 +1 @@ +U)B!à@ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/ec4d6a393be7ec80ccb8c531337a7fc3ef140e66 b/test/core/nanopb/corpus_serverlist/ec4d6a393be7ec80ccb8c531337a7fc3ef140e66 new file mode 100644 index 0000000000000000000000000000000000000000..6402f351e5d9a0d6cc32ac2e920bbdfe608ac48e --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/ec4d6a393be7ec80ccb8c531337a7fc3ef140e66 @@ -0,0 +1 @@ +)'Û¦)U!a !:Øç•ÏøÉ=×Éÿ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/ecd40909ab5e2c61841d9fb95b8aacc87651100c b/test/core/nanopb/corpus_serverlist/ecd40909ab5e2c61841d9fb95b8aacc87651100c new file mode 100644 index 0000000000000000000000000000000000000000..f74e810957f4387841a629c477b5ebc28794a3b3 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/ecd40909ab5e2c61841d9fb95b8aacc87651100c differ diff --git a/test/core/nanopb/corpus_serverlist/ed17c8ddb6cc8a0b653dc87aca999d31e80c781a b/test/core/nanopb/corpus_serverlist/ed17c8ddb6cc8a0b653dc87aca999d31e80c781a new file mode 100644 index 0000000000000000000000000000000000000000..359a2052a78935a19cece42ff7e41ce23f0e3d48 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/ed17c8ddb6cc8a0b653dc87aca999d31e80c781a @@ -0,0 +1 @@ +Ų;Ų‘UõUú‰Ù( Ų;²UUú‰*Ų;²UÅÙ(Ž(²'Ö!…z%)#€ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/ee0b476126bb1c2249b299323718ecef1250645e b/test/core/nanopb/corpus_serverlist/ee0b476126bb1c2249b299323718ecef1250645e new file mode 100644 index 0000000000000000000000000000000000000000..954e32c44dd586d68f3fe7da320f90d00196f470 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/ee0b476126bb1c2249b299323718ecef1250645e @@ -0,0 +1,2 @@ +¹! +!ØìÆ!Øìƽ÷(!)!5Sã::Ô`…¶8!q½÷(!"€')2;ò•:!!. \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/ee1fb6a0b4139c07f1cf6bce850eaac9a2db29ba b/test/core/nanopb/corpus_serverlist/ee1fb6a0b4139c07f1cf6bce850eaac9a2db29ba new file mode 100644 index 0000000000000000000000000000000000000000..5611bc559f704e2059929ad4a7718ecbc287ee1f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/ee1fb6a0b4139c07f1cf6bce850eaac9a2db29ba @@ -0,0 +1 @@ +!)fBB!(@)ò 'ÇZ!!Î!*M)!:“(ó'ØH(;ã‰T('¯Ò'û);<''šŸÐ*“¢ƒÿ§'à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/eeac145c017ed35305f0ae69f820fc41e26e7997 b/test/core/nanopb/corpus_serverlist/eeac145c017ed35305f0ae69f820fc41e26e7997 new file mode 100644 index 0000000000000000000000000000000000000000..e20a603242bd559588be48c70e645e56868687d5 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/eeac145c017ed35305f0ae69f820fc41e26e7997 @@ -0,0 +1 @@ +'#9k;*;7»*)õ!!$*!H?*'›¼ßE ‹Í(±;o'*!:Ã:ÈŽ*;:ï%!)†!;*!tcÈ®:ˆ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/efac7390c6e3a653d3ce93c3d6902f2f1c281ce0 b/test/core/nanopb/corpus_serverlist/efac7390c6e3a653d3ce93c3d6902f2f1c281ce0 new file mode 100644 index 0000000000000000000000000000000000000000..921afe43e170d4c746cdfe23a07e51441b4ef302 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/efac7390c6e3a653d3ce93c3d6902f2f1c281ce0 @@ -0,0 +1 @@ +Á²•Wo:'ì*#!@ ':*)Á²²Wo:'Wo*'!@*()*()@)(!:)Áü²²²(!' \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/f0f0dace93d51cd8e045aeacca89424fc836eebc b/test/core/nanopb/corpus_serverlist/f0f0dace93d51cd8e045aeacca89424fc836eebc new file mode 100644 index 0000000000000000000000000000000000000000..74f82e64200382b3f4c2829d5187ae6e3943dbb8 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/f0f0dace93d51cd8e045aeacca89424fc836eebc differ diff --git a/test/core/nanopb/corpus_serverlist/f3341b8cc55c0bb6e2d0a1f7f06d68e4f04057f5 b/test/core/nanopb/corpus_serverlist/f3341b8cc55c0bb6e2d0a1f7f06d68e4f04057f5 new file mode 100644 index 0000000000000000000000000000000000000000..aa1c2e7fac9833fcaa163cee35f1822815c0081a --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/f3341b8cc55c0bb6e2d0a1f7f06d68e4f04057f5 @@ -0,0 +1,2 @@ +Ų;Ų +UõUú‰Ù( Ų;²UŲ \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/f59ff56e341b94f2bddfd718b48ae9ab1692d720 b/test/core/nanopb/corpus_serverlist/f59ff56e341b94f2bddfd718b48ae9ab1692d720 new file mode 100644 index 0000000000000000000000000000000000000000..8bc99b6b3419ad773f57578ea23c5dc829a9d790 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/f59ff56e341b94f2bddfd718b48ae9ab1692d720 @@ -0,0 +1,2 @@ +Á²²Wo:'ì*'!@*(Á*()@)Á²²²(!(!' +Á²²ò \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/f5a1824b9fd9f124df8097017607bcfa00eccfce b/test/core/nanopb/corpus_serverlist/f5a1824b9fd9f124df8097017607bcfa00eccfce new file mode 100644 index 0000000000000000000000000000000000000000..a4cbfd6f60beeb0efed9cce56cc172ad32032d95 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/f5a1824b9fd9f124df8097017607bcfa00eccfce @@ -0,0 +1,2 @@ +Á²²Wo:'ì*'!@:(:Á*():)Á|²²Á(;(' +²Á²’² \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/f5b92b69853a5d123bffdc6b0ab093f767ec30ad b/test/core/nanopb/corpus_serverlist/f5b92b69853a5d123bffdc6b0ab093f767ec30ad new file mode 100644 index 0000000000000000000000000000000000000000..10b65098138fc3d1dcc8e4f9fe52357ba8d3c392 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/f5b92b69853a5d123bffdc6b0ab093f767ec30ad differ diff --git a/test/core/nanopb/corpus_serverlist/f6aea4c380e41ddef2489ee581ab35e17fa3e8dd b/test/core/nanopb/corpus_serverlist/f6aea4c380e41ddef2489ee581ab35e17fa3e8dd new file mode 100644 index 0000000000000000000000000000000000000000..9f4d9356f49c5228b17b11e0cccfd981a5de95d3 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/f6aea4c380e41ddef2489ee581ab35e17fa3e8dd @@ -0,0 +1,2 @@ +Ų;IJ +UUú‰™( MÁ²²²²;²²UW \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/f7b7254a3af7c41cb86e4b23bb93c5a6d55e2583 b/test/core/nanopb/corpus_serverlist/f7b7254a3af7c41cb86e4b23bb93c5a6d55e2583 new file mode 100644 index 0000000000000000000000000000000000000000..3085daf738125ad490d6307d8f5358cfb597ac40 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/f7b7254a3af7c41cb86e4b23bb93c5a6d55e2583 @@ -0,0 +1 @@ +)*!B!Óà@'))ò);'Ç“¢ƒ§à:E:@sD'tÂ'–!();! ''³(N);)& \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/f7bdc1b174f53a49c6ef8f8cdb9b8e74e0a5d4ab b/test/core/nanopb/corpus_serverlist/f7bdc1b174f53a49c6ef8f8cdb9b8e74e0a5d4ab new file mode 100644 index 0000000000000000000000000000000000000000..1f4ca9584c39d3d851df51098b97df24cb91fb54 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/f7bdc1b174f53a49c6ef8f8cdb9b8e74e0a5d4ab @@ -0,0 +1,3 @@ +!¼;@oCÙ'–((!*Ú*'‚'*') +!*š;!x!(*:)ÞNË):y +œ“)I;ô9;()”o:;¨'¨*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/f98c78c028baf22f39c77faf6e70edb86ac1d927 b/test/core/nanopb/corpus_serverlist/f98c78c028baf22f39c77faf6e70edb86ac1d927 new file mode 100644 index 0000000000000000000000000000000000000000..a8a1af807591168d3338ba56c79c90061277f2ea --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/f98c78c028baf22f39c77faf6e70edb86ac1d927 @@ -0,0 +1 @@ +ŲU \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/fb440171bca6ff922727e9ff2a4ac40d8d7905ff b/test/core/nanopb/corpus_serverlist/fb440171bca6ff922727e9ff2a4ac40d8d7905ff new file mode 100644 index 0000000000000000000000000000000000000000..681ba0ab80001d8538fac68a68da2a04b6a61d2f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/fb440171bca6ff922727e9ff2a4ac40d8d7905ff @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/fc76cc4030b422e4cb5c145c3e8ed122e242acf0 b/test/core/nanopb/corpus_serverlist/fc76cc4030b422e4cb5c145c3e8ed122e242acf0 new file mode 100644 index 0000000000000000000000000000000000000000..fde58537b0d5d4b2ea5b6bde100d47bcc0c035ec --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/fc76cc4030b422e4cb5c145c3e8ed122e242acf0 @@ -0,0 +1 @@ +!)fBB!(@)ò Z!!'!*M)!:“(ó'ØH(ã‰T('¯Ò'û);<''šŸÐ*“¢ƒÿ§'à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/fcab3b80624b431e464dc12d3b6da1cf538bd15e b/test/core/nanopb/corpus_serverlist/fcab3b80624b431e464dc12d3b6da1cf538bd15e new file mode 100644 index 0000000000000000000000000000000000000000..690c0a1dda5c7e5dd129f00c17ff7719f53aa19f --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/fcab3b80624b431e464dc12d3b6da1cf538bd15e @@ -0,0 +1,2 @@ +! +)fBB!(@)ò 'Z!!Î!*M)!:“(ó'ØHã(‰T('¯Ò'û);<'šŸÐ*“<ƒÿ§'à \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/fdb3a9b59798d7e851d9074db69422b1d2df38dd b/test/core/nanopb/corpus_serverlist/fdb3a9b59798d7e851d9074db69422b1d2df38dd new file mode 100644 index 0000000000000000000000000000000000000000..adbe8589035081e001243d64e0b7397e50f5cf98 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/fdb3a9b59798d7e851d9074db69422b1d2df38dd @@ -0,0 +1 @@ +È;2È;ò•òÈ;ò2 \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/fe5de5f387e31b029d589d9b1777fd0d6b3e47b3 b/test/core/nanopb/corpus_serverlist/fe5de5f387e31b029d589d9b1777fd0d6b3e47b3 new file mode 100644 index 0000000000000000000000000000000000000000..83c20eec2998c94ea3be31929eb13879dd62e677 --- /dev/null +++ b/test/core/nanopb/corpus_serverlist/fe5de5f387e31b029d589d9b1777fd0d6b3e47b3 @@ -0,0 +1,3 @@ +!¼;@oCÙ'–((!*Ú*''*' ! +(š;!x!(*:)ÞNË):y +œ“)I?ô)):(”o:;©'(*(; \ No newline at end of file diff --git a/test/core/nanopb/corpus_serverlist/ff52d938aaa10c08b2eb0830fc0066c3b57e040f b/test/core/nanopb/corpus_serverlist/ff52d938aaa10c08b2eb0830fc0066c3b57e040f new file mode 100644 index 0000000000000000000000000000000000000000..4975d72864efb4995f12b2f7c6ca8ee5ba0b47a3 Binary files /dev/null and b/test/core/nanopb/corpus_serverlist/ff52d938aaa10c08b2eb0830fc0066c3b57e040f differ diff --git a/test/core/nanopb/fuzzer_response.c b/test/core/nanopb/fuzzer_response.c new file mode 100644 index 0000000000000000000000000000000000000000..b4e386020a707513a057a126e33a44f0b2912900 --- /dev/null +++ b/test/core/nanopb/fuzzer_response.c @@ -0,0 +1,49 @@ +/* + * + * Copyright 2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include <stdint.h> +#include <string.h> + +#include <grpc/support/alloc.h> + +#include "src/core/ext/lb_policy/grpclb/load_balancer_api.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + gpr_slice slice = gpr_slice_from_copied_buffer((const char *)data, size); + grpc_grpclb_response *response; + if ((response = grpc_grpclb_response_parse(slice))) { + grpc_grpclb_response_destroy(response); + } + gpr_slice_unref(slice); + return 0; +} diff --git a/src/core/lib/client_config/lb_policies/pick_first.h b/test/core/nanopb/fuzzer_serverlist.c similarity index 75% rename from src/core/lib/client_config/lb_policies/pick_first.h rename to test/core/nanopb/fuzzer_serverlist.c index dba86ea7ad3960113aac1f256a7a1d6fe807869e..d4ec74f0e79f5af4de3c41c79121bfd39e800ce6 100644 --- a/src/core/lib/client_config/lb_policies/pick_first.h +++ b/test/core/nanopb/fuzzer_serverlist.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,13 +31,19 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_PICK_FIRST_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_PICK_FIRST_H +#include <stdint.h> +#include <string.h> -#include "src/core/lib/client_config/lb_policy_factory.h" +#include <grpc/support/alloc.h> -/** Returns a load balancing factory for the pick first policy, which picks up - * the first subchannel from \a subchannels to succesfully connect */ -grpc_lb_policy_factory *grpc_pick_first_lb_factory_create(); +#include "src/core/ext/lb_policy/grpclb/load_balancer_api.h" -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_PICK_FIRST_H */ +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + gpr_slice slice = gpr_slice_from_copied_buffer((const char *)data, size); + grpc_grpclb_serverlist *serverlist; + if ((serverlist = grpc_grpclb_response_parse_serverlist(slice))) { + grpc_grpclb_destroy_serverlist(serverlist); + } + gpr_slice_unref(slice); + return 0; +} diff --git a/test/core/network_benchmarks/low_level_ping_pong.c b/test/core/network_benchmarks/low_level_ping_pong.c index b8c6954e380961e08817b1ed86a29635a87023e5..ac5ee72daa74888886de1db3153257e8bc7d21b8 100644 --- a/test/core/network_benchmarks/low_level_ping_pong.c +++ b/test/core/network_benchmarks/low_level_ping_pong.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/profiling/timers_test.c b/test/core/profiling/timers_test.c index a3831191eb301991165da91867d124bf2634d1da..284589af1e173429b3bb6aa5ee5ded6d44e5a813 100644 --- a/test/core/profiling/timers_test.c +++ b/test/core/profiling/timers_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/security/auth_context_test.c b/test/core/security/auth_context_test.c index 84d2afb85b4df64af015c03459b16dcb247a7f21..d1ead162359d43ff802b42e5e668e33d3d693b8a 100644 --- a/test/core/security/auth_context_test.c +++ b/test/core/security/auth_context_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/security/b64_test.c b/test/core/security/b64_test.c index ab15df2c21019d12e2aaa11b54309827c0d07ba4..cea870321d3bc2f2dc6c4c5e679fb967fa6040ec 100644 --- a/test/core/security/b64_test.c +++ b/test/core/security/b64_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/security/create_jwt.c b/test/core/security/create_jwt.c index 3416de72541095d3e7694f50f3f44905c96c4bc9..6d4707f3c7674422e4de381fc5bf9a86ad985ba5 100644 --- a/test/core/security/create_jwt.c +++ b/test/core/security/create_jwt.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/security/credentials_test.c b/test/core/security/credentials_test.c index e741e3656f29aa971b6e709783533d767109d5d1..786729327872b8a17b5280ab491fd15788dfa626 100644 --- a/test/core/security/credentials_test.c +++ b/test/core/security/credentials_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/security/fetch_oauth2.c b/test/core/security/fetch_oauth2.c index 1f4e18005e5fd41836c2745dce411cf85bd92796..bd314e90d8e42347035d77c6acfa163d093d3721 100644 --- a/test/core/security/fetch_oauth2.c +++ b/test/core/security/fetch_oauth2.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/security/json_token_test.c b/test/core/security/json_token_test.c index 460d5299f06a2726f72efc375d492f212835b491..3aee52ee5c6ff6d8fd8c961cf3f99bbee157f8f3 100644 --- a/test/core/security/json_token_test.c +++ b/test/core/security/json_token_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/security/jwt_verifier_test.c b/test/core/security/jwt_verifier_test.c index c57f4d72ee24ca9a2902998c99a1c733bc472c2e..077f44d1d667a0e6ab72bfb022ff510d630243e0 100644 --- a/test/core/security/jwt_verifier_test.c +++ b/test/core/security/jwt_verifier_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,16 +35,18 @@ #include <string.h> -#include "src/core/lib/http/httpcli.h" -#include "src/core/lib/security/b64.h" -#include "src/core/lib/security/json_token.h" -#include "test/core/util/test_config.h" +#include <grpc/grpc.h> #include <grpc/support/alloc.h> #include <grpc/support/log.h> #include <grpc/support/slice.h> #include <grpc/support/string_util.h> +#include "src/core/lib/http/httpcli.h" +#include "src/core/lib/security/b64.h" +#include "src/core/lib/security/json_token.h" +#include "test/core/util/test_config.h" + /* This JSON key was generated with the GCE console and revoked immediately. The identifiers have been changed as well. Maximum size for a string literal is 509 chars in C89, yay! */ @@ -568,6 +570,7 @@ static void test_jwt_verifier_bad_format(void) { int main(int argc, char **argv) { grpc_test_init(argc, argv); + grpc_init(); test_claims_success(); test_expired_claims_failure(); test_invalid_claims_failure(); @@ -579,5 +582,6 @@ int main(int argc, char **argv) { test_jwt_verifier_bad_json_key(); test_jwt_verifier_bad_signature(); test_jwt_verifier_bad_format(); + grpc_shutdown(); return 0; } diff --git a/test/core/security/oauth2_utils.c b/test/core/security/oauth2_utils.c index 52259e63af87f5bd4844cbff05f433a60d167498..20815d184cdbfb7f34d003caefe29932ff68632b 100644 --- a/test/core/security/oauth2_utils.c +++ b/test/core/security/oauth2_utils.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/security/oauth2_utils.h b/test/core/security/oauth2_utils.h index 5930f4729c18f01e94798d4649acce8e4dfa5257..eff98270c8a30894d615dfd05f4059d2bb6480f3 100644 --- a/test/core/security/oauth2_utils.h +++ b/test/core/security/oauth2_utils.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/security/print_google_default_creds_token.c b/test/core/security/print_google_default_creds_token.c index 49812f7f3e986497c0094161de3b261f2aec13ca..99bce4fbdfbae8c3893be69b699c762cebe2ca80 100644 --- a/test/core/security/print_google_default_creds_token.c +++ b/test/core/security/print_google_default_creds_token.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/security/secure_endpoint_test.c b/test/core/security/secure_endpoint_test.c index f6884ec1baa8ab89e546fb87c1d6804300aa87fb..aeaf38209bb3bc5066ac946e7b8f60776b71fdff 100644 --- a/test/core/security/secure_endpoint_test.c +++ b/test/core/security/secure_endpoint_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/security/security_connector_test.c b/test/core/security/security_connector_test.c index b080343e3f47b477e5c140a788030d02a8e2cd0a..1a4e64b30c71a46f1cb12f6f182735233cccd8ac 100644 --- a/test/core/security/security_connector_test.c +++ b/test/core/security/security_connector_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/security/verify_jwt.c b/test/core/security/verify_jwt.c index c08e03d9d7d590fc354f13a41ce7443e1f93087b..2274fe18d82d39e7f96a5564765fa1ec21aba827 100644 --- a/test/core/security/verify_jwt.c +++ b/test/core/security/verify_jwt.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/statistics/census_log_tests.c b/test/core/statistics/census_log_tests.c index fef8e9ed487c271d15934efd6ee552592b5fbb65..8646a2fdf1d64aababdc350a8399c8075588c7b8 100644 --- a/test/core/statistics/census_log_tests.c +++ b/test/core/statistics/census_log_tests.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/statistics/census_log.h" +#include "src/core/ext/census/census_log.h" #include <grpc/support/cpu.h> #include <grpc/support/log.h> #include <grpc/support/port_platform.h> diff --git a/test/core/statistics/census_stub_test.c b/test/core/statistics/census_stub_test.c index df5d25b6782f2ef1ba82c5e179274dbbef917f0e..f9dddb65994548739299ccb5a9220a177610b49c 100644 --- a/test/core/statistics/census_stub_test.c +++ b/test/core/statistics/census_stub_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,8 +36,8 @@ #include <grpc/support/alloc.h> #include <grpc/support/log.h> -#include "src/core/lib/statistics/census_interface.h" -#include "src/core/lib/statistics/census_rpc_stats.h" +#include "src/core/ext/census/census_interface.h" +#include "src/core/ext/census/census_rpc_stats.h" #include "test/core/util/test_config.h" /* Tests census noop stubs in a simulated rpc flow */ diff --git a/test/core/statistics/hash_table_test.c b/test/core/statistics/hash_table_test.c index 903d297bb8a9bdf8b32c30416ce1ec60c7c5595a..f63c1a366ad15426686075763c8fa141481a84c9 100644 --- a/test/core/statistics/hash_table_test.c +++ b/test/core/statistics/hash_table_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ #include <stdlib.h> #include <string.h> -#include "src/core/lib/statistics/hash_table.h" +#include "src/core/ext/census/hash_table.h" #include <grpc/support/alloc.h> #include <grpc/support/log.h> diff --git a/test/core/statistics/rpc_stats_test.c b/test/core/statistics/rpc_stats_test.c index dc2f70bbd42f31875f2383b47e0708ca2fa9affd..14def4bfe12323b643aee492beb167a57c6f0ffd 100644 --- a/test/core/statistics/rpc_stats_test.c +++ b/test/core/statistics/rpc_stats_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -39,9 +39,9 @@ #include <grpc/support/string.h> #include <grpc/support/thd.h> #include <grpc/support/time.h> -#include "src/core/lib/statistics/census_interface.h" -#include "src/core/lib/statistics/census_rpc_stats.h" -#include "src/core/lib/statistics/census_tracing.h" +#include "src/core/ext/census/census_interface.h" +#include "src/core/ext/census/census_rpc_stats.h" +#include "src/core/ext/census/census_tracing.h" #include "test/core/util/test_config.h" /* Ensure all possible state transitions are called without causing problem */ diff --git a/test/core/statistics/trace_test.c b/test/core/statistics/trace_test.c index 2cc3ddd36c7bb1b4d9c77f788c9c1bb777ac8e2b..790507f2c696470d5db6770433c6e3a0f965da80 100644 --- a/test/core/statistics/trace_test.c +++ b/test/core/statistics/trace_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,9 +41,9 @@ #include <grpc/support/thd.h> #include <grpc/support/time.h> #include <grpc/support/useful.h> -#include "src/core/lib/statistics/census_interface.h" -#include "src/core/lib/statistics/census_tracing.h" -#include "src/core/lib/statistics/census_tracing.h" +#include "src/core/ext/census/census_interface.h" +#include "src/core/ext/census/census_tracing.h" +#include "src/core/ext/census/census_tracing.h" #include "test/core/util/test_config.h" /* Ensure all possible state transitions are called without causing problem */ diff --git a/test/core/statistics/window_stats_test.c b/test/core/statistics/window_stats_test.c index ed0d7bb94a1c5144cca3cce89576d75a6a774d89..5d71ba613d9641d69a4751ba4ee9533a3a545e5f 100644 --- a/test/core/statistics/window_stats_test.c +++ b/test/core/statistics/window_stats_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/lib/statistics/window_stats.h" +#include "src/core/ext/census/window_stats.h" #include <grpc/support/log.h> #include <grpc/support/time.h> #include <stdlib.h> diff --git a/test/core/support/alloc_test.c b/test/core/support/alloc_test.c index e2d0c16b41df4497390edfe27364be6a1a9f4242..a7df1977da5cbe0df591ede1b5053e30926f5e60 100644 --- a/test/core/support/alloc_test.c +++ b/test/core/support/alloc_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/support/avl_test.c b/test/core/support/avl_test.c index d8d8b36806bc55f7765755c18a6d6029f8ef4a99..83cc263c694aa842187a7e29acec121d1cd1f987 100644 --- a/test/core/support/avl_test.c +++ b/test/core/support/avl_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/support/cpu_test.c b/test/core/support/cpu_test.c index da16f13fd85799de452a498b6b707d5a34badeab..a5c52442ad4c67e2d2ca015abee44f3b1112b257 100644 --- a/test/core/support/cpu_test.c +++ b/test/core/support/cpu_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/support/env_test.c b/test/core/support/env_test.c index 1ab86d6991f78d70217759c874ea5e1091781547..bd6a8bdf9d0056d98a5f0d874295e96e78c226fd 100644 --- a/test/core/support/env_test.c +++ b/test/core/support/env_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/support/load_file_test.c b/test/core/support/load_file_test.c index 6bc7b90058242bf1dc56c8f5c8f34a4b11956f2c..0125fd94fd31fdf214fff902689572c45e409164 100644 --- a/test/core/support/load_file_test.c +++ b/test/core/support/load_file_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/support/murmur_hash_test.c b/test/core/support/murmur_hash_test.c index c93efb4be4a926b55038a804d4ad9e250c7aba78..ef327194087d9f665e9cd1acab962c2569452fa8 100644 --- a/test/core/support/murmur_hash_test.c +++ b/test/core/support/murmur_hash_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/support/stack_lockfree_test.c b/test/core/support/stack_lockfree_test.c index 13c8f3c925e6aea84756baa965829b8eb434bb1f..745157f7011082c774bf84771243a57e84020650 100644 --- a/test/core/support/stack_lockfree_test.c +++ b/test/core/support/stack_lockfree_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/support/string_test.c b/test/core/support/string_test.c index e5e474d43c4a5ad27e105b1511cbc51bf22247d3..d5f8107f211372297d76e34c396de44b7aca77e9 100644 --- a/test/core/support/string_test.c +++ b/test/core/support/string_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/support/sync_test.c b/test/core/support/sync_test.c index 2121a4c5fa2120218193f45f78fab569904d1fb1..0fcf08b9d31c8d34648298392952b481cce7edc7 100644 --- a/test/core/support/sync_test.c +++ b/test/core/support/sync_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/support/thd_test.c b/test/core/support/thd_test.c index 771c5104c8625d72853ed90552e5d64ac29ac8be..c00fd5af64b9e1ed69c911c2bb41f502e11db7ff 100644 --- a/test/core/support/thd_test.c +++ b/test/core/support/thd_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/support/time_test.c b/test/core/support/time_test.c index 643e9eada7efd66c52383e4f07e543f3a6e48644..e9ca08d0419d5161d71c6726a65f9cf971d306d5 100644 --- a/test/core/support/time_test.c +++ b/test/core/support/time_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/support/tls_test.c b/test/core/support/tls_test.c index 7b73e5beb76eea5e6f9b695d418a24c541494e9c..7b732ee10eaadf7a209c9d030f129d772f942727 100644 --- a/test/core/support/tls_test.c +++ b/test/core/support/tls_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/support/useful_test.c b/test/core/support/useful_test.c index 08a8cc90a936adfcd6765204a24ebe0a04f8b158..7d190228bda828d95ac900e1eb82e51c03e073ae 100644 --- a/test/core/support/useful_test.c +++ b/test/core/support/useful_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/surface/byte_buffer_reader_test.c b/test/core/surface/byte_buffer_reader_test.c index 629bce9107c6d0402c2e56cae6e0c4c6a9496057..9c6734e1799118a1b33287b76336d5bee165225f 100644 --- a/test/core/surface/byte_buffer_reader_test.c +++ b/test/core/surface/byte_buffer_reader_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/surface/channel_create_test.c b/test/core/surface/channel_create_test.c index d5d7d1c3117adea73a588a16723460b7dc24441c..5ff66bd7a52af6ea446ab2f6cf8b8d9b078a90e7 100644 --- a/test/core/surface/channel_create_test.c +++ b/test/core/surface/channel_create_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ #include <grpc/grpc.h> #include <grpc/support/log.h> -#include "src/core/lib/client_config/resolver_registry.h" +#include "src/core/ext/client_config/resolver_registry.h" #include "test/core/util/test_config.h" void test_unknown_scheme_target(void) { diff --git a/test/core/surface/completion_queue_test.c b/test/core/surface/completion_queue_test.c index fa9b363a6fa96597554faf6a49a5c166b712c344..d62d5a93b178a7b85161be8f2da36168fb71f613 100644 --- a/test/core/surface/completion_queue_test.c +++ b/test/core/surface/completion_queue_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/surface/lame_client_test.c b/test/core/surface/lame_client_test.c index 310aa003432bddc421c89e41c7c3fd5b63fc3b8f..12fa9de6cf3e7ce9df72df3328668a6bc8e63271 100644 --- a/test/core/surface/lame_client_test.c +++ b/test/core/surface/lame_client_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/surface/secure_channel_create_test.c b/test/core/surface/secure_channel_create_test.c index 5c95390707ea0963fe4b9a5a4ca87afa6fef88f6..80419efce4bf46abe0d620c8cd35d95dcb7769ea 100644 --- a/test/core/surface/secure_channel_create_test.c +++ b/test/core/surface/secure_channel_create_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,7 +36,7 @@ #include <grpc/grpc.h> #include <grpc/grpc_security.h> #include <grpc/support/log.h> -#include "src/core/lib/client_config/resolver_registry.h" +#include "src/core/ext/client_config/resolver_registry.h" #include "src/core/lib/security/credentials.h" #include "src/core/lib/security/security_connector.h" #include "src/core/lib/surface/channel.h" diff --git a/test/core/surface/server_chttp2_test.c b/test/core/surface/server_chttp2_test.c index 14eb1ff9dccd9a3c24944bc18e48c3ecaa6352c5..d22c16497213ff6746f36ebca7f253a5a867f8b7 100644 --- a/test/core/surface/server_chttp2_test.c +++ b/test/core/surface/server_chttp2_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/surface/server_test.c b/test/core/surface/server_test.c index 1d5211d2259eff26a72fc21f221223cb37abaef0..3d2e25379a04235c434f4213dc8e31af661f3584 100644 --- a/test/core/surface/server_test.c +++ b/test/core/surface/server_test.c @@ -42,11 +42,25 @@ void test_register_method_fail(void) { grpc_server *server = grpc_server_create(NULL, NULL); void *method; void *method_old; - method = grpc_server_register_method(server, NULL, NULL); + method = + grpc_server_register_method(server, NULL, NULL, GRPC_SRM_PAYLOAD_NONE, 0); GPR_ASSERT(method == NULL); - method_old = grpc_server_register_method(server, "m", "h"); + method_old = + grpc_server_register_method(server, "m", "h", GRPC_SRM_PAYLOAD_NONE, 0); GPR_ASSERT(method_old != NULL); - method = grpc_server_register_method(server, "m", "h"); + method = grpc_server_register_method( + server, "m", "h", GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER, 0); + GPR_ASSERT(method == NULL); + method_old = + grpc_server_register_method(server, "m2", "h2", GRPC_SRM_PAYLOAD_NONE, + GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST); + GPR_ASSERT(method_old != NULL); + method = + grpc_server_register_method(server, "m2", "h2", GRPC_SRM_PAYLOAD_NONE, 0); + GPR_ASSERT(method == NULL); + method = grpc_server_register_method( + server, "m2", "h2", GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER, + GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST); GPR_ASSERT(method == NULL); grpc_server_destroy(server); } diff --git a/test/core/transport/chttp2/alpn_test.c b/test/core/transport/chttp2/alpn_test.c index 13509c13f7a95f6e9c2e5e188107c25920a90215..48064ec9b34b87c3d922261f5451eda71cd913ce 100644 --- a/test/core/transport/chttp2/alpn_test.c +++ b/test/core/transport/chttp2/alpn_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * */ -#include "src/core/ext/transport/chttp2/transport/alpn.h" +#include "src/core/ext/transport/chttp2/alpn/alpn.h" #include <grpc/support/log.h> #include "test/core/util/test_config.h" diff --git a/test/core/transport/chttp2/bin_encoder_test.c b/test/core/transport/chttp2/bin_encoder_test.c index 56b86e037b1a8f26039bd3bf44644fb9b922cb4a..095861e9741530229c6a137c19405f85498bb227 100644 --- a/test/core/transport/chttp2/bin_encoder_test.c +++ b/test/core/transport/chttp2/bin_encoder_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -83,7 +83,7 @@ static void expect_combined_equiv(const char *s, size_t len, int line) { gpr_slice input = gpr_slice_from_copied_buffer(s, len); gpr_slice base64 = grpc_chttp2_base64_encode(input); gpr_slice expect = grpc_chttp2_huffman_compress(base64); - gpr_slice got = grpc_chttp2_base64_encode_and_huffman_compress(input); + gpr_slice got = grpc_chttp2_base64_encode_and_huffman_compress_impl(input); if (0 != gpr_slice_cmp(expect, got)) { char *t = gpr_dump_slice(input, GPR_DUMP_HEX | GPR_DUMP_ASCII); char *e = gpr_dump_slice(expect, GPR_DUMP_HEX | GPR_DUMP_ASCII); diff --git a/test/core/transport/chttp2/hpack_encoder_test.c b/test/core/transport/chttp2/hpack_encoder_test.c index 818ce09a7c29b0ce897ef8f82e70886e0a8bc251..186bb6406fde7205804e3ea78b6ef4f022e5ad62 100644 --- a/test/core/transport/chttp2/hpack_encoder_test.c +++ b/test/core/transport/chttp2/hpack_encoder_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,10 +34,12 @@ #include "src/core/ext/transport/chttp2/transport/hpack_encoder.h" #include <stdio.h> +#include <string.h> #include <grpc/support/alloc.h> #include <grpc/support/log.h> #include <grpc/support/string_util.h> + #include "src/core/ext/transport/chttp2/transport/hpack_parser.h" #include "src/core/lib/support/string.h" #include "src/core/lib/transport/metadata.h" @@ -93,7 +95,10 @@ static void verify(size_t window_available, int eof, size_t expect_window_used, gpr_slice_buffer_init(&output); - grpc_chttp2_encode_header(&g_compressor, 0xdeadbeef, &b, eof, &output); + grpc_transport_one_way_stats stats; + memset(&stats, 0, sizeof(stats)); + grpc_chttp2_encode_header(&g_compressor, 0xdeadbeef, &b, eof, &stats, + &output); merged = grpc_slice_merge(output.slices, output.count); gpr_slice_buffer_destroy(&output); grpc_metadata_batch_destroy(&b); @@ -179,6 +184,37 @@ static void test_decode_table_overflow(void) { verify(0, 0, 0, "000007 0104 deadbeef 40 026161 026261", 1, "aa", "ba"); } +static void verify_table_size_change_match_elem_size(const char *key, + const char *value) { + gpr_slice_buffer output; + grpc_mdelem *elem = grpc_mdelem_from_strings(key, value); + size_t elem_size = grpc_mdelem_get_size_in_hpack_table(elem); + size_t initial_table_size = g_compressor.table_size; + grpc_linked_mdelem *e = gpr_malloc(sizeof(*e)); + grpc_metadata_batch b; + grpc_metadata_batch_init(&b); + e[0].md = elem; + e[0].prev = NULL; + e[0].next = NULL; + b.list.head = &e[0]; + b.list.tail = &e[0]; + gpr_slice_buffer_init(&output); + + grpc_transport_one_way_stats stats; + memset(&stats, 0, sizeof(stats)); + grpc_chttp2_encode_header(&g_compressor, 0xdeadbeef, &b, 0, &stats, &output); + gpr_slice_buffer_destroy(&output); + grpc_metadata_batch_destroy(&b); + + GPR_ASSERT(g_compressor.table_size == elem_size + initial_table_size); + gpr_free(e); +} + +static void test_encode_header_size(void) { + verify_table_size_change_match_elem_size("hello", "world"); + verify_table_size_change_match_elem_size("hello-bin", "world"); +} + static void run_test(void (*test)(), const char *name) { gpr_log(GPR_INFO, "RUN TEST: %s", name); grpc_chttp2_hpack_compressor_init(&g_compressor); @@ -193,6 +229,7 @@ int main(int argc, char **argv) { grpc_init(); TEST(test_basic_headers); TEST(test_decode_table_overflow); + TEST(test_encode_header_size); grpc_shutdown(); for (i = 0; i < num_to_delete; i++) { gpr_free(to_delete[i]); diff --git a/test/core/transport/chttp2/hpack_parser_corpus/7ff3b6239b04479a9caf67f45b2d0c619f712815 b/test/core/transport/chttp2/hpack_parser_corpus/7ff3b6239b04479a9caf67f45b2d0c619f712815 new file mode 100644 index 0000000000000000000000000000000000000000..2b2b727c2e0a3ffc2bb2dc65c8d14380ac1e2d1c Binary files /dev/null and b/test/core/transport/chttp2/hpack_parser_corpus/7ff3b6239b04479a9caf67f45b2d0c619f712815 differ diff --git a/test/core/transport/chttp2/hpack_parser_corpus/d1c7ae01a81a122c2fd7c5d8debcae7566e9ee2f b/test/core/transport/chttp2/hpack_parser_corpus/d1c7ae01a81a122c2fd7c5d8debcae7566e9ee2f new file mode 100644 index 0000000000000000000000000000000000000000..4547f5a85ccd1af72fa2ff7ec615aa3b5cdc5996 Binary files /dev/null and b/test/core/transport/chttp2/hpack_parser_corpus/d1c7ae01a81a122c2fd7c5d8debcae7566e9ee2f differ diff --git a/test/core/transport/chttp2/hpack_parser_corpus/ff2c949863eb4e14d9e835c51591304403d91b6c b/test/core/transport/chttp2/hpack_parser_corpus/ff2c949863eb4e14d9e835c51591304403d91b6c new file mode 100644 index 0000000000000000000000000000000000000000..b9b44ea4a0287a425456dbf3160b8588ebd539a4 Binary files /dev/null and b/test/core/transport/chttp2/hpack_parser_corpus/ff2c949863eb4e14d9e835c51591304403d91b6c differ diff --git a/test/core/transport/chttp2/hpack_parser_fuzzer_test.c b/test/core/transport/chttp2/hpack_parser_fuzzer_test.c index 6f77fa02cef55b4331a869ded8e5a38dd7d5a68e..e41eda8653e41511902520e4d4307b8b480b1082 100644 --- a/test/core/transport/chttp2/hpack_parser_fuzzer_test.c +++ b/test/core/transport/chttp2/hpack_parser_fuzzer_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,13 +36,16 @@ #include <grpc/grpc.h> #include <grpc/support/alloc.h> +#include <grpc/support/log.h> #include "src/core/ext/transport/chttp2/transport/hpack_parser.h" static void onhdr(void *ud, grpc_mdelem *md) { GRPC_MDELEM_UNREF(md); } +static void dont_log(gpr_log_func_args *args) {} int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { grpc_test_only_set_metadata_hash_seed(0); + gpr_set_log_function(dont_log); grpc_init(); grpc_chttp2_hpack_parser parser; grpc_chttp2_hpack_parser_init(&parser); diff --git a/test/core/transport/chttp2/hpack_parser_test.c b/test/core/transport/chttp2/hpack_parser_test.c index 1ec47972fdf4972f8413625e291125e4e9a62b34..51bf48dc0917ab0f2c443be656f0ca967df9b3a0 100644 --- a/test/core/transport/chttp2/hpack_parser_test.c +++ b/test/core/transport/chttp2/hpack_parser_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/transport/chttp2/hpack_table_test.c b/test/core/transport/chttp2/hpack_table_test.c index 6a2dadf81fd4c85dfb8d5022b1a9b476462711f6..73e59f1536e571edf5fb0cb93b07d9b33ee24092 100644 --- a/test/core/transport/chttp2/hpack_table_test.c +++ b/test/core/transport/chttp2/hpack_table_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/transport/chttp2/status_conversion_test.c b/test/core/transport/chttp2/status_conversion_test.c index 8f39ff34c2a7d41d6952a3900c379d4d61e29dbc..e6fc7857281515a7339a270d2ecd72d200c2e751 100644 --- a/test/core/transport/chttp2/status_conversion_test.c +++ b/test/core/transport/chttp2/status_conversion_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/transport/chttp2/stream_map_test.c b/test/core/transport/chttp2/stream_map_test.c index c514814ddc0969922dbc08c760145afbfca07628..83d740a7c05acd4c297c2a2297ad69c21096d9eb 100644 --- a/test/core/transport/chttp2/stream_map_test.c +++ b/test/core/transport/chttp2/stream_map_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/transport/chttp2/timeout_encoding_test.c b/test/core/transport/chttp2/timeout_encoding_test.c index 7cc698e4aed775d332425300aa8057889439c0b3..67639936a76baeba3b70f65528568fdf00d9c52e 100644 --- a/test/core/transport/chttp2/timeout_encoding_test.c +++ b/test/core/transport/chttp2/timeout_encoding_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/transport/chttp2/varint_test.c b/test/core/transport/chttp2/varint_test.c index 85c6c84f846b5d7bd6e56aa5d051ca31dc8dc98f..3552bf0c591b82fd8344d0d154fcb48a03853c9a 100644 --- a/test/core/transport/chttp2/varint_test.c +++ b/test/core/transport/chttp2/varint_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/transport/connectivity_state_test.c b/test/core/transport/connectivity_state_test.c index b310d4dc00da42d2eacb59b5c7523558bc7c078f..6bb7c3b06ba6813035ce9f8443c81b226de6322b 100644 --- a/test/core/transport/connectivity_state_test.c +++ b/test/core/transport/connectivity_state_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/transport/metadata_test.c b/test/core/transport/metadata_test.c index 836b503858e291023d5abe69ab779a450a0e5a28..a4e9694a93e904f5a8bd94d7dd1a831ce4dd3e98 100644 --- a/test/core/transport/metadata_test.c +++ b/test/core/transport/metadata_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,6 +34,7 @@ #include "src/core/lib/transport/metadata.h" #include <stdio.h> +#include <string.h> #include <grpc/grpc.h> #include <grpc/support/alloc.h> @@ -42,6 +43,7 @@ #include "src/core/ext/transport/chttp2/transport/bin_encoder.h" #include "src/core/lib/support/string.h" +#include "src/core/lib/transport/static_metadata.h" #include "test/core/util/test_config.h" #define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x) @@ -260,6 +262,54 @@ static void test_user_data_works(void) { grpc_shutdown(); } +static void verify_ascii_header_size(const char *key, const char *value) { + grpc_mdelem *elem = grpc_mdelem_from_strings(key, value); + size_t elem_size = grpc_mdelem_get_size_in_hpack_table(elem); + size_t expected_size = 32 + strlen(key) + strlen(value); + GPR_ASSERT(expected_size == elem_size); + GRPC_MDELEM_UNREF(elem); +} + +static void verify_binary_header_size(const char *key, const uint8_t *value, + size_t value_len) { + grpc_mdelem *elem = grpc_mdelem_from_string_and_buffer(key, value, value_len); + GPR_ASSERT(grpc_is_binary_header(key, strlen(key))); + size_t elem_size = grpc_mdelem_get_size_in_hpack_table(elem); + gpr_slice value_slice = + gpr_slice_from_copied_buffer((const char *)value, value_len); + gpr_slice base64_encoded = grpc_chttp2_base64_encode(value_slice); + size_t expected_size = 32 + strlen(key) + GPR_SLICE_LENGTH(base64_encoded); + GPR_ASSERT(expected_size == elem_size); + gpr_slice_unref(value_slice); + gpr_slice_unref(base64_encoded); + GRPC_MDELEM_UNREF(elem); +} + +#define BUFFER_SIZE 64 +static void test_mdelem_sizes_in_hpack(void) { + LOG_TEST("test_mdelem_size"); + grpc_init(); + + uint8_t binary_value[BUFFER_SIZE] = {0}; + for (uint8_t i = 0; i < BUFFER_SIZE; i++) { + binary_value[i] = i; + } + + verify_ascii_header_size("hello", "world"); + verify_ascii_header_size("hello", "worldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); + verify_ascii_header_size(":scheme", "http"); + + for (uint8_t i = 0; i < BUFFER_SIZE; i++) { + verify_binary_header_size("hello-bin", binary_value, i); + } + + const char *static_metadata = grpc_static_metadata_strings[0]; + memcpy(binary_value, static_metadata, strlen(static_metadata)); + verify_binary_header_size("hello-bin", binary_value, strlen(static_metadata)); + + grpc_shutdown(); +} + int main(int argc, char **argv) { grpc_test_init(argc, argv); test_no_op(); @@ -272,5 +322,6 @@ int main(int argc, char **argv) { test_slices_work(); test_base64_and_huffman_works(); test_user_data_works(); + test_mdelem_sizes_in_hpack(); return 0; } diff --git a/test/core/tsi/transport_security_test.c b/test/core/tsi/transport_security_test.c index 49b5b8b5f2b11d4d371e9fe8c3d342b777c9a10a..01e8770b2405ef780f82f85f023d8476c282cfb7 100644 --- a/test/core/tsi/transport_security_test.c +++ b/test/core/tsi/transport_security_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/util/mock_endpoint.c b/test/core/util/mock_endpoint.c new file mode 100644 index 0000000000000000000000000000000000000000..776841309529b83bd728880a39fcbcaafe7dbf10 --- /dev/null +++ b/test/core/util/mock_endpoint.c @@ -0,0 +1,124 @@ +/* + * + * Copyright 2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include "test/core/util/mock_endpoint.h" + +#include <grpc/support/alloc.h> +#include <grpc/support/string_util.h> + +typedef struct grpc_mock_endpoint { + grpc_endpoint base; + gpr_mu mu; + void (*on_write)(gpr_slice slice); + gpr_slice_buffer read_buffer; + gpr_slice_buffer *on_read_out; + grpc_closure *on_read; +} grpc_mock_endpoint; + +static void me_read(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep, + gpr_slice_buffer *slices, grpc_closure *cb) { + grpc_mock_endpoint *m = (grpc_mock_endpoint *)ep; + gpr_mu_lock(&m->mu); + if (m->read_buffer.count > 0) { + gpr_slice_buffer_swap(&m->read_buffer, slices); + grpc_exec_ctx_enqueue(exec_ctx, cb, true, NULL); + } else { + m->on_read = cb; + m->on_read_out = slices; + } + gpr_mu_unlock(&m->mu); +} + +static void me_write(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep, + gpr_slice_buffer *slices, grpc_closure *cb) { + grpc_mock_endpoint *m = (grpc_mock_endpoint *)ep; + for (size_t i = 0; i < slices->count; i++) { + m->on_write(slices->slices[i]); + } + grpc_exec_ctx_enqueue(exec_ctx, cb, true, NULL); +} + +static void me_add_to_pollset(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep, + grpc_pollset *pollset) {} + +static void me_add_to_pollset_set(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep, + grpc_pollset_set *pollset) {} + +static void me_shutdown(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep) { + grpc_mock_endpoint *m = (grpc_mock_endpoint *)ep; + gpr_mu_lock(&m->mu); + if (m->on_read) { + grpc_exec_ctx_enqueue(exec_ctx, m->on_read, false, NULL); + m->on_read = NULL; + } + gpr_mu_unlock(&m->mu); +} + +static void me_destroy(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep) { + grpc_mock_endpoint *m = (grpc_mock_endpoint *)ep; + gpr_slice_buffer_destroy(&m->read_buffer); + gpr_free(m); +} + +static char *me_get_peer(grpc_endpoint *ep) { + return gpr_strdup("fake:mock_endpoint"); +} + +static const grpc_endpoint_vtable vtable = { + me_read, me_write, me_add_to_pollset, me_add_to_pollset_set, + me_shutdown, me_destroy, me_get_peer, +}; + +grpc_endpoint *grpc_mock_endpoint_create(void (*on_write)(gpr_slice slice)) { + grpc_mock_endpoint *m = gpr_malloc(sizeof(*m)); + m->base.vtable = &vtable; + gpr_slice_buffer_init(&m->read_buffer); + gpr_mu_init(&m->mu); + m->on_write = on_write; + m->on_read = NULL; + return &m->base; +} + +void grpc_mock_endpoint_put_read(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep, + gpr_slice slice) { + grpc_mock_endpoint *m = (grpc_mock_endpoint *)ep; + gpr_mu_lock(&m->mu); + if (m->on_read != NULL) { + gpr_slice_buffer_add(m->on_read_out, slice); + grpc_exec_ctx_enqueue(exec_ctx, m->on_read, true, NULL); + m->on_read = NULL; + } else { + gpr_slice_buffer_add(&m->read_buffer, slice); + } + gpr_mu_unlock(&m->mu); +} diff --git a/src/core/lib/client_config/resolvers/zookeeper_resolver.h b/test/core/util/mock_endpoint.h similarity index 78% rename from src/core/lib/client_config/resolvers/zookeeper_resolver.h rename to test/core/util/mock_endpoint.h index 7ee7604360f299952439a5e801ac263ab35ea51b..051af9866b6112f8e7b70b3a6e98850f1ae104e5 100644 --- a/src/core/lib/client_config/resolvers/zookeeper_resolver.h +++ b/test/core/util/mock_endpoint.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,12 +31,13 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_ZOOKEEPER_RESOLVER_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_ZOOKEEPER_RESOLVER_H +#ifndef MOCK_ENDPOINT_H +#define MOCK_ENDPOINT_H -#include "src/core/lib/client_config/resolver_factory.h" +#include "src/core/lib/iomgr/endpoint.h" -/** Create a zookeeper resolver factory */ -grpc_resolver_factory *grpc_zookeeper_resolver_factory_create(void); +grpc_endpoint *grpc_mock_endpoint_create(void (*on_write)(gpr_slice slice)); +void grpc_mock_endpoint_put_read(grpc_exec_ctx *exec_ctx, + grpc_endpoint *mock_endpoint, gpr_slice slice); -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_ZOOKEEPER_RESOLVER_H */ +#endif diff --git a/src/core/lib/client_config/uri_parser.h b/test/core/util/one_corpus_entry_fuzzer.c similarity index 76% rename from src/core/lib/client_config/uri_parser.h rename to test/core/util/one_corpus_entry_fuzzer.c index d70d451e60f1336fccf2a3cbf18f9f4ef386635e..41f9558211a5d5aec8713976beed67f0f871468d 100644 --- a/src/core/lib/client_config/uri_parser.h +++ b/test/core/util/one_corpus_entry_fuzzer.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,21 +31,16 @@ * */ -#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_URI_PARSER_H -#define GRPC_CORE_LIB_CLIENT_CONFIG_URI_PARSER_H +#include <grpc/support/log.h> +#include "src/core/lib/support/load_file.h" -typedef struct { - char *scheme; - char *authority; - char *path; - char *query; - char *fragment; -} grpc_uri; +extern int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); -/** parse a uri, return NULL on failure */ -grpc_uri *grpc_uri_parse(const char *uri_text, int suppress_errors); - -/** destroy a uri */ -void grpc_uri_destroy(grpc_uri *uri); - -#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_URI_PARSER_H */ +int main(int argc, char **argv) { + int ok = 0; + gpr_slice buffer = gpr_load_file(argv[1], 0, &ok); + GPR_ASSERT(ok); + LLVMFuzzerTestOneInput(GPR_SLICE_START_PTR(buffer), GPR_SLICE_LENGTH(buffer)); + gpr_slice_unref(buffer); + return 0; +} diff --git a/test/core/util/port_posix.c b/test/core/util/port_posix.c index fea7e52b09bbe2f271fe80d930c4dbf49c7e2a3c..eabd62fafc743c153f4bc9d38235237439bc2201 100644 --- a/test/core/util/port_posix.c +++ b/test/core/util/port_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/util/port_server_client.c b/test/core/util/port_server_client.c index ea01b46838c134c75e214a06e3c734ca3ab770bc..84e90547aa919b5064859a55b477f9201c500cd2 100644 --- a/test/core/util/port_server_client.c +++ b/test/core/util/port_server_client.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/util/port_server_client.h b/test/core/util/port_server_client.h index fc209cde5b06016c481b4f58eaeef086deeb93ce..437006495c910d20462290be93a32561673dc673 100644 --- a/test/core/util/port_server_client.h +++ b/test/core/util/port_server_client.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/util/port_windows.c b/test/core/util/port_windows.c index 081782d29518f7f17ddd95af69f8bab081e0ef00..2b6d3dd223c8839c471a1f5f0137c67708e6e75d 100644 --- a/test/core/util/port_windows.c +++ b/test/core/util/port_windows.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/util/reconnect_server.c b/test/core/util/reconnect_server.c index 0e7a4865266cacf198bf39b91ecb9670171a4ac3..d408374a0955e7b63c6963d093f96fb438734129 100644 --- a/test/core/util/reconnect_server.c +++ b/test/core/util/reconnect_server.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -60,8 +60,12 @@ static void pretty_print_backoffs(reconnect_server *server) { i, backoff / 1000.0, expected_backoff / 1000.0, (backoff - expected_backoff) * 100.0 / expected_backoff); expected_backoff *= 1.6; - if (expected_backoff > 120 * 1000) { - expected_backoff = 120 * 1000; + int max_reconnect_backoff_ms = 120 * 1000; + if (server->max_reconnect_backoff_ms > 0) { + max_reconnect_backoff_ms = server->max_reconnect_backoff_ms; + } + if (expected_backoff > max_reconnect_backoff_ms) { + expected_backoff = max_reconnect_backoff_ms; } } } @@ -108,6 +112,7 @@ void reconnect_server_init(reconnect_server *server) { server->head = NULL; server->tail = NULL; server->peer = NULL; + server->max_reconnect_backoff_ms = 0; } void reconnect_server_start(reconnect_server *server, int port) { diff --git a/test/core/util/reconnect_server.h b/test/core/util/reconnect_server.h index e2e6a02461a31c05ac9e8ed5f6ec7e80a7491883..ed02d4951274dcaed9cf559fc1b5f48df147393c 100644 --- a/test/core/util/reconnect_server.h +++ b/test/core/util/reconnect_server.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -52,6 +52,7 @@ typedef struct reconnect_server { timestamp_list *head; timestamp_list *tail; char *peer; + int max_reconnect_backoff_ms; } reconnect_server; void reconnect_server_init(reconnect_server *server); diff --git a/test/core/util/test_config.c b/test/core/util/test_config.c index 7ffaa6fe27d1b91e0aaed27c5f0af79df4c560f7..3155a4ece6aad2e7ff40ba67520f2837e5b51e05 100644 --- a/test/core/util/test_config.c +++ b/test/core/util/test_config.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/util/test_config.h b/test/core/util/test_config.h index f6bb2e1f72a2317bca2acf0e18cbff00d04f4609..76686f1c51b8e49e43a1f444bded88aeccc8b11b 100644 --- a/test/core/util/test_config.h +++ b/test/core/util/test_config.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/util/test_tcp_server.c b/test/core/util/test_tcp_server.c index 7703ec003928f3b91f177d17888dfb313b29998d..e39a95712c9c67762bfec20fec8f5559c545a342 100644 --- a/test/core/util/test_tcp_server.c +++ b/test/core/util/test_tcp_server.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/core/util/test_tcp_server.h b/test/core/util/test_tcp_server.h index 7d1025f17a1410686a8d397a529b6d5bb667341d..d10b166586353d4422050843058d4f40d6f7f963 100644 --- a/test/core/util/test_tcp_server.h +++ b/test/core/util/test_tcp_server.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/common/alarm_cpp_test.cc b/test/cpp/common/alarm_cpp_test.cc index d4381c051589cd1477d9e05bd7922daadbc76412..a05ac30b1c75535c9c198494cc86d5677aaab8ae 100644 --- a/test/cpp/common/alarm_cpp_test.cc +++ b/test/cpp/common/alarm_cpp_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/common/auth_property_iterator_test.cc b/test/cpp/common/auth_property_iterator_test.cc index 4b5cf02c696e7f0735ded69f11992db8977c485f..0e43d4e1e0dd5b6c0fd4ba4314615b86ace76b33 100644 --- a/test/cpp/common/auth_property_iterator_test.cc +++ b/test/cpp/common/auth_property_iterator_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/common/channel_arguments_test.cc b/test/cpp/common/channel_arguments_test.cc index a4821b4d0baa984c059b142bc06b7636729422f7..1443eb2f68d27ced57d20ebbea77bedf6e28715d 100644 --- a/test/cpp/common/channel_arguments_test.cc +++ b/test/cpp/common/channel_arguments_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/common/secure_auth_context_test.cc b/test/cpp/common/secure_auth_context_test.cc index c421910cba4b9a1d9451990eb5a7d38c86b35268..067361334d911a9fb90d74b66237fae09587a3ca 100644 --- a/test/cpp/common/secure_auth_context_test.cc +++ b/test/cpp/common/secure_auth_context_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc index d8aa4c0137ed21f10ef47667f87304b533246e14..7e4d6046d6048cb593a80cf1c69a0e0509856b7c 100644 --- a/test/cpp/end2end/async_end2end_test.cc +++ b/test/cpp/end2end/async_end2end_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -53,7 +53,7 @@ #include "test/cpp/util/string_ref_helper.h" #ifdef GPR_POSIX_SOCKET -#include "src/core/lib/iomgr/pollset_posix.h" +#include "src/core/lib/iomgr/ev_posix.h" #endif using grpc::testing::EchoRequest; diff --git a/test/cpp/end2end/client_crash_test.cc b/test/cpp/end2end/client_crash_test.cc index 5ca5cd7e999641291dcedc571df5c643b43079da..30b04fb9b9bdbc77866610a1436fd1302a2672e4 100644 --- a/test/cpp/end2end/client_crash_test.cc +++ b/test/cpp/end2end/client_crash_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -88,6 +88,7 @@ TEST_F(CrashTest, KillBeforeWrite) { EchoRequest request; EchoResponse response; ClientContext context; + context.set_fail_fast(false); auto stream = stub->BidiStream(&context); @@ -113,6 +114,7 @@ TEST_F(CrashTest, KillAfterWrite) { EchoRequest request; EchoResponse response; ClientContext context; + context.set_fail_fast(false); auto stream = stub->BidiStream(&context); diff --git a/test/cpp/end2end/client_crash_test_server.cc b/test/cpp/end2end/client_crash_test_server.cc index 1ec641cb5a3a1562106e797ac97a6840159955ac..9568ca26be70b026ad265650d491c8d4275f7887 100644 --- a/test/cpp/end2end/client_crash_test_server.cc +++ b/test/cpp/end2end/client_crash_test_server.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/end2end/end2end_test.cc b/test/cpp/end2end/end2end_test.cc index ff388c0341580f941b697eb13b7895e44ab5f29a..0c9313f88f0d7e8ef09ade3ee458de00058d85e4 100644 --- a/test/cpp/end2end/end2end_test.cc +++ b/test/cpp/end2end/end2end_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/end2end/generic_end2end_test.cc b/test/cpp/end2end/generic_end2end_test.cc index 8dad1c2005f99c39bf1a034c1a875e8bf983f1bd..d0cf6aea9dabb914e2f07a07445fdb83dd120427 100644 --- a/test/cpp/end2end/generic_end2end_test.cc +++ b/test/cpp/end2end/generic_end2end_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/end2end/mock_test.cc b/test/cpp/end2end/mock_test.cc index 1d29096b86def9da8ed21dee9f16668febed39d3..0ace5d941837b841380da975b4264d47a5b1ea8c 100644 --- a/test/cpp/end2end/mock_test.cc +++ b/test/cpp/end2end/mock_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/end2end/server_crash_test.cc b/test/cpp/end2end/server_crash_test.cc index 9bf94236667fe818b521be62e24d45c4699e6487..e4473602764d07283860c5fe836a142f0a15a687 100644 --- a/test/cpp/end2end/server_crash_test.cc +++ b/test/cpp/end2end/server_crash_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/end2end/server_crash_test_client.cc b/test/cpp/end2end/server_crash_test_client.cc index b0e6ac6f56dba417ae343684efc498544c4f153b..ece948d5a7302b5daf066ce4971b25e05359d8d2 100644 --- a/test/cpp/end2end/server_crash_test_client.cc +++ b/test/cpp/end2end/server_crash_test_client.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -63,6 +63,7 @@ int main(int argc, char** argv) { EchoRequest request; EchoResponse response; grpc::ClientContext context; + context.set_fail_fast(false); if (FLAGS_mode == "bidi") { auto stream = stub->BidiStream(&context); diff --git a/test/cpp/end2end/shutdown_test.cc b/test/cpp/end2end/shutdown_test.cc index 62bb6b1b7812098ce1b28330387b230cdbc4db50..aa8d42141d49d4e04405aeedfda71d12228a93e3 100644 --- a/test/cpp/end2end/shutdown_test.cc +++ b/test/cpp/end2end/shutdown_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/end2end/streaming_throughput_test.cc b/test/cpp/end2end/streaming_throughput_test.cc index 4777b88747349cfd40df09d2665187094dc8a1dd..9e82c307011b8901f7247491196b1695f92f89a0 100644 --- a/test/cpp/end2end/streaming_throughput_test.cc +++ b/test/cpp/end2end/streaming_throughput_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/end2end/thread_stress_test.cc b/test/cpp/end2end/thread_stress_test.cc index 3f75a0c92eb03f4ee685813c5ad90a14c8fda390..94541f9a45382fe6201df96fb5ed77a8a7343bd7 100644 --- a/test/cpp/end2end/thread_stress_test.cc +++ b/test/cpp/end2end/thread_stress_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -179,6 +179,7 @@ template <class Service> class CommonStressTest { public: CommonStressTest() : kMaxMessageSize_(8192) {} + virtual ~CommonStressTest() {} virtual void SetUp() = 0; virtual void TearDown() = 0; void ResetStub() { diff --git a/test/cpp/end2end/zookeeper_test.cc b/test/cpp/end2end/zookeeper_test.cc index f1b6ac2479827e6ce996554094ca9f4dee1d1844..12853a1b9857a591c78ce12cacd72bddb372393f 100644 --- a/test/cpp/end2end/zookeeper_test.cc +++ b/test/cpp/end2end/zookeeper_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/grpclb/grpclb_api_test.cc b/test/cpp/grpclb/grpclb_api_test.cc index bc8219c1c7ac871939be466bb3f86ae48aa0e624..92f93c869c72c3f41a565a01367dc3101efe2054 100644 --- a/test/cpp/grpclb/grpclb_api_test.cc +++ b/test/cpp/grpclb/grpclb_api_test.cc @@ -34,7 +34,7 @@ #include <gtest/gtest.h> #include <string> -#include "src/core/lib/client_config/lb_policies/load_balancer_api.h" +#include "src/core/ext/lb_policy/grpclb/load_balancer_api.h" #include "src/proto/grpc/lb/v0/load_balancer.pb.h" // C++ version namespace grpc { diff --git a/test/cpp/interop/client.cc b/test/cpp/interop/client.cc index 8b237fe75fb1006b675406be9b59c8ea36a904e9..9af6a88044739d6f17b888276df16689843a1bb1 100644 --- a/test/cpp/interop/client.cc +++ b/test/cpp/interop/client.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/interop/client_helper.cc b/test/cpp/interop/client_helper.cc index 029b967801290581b9b4aa194dc06e70b9209a16..c8b1e505c16e13046e9ae1e20052d21930cc12c2 100644 --- a/test/cpp/interop/client_helper.cc +++ b/test/cpp/interop/client_helper.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/interop/client_helper.h b/test/cpp/interop/client_helper.h index 0790464449f4db06f6283630fe9916f8628e92f0..622b96e4fbfd04010d1b80935a8d420e1c16bebb 100644 --- a/test/cpp/interop/client_helper.h +++ b/test/cpp/interop/client_helper.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/interop/interop_client.cc b/test/cpp/interop/interop_client.cc index 2fcd9f39514379d0e7b92060755c241cb2192fba..22293d211facaee97b13837207908c4d8d8a9541 100644 --- a/test/cpp/interop/interop_client.cc +++ b/test/cpp/interop/interop_client.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/interop/interop_client.h b/test/cpp/interop/interop_client.h index e6706b5713d93e69f3da4a29681cb57df81eaee9..a3794fd93feb785dbada780f65b755f25d417fe3 100644 --- a/test/cpp/interop/interop_client.h +++ b/test/cpp/interop/interop_client.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/interop/interop_test.cc b/test/cpp/interop/interop_test.cc index f1fb3c96759e94a2f708796fdf2d63b5e02317cb..8e71a2bb295f72087c02dfea48f2fb30ded0fa36 100644 --- a/test/cpp/interop/interop_test.cc +++ b/test/cpp/interop/interop_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/interop/metrics_client.cc b/test/cpp/interop/metrics_client.cc index bd48c7d4ef2b9d564cc295ae8ad08139a3fba213..cc304f2e89560d51422adf39b7961716c973af79 100644 --- a/test/cpp/interop/metrics_client.cc +++ b/test/cpp/interop/metrics_client.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/interop/reconnect_interop_client.cc b/test/cpp/interop/reconnect_interop_client.cc index c668edaceb023cb24d31bd40ae2896988455f309..797e52c744f2ce3a5a5189bf5795652645eb52c0 100644 --- a/test/cpp/interop/reconnect_interop_client.cc +++ b/test/cpp/interop/reconnect_interop_client.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -37,6 +37,7 @@ #include <gflags/gflags.h> #include <grpc++/channel.h> #include <grpc++/client_context.h> +#include <grpc++/support/channel_arguments.h> #include <grpc/grpc.h> #include <grpc/support/log.h> #include "src/proto/grpc/testing/empty.grpc.pb.h" @@ -48,13 +49,18 @@ DEFINE_int32(server_control_port, 0, "Server port for control rpcs."); DEFINE_int32(server_retry_port, 0, "Server port for testing reconnection."); DEFINE_string(server_host, "127.0.0.1", "Server host to connect to"); +DEFINE_int32(max_reconnect_backoff_ms, 0, + "Maximum backoff time, or 0 for default."); +using grpc::CallCredentials; using grpc::Channel; +using grpc::ChannelArguments; using grpc::ClientContext; using grpc::CreateTestChannel; using grpc::Status; using grpc::testing::Empty; using grpc::testing::ReconnectInfo; +using grpc::testing::ReconnectParams; using grpc::testing::ReconnectService; int main(int argc, char** argv) { @@ -68,17 +74,25 @@ int main(int argc, char** argv) { ReconnectService::NewStub( CreateTestChannel(server_address.str(), false))); ClientContext start_context; - Empty empty_request; + ReconnectParams reconnect_params; + reconnect_params.set_max_reconnect_backoff_ms(FLAGS_max_reconnect_backoff_ms); Empty empty_response; Status start_status = - control_stub->Start(&start_context, empty_request, &empty_response); + control_stub->Start(&start_context, reconnect_params, &empty_response); GPR_ASSERT(start_status.ok()); gpr_log(GPR_INFO, "Starting connections with retries."); server_address.str(""); server_address << FLAGS_server_host << ':' << FLAGS_server_retry_port; + ChannelArguments channel_args; + if (FLAGS_max_reconnect_backoff_ms > 0) { + channel_args.SetInt(GRPC_ARG_MAX_RECONNECT_BACKOFF_MS, + FLAGS_max_reconnect_backoff_ms); + } std::shared_ptr<Channel> retry_channel = - CreateTestChannel(server_address.str(), true); + CreateTestChannel(server_address.str(), "foo.test.google.fr", true, false, + std::shared_ptr<CallCredentials>(), channel_args); + // About 13 retries. const int kDeadlineSeconds = 540; // Use any rpc to test retry. @@ -88,15 +102,15 @@ int main(int argc, char** argv) { retry_context.set_deadline(std::chrono::system_clock::now() + std::chrono::seconds(kDeadlineSeconds)); Status retry_status = - retry_stub->Start(&retry_context, empty_request, &empty_response); + retry_stub->Start(&retry_context, reconnect_params, &empty_response); GPR_ASSERT(retry_status.error_code() == grpc::StatusCode::DEADLINE_EXCEEDED); gpr_log(GPR_INFO, "Done retrying, getting final data from server"); ClientContext stop_context; ReconnectInfo response; - Status stop_status = - control_stub->Stop(&stop_context, empty_request, &response); + Status stop_status = control_stub->Stop(&stop_context, Empty(), &response); GPR_ASSERT(stop_status.ok()); GPR_ASSERT(response.passed() == true); + gpr_log(GPR_INFO, "Passed"); return 0; } diff --git a/test/cpp/interop/reconnect_interop_server.cc b/test/cpp/interop/reconnect_interop_server.cc index 1f9147d0efacbfda721991dc21093c7ffc77b369..53d51e80e70bb9272e5d7355cfde9731def9aefa 100644 --- a/test/cpp/interop/reconnect_interop_server.cc +++ b/test/cpp/interop/reconnect_interop_server.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -71,6 +71,7 @@ using grpc::Status; using grpc::testing::Empty; using grpc::testing::ReconnectService; using grpc::testing::ReconnectInfo; +using grpc::testing::ReconnectParams; static bool got_sigint = false; @@ -92,7 +93,8 @@ class ReconnectServiceImpl : public ReconnectService::Service { void Poll(int seconds) { reconnect_server_poll(&tcp_server_, seconds); } - Status Start(ServerContext* context, const Empty* request, Empty* response) { + Status Start(ServerContext* context, const ReconnectParams* request, + Empty* response) { bool start_server = true; std::unique_lock<std::mutex> lock(mu_); while (serving_ && !shutdown_) { @@ -105,6 +107,8 @@ class ReconnectServiceImpl : public ReconnectService::Service { if (server_started_) { start_server = false; } else { + tcp_server_.max_reconnect_backoff_ms = + request->max_reconnect_backoff_ms(); server_started_ = true; } lock.unlock(); @@ -133,7 +137,9 @@ class ReconnectServiceImpl : public ReconnectService::Service { const double kTransmissionDelay = 100.0; const double kBackoffMultiplier = 1.6; const double kJitterFactor = 0.2; - const int kMaxBackoffMs = 120 * 1000; + const int kMaxBackoffMs = tcp_server_.max_reconnect_backoff_ms + ? tcp_server_.max_reconnect_backoff_ms + : 120 * 1000; bool passed = true; for (timestamp_list* cur = tcp_server_.head; cur && cur->next; cur = cur->next) { diff --git a/test/cpp/interop/server_helper.cc b/test/cpp/interop/server_helper.cc index 97c39c4245f5b7f26d7f52bb0413b8d18c01a361..c6d891ad71b711ce270ae8a8af62c45c4b7012ce 100644 --- a/test/cpp/interop/server_helper.cc +++ b/test/cpp/interop/server_helper.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/interop/server_helper.h b/test/cpp/interop/server_helper.h index 38c2fba9cff29ec2d7caa08b25fdbe106e5fa43d..12865e403247906a4e260ea219611cd952c78b86 100644 --- a/test/cpp/interop/server_helper.h +++ b/test/cpp/interop/server_helper.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/interop/server_main.cc b/test/cpp/interop/server_main.cc index 8a718701c33335c179083394d9eb44faa45014ae..889874fe493ae73d1de10f84527b5dd8d90cdb30 100644 --- a/test/cpp/interop/server_main.cc +++ b/test/cpp/interop/server_main.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/interop/stress_interop_client.cc b/test/cpp/interop/stress_interop_client.cc index b581e9b33cc3162d6a8a7bcdbefd65cbe631f68a..04671fb935ed39d28f53d9c33a16d6dc36d48497 100644 --- a/test/cpp/interop/stress_interop_client.cc +++ b/test/cpp/interop/stress_interop_client.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/interop/stress_test.cc b/test/cpp/interop/stress_test.cc index 162f7b377836618507bba96161dec43506a2ff11..38caf31b76a9ce1fc14d127dbe22acbcf7e34419 100644 --- a/test/cpp/interop/stress_test.cc +++ b/test/cpp/interop/stress_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -98,11 +98,11 @@ DEFINE_string(test_cases, "", " 'large_unary', 10% of the time and 'empty_stream' the remaining" " 70% of the time"); -DEFINE_int32(log_level, GPR_LOG_SEVERITY_DEBUG, +DEFINE_int32(log_level, GPR_LOG_SEVERITY_INFO, "Severity level of messages that should be logged. Any messages " "greater than or equal to the level set here will be logged. " "The choices are: 0 (GPR_LOG_SEVERITY_DEBUG), 1 " - "(GPR_LOG_SEVERITY_INFO) and 2 (GPR_LOG_SEVERITY_ERROR."); + "(GPR_LOG_SEVERITY_INFO) and 2 (GPR_LOG_SEVERITY_ERROR)"); using grpc::testing::kTestCaseList; using grpc::testing::MetricsService; diff --git a/test/cpp/qps/async_streaming_ping_pong_test.cc b/test/cpp/qps/async_streaming_ping_pong_test.cc index d9fbb39df7eca33688f508745133c08d24d1a685..4b6bae0d5cff0ed494f6f305ed06f774c903f882 100644 --- a/test/cpp/qps/async_streaming_ping_pong_test.cc +++ b/test/cpp/qps/async_streaming_ping_pong_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/async_unary_ping_pong_test.cc b/test/cpp/qps/async_unary_ping_pong_test.cc index 5ab86197b0f87d019c61306eded6a8fee4d22d09..571a8b7300f7e08bdb5121042f38ed3d82ddddf7 100644 --- a/test/cpp/qps/async_unary_ping_pong_test.cc +++ b/test/cpp/qps/async_unary_ping_pong_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/client.h b/test/cpp/qps/client.h index 92e77eed9b2f6373f203a5f84b134f615ffcb146..e958141d4ea64defa4377fa5fb98ab1ae05c5ad1 100644 --- a/test/cpp/qps/client.h +++ b/test/cpp/qps/client.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/client_async.cc b/test/cpp/qps/client_async.cc index dcdb665a9acaee824ad615123b9f8451d37f4359..e72cef28114d5b2dd1799612b22313a6a50d5f59 100644 --- a/test/cpp/qps/client_async.cc +++ b/test/cpp/qps/client_async.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/client_sync.cc b/test/cpp/qps/client_sync.cc index a1489d88e6d245bde6f8a729a32580dd2730402d..fb161f70ee9db85663a4496159c58407c766485c 100644 --- a/test/cpp/qps/client_sync.cc +++ b/test/cpp/qps/client_sync.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/driver.cc b/test/cpp/qps/driver.cc index 6cca7dec2bf9bb2d97fbf88e9e1645f63c285225..c87ad6461d1c9c3a8a57da98ed9067de5141bc08 100644 --- a/test/cpp/qps/driver.cc +++ b/test/cpp/qps/driver.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/driver.h b/test/cpp/qps/driver.h index 1e2e28029e0f3d7af4b7141959bb8892c95a5636..21e51529d595b377f6833bbc7977add4f1737350 100644 --- a/test/cpp/qps/driver.h +++ b/test/cpp/qps/driver.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/gen_build_yaml.py b/test/cpp/qps/gen_build_yaml.py new file mode 100755 index 0000000000000000000000000000000000000000..9d6bf2ab73ca1d8cc5877afb77f0f14e19747057 --- /dev/null +++ b/test/cpp/qps/gen_build_yaml.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python2.7 + +# Copyright 2015, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import json +import pipes +import shutil +import sys +import os +import yaml + +run_tests_root = os.path.abspath(os.path.join( + os.path.dirname(sys.argv[0]), + '../../../tools/run_tests')) +sys.path.append(run_tests_root) + +import performance.scenario_config as scenario_config + +print yaml.dump({ + 'tests': [ + { + 'name': 'json_run_localhost', + 'shortname': 'json_run_localhost:%s' % js['name'], + 'args': ['--scenario_json', pipes.quote(json.dumps(js))], + 'ci_platforms': ['linux', 'mac', 'posix', 'windows'], + 'platforms': ['linux', 'mac', 'posix', 'windows'], + 'flaky': False, + 'language': 'c++', + 'boringssl': True, + 'defaults': 'boringssl', + 'cpu_cost': 1000.0, + 'exclude_configs': [] + } + for js in scenario_config.CXXLanguage().scenarios() + ] +}) diff --git a/test/cpp/qps/generic_async_streaming_ping_pong_test.cc b/test/cpp/qps/generic_async_streaming_ping_pong_test.cc index fc06cddfef57079a4ec49c9954c07b11f022f363..ea373ece8419f06e92ec6eaea7ebaf3278cf5f2f 100644 --- a/test/cpp/qps/generic_async_streaming_ping_pong_test.cc +++ b/test/cpp/qps/generic_async_streaming_ping_pong_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/interarrival.h b/test/cpp/qps/interarrival.h index b6fd67b77c29456865db58593a893312bc19684c..0cc78533ce067360d0dfc6f03a7096bee30abf59 100644 --- a/test/cpp/qps/interarrival.h +++ b/test/cpp/qps/interarrival.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/json_run_localhost.cc b/test/cpp/qps/json_run_localhost.cc new file mode 100644 index 0000000000000000000000000000000000000000..6545dc2917db4445f5c9519fdb433439c7634a55 --- /dev/null +++ b/test/cpp/qps/json_run_localhost.cc @@ -0,0 +1,86 @@ +/* + * + * Copyright 2015-2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include <memory> +#include <sstream> +#include <string> + +#include <grpc/support/log.h> + +#include "src/core/lib/support/env.h" +#include "test/core/util/port.h" +#include "test/cpp/util/subprocess.h" + +using grpc::SubProcess; + +template <class T> +std::string as_string(const T& val) { + std::ostringstream out; + out << val; + return out.str(); +} + +int main(int argc, char** argv) { + typedef std::unique_ptr<SubProcess> SubProcessPtr; + std::vector<SubProcessPtr> jobs; + + std::string my_bin = argv[0]; + std::string bin_dir = my_bin.substr(0, my_bin.rfind('/')); + + std::ostringstream env; + bool first = true; + + for (int i = 0; i < 2; i++) { + auto port = grpc_pick_unused_port_or_die(); + std::vector<std::string> args = {bin_dir + "/qps_worker", "-driver_port", + as_string(port)}; + jobs.emplace_back(new SubProcess(args)); + if (!first) env << ","; + env << "localhost:" << port; + first = false; + } + + gpr_setenv("QPS_WORKERS", env.str().c_str()); + std::vector<std::string> args = {bin_dir + "/qps_json_driver"}; + for (int i = 1; i < argc; i++) { + args.push_back(argv[i]); + } + SubProcess(args).Join(); + + for (auto it = jobs.begin(); it != jobs.end(); ++it) { + (*it)->Interrupt(); + } + for (auto it = jobs.begin(); it != jobs.end(); ++it) { + (*it)->Join(); + } +} diff --git a/test/cpp/qps/perf_db_client.h b/test/cpp/qps/perf_db_client.h index 668083b811a02dc0c9fa6b9bc3f8f145b0a22cea..b74c70d86b5f6b83fad2c5a3c061cfd0aed71a46 100644 --- a/test/cpp/qps/perf_db_client.h +++ b/test/cpp/qps/perf_db_client.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/qps-sweep.sh b/test/cpp/qps/qps-sweep.sh index 9d3f053a7bee3847ccecbe580cce0544d5852d66..8f7fb92772763ad8d6a229d7775fc4e940ba4466 100755 --- a/test/cpp/qps/qps-sweep.sh +++ b/test/cpp/qps/qps-sweep.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/qps_driver.cc b/test/cpp/qps/qps_driver.cc index f9bd01b2a1b937d6a74970375e34c6029023fa8e..e412c6919af4b3b6eef58bd116d8122998d54873 100644 --- a/test/cpp/qps/qps_driver.cc +++ b/test/cpp/qps/qps_driver.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/qps_interarrival_test.cc b/test/cpp/qps/qps_interarrival_test.cc index 77e81fb84bc1a92dfcf4f4d307d584d716d73c8c..48585af7566e5c9211f38c4f135a5ed6be4118db 100644 --- a/test/cpp/qps/qps_interarrival_test.cc +++ b/test/cpp/qps/qps_interarrival_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/qps_json_driver.cc b/test/cpp/qps/qps_json_driver.cc new file mode 100644 index 0000000000000000000000000000000000000000..8943a43ba87ec033b563069160e9210789a7a6bf --- /dev/null +++ b/test/cpp/qps/qps_json_driver.cc @@ -0,0 +1,127 @@ +/* + * + * Copyright 2015-2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include <memory> +#include <set> + +#include <google/protobuf/util/json_util.h> +#include <google/protobuf/util/type_resolver_util.h> + +#include <gflags/gflags.h> +#include <grpc/support/log.h> + +#include "test/cpp/qps/driver.h" +#include "test/cpp/qps/report.h" +#include "test/cpp/util/benchmark_config.h" + +DEFINE_string(scenarios_file, "", + "JSON file containing an array of Scenario objects"); +DEFINE_string(scenarios_json, "", + "JSON string containing an array of Scenario objects"); + +namespace grpc { +namespace testing { + +static void QpsDriver() { + grpc::string json; + + if (FLAGS_scenarios_file != "") { + if (FLAGS_scenarios_json != "") { + gpr_log(GPR_ERROR, + "Only one of --scenarios_file or --scenarios_json must be set"); + abort(); + } + // Read the json data from disk + FILE *json_file = fopen(FLAGS_scenarios_file.c_str(), "r"); + GPR_ASSERT(json_file != NULL); + fseek(json_file, 0, SEEK_END); + long len = ftell(json_file); + char *data = new char[len]; + fseek(json_file, 0, SEEK_SET); + GPR_ASSERT(len == (long)fread(data, 1, len, json_file)); + fclose(json_file); + json = grpc::string(data, data + len); + delete[] data; + } else if (FLAGS_scenarios_json != "") { + json = FLAGS_scenarios_json.c_str(); + } else { + gpr_log(GPR_ERROR, + "One of --scenarios_file or --scenarios_json must be set"); + abort(); + } + + // Parse into an array of scenarios + Scenarios scenarios; + std::unique_ptr<google::protobuf::util::TypeResolver> type_resolver( + google::protobuf::util::NewTypeResolverForDescriptorPool( + "type.googleapis.com", + google::protobuf::DescriptorPool::generated_pool())); + grpc::string binary; + auto status = JsonToBinaryString(type_resolver.get(), + "type.googleapis.com/grpc.testing.Scenarios", + json, &binary); + if (!status.ok()) { + grpc::string msg(status.error_message()); + gpr_log(GPR_ERROR, "Failed to convert json to binary: errcode=%d msg=%s", + status.error_code(), msg.c_str()); + gpr_log(GPR_ERROR, "JSON: ", json.c_str()); + abort(); + } + GPR_ASSERT(scenarios.ParseFromString(binary)); + + for (int i = 0; i < scenarios.scenarios_size(); i++) { + const Scenario &scenario = scenarios.scenarios(i); + std::cerr << "RUNNING SCENARIO: " << scenario.name() << "\n"; + const auto result = + RunScenario(scenario.client_config(), scenario.num_clients(), + scenario.server_config(), scenario.num_servers(), + scenario.warmup_seconds(), scenario.benchmark_seconds(), + scenario.spawn_local_worker_count()); + + GetReporter()->ReportQPS(*result); + GetReporter()->ReportQPSPerCore(*result); + GetReporter()->ReportLatency(*result); + GetReporter()->ReportTimes(*result); + } +} + +} // namespace testing +} // namespace grpc + +int main(int argc, char **argv) { + grpc::testing::InitBenchmark(&argc, &argv, true); + + grpc::testing::QpsDriver(); + + return 0; +} diff --git a/test/cpp/qps/qps_openloop_test.cc b/test/cpp/qps/qps_openloop_test.cc index 2ae0afbcbef3177b422166e8adc393ea06e135b6..8dc50ac6d8831572890cde04186429f24eb78844 100644 --- a/test/cpp/qps/qps_openloop_test.cc +++ b/test/cpp/qps/qps_openloop_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/qps_test.cc b/test/cpp/qps/qps_test.cc index b6a2e1ef306ce76623994d6f908889320a106033..c3e72d9b17953050ded384bfd18f34d9aac739de 100644 --- a/test/cpp/qps/qps_test.cc +++ b/test/cpp/qps/qps_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/qps_test_with_poll.cc b/test/cpp/qps/qps_test_with_poll.cc index 647aaac4c47b763db4f3d851e0dd01e8cf74aeb8..c64e6c9d495b1a44f5e01ce8160722ea67bf14e3 100644 --- a/test/cpp/qps/qps_test_with_poll.cc +++ b/test/cpp/qps/qps_test_with_poll.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/qps_worker.cc b/test/cpp/qps/qps_worker.cc index b83e9d1dd7f0337620b7a44ee8bc0cf913726a6e..f514e23e85404f933ed770524727dd18b6089549 100644 --- a/test/cpp/qps/qps_worker.cc +++ b/test/cpp/qps/qps_worker.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/qps_worker.h b/test/cpp/qps/qps_worker.h index 624c182100e9c59dad85c24e1a9b7fdd80c9f327..7f04c92caea709f9368f6a59c4d28d0eb4b636f9 100644 --- a/test/cpp/qps/qps_worker.h +++ b/test/cpp/qps/qps_worker.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/secure_sync_unary_ping_pong_test.cc b/test/cpp/qps/secure_sync_unary_ping_pong_test.cc index 946c76f747e2d4729db50014d36bea0361cd77fc..d0c47d102ad0b541f27e2e72c224ec6f7aa43833 100644 --- a/test/cpp/qps/secure_sync_unary_ping_pong_test.cc +++ b/test/cpp/qps/secure_sync_unary_ping_pong_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/server.h b/test/cpp/qps/server.h index de46452c3d8eb0161563abd8a41d305e3b108eb2..e8bc39669621046b209efbd3228f09739073c143 100644 --- a/test/cpp/qps/server.h +++ b/test/cpp/qps/server.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/server_async.cc b/test/cpp/qps/server_async.cc index 1bfb07013df2ba8b2d8bf50019691f9b2854524f..a68f1ae7b672086d366d9af5182b210bb9335128 100644 --- a/test/cpp/qps/server_async.cc +++ b/test/cpp/qps/server_async.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/server_sync.cc b/test/cpp/qps/server_sync.cc index b7682f57635196226d2d4d46d016e386bc81d5af..9e64f470bf68f76b25db30f920a848195c72ae09 100644 --- a/test/cpp/qps/server_sync.cc +++ b/test/cpp/qps/server_sync.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/sync_streaming_ping_pong_test.cc b/test/cpp/qps/sync_streaming_ping_pong_test.cc index ee1bbc7a11326923ab406c513bfb0cf5b1c4b340..67c62f4baea6f3602dd9b97e09be22fb6038c4b3 100644 --- a/test/cpp/qps/sync_streaming_ping_pong_test.cc +++ b/test/cpp/qps/sync_streaming_ping_pong_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/sync_unary_ping_pong_test.cc b/test/cpp/qps/sync_unary_ping_pong_test.cc index 4dccfee1908565d6744c0b57d944f0ddc4f0c7f8..aa0c0c3013900cdc475a4cb82f49820c29f80d58 100644 --- a/test/cpp/qps/sync_unary_ping_pong_test.cc +++ b/test/cpp/qps/sync_unary_ping_pong_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/usage_timer.cc b/test/cpp/qps/usage_timer.cc index 6663a9ac1036b65727dadaf491bd5823b03626ff..ff595b2ba05127522aa01fce0fa90b9530ee3cfb 100644 --- a/test/cpp/qps/usage_timer.cc +++ b/test/cpp/qps/usage_timer.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/usage_timer.h b/test/cpp/qps/usage_timer.h index d19f8205649e0ef6db6844c8b646e852e53ef71f..8343cd6653bf75bbdae0a909a084f232d89c8696 100644 --- a/test/cpp/qps/usage_timer.h +++ b/test/cpp/qps/usage_timer.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/qps/worker.cc b/test/cpp/qps/worker.cc index f42cfe3255a399c9a67d8b8c56445826b8894962..2068b7c213297095556d0c0e3509d8acbc262374 100644 --- a/test/cpp/qps/worker.cc +++ b/test/cpp/qps/worker.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/util/benchmark_config.cc b/test/cpp/util/benchmark_config.cc index 5c3a4cf35d5223a741d3e986906c427b110a1384..746d3d7ae65b22d7434d0cc84a1e58d7f9c154c5 100644 --- a/test/cpp/util/benchmark_config.cc +++ b/test/cpp/util/benchmark_config.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/util/byte_buffer_test.cc b/test/cpp/util/byte_buffer_test.cc index bc172e97178d0c2aebb69c6645fa3ddaeb462ede..1167c790d4e82684c0eb5482dd7c948b4ca7c8d5 100644 --- a/test/cpp/util/byte_buffer_test.cc +++ b/test/cpp/util/byte_buffer_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/util/cli_call.cc b/test/cpp/util/cli_call.cc index d452be360d18b1f080d6a364f5d0ae78b92235bd..99fad7f2fe99e8966c2d5c204bc51b7f20f5b5ab 100644 --- a/test/cpp/util/cli_call.cc +++ b/test/cpp/util/cli_call.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/util/cli_call_test.cc b/test/cpp/util/cli_call_test.cc index 474ac282cecf8f517481e630cab9139e08c7184a..75e90f824f545be12dd49f95e13df56a1e738c0b 100644 --- a/test/cpp/util/cli_call_test.cc +++ b/test/cpp/util/cli_call_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/util/create_test_channel.cc b/test/cpp/util/create_test_channel.cc index 0cd9f9e76738c459ecf26434a502a754bad812a6..fe8b5d54235b1bd2fe64c24e4bf63db290ec95a3 100644 --- a/test/cpp/util/create_test_channel.cc +++ b/test/cpp/util/create_test_channel.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -58,8 +58,9 @@ namespace grpc { std::shared_ptr<Channel> CreateTestChannel( const grpc::string& server, const grpc::string& override_hostname, bool enable_ssl, bool use_prod_roots, - const std::shared_ptr<CallCredentials>& creds) { - ChannelArguments channel_args; + const std::shared_ptr<CallCredentials>& creds, + const ChannelArguments& args) { + ChannelArguments channel_args(args); if (enable_ssl) { const char* roots_certs = use_prod_roots ? "" : test_root_cert; SslCredentialsOptions ssl_opts = {roots_certs, "", ""}; @@ -81,6 +82,14 @@ std::shared_ptr<Channel> CreateTestChannel( } } +std::shared_ptr<Channel> CreateTestChannel( + const grpc::string& server, const grpc::string& override_hostname, + bool enable_ssl, bool use_prod_roots, + const std::shared_ptr<CallCredentials>& creds) { + return CreateTestChannel(server, override_hostname, enable_ssl, + use_prod_roots, creds, ChannelArguments()); +} + std::shared_ptr<Channel> CreateTestChannel( const grpc::string& server, const grpc::string& override_hostname, bool enable_ssl, bool use_prod_roots) { diff --git a/test/cpp/util/create_test_channel.h b/test/cpp/util/create_test_channel.h index b50d653de3b9d2744949709acd7eaf5c3f5e5492..4ff666dc1bc43b48cf6eb75ca55e7684d86a0319 100644 --- a/test/cpp/util/create_test_channel.h +++ b/test/cpp/util/create_test_channel.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -53,6 +53,12 @@ std::shared_ptr<Channel> CreateTestChannel( bool enable_ssl, bool use_prod_roots, const std::shared_ptr<CallCredentials>& creds); +std::shared_ptr<Channel> CreateTestChannel( + const grpc::string& server, const grpc::string& override_hostname, + bool enable_ssl, bool use_prod_roots, + const std::shared_ptr<CallCredentials>& creds, + const ChannelArguments& args); + } // namespace grpc #endif // GRPC_TEST_CPP_UTIL_CREATE_TEST_CHANNEL_H diff --git a/test/cpp/util/grpc_cli.cc b/test/cpp/util/grpc_cli.cc index 0b0bc20a3518f9662f52bd99bc2115268d98b815..68cf4114a8d720d3f7c61bdf5959767108a63503 100644 --- a/test/cpp/util/grpc_cli.cc +++ b/test/cpp/util/grpc_cli.cc @@ -1,6 +1,6 @@ /* - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/util/metrics_server.cc b/test/cpp/util/metrics_server.cc index 34d51eb3169e4e5c2416dda753d33c1c9c94fc6b..d9b44a6a925b71f760f195c9d5373f6cd2689777 100644 --- a/test/cpp/util/metrics_server.cc +++ b/test/cpp/util/metrics_server.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/util/subprocess.cc b/test/cpp/util/subprocess.cc index 33f3820a2bbfff2c796829572386649f68170c7e..00c6244a4f174d545252a548a4a7de7325216661 100644 --- a/test/cpp/util/subprocess.cc +++ b/test/cpp/util/subprocess.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -39,15 +39,15 @@ namespace grpc { -static gpr_subprocess *MakeProcess(std::initializer_list<std::string> args) { - std::vector<const char *> vargs; +static gpr_subprocess* MakeProcess(const std::vector<std::string>& args) { + std::vector<const char*> vargs; for (auto it = args.begin(); it != args.end(); ++it) { vargs.push_back(it->c_str()); } return gpr_subprocess_create(vargs.size(), &vargs[0]); } -SubProcess::SubProcess(std::initializer_list<std::string> args) +SubProcess::SubProcess(const std::vector<std::string>& args) : subprocess_(MakeProcess(args)) {} SubProcess::~SubProcess() { gpr_subprocess_destroy(subprocess_); } diff --git a/test/cpp/util/subprocess.h b/test/cpp/util/subprocess.h index 8fafe3d1772febd4be424420371c63133a933549..f7b553ae030e0616fd626098a4cd54df2baa9785 100644 --- a/test/cpp/util/subprocess.h +++ b/test/cpp/util/subprocess.h @@ -36,6 +36,7 @@ #include <initializer_list> #include <string> +#include <vector> struct gpr_subprocess; @@ -43,7 +44,7 @@ namespace grpc { class SubProcess { public: - SubProcess(std::initializer_list<std::string> args); + SubProcess(const std::vector<std::string>& args); ~SubProcess(); int Join(); diff --git a/test/cpp/util/test_config.cc b/test/cpp/util/test_config.cc index c446ae55c796cdaf0898d087d412e1a4ced0715f..871174612923acae347ca408912706f7ff4f08ee 100644 --- a/test/cpp/util/test_config.cc +++ b/test/cpp/util/test_config.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/cpp/util/time_test.cc b/test/cpp/util/time_test.cc index e78c85b43af8542f743c525efa2c6303238fc93b..a292c210c82b98cf4e70efc127095b0dd51acdea 100644 --- a/test/cpp/util/time_test.cc +++ b/test/cpp/util/time_test.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/distrib/csharp/DistribTest/Program.cs b/test/distrib/csharp/DistribTest/Program.cs index e944648f179906bd8eb4bbe862e20dd7b4ce921f..c68b380547a21a2a8e9fafd280de01289faa138f 100644 --- a/test/distrib/csharp/DistribTest/Program.cs +++ b/test/distrib/csharp/DistribTest/Program.cs @@ -1,6 +1,6 @@ #region Copyright notice and license -// Copyright 2015-2016, Google Inc. +// Copyright 2015, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without diff --git a/test/distrib/csharp/run_distrib_test.sh b/test/distrib/csharp/run_distrib_test.sh index 934174a9a4e54a30607929867536695e248be424..64e98d800968728bdc641c30f41c8866084fe3f3 100755 --- a/test/distrib/csharp/run_distrib_test.sh +++ b/test/distrib/csharp/run_distrib_test.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/test/distrib/csharp/update_version.sh b/test/distrib/csharp/update_version.sh index b0d07721f6ccbbf74468922e083a7c1d2b57056f..189d0ad357245ebc9fb92a4a580230514085442c 100755 --- a/test/distrib/csharp/update_version.sh +++ b/test/distrib/csharp/update_version.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/test/distrib/node/distrib_test.js b/test/distrib/node/distrib_test.js index cdd8eba8b8c845a20bf681b21236296e389cd5d5..8efd33ad8d650e3c592bd00de2efed9cd510d1d5 100755 --- a/test/distrib/node/distrib_test.js +++ b/test/distrib/node/distrib_test.js @@ -1,7 +1,7 @@ #!/usr/bin/env node /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/test/distrib/node/run_distrib_test.sh b/test/distrib/node/run_distrib_test.sh index 13a42fcb0a217d906845972599f9d59a5f5f72ad..d429eb27e18c9d2aebf3b74b891a4774b518038d 100755 --- a/test/distrib/node/run_distrib_test.sh +++ b/test/distrib/node/run_distrib_test.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/test/distrib/php/run_distrib_test.sh b/test/distrib/php/run_distrib_test.sh index 43b28d842903c1b9213975552ae3f91e59676926..5c86283282c1037b31af2a2de094d0c02c119949 100755 --- a/test/distrib/php/run_distrib_test.sh +++ b/test/distrib/php/run_distrib_test.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/test/distrib/python/run_distrib_test.sh b/test/distrib/python/run_distrib_test.sh index 8fd7ffb54c8ad9f07571ef929efd7d35ab0cd610..79893af8e54be78471473a9931b390e9e6b01ca5 100755 --- a/test/distrib/python/run_distrib_test.sh +++ b/test/distrib/python/run_distrib_test.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/test/distrib/ruby/run_distrib_test.sh b/test/distrib/ruby/run_distrib_test.sh index be60e44b63991be4ca84ea6aa2dae5b9992e7588..b0954b049915f3672f03583505b951cc903093dc 100755 --- a/test/distrib/ruby/run_distrib_test.sh +++ b/test/distrib/ruby/run_distrib_test.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/buildgen/build-cleaner.py b/tools/buildgen/build-cleaner.py index 12054da238eeb992ad5b67a9b23a4d3f1ac39387..f09a01fc57f0d58f6bd47ee21f4cb8a48cdb2dd2 100755 --- a/tools/buildgen/build-cleaner.py +++ b/tools/buildgen/build-cleaner.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/buildgen/bunch.py b/tools/buildgen/bunch.py index 3f5af53778f1445407baaac53a1b01443a1369ba..9d9dafaad08a02e7bdff238aeadaa229e2969f3a 100755 --- a/tools/buildgen/bunch.py +++ b/tools/buildgen/bunch.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/buildgen/generate_build_additions.sh b/tools/buildgen/generate_build_additions.sh index 4e7ba9ebb94673a1bff0ba0aa464c63d800df8d8..9a1a7a7249117d575e4ed958e2f3fef67e8e45aa 100644 --- a/tools/buildgen/generate_build_additions.sh +++ b/tools/buildgen/generate_build_additions.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,8 @@ gen_build_yaml_dirs=" \ src/zlib \ test/core/bad_client \ test/core/bad_ssl \ - test/core/end2end" + test/core/end2end \ + test/cpp/qps" gen_build_files="" for gen_build_yaml in $gen_build_yaml_dirs do @@ -42,4 +43,3 @@ do $gen_build_yaml/gen_build_yaml.py > $output_file gen_build_files="$gen_build_files $output_file" done - diff --git a/tools/buildgen/generate_projects.py b/tools/buildgen/generate_projects.py index 0602d93e56347a9474d0266216d594467f3d1eed..5f3af7738b26246e1961f9fc0ef3fa68ace3d740 100755 --- a/tools/buildgen/generate_projects.py +++ b/tools/buildgen/generate_projects.py @@ -1,6 +1,6 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/buildgen/mako_renderer.py b/tools/buildgen/mako_renderer.py index 5f23f123c2df11b39c15fe4f16e37d8e58701c24..f629e68eb928c8d22c156e2d3a4306bb97f2c143 100755 --- a/tools/buildgen/mako_renderer.py +++ b/tools/buildgen/mako_renderer.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/buildgen/plugins/expand_bin_attrs.py b/tools/buildgen/plugins/expand_bin_attrs.py index c30df2ad892753959bca62af17ef1710be903aa3..dc72bf3b9d1370f9f549096bdfe671f24b0b9f27 100755 --- a/tools/buildgen/plugins/expand_bin_attrs.py +++ b/tools/buildgen/plugins/expand_bin_attrs.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/buildgen/plugins/expand_filegroups.py b/tools/buildgen/plugins/expand_filegroups.py index c40143ef9581ee65b0f42ce274fdd439c7655fae..69d95deb6bf9e2e2d67f443ee54c6cb71a96a4ab 100755 --- a/tools/buildgen/plugins/expand_filegroups.py +++ b/tools/buildgen/plugins/expand_filegroups.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -42,7 +42,22 @@ def excluded(filename, exclude_res): return False -FILEGROUP_LISTS = ['src', 'headers', 'public_headers'] +def uniquify(lst): + out = [] + for el in lst: + if el not in out: + out.append(el) + return out + + +FILEGROUP_LISTS = ['src', 'headers', 'public_headers', 'deps'] + + +FILEGROUP_DEFAULTS = { + 'language': 'c', + 'boringssl': False, + 'zlib': False, +} def mako_plugin(dictionary): @@ -54,10 +69,19 @@ def mako_plugin(dictionary): """ libs = dictionary.get('libs') + targets = dictionary.get('targets') filegroups_list = dictionary.get('filegroups') filegroups = {} - todo = filegroups_list[:] + for fg in filegroups_list: + for lst in FILEGROUP_LISTS: + fg[lst] = fg.get(lst, []) + fg['own_%s' % lst] = list(fg[lst]) + for attr, val in FILEGROUP_DEFAULTS.iteritems(): + if attr not in fg: + fg[attr] = val + + todo = list(filegroups_list) skips = 0 while todo: @@ -75,26 +99,51 @@ def mako_plugin(dictionary): todo.append(cur) else: skips = 0 + assert 'plugins' not in cur + plugins = [] for uses in cur.get('uses', []): + for plugin in filegroups[uses]['plugins']: + if plugin not in plugins: + plugins.append(plugin) for lst in FILEGROUP_LISTS: vals = cur.get(lst, []) vals.extend(filegroups[uses].get(lst, [])) cur[lst] = vals + cur_plugin_name = cur.get('plugin') + if cur_plugin_name: + plugins.append(cur_plugin_name) + cur['plugins'] = plugins filegroups[cur['name']] = cur # the above expansion can introduce duplicate filenames: contract them here for fg in filegroups.itervalues(): for lst in FILEGROUP_LISTS: - fg[lst] = sorted(list(set(fg.get(lst, [])))) + fg[lst] = uniquify(fg.get(lst, [])) - for lib in libs: + for tgt in dictionary['targets']: + for lst in FILEGROUP_LISTS: + tgt[lst] = tgt.get(lst, []) + tgt['own_%s' % lst] = list(tgt[lst]) + + for lib in libs + targets: + assert 'plugins' not in lib + plugins = [] + for lst in FILEGROUP_LISTS: + vals = lib.get(lst, []) + lib[lst] = list(vals) + lib['own_%s' % lst] = list(vals) for fg_name in lib.get('filegroups', []): fg = filegroups[fg_name] - + for plugin in fg['plugins']: + if plugin not in plugins: + plugins.append(plugin) for lst in FILEGROUP_LISTS: vals = lib.get(lst, []) vals.extend(fg.get(lst, [])) lib[lst] = vals - + lib['plugins'] = plugins + if lib.get('generate_plugin_registry', False): + lib['src'].append('src/core/plugin_registry/%s_plugin_registry.c' % + lib['name']) for lst in FILEGROUP_LISTS: - lib[lst] = sorted(list(set(lib.get(lst, [])))) + lib[lst] = uniquify(lib.get(lst, [])) diff --git a/tools/buildgen/plugins/make_fuzzer_tests.py b/tools/buildgen/plugins/make_fuzzer_tests.py new file mode 100644 index 0000000000000000000000000000000000000000..806489bcd20cdc00a5ebe148ba9be90d32f13f7f --- /dev/null +++ b/tools/buildgen/plugins/make_fuzzer_tests.py @@ -0,0 +1,57 @@ +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""Create tests for each fuzzer""" + +import copy +import glob + +def mako_plugin(dictionary): + targets = dictionary['targets'] + tests = dictionary['tests'] + for tgt in targets: + if tgt['build'] == 'fuzzer': + new_target = copy.deepcopy(tgt) + new_target['build'] = 'test' + new_target['name'] += '_one_entry' + new_target['run'] = False + new_target['deps'].insert(0, 'one_input_fuzzer') + targets.append(new_target) + for corpus in new_target['corpus_dirs']: + for fn in sorted(glob.glob('%s/*' % corpus)): + tests.append({ + 'name': new_target['name'], + 'args': [fn], + 'exclude_configs': [], + 'platforms': ['linux', 'mac', 'windows', 'posix'], + 'ci_platforms': ['linux', 'mac', 'windows', 'posix'], + 'flaky': False, + 'language': 'c', + 'cpu_cost': 0.1, + }) diff --git a/tools/buildgen/plugins/transitive_dependencies.py b/tools/buildgen/plugins/transitive_dependencies.py index 01e7f61ea9d630c4537cb4201d1f78bd9330f215..176c8fa8962b80927703a4d84e725d914ee8b3ea 100644 --- a/tools/buildgen/plugins/transitive_dependencies.py +++ b/tools/buildgen/plugins/transitive_dependencies.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/codegen/core/gen_hpack_tables.c b/tools/codegen/core/gen_hpack_tables.c index cb2b89ae25374d10607a1126fda62eaa8aeabfd1..33c68a2c69dc2ad3d551c07d9df40a98f2dd6ad0 100644 --- a/tools/codegen/core/gen_hpack_tables.c +++ b/tools/codegen/core/gen_hpack_tables.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/tools/codegen/core/gen_legal_metadata_characters.c b/tools/codegen/core/gen_legal_metadata_characters.c index 10605d52bfa7bb07aaae36fa734321505b8a8951..6ac32656cbb2b28d2b68c38c6e56c181307319a3 100644 --- a/tools/codegen/core/gen_legal_metadata_characters.c +++ b/tools/codegen/core/gen_legal_metadata_characters.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015-2016, Google Inc. + * Copyright 2015, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/tools/codegen/core/gen_load_balancing_proto.sh b/tools/codegen/core/gen_load_balancing_proto.sh index 6a5363eeb32d20542e6c33374005e189d06a8de5..339da0a7339546694c07eaa18ba52239cab80d8e 100755 --- a/tools/codegen/core/gen_load_balancing_proto.sh +++ b/tools/codegen/core/gen_load_balancing_proto.sh @@ -82,7 +82,7 @@ fi readonly GRPC_ROOT=$PWD -OUTPUT_DIR="$GRPC_ROOT/src/core/lib/proto/grpc/lb/v0" +OUTPUT_DIR="$GRPC_ROOT/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0" if [ $# -eq 2 ]; then mkdir -p "$2" if [ $? != 0 ]; then @@ -122,7 +122,7 @@ protoc \ "$(basename $1)" readonly PROTO_BASENAME=$(basename $1 .proto) -sed -i "s:$PROTO_BASENAME.pb.h:src/core/lib/proto/grpc/lb/v0/$PROTO_BASENAME.pb.h:g" \ +sed -i "s:$PROTO_BASENAME.pb.h:src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/$PROTO_BASENAME.pb.h:g" \ "$OUTPUT_DIR/$PROTO_BASENAME.pb.c" # prepend copyright diff --git a/tools/codegen/core/gen_static_metadata.py b/tools/codegen/core/gen_static_metadata.py index 70d41414f45ba351aa4f93256a3b5b00fd141b48..b4ba02bbe58f06e1cedaab07e3489f057c831202 100755 --- a/tools/codegen/core/gen_static_metadata.py +++ b/tools/codegen/core/gen_static_metadata.py @@ -1,6 +1,6 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -69,6 +69,7 @@ CONFIG = [ (':scheme', 'grpc'), (':authority', ''), (':method', 'GET'), + (':method', 'PUT'), (':path', '/'), (':path', '/index.html'), (':status', '204'), @@ -232,20 +233,20 @@ with open(sys.argv[0]) as my_source: if line[0] != '#': break copyright.append(line) - put_banner([H,C], [line[1:].strip() for line in copyright]) + put_banner([H,C], [line[2:].rstrip() for line in copyright]) put_banner([H,C], """WARNING: Auto-generated code. -To make changes to this file, change tools/codegen/core/gen_static_metadata.py, -and then re-run it. +To make changes to this file, change +tools/codegen/core/gen_static_metadata.py, and then re-run it. -See metadata.h for an explanation of the interface here, and metadata.c for an -explanation of what's going on. +See metadata.h for an explanation of the interface here, and metadata.c for +an explanation of what's going on. """.splitlines()) -print >>H, '#ifndef GRPC_INTERNAL_CORE_TRANSPORT_STATIC_METADATA_H' -print >>H, '#define GRPC_INTERNAL_CORE_TRANSPORT_STATIC_METADATA_H' +print >>H, '#ifndef GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H' +print >>H, '#define GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H' print >>H print >>H, '#include "src/core/lib/transport/metadata.h"' print >>H @@ -264,13 +265,13 @@ print >>C print >>H, '#define GRPC_STATIC_MDELEM_COUNT %d' % len(all_elems) print >>H, 'extern grpc_mdelem grpc_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT];' -print >>H, 'extern gpr_uintptr grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT];' +print >>H, 'extern uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT];' for i, elem in enumerate(all_elems): print >>H, '/* "%s": "%s" */' % elem print >>H, '#define %s (&grpc_static_mdelem_table[%d])' % (mangle(elem).upper(), i) print >>H print >>C, 'grpc_mdelem grpc_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT];' -print >>C, 'gpr_uintptr grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT] = {' +print >>C, 'uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT] = {' print >>C, ' %s' % ','.join('%d' % static_userdata.get(elem, 0) for elem in all_elems) print >>C, '};' print >>C @@ -285,8 +286,8 @@ def md_idx(m): if m == m2: return i -print >>H, 'extern const gpr_uint8 grpc_static_metadata_elem_indices[GRPC_STATIC_MDELEM_COUNT*2];' -print >>C, 'const gpr_uint8 grpc_static_metadata_elem_indices[GRPC_STATIC_MDELEM_COUNT*2] = {' +print >>H, 'extern const uint8_t grpc_static_metadata_elem_indices[GRPC_STATIC_MDELEM_COUNT*2];' +print >>C, 'const uint8_t grpc_static_metadata_elem_indices[GRPC_STATIC_MDELEM_COUNT*2] = {' print >>C, ','.join('%d' % str_idx(x) for x in itertools.chain.from_iterable([a,b] for a, b in all_elems)) print >>C, '};' print >>C @@ -297,15 +298,15 @@ print >>C, '%s' % ',\n'.join(' "%s"' % s for s in all_strs) print >>C, '};' print >>C -print >>H, 'extern const gpr_uint8 grpc_static_accept_encoding_metadata[%d];' % (1 << len(COMPRESSION_ALGORITHMS)) -print >>C, 'const gpr_uint8 grpc_static_accept_encoding_metadata[%d] = {' % (1 << len(COMPRESSION_ALGORITHMS)) +print >>H, 'extern const uint8_t grpc_static_accept_encoding_metadata[%d];' % (1 << len(COMPRESSION_ALGORITHMS)) +print >>C, 'const uint8_t grpc_static_accept_encoding_metadata[%d] = {' % (1 << len(COMPRESSION_ALGORITHMS)) print >>C, '0,%s' % ','.join('%d' % md_idx(elem) for elem in compression_elems) print >>C, '};' print >>C print >>H, '#define GRPC_MDELEM_ACCEPT_ENCODING_FOR_ALGORITHMS(algs) (&grpc_static_mdelem_table[grpc_static_accept_encoding_metadata[(algs)]])' -print >>H, '#endif /* GRPC_INTERNAL_CORE_TRANSPORT_STATIC_METADATA_H */' +print >>H, '#endif /* GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H */' H.close() C.close() diff --git a/tools/distrib/build_ruby_environment_macos.sh b/tools/distrib/build_ruby_environment_macos.sh index ff3a388eaf6babacc2ae95e7123ac7b9d289b437..64fad7c606add5fe64b97ef83b599c014788e11f 100644 --- a/tools/distrib/build_ruby_environment_macos.sh +++ b/tools/distrib/build_ruby_environment_macos.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/distrib/check_copyright.py b/tools/distrib/check_copyright.py index 5badbf484bc1f90ed029b08116e973c5d2fbbb3f..68411c631df79f0fa908bc7f1be30a07105f47f3 100755 --- a/tools/distrib/check_copyright.py +++ b/tools/distrib/check_copyright.py @@ -1,6 +1,6 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -155,23 +155,7 @@ for filename in filename_list: continue m = re.search(re_license, text) if m: - gdict = m.groupdict() - last_modified = int(subprocess.check_output('git log -1 --format="%ad" --date=short -- ' + filename, shell=True)[0:4]) - latest_claimed = int(gdict['last_year']) - if last_modified > latest_claimed: - print '%s modified %d but copyright only extends to %d' % (filename, last_modified, latest_claimed) - ok = False - if args.fix: - span_start, span_end = m.span(2) - if not gdict['first_year']: - # prepend the old year to the current one. - text = '{}-{}{}'.format(text[:span_end], last_modified, text[span_end:]) - else: # already a year range - # simply update the last year - text = '{}{}{}'.format(text[:span_start], last_modified, text[span_end:]) - save(filename, text) - print 'Fixed!' - ok = True + pass elif 'DO NOT EDIT' not in text and 'AssemblyInfo.cs' not in filename and filename != 'src/boringssl/err_data.c': log(1, 'copyright missing', filename) ok = False diff --git a/tools/distrib/check_include_guards.py b/tools/distrib/check_include_guards.py index 463e3168858a893c9018f4dbd8f229c48aa61ca3..6406fe6ae700ecf89bcfadc134b00873a23f4650 100755 --- a/tools/distrib/check_include_guards.py +++ b/tools/distrib/check_include_guards.py @@ -167,7 +167,7 @@ argp.add_argument('--precommit', args = argp.parse_args() KNOWN_BAD = set([ - 'src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h', + 'src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h', ]) diff --git a/tools/distrib/check_nanopb_output.sh b/tools/distrib/check_nanopb_output.sh index e0a60946a99786caf04952e0a4d880b31580cc80..4f68e4c596f528656dba21f389cdd4593ba51bf2 100755 --- a/tools/distrib/check_nanopb_output.sh +++ b/tools/distrib/check_nanopb_output.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -60,7 +60,7 @@ PATH="$PROTOC_PATH:$PATH" ./tools/codegen/core/gen_load_balancing_proto.sh \ $NANOPB_TMP_OUTPUT # compare outputs to checked compiled code -if ! diff -r $NANOPB_TMP_OUTPUT src/core/lib/proto/grpc/lb/v0; then - echo "Outputs differ: $NANOPB_TMP_OUTPUT vs src/core/lib/proto/grpc/lb/v0" +if ! diff -r $NANOPB_TMP_OUTPUT src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0; then + echo "Outputs differ: $NANOPB_TMP_OUTPUT vs src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0" exit 2 fi diff --git a/tools/distrib/check_windows_dlls.sh b/tools/distrib/check_windows_dlls.sh index efb66e9e75cbd1e6d309dd6125c041bdfe807270..65ac353558d4347f10595c1778e12c85b06bb3b1 100755 --- a/tools/distrib/check_windows_dlls.sh +++ b/tools/distrib/check_windows_dlls.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/distrib/clang_format_code.sh b/tools/distrib/clang_format_code.sh index d904a841d4eadef54fbe52e12c338e5d1eb18cd5..858e07489816a7f59f273e058c9d7310db2df319 100755 --- a/tools/distrib/clang_format_code.sh +++ b/tools/distrib/clang_format_code.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/distrib/python/docgen.py b/tools/distrib/python/docgen.py index 161d83e3b7f187665a10bc86e73c39756600852b..72c65ad14a885a05e05edc746760db9202d9c955 100755 --- a/tools/distrib/python/docgen.py +++ b/tools/distrib/python/docgen.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/distrib/python/submit.py b/tools/distrib/python/submit.py index 9b012be672024b2af153ac03741e31a7cd3bdfb5..f581b7705c48cde62744d49ddd1404084797cd90 100755 --- a/tools/distrib/python/submit.py +++ b/tools/distrib/python/submit.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/csharp_centos7_x64/Dockerfile b/tools/dockerfile/distribtest/csharp_centos7_x64/Dockerfile index 03b5b364f8ec5ace65f16a11c9da991ecaff3550..c917b2911346a269c0d07332951f955a71151336 100644 --- a/tools/dockerfile/distribtest/csharp_centos7_x64/Dockerfile +++ b/tools/dockerfile/distribtest/csharp_centos7_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/csharp_jessie_x64/Dockerfile b/tools/dockerfile/distribtest/csharp_jessie_x64/Dockerfile index 1cadba3b7b9673a8242f7aa59dbeb2d495b6f8fc..249095a47b97e5197f39b0d60381beb09d5f2ef3 100644 --- a/tools/dockerfile/distribtest/csharp_jessie_x64/Dockerfile +++ b/tools/dockerfile/distribtest/csharp_jessie_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/csharp_jessie_x86/Dockerfile b/tools/dockerfile/distribtest/csharp_jessie_x86/Dockerfile index be962828c285d4b1ee76ef129b0a890185f3ee8e..9eda551d9c18c7c8968f71580d8b2be9b9e94f76 100644 --- a/tools/dockerfile/distribtest/csharp_jessie_x86/Dockerfile +++ b/tools/dockerfile/distribtest/csharp_jessie_x86/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/csharp_ubuntu1404_x64/Dockerfile b/tools/dockerfile/distribtest/csharp_ubuntu1404_x64/Dockerfile index 3d04d032b5aef951917ead659b24affcb269d235..85daea450dbc9bfeb0fd308503a2cdb036bd2dfd 100644 --- a/tools/dockerfile/distribtest/csharp_ubuntu1404_x64/Dockerfile +++ b/tools/dockerfile/distribtest/csharp_ubuntu1404_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/csharp_ubuntu1504_x64/Dockerfile b/tools/dockerfile/distribtest/csharp_ubuntu1504_x64/Dockerfile index 5eec570491cf80cef56c72b09a5858af9cf5184a..ec16105155b005345a6550a863f1e0ffed5da4f2 100644 --- a/tools/dockerfile/distribtest/csharp_ubuntu1504_x64/Dockerfile +++ b/tools/dockerfile/distribtest/csharp_ubuntu1504_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/csharp_ubuntu1510_x64/Dockerfile b/tools/dockerfile/distribtest/csharp_ubuntu1510_x64/Dockerfile index a6d60fb4b9102df6be5561aed0ea56b3536facad..110aa2ab86804cb483a4696836f088c6a4b35c94 100644 --- a/tools/dockerfile/distribtest/csharp_ubuntu1510_x64/Dockerfile +++ b/tools/dockerfile/distribtest/csharp_ubuntu1510_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/csharp_ubuntu1604_x64/Dockerfile b/tools/dockerfile/distribtest/csharp_ubuntu1604_x64/Dockerfile index 61472704d7d15c3a9e414c45002af6431fc00cba..4ef076669bb4d95f0035c0afb9d2dabe0e2470a5 100644 --- a/tools/dockerfile/distribtest/csharp_ubuntu1604_x64/Dockerfile +++ b/tools/dockerfile/distribtest/csharp_ubuntu1604_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/csharp_wheezy_x64/Dockerfile b/tools/dockerfile/distribtest/csharp_wheezy_x64/Dockerfile index 9039c3c509f57f0c1b8bd99bdce5b58e2b75e576..d9e64fe9d19afea6cbbccd5c22e82eef1d98bc55 100644 --- a/tools/dockerfile/distribtest/csharp_wheezy_x64/Dockerfile +++ b/tools/dockerfile/distribtest/csharp_wheezy_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/php_jessie_x64/Dockerfile b/tools/dockerfile/distribtest/php_jessie_x64/Dockerfile index d5d3fd626ff9398fed6e78085127cc932079321d..e8cd6e760e2af3343803481f4b321e7ababd45c3 100644 --- a/tools/dockerfile/distribtest/php_jessie_x64/Dockerfile +++ b/tools/dockerfile/distribtest/php_jessie_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_arch_x64/Dockerfile b/tools/dockerfile/distribtest/python_arch_x64/Dockerfile index c4f2431080e559ace3058308df542e9ed7ab20dd..2f79cc3017aa99fa4d212a6f6a0ae3cc7186c29b 100644 --- a/tools/dockerfile/distribtest/python_arch_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_arch_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_centos6_x64/Dockerfile b/tools/dockerfile/distribtest/python_centos6_x64/Dockerfile index 79dae0742f2d353f43c568a2ce3bf545e3b50c36..d4f473792e1b6189cbf8b0ae9aadeb1e4e1943d5 100644 --- a/tools/dockerfile/distribtest/python_centos6_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_centos6_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_centos7_x64/Dockerfile b/tools/dockerfile/distribtest/python_centos7_x64/Dockerfile index 114957b573062e71ff9c0380807682ba84972086..ca64fa7bea9327356fbc9eda56cb1043332abf92 100644 --- a/tools/dockerfile/distribtest/python_centos7_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_centos7_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_fedora20_x64/Dockerfile b/tools/dockerfile/distribtest/python_fedora20_x64/Dockerfile index 5e6cb1576292412407c3cfae5cf892e85ef601e5..8b0f769c2638a1ae47dfc9e565b9e1d7a3a1187d 100644 --- a/tools/dockerfile/distribtest/python_fedora20_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_fedora20_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_fedora21_x64/Dockerfile b/tools/dockerfile/distribtest/python_fedora21_x64/Dockerfile index f1b0e2f4b223634ee6ad232202fdbc71d4579989..fcbe053f1fc2094fd6e5a00d3854fd888bc3298b 100644 --- a/tools/dockerfile/distribtest/python_fedora21_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_fedora21_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_fedora22_x64/Dockerfile b/tools/dockerfile/distribtest/python_fedora22_x64/Dockerfile index c6415946c3b56b6dc17ecff4dc82550255428a29..ddcacb4257d7a74c9a9b56baa70c9f772977dbc6 100644 --- a/tools/dockerfile/distribtest/python_fedora22_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_fedora22_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_fedora23_x64/Dockerfile b/tools/dockerfile/distribtest/python_fedora23_x64/Dockerfile index 6c834d2bc2f84ba6a1fc4287925f3280adf3c1fc..d45195e509c8f56d91e4f1edb342c1c7f81fb028 100644 --- a/tools/dockerfile/distribtest/python_fedora23_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_fedora23_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_jessie_x64/Dockerfile b/tools/dockerfile/distribtest/python_jessie_x64/Dockerfile index 5778d604c8ebe4ab671630aa21b22e7cca4f9b81..83df4ed4fae9b802befed336bf361eba0cf8fb98 100644 --- a/tools/dockerfile/distribtest/python_jessie_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_jessie_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_jessie_x86/Dockerfile b/tools/dockerfile/distribtest/python_jessie_x86/Dockerfile index e9cf99142b8c0783848ca4091910c81accd7527f..19addb29120ce4b703a67c76b27f2fd205ff65cf 100644 --- a/tools/dockerfile/distribtest/python_jessie_x86/Dockerfile +++ b/tools/dockerfile/distribtest/python_jessie_x86/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_opensuse_x64/Dockerfile b/tools/dockerfile/distribtest/python_opensuse_x64/Dockerfile index ea5d4c72a14119324d8a356c6deea2532f13d0e8..fe1406be98c978591cf1d84b7a4dbf76dd679d65 100644 --- a/tools/dockerfile/distribtest/python_opensuse_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_opensuse_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_ubuntu1204_x64/Dockerfile b/tools/dockerfile/distribtest/python_ubuntu1204_x64/Dockerfile index a48ce0eeefd8299025e0185385862f35f98eb574..4068fbe2bad0e7f2c0e8ae09b9c50238cff90a90 100644 --- a/tools/dockerfile/distribtest/python_ubuntu1204_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_ubuntu1204_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_ubuntu1404_x64/Dockerfile b/tools/dockerfile/distribtest/python_ubuntu1404_x64/Dockerfile index 18dbfd46573e7d91f25b8b8b48417ac5fb3e50f3..0858fb0c06490666905332f4aee891aac289b3c1 100644 --- a/tools/dockerfile/distribtest/python_ubuntu1404_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_ubuntu1404_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_ubuntu1504_x64/Dockerfile b/tools/dockerfile/distribtest/python_ubuntu1504_x64/Dockerfile index 444a54d14bae0020f688f693b9e0a3c068f595aa..ed6ffddbec72f980dae23853c71f383dafc46b82 100644 --- a/tools/dockerfile/distribtest/python_ubuntu1504_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_ubuntu1504_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_ubuntu1510_x64/Dockerfile b/tools/dockerfile/distribtest/python_ubuntu1510_x64/Dockerfile index 245ffb94137c42878ba660901c19b62d64d93abf..9e3e0c260f635a7474b20177742de53aff29e4b5 100644 --- a/tools/dockerfile/distribtest/python_ubuntu1510_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_ubuntu1510_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_ubuntu1604_x64/Dockerfile b/tools/dockerfile/distribtest/python_ubuntu1604_x64/Dockerfile index a1ac3051ba9056b3f90f6ba97d233db867cbab31..5098da8a26f29a6197c3edb7e2146d627b1f17c6 100644 --- a/tools/dockerfile/distribtest/python_ubuntu1604_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_ubuntu1604_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/python_wheezy_x64/Dockerfile b/tools/dockerfile/distribtest/python_wheezy_x64/Dockerfile index 46353b92d62f093bd083bb12d0776deb86d1fd7c..66165ee9296a2907bc5a3f1fe6b7211ded13d2f7 100644 --- a/tools/dockerfile/distribtest/python_wheezy_x64/Dockerfile +++ b/tools/dockerfile/distribtest/python_wheezy_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_centos6_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_centos6_x64/Dockerfile index b943b67e8a5441ddab3d909711236bc8d7507a80..dcfc07a681612a3c1966e2a3c41e8e7060b1164b 100644 --- a/tools/dockerfile/distribtest/ruby_centos6_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_centos6_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_centos7_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_centos7_x64/Dockerfile index 85650201fb9a0b46c261de5b06b91e0182b1c63e..056bd45ecc36b496696b70177300bcf02fb10cec 100644 --- a/tools/dockerfile/distribtest/ruby_centos7_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_centos7_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_fedora20_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_fedora20_x64/Dockerfile index 437337ed9a2488270a0d814ace0cb1fc9481b230..f4151e7c4f386065c25c05f6344647faa73da7ff 100644 --- a/tools/dockerfile/distribtest/ruby_fedora20_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_fedora20_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_fedora21_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_fedora21_x64/Dockerfile index b567c5b10922bcc458c559a7527455beb0332e19..78d7575a86d52361ff763b4b3e64977f1a09530a 100644 --- a/tools/dockerfile/distribtest/ruby_fedora21_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_fedora21_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_fedora22_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_fedora22_x64/Dockerfile index 58d3d9341a733c79268068b209de78842ecd862f..f574c62493a48a565a6a1250107fb75556efdfae 100644 --- a/tools/dockerfile/distribtest/ruby_fedora22_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_fedora22_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_fedora23_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_fedora23_x64/Dockerfile index 9f07f51e5666a43600cb9d42ad9e6b3bd3e1ac04..fe6c72aa69f52477580729aa8930d52c0e4683af 100644 --- a/tools/dockerfile/distribtest/ruby_fedora23_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_fedora23_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_jessie_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_jessie_x64/Dockerfile index cc377b7a589d5d6a4a39f34604168376e7f29da7..57f98efcd044532b0bf9a82e6ce6d1d6bfbb9fc9 100644 --- a/tools/dockerfile/distribtest/ruby_jessie_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_jessie_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_jessie_x86/Dockerfile b/tools/dockerfile/distribtest/ruby_jessie_x86/Dockerfile index 3fe3e2bdced137ecf3af1d23426bb27c3a036068..938bc5edf1c212cdb7c6d5e5fe8ca86532d92cf1 100644 --- a/tools/dockerfile/distribtest/ruby_jessie_x86/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_jessie_x86/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_opensuse_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_opensuse_x64/Dockerfile index c98d6911a383e90f9499c6367bb134f9ffa600a5..c5b011316c8b17c38631d474b476e40718b0425c 100644 --- a/tools/dockerfile/distribtest/ruby_opensuse_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_opensuse_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_ubuntu1204_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_ubuntu1204_x64/Dockerfile index 782368bf8d10a5f6e655dff2079de394723faa91..0aab241be5dd3d6a6694b06fb92386b7bfe2fe9a 100644 --- a/tools/dockerfile/distribtest/ruby_ubuntu1204_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_ubuntu1204_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_ubuntu1404_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_ubuntu1404_x64/Dockerfile index 53fb4d5ab5e4f24060e2394566d9ebfb39824c08..324f51e55c5f82bdf8abd5d078efdacaa1fbc20d 100644 --- a/tools/dockerfile/distribtest/ruby_ubuntu1404_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_ubuntu1404_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_ubuntu1504_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_ubuntu1504_x64/Dockerfile index 3225166e63518cf950c7b861b52ed85289101ee5..762734bcb87836c9887a3b3e675b53218b42ea4a 100644 --- a/tools/dockerfile/distribtest/ruby_ubuntu1504_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_ubuntu1504_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_ubuntu1510_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_ubuntu1510_x64/Dockerfile index df93360a641384205d45dca13b09ab44f3c4b7f8..3ac61a077ebbafb6ccc5a30127fa68d377652054 100644 --- a/tools/dockerfile/distribtest/ruby_ubuntu1510_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_ubuntu1510_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_ubuntu1604_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_ubuntu1604_x64/Dockerfile index f0c2e80ac64425d204368cc9cf3921bb0516cc6b..40fc6bea9eafb469f2c918b421405061ab3b23a0 100644 --- a/tools/dockerfile/distribtest/ruby_ubuntu1604_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_ubuntu1604_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/distribtest/ruby_wheezy_x64/Dockerfile b/tools/dockerfile/distribtest/ruby_wheezy_x64/Dockerfile index ee4e0fc5de1da9d4da0df15661b11be30e2f2e2f..9ae2ee293438c290a12c159010f34fef16ff254a 100644 --- a/tools/dockerfile/distribtest/ruby_wheezy_x64/Dockerfile +++ b/tools/dockerfile/distribtest/ruby_wheezy_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_clang_format/Dockerfile b/tools/dockerfile/grpc_clang_format/Dockerfile index be2ffc58cf97366423d5ada58472da58621c176b..41239e9c23b3ceb615504b229ab3d3e8804f5bf0 100644 --- a/tools/dockerfile/grpc_clang_format/Dockerfile +++ b/tools/dockerfile/grpc_clang_format/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh b/tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh index a50ca17411451f1eea8f19c4b5afd32305f9699f..6f4155944c3bc609f7fc1ceaf8c40c406f441f3f 100755 --- a/tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh +++ b/tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ set -e # directories to run against -DIRS="src/core src/cpp test/core test/cpp include" +DIRS="src/core/lib src/core/ext src/cpp test/core test/cpp include" # file matching patterns to check GLOB="*.h *.c *.cc" diff --git a/tools/dockerfile/grpc_interop_csharp/Dockerfile b/tools/dockerfile/grpc_interop_csharp/Dockerfile index c3c79487f7ae4197178f2ec4a403b8bc479b51b8..3789cd3203842cbde3e195a6f448b4a359450ece 100644 --- a/tools/dockerfile/grpc_interop_csharp/Dockerfile +++ b/tools/dockerfile/grpc_interop_csharp/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_csharp/build_interop.sh b/tools/dockerfile/grpc_interop_csharp/build_interop.sh index 5ad525f41c5af2998d226d395e17a8ada930b2e7..dc1f7a331ab0350388e755021d11440b166cf002 100755 --- a/tools/dockerfile/grpc_interop_csharp/build_interop.sh +++ b/tools/dockerfile/grpc_interop_csharp/build_interop.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_cxx/Dockerfile b/tools/dockerfile/grpc_interop_cxx/Dockerfile index 58a8c32e344fa4944c62e233eeb05151279be998..1fa190753304cc86466d738391f8ef89c0e8c055 100644 --- a/tools/dockerfile/grpc_interop_cxx/Dockerfile +++ b/tools/dockerfile/grpc_interop_cxx/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_cxx/build_interop.sh b/tools/dockerfile/grpc_interop_cxx/build_interop.sh index 903c31b3e78c3997d9514b7c378176face3d5d9b..1c0828d23a6ea6ced82f87b80fc91ce7c306bcde 100755 --- a/tools/dockerfile/grpc_interop_cxx/build_interop.sh +++ b/tools/dockerfile/grpc_interop_cxx/build_interop.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_go/Dockerfile b/tools/dockerfile/grpc_interop_go/Dockerfile index f83e18c8a3182b0488e93b30b82e1489728aa17b..bb60f09f24748254da3bfc3cfb2ffa2b08f8ba88 100644 --- a/tools/dockerfile/grpc_interop_go/Dockerfile +++ b/tools/dockerfile/grpc_interop_go/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_go/build_interop.sh b/tools/dockerfile/grpc_interop_go/build_interop.sh index 224b0040c04e35a1bd28ccc66a6968c4ae74da9e..e8915493422178065827ade845649b6530c7c627 100755 --- a/tools/dockerfile/grpc_interop_go/build_interop.sh +++ b/tools/dockerfile/grpc_interop_go/build_interop.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_http2/Dockerfile b/tools/dockerfile/grpc_interop_http2/Dockerfile index f83e18c8a3182b0488e93b30b82e1489728aa17b..bb60f09f24748254da3bfc3cfb2ffa2b08f8ba88 100644 --- a/tools/dockerfile/grpc_interop_http2/Dockerfile +++ b/tools/dockerfile/grpc_interop_http2/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_http2/build_interop.sh b/tools/dockerfile/grpc_interop_http2/build_interop.sh index 5f701e34c0dce4d6d54afa2f9dc254e614f56c2a..46ddaf929a8f39731dce016cc814240556e4d206 100755 --- a/tools/dockerfile/grpc_interop_http2/build_interop.sh +++ b/tools/dockerfile/grpc_interop_http2/build_interop.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_java/Dockerfile b/tools/dockerfile/grpc_interop_java/Dockerfile index 8bfb796c24be88e4cc7ba90c24a7d85a971dbc8f..370657b651f6ac811dbeb3da24d361b1bca7b2b8 100644 --- a/tools/dockerfile/grpc_interop_java/Dockerfile +++ b/tools/dockerfile/grpc_interop_java/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_java/build_interop.sh b/tools/dockerfile/grpc_interop_java/build_interop.sh index 9c9591abd8741947fbef7e04b0e197f06c4411d4..9997c63308b50fa739840c84b7d0100d47570b60 100755 --- a/tools/dockerfile/grpc_interop_java/build_interop.sh +++ b/tools/dockerfile/grpc_interop_java/build_interop.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_node/Dockerfile b/tools/dockerfile/grpc_interop_node/Dockerfile index 3f0f918ad9e5021ff02d35fe847d951d13631c32..db5aff844de1aa96584e56d7a3ee3b474c7cf345 100644 --- a/tools/dockerfile/grpc_interop_node/Dockerfile +++ b/tools/dockerfile/grpc_interop_node/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_node/build_interop.sh b/tools/dockerfile/grpc_interop_node/build_interop.sh index 526dd61fdfc2725d9b38ce1ef987ea0b7e97918a..4d4290d0b4112671f7d32d8971c6169169be7c7b 100755 --- a/tools/dockerfile/grpc_interop_node/build_interop.sh +++ b/tools/dockerfile/grpc_interop_node/build_interop.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_php/Dockerfile b/tools/dockerfile/grpc_interop_php/Dockerfile index 4f5b3fcb77746013f779d38612ea88dd1e158301..cf3e79176a55d1e188cc6b3779f003b01f904661 100644 --- a/tools/dockerfile/grpc_interop_php/Dockerfile +++ b/tools/dockerfile/grpc_interop_php/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_php/build_interop.sh b/tools/dockerfile/grpc_interop_php/build_interop.sh index 2bffbd89384d94d080d13f7b414da15deba4e898..87262f1d62983d601f5c159cb504560175d6af69 100755 --- a/tools/dockerfile/grpc_interop_php/build_interop.sh +++ b/tools/dockerfile/grpc_interop_php/build_interop.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_python/Dockerfile b/tools/dockerfile/grpc_interop_python/Dockerfile index ef4432d26047d08f55a256d5c83668c5b5b478be..047604b1b7975b11c0cf0d719ad1ae46e4990965 100644 --- a/tools/dockerfile/grpc_interop_python/Dockerfile +++ b/tools/dockerfile/grpc_interop_python/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_python/build_interop.sh b/tools/dockerfile/grpc_interop_python/build_interop.sh index ed736809bc7718b80876ccac9cf42f99c31e5e0f..6454a4f5e25c8cf91c8c0c08bdc4a8cf9a8f2e08 100755 --- a/tools/dockerfile/grpc_interop_python/build_interop.sh +++ b/tools/dockerfile/grpc_interop_python/build_interop.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_ruby/Dockerfile b/tools/dockerfile/grpc_interop_ruby/Dockerfile index b3383afe79e46bcd10748e59d3b45cfeef54e228..ff201fa291e52147bb4d68465144bd7d483dad5a 100644 --- a/tools/dockerfile/grpc_interop_ruby/Dockerfile +++ b/tools/dockerfile/grpc_interop_ruby/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_ruby/build_interop.sh b/tools/dockerfile/grpc_interop_ruby/build_interop.sh index 84fd4995f1cd5d63bbee2c2864abccd206d5e0b4..685397bac2d4f4f71f93a6f0aeb57d721cd28008 100755 --- a/tools/dockerfile/grpc_interop_ruby/build_interop.sh +++ b/tools/dockerfile/grpc_interop_ruby/build_interop.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_linuxbrew/Dockerfile b/tools/dockerfile/grpc_linuxbrew/Dockerfile index 8c179da6c8696faf0d08028b72b7157aea1f3728..848489e091ce7efddd8577136206d37e22aa6cdc 100644 --- a/tools/dockerfile/grpc_linuxbrew/Dockerfile +++ b/tools/dockerfile/grpc_linuxbrew/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/grpc_interop_stress_cxx/Dockerfile b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/Dockerfile similarity index 100% rename from tools/dockerfile/grpc_interop_stress_cxx/Dockerfile rename to tools/dockerfile/stress_test/grpc_interop_stress_cxx/Dockerfile diff --git a/tools/dockerfile/grpc_interop_stress_cxx/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh similarity index 98% rename from tools/dockerfile/grpc_interop_stress_cxx/build_interop_stress.sh rename to tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh index 470db4c13fb7cfb9d35e00273278e10f94a88cd4..b67b1a1664ab1561f601fe7b5b259ad97b1b6b84 100755 --- a/tools/dockerfile/grpc_interop_stress_cxx/build_interop_stress.sh +++ b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_node/Dockerfile b/tools/dockerfile/stress_test/grpc_interop_stress_node/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..f70add4e31a8e4f47c45a436548523ab14a4a91f --- /dev/null +++ b/tools/dockerfile/stress_test/grpc_interop_stress_node/Dockerfile @@ -0,0 +1,95 @@ +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +FROM debian:jessie + +# Install Git and basic packages. +RUN apt-get update && apt-get install -y \ + autoconf \ + autotools-dev \ + build-essential \ + bzip2 \ + ccache \ + curl \ + gcc \ + gcc-multilib \ + git \ + golang \ + gyp \ + lcov \ + libc6 \ + libc6-dbg \ + libc6-dev \ + libgtest-dev \ + libtool \ + make \ + perl \ + strace \ + python-dev \ + python-setuptools \ + python-yaml \ + telnet \ + unzip \ + wget \ + zip && apt-get clean + +#================ +# Build profiling +RUN apt-get update && apt-get install -y time && apt-get clean + +#================== +# Node dependencies + +# Install nvm +RUN touch .profile +RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash +RUN /bin/bash -l -c "nvm install 0.12 && npm config set cache /tmp/npm-cache" + +# Google Cloud platform API libraries +RUN apt-get update && apt-get install -y python-pip && apt-get clean +RUN pip install --upgrade google-api-python-client + + +# Prepare ccache +RUN ln -s /usr/bin/ccache /usr/local/bin/gcc +RUN ln -s /usr/bin/ccache /usr/local/bin/g++ +RUN ln -s /usr/bin/ccache /usr/local/bin/cc +RUN ln -s /usr/bin/ccache /usr/local/bin/c++ +RUN ln -s /usr/bin/ccache /usr/local/bin/clang +RUN ln -s /usr/bin/ccache /usr/local/bin/clang++ + +#====================== +# Zookeeper dependencies +# TODO(jtattermusch): is zookeeper still needed? +RUN apt-get install -y libzookeeper-mt-dev + +RUN mkdir /var/local/jenkins + +# Define the default command. +CMD ["bash"] diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh new file mode 100755 index 0000000000000000000000000000000000000000..b99fd444eeadfce07819a60d1cd752fc3054953f --- /dev/null +++ b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# Copyright 2015, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Builds Node interop server and client in a base image. +set -e + +mkdir -p /var/local/git +git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc + +# copy service account keys if available +cp -r /var/local/jenkins/service_account $HOME || true + +cd /var/local/git/grpc +nvm use 0.12 +nvm alias default 0.12 # prevent the need to run 'nvm use' in every shell + +# build Node interop client & server +npm install -g node-gyp +npm install --unsafe-perm --build-from-source diff --git a/tools/dockerfile/test/csharp_jessie_x64/Dockerfile b/tools/dockerfile/test/csharp_jessie_x64/Dockerfile index 0052de6130b7d83543ff8117d31873a318b4c5d1..baab2f5638040b5d19b6382f0c9eec1def4e2690 100644 --- a/tools/dockerfile/test/csharp_jessie_x64/Dockerfile +++ b/tools/dockerfile/test/csharp_jessie_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/test/cxx_jessie_x64/Dockerfile b/tools/dockerfile/test/cxx_jessie_x64/Dockerfile index 6c7aece4ff5c71c324e6c4776664012649ca9984..649215892994b77c33ffa008ac3028131296cbfb 100644 --- a/tools/dockerfile/test/cxx_jessie_x64/Dockerfile +++ b/tools/dockerfile/test/cxx_jessie_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/test/cxx_jessie_x86/Dockerfile b/tools/dockerfile/test/cxx_jessie_x86/Dockerfile index 9a8f2b1cca385742ab842e6dc679ffeffc6aa5d9..92c9c4ce86e25cbeb6ebe4234a4010414245171b 100644 --- a/tools/dockerfile/test/cxx_jessie_x86/Dockerfile +++ b/tools/dockerfile/test/cxx_jessie_x86/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/test/cxx_ubuntu1404_x64/Dockerfile b/tools/dockerfile/test/cxx_ubuntu1404_x64/Dockerfile index e8dab1b4712498f2341760f68901bd3f14400f90..1e43e6b25c86076b8765c2dcbab31766fc9e7f4f 100644 --- a/tools/dockerfile/test/cxx_ubuntu1404_x64/Dockerfile +++ b/tools/dockerfile/test/cxx_ubuntu1404_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/test/cxx_ubuntu1604_x64/Dockerfile b/tools/dockerfile/test/cxx_ubuntu1604_x64/Dockerfile index c6fe79b42c064aa1cc29be1fde790531fa449b62..02d3c0d9ad6911ea8c8c19ddf06f44e3159fcc57 100644 --- a/tools/dockerfile/test/cxx_ubuntu1604_x64/Dockerfile +++ b/tools/dockerfile/test/cxx_ubuntu1604_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/test/fuzzer/Dockerfile b/tools/dockerfile/test/fuzzer/Dockerfile index 7b35c009e3780478e9cad62df0a8ea43c636210a..6ba31114ab6620d82efd3c28645f7034b96bb5ab 100644 --- a/tools/dockerfile/test/fuzzer/Dockerfile +++ b/tools/dockerfile/test/fuzzer/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/test/node_jessie_x64/Dockerfile b/tools/dockerfile/test/node_jessie_x64/Dockerfile index 0655bf7179e8c743d275bf8f7697da2c041dda7a..64314f88642bd1f30834da87e68283f63c0e7e51 100644 --- a/tools/dockerfile/test/node_jessie_x64/Dockerfile +++ b/tools/dockerfile/test/node_jessie_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/test/php_jessie_x64/Dockerfile b/tools/dockerfile/test/php_jessie_x64/Dockerfile index 43081e7d38ac3fbba4bdec28862d12a52d34e3e6..d8d27846c16d0ab19a98b2188dc12a8623d6f852 100644 --- a/tools/dockerfile/test/php_jessie_x64/Dockerfile +++ b/tools/dockerfile/test/php_jessie_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/test/python_jessie_x64/Dockerfile b/tools/dockerfile/test/python_jessie_x64/Dockerfile index 7ed8b4c085fbe8880e150828a59bb79652fd3e0b..071fb2c93b139292026f106e8802535f4ab7e7d6 100644 --- a/tools/dockerfile/test/python_jessie_x64/Dockerfile +++ b/tools/dockerfile/test/python_jessie_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/test/ruby_jessie_x64/Dockerfile b/tools/dockerfile/test/ruby_jessie_x64/Dockerfile index 91af772d72b644f25aee888e66c378242196dbf2..df8eef54385292da68685464894d61b56cb60af4 100644 --- a/tools/dockerfile/test/ruby_jessie_x64/Dockerfile +++ b/tools/dockerfile/test/ruby_jessie_x64/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/dockerfile/test/sanity/Dockerfile b/tools/dockerfile/test/sanity/Dockerfile index 4a69cd8c00ecdd836410c18ae851c10d01134400..57032155e3f1a3a66a9e0f42b106efb75e502c30 100644 --- a/tools/dockerfile/test/sanity/Dockerfile +++ b/tools/dockerfile/test/sanity/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++ index fe7962babd2967e6288b784d80bc7954cef1f5e4..8d0c6e6c93f91aad326605f73f7bb5b461eb46b2 100644 --- a/tools/doxygen/Doxyfile.c++ +++ b/tools/doxygen/Doxyfile.c++ @@ -770,37 +770,6 @@ include/grpc++/generic/generic_stub.h \ include/grpc++/grpc++.h \ include/grpc++/impl/call.h \ include/grpc++/impl/client_unary_call.h \ -include/grpc++/impl/codegen/async_stream.h \ -include/grpc++/impl/codegen/async_unary_call.h \ -include/grpc++/impl/codegen/call.h \ -include/grpc++/impl/codegen/call_hook.h \ -include/grpc++/impl/codegen/channel_interface.h \ -include/grpc++/impl/codegen/client_context.h \ -include/grpc++/impl/codegen/client_unary_call.h \ -include/grpc++/impl/codegen/completion_queue.h \ -include/grpc++/impl/codegen/completion_queue_tag.h \ -include/grpc++/impl/codegen/config.h \ -include/grpc++/impl/codegen/config_protobuf.h \ -include/grpc++/impl/codegen/core_codegen_interface.h \ -include/grpc++/impl/codegen/grpc_library.h \ -include/grpc++/impl/codegen/method_handler_impl.h \ -include/grpc++/impl/codegen/proto_utils.h \ -include/grpc++/impl/codegen/rpc_method.h \ -include/grpc++/impl/codegen/rpc_service_method.h \ -include/grpc++/impl/codegen/security/auth_context.h \ -include/grpc++/impl/codegen/serialization_traits.h \ -include/grpc++/impl/codegen/server_context.h \ -include/grpc++/impl/codegen/server_interface.h \ -include/grpc++/impl/codegen/service_type.h \ -include/grpc++/impl/codegen/status.h \ -include/grpc++/impl/codegen/status_code_enum.h \ -include/grpc++/impl/codegen/string_ref.h \ -include/grpc++/impl/codegen/stub_options.h \ -include/grpc++/impl/codegen/sync.h \ -include/grpc++/impl/codegen/sync_cxx11.h \ -include/grpc++/impl/codegen/sync_no_cxx11.h \ -include/grpc++/impl/codegen/sync_stream.h \ -include/grpc++/impl/codegen/time.h \ include/grpc++/impl/grpc_library.h \ include/grpc++/impl/method_handler_impl.h \ include/grpc++/impl/proto_utils.h \ @@ -826,15 +795,66 @@ include/grpc++/support/async_stream.h \ include/grpc++/support/async_unary_call.h \ include/grpc++/support/byte_buffer.h \ include/grpc++/support/channel_arguments.h \ -include/grpc++/support/config.h \ -include/grpc++/support/config_protobuf.h \ include/grpc++/support/slice.h \ include/grpc++/support/status.h \ include/grpc++/support/status_code_enum.h \ include/grpc++/support/string_ref.h \ include/grpc++/support/stub_options.h \ include/grpc++/support/sync_stream.h \ -include/grpc++/support/time.h +include/grpc++/support/time.h \ +include/grpc++/impl/codegen/async_stream.h \ +include/grpc++/impl/codegen/async_unary_call.h \ +include/grpc++/impl/codegen/call.h \ +include/grpc++/impl/codegen/call_hook.h \ +include/grpc++/impl/codegen/channel_interface.h \ +include/grpc++/impl/codegen/client_context.h \ +include/grpc++/impl/codegen/client_unary_call.h \ +include/grpc++/impl/codegen/completion_queue.h \ +include/grpc++/impl/codegen/completion_queue_tag.h \ +include/grpc++/impl/codegen/core_codegen_interface.h \ +include/grpc++/impl/codegen/grpc_library.h \ +include/grpc++/impl/codegen/method_handler_impl.h \ +include/grpc++/impl/codegen/proto_utils.h \ +include/grpc++/impl/codegen/rpc_method.h \ +include/grpc++/impl/codegen/rpc_service_method.h \ +include/grpc++/impl/codegen/security/auth_context.h \ +include/grpc++/impl/codegen/serialization_traits.h \ +include/grpc++/impl/codegen/server_context.h \ +include/grpc++/impl/codegen/server_interface.h \ +include/grpc++/impl/codegen/service_type.h \ +include/grpc++/impl/codegen/status.h \ +include/grpc++/impl/codegen/status_code_enum.h \ +include/grpc++/impl/codegen/string_ref.h \ +include/grpc++/impl/codegen/stub_options.h \ +include/grpc++/impl/codegen/sync.h \ +include/grpc++/impl/codegen/sync_cxx11.h \ +include/grpc++/impl/codegen/sync_no_cxx11.h \ +include/grpc++/impl/codegen/sync_stream.h \ +include/grpc++/impl/codegen/time.h \ +include/grpc/impl/codegen/byte_buffer.h \ +include/grpc/impl/codegen/compression_types.h \ +include/grpc/impl/codegen/connectivity_state.h \ +include/grpc/impl/codegen/grpc_types.h \ +include/grpc/impl/codegen/propagation_bits.h \ +include/grpc/impl/codegen/status.h \ +include/grpc/impl/codegen/alloc.h \ +include/grpc/impl/codegen/atm.h \ +include/grpc/impl/codegen/atm_gcc_atomic.h \ +include/grpc/impl/codegen/atm_gcc_sync.h \ +include/grpc/impl/codegen/atm_win32.h \ +include/grpc/impl/codegen/log.h \ +include/grpc/impl/codegen/port_platform.h \ +include/grpc/impl/codegen/slice.h \ +include/grpc/impl/codegen/slice_buffer.h \ +include/grpc/impl/codegen/sync.h \ +include/grpc/impl/codegen/sync_generic.h \ +include/grpc/impl/codegen/sync_posix.h \ +include/grpc/impl/codegen/sync_win32.h \ +include/grpc/impl/codegen/time.h \ +include/grpc++/impl/codegen/config.h \ +include/grpc++/impl/codegen/config_protobuf.h \ +include/grpc++/support/config.h \ +include/grpc++/support/config_protobuf.h # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index 30bf7bf126d43960d1619dfc62234f95dbb4b0b3..01bafbb600cdb86874039a80e755c158e6a1abe9 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -770,37 +770,6 @@ include/grpc++/generic/generic_stub.h \ include/grpc++/grpc++.h \ include/grpc++/impl/call.h \ include/grpc++/impl/client_unary_call.h \ -include/grpc++/impl/codegen/async_stream.h \ -include/grpc++/impl/codegen/async_unary_call.h \ -include/grpc++/impl/codegen/call.h \ -include/grpc++/impl/codegen/call_hook.h \ -include/grpc++/impl/codegen/channel_interface.h \ -include/grpc++/impl/codegen/client_context.h \ -include/grpc++/impl/codegen/client_unary_call.h \ -include/grpc++/impl/codegen/completion_queue.h \ -include/grpc++/impl/codegen/completion_queue_tag.h \ -include/grpc++/impl/codegen/config.h \ -include/grpc++/impl/codegen/config_protobuf.h \ -include/grpc++/impl/codegen/core_codegen_interface.h \ -include/grpc++/impl/codegen/grpc_library.h \ -include/grpc++/impl/codegen/method_handler_impl.h \ -include/grpc++/impl/codegen/proto_utils.h \ -include/grpc++/impl/codegen/rpc_method.h \ -include/grpc++/impl/codegen/rpc_service_method.h \ -include/grpc++/impl/codegen/security/auth_context.h \ -include/grpc++/impl/codegen/serialization_traits.h \ -include/grpc++/impl/codegen/server_context.h \ -include/grpc++/impl/codegen/server_interface.h \ -include/grpc++/impl/codegen/service_type.h \ -include/grpc++/impl/codegen/status.h \ -include/grpc++/impl/codegen/status_code_enum.h \ -include/grpc++/impl/codegen/string_ref.h \ -include/grpc++/impl/codegen/stub_options.h \ -include/grpc++/impl/codegen/sync.h \ -include/grpc++/impl/codegen/sync_cxx11.h \ -include/grpc++/impl/codegen/sync_no_cxx11.h \ -include/grpc++/impl/codegen/sync_stream.h \ -include/grpc++/impl/codegen/time.h \ include/grpc++/impl/grpc_library.h \ include/grpc++/impl/method_handler_impl.h \ include/grpc++/impl/proto_utils.h \ @@ -826,8 +795,6 @@ include/grpc++/support/async_stream.h \ include/grpc++/support/async_unary_call.h \ include/grpc++/support/byte_buffer.h \ include/grpc++/support/channel_arguments.h \ -include/grpc++/support/config.h \ -include/grpc++/support/config_protobuf.h \ include/grpc++/support/slice.h \ include/grpc++/support/status.h \ include/grpc++/support/status_code_enum.h \ @@ -835,14 +802,73 @@ include/grpc++/support/string_ref.h \ include/grpc++/support/stub_options.h \ include/grpc++/support/sync_stream.h \ include/grpc++/support/time.h \ -src/cpp/client/create_channel_internal.h \ +include/grpc++/impl/codegen/async_stream.h \ +include/grpc++/impl/codegen/async_unary_call.h \ +include/grpc++/impl/codegen/call.h \ +include/grpc++/impl/codegen/call_hook.h \ +include/grpc++/impl/codegen/channel_interface.h \ +include/grpc++/impl/codegen/client_context.h \ +include/grpc++/impl/codegen/client_unary_call.h \ +include/grpc++/impl/codegen/completion_queue.h \ +include/grpc++/impl/codegen/completion_queue_tag.h \ +include/grpc++/impl/codegen/core_codegen_interface.h \ +include/grpc++/impl/codegen/grpc_library.h \ +include/grpc++/impl/codegen/method_handler_impl.h \ +include/grpc++/impl/codegen/proto_utils.h \ +include/grpc++/impl/codegen/rpc_method.h \ +include/grpc++/impl/codegen/rpc_service_method.h \ +include/grpc++/impl/codegen/security/auth_context.h \ +include/grpc++/impl/codegen/serialization_traits.h \ +include/grpc++/impl/codegen/server_context.h \ +include/grpc++/impl/codegen/server_interface.h \ +include/grpc++/impl/codegen/service_type.h \ +include/grpc++/impl/codegen/status.h \ +include/grpc++/impl/codegen/status_code_enum.h \ +include/grpc++/impl/codegen/string_ref.h \ +include/grpc++/impl/codegen/stub_options.h \ +include/grpc++/impl/codegen/sync.h \ +include/grpc++/impl/codegen/sync_cxx11.h \ +include/grpc++/impl/codegen/sync_no_cxx11.h \ +include/grpc++/impl/codegen/sync_stream.h \ +include/grpc++/impl/codegen/time.h \ +include/grpc/impl/codegen/byte_buffer.h \ +include/grpc/impl/codegen/compression_types.h \ +include/grpc/impl/codegen/connectivity_state.h \ +include/grpc/impl/codegen/grpc_types.h \ +include/grpc/impl/codegen/propagation_bits.h \ +include/grpc/impl/codegen/status.h \ +include/grpc/impl/codegen/alloc.h \ +include/grpc/impl/codegen/atm.h \ +include/grpc/impl/codegen/atm_gcc_atomic.h \ +include/grpc/impl/codegen/atm_gcc_sync.h \ +include/grpc/impl/codegen/atm_win32.h \ +include/grpc/impl/codegen/log.h \ +include/grpc/impl/codegen/port_platform.h \ +include/grpc/impl/codegen/slice.h \ +include/grpc/impl/codegen/slice_buffer.h \ +include/grpc/impl/codegen/sync.h \ +include/grpc/impl/codegen/sync_generic.h \ +include/grpc/impl/codegen/sync_posix.h \ +include/grpc/impl/codegen/sync_win32.h \ +include/grpc/impl/codegen/time.h \ +include/grpc++/impl/codegen/config.h \ +include/grpc++/impl/codegen/config_protobuf.h \ +include/grpc++/support/config.h \ +include/grpc++/support/config_protobuf.h \ src/cpp/client/secure_credentials.h \ src/cpp/common/core_codegen.h \ -src/cpp/common/create_auth_context.h \ src/cpp/common/secure_auth_context.h \ -src/cpp/server/dynamic_thread_pool.h \ src/cpp/server/secure_server_credentials.h \ +src/cpp/client/create_channel_internal.h \ +src/cpp/common/create_auth_context.h \ +src/cpp/server/dynamic_thread_pool.h \ src/cpp/server/thread_pool_interface.h \ +src/cpp/client/secure_credentials.cc \ +src/cpp/common/auth_property_iterator.cc \ +src/cpp/common/secure_auth_context.cc \ +src/cpp/common/secure_channel_arguments.cc \ +src/cpp/common/secure_create_auth_context.cc \ +src/cpp/server/secure_server_credentials.cc \ src/cpp/client/channel.cc \ src/cpp/client/client_context.cc \ src/cpp/client/create_channel.cc \ @@ -850,21 +876,14 @@ src/cpp/client/create_channel_internal.cc \ src/cpp/client/credentials.cc \ src/cpp/client/generic_stub.cc \ src/cpp/client/insecure_credentials.cc \ -src/cpp/client/secure_credentials.cc \ -src/cpp/codegen/codegen_init.cc \ -src/cpp/common/auth_property_iterator.cc \ src/cpp/common/channel_arguments.cc \ src/cpp/common/completion_queue.cc \ src/cpp/common/core_codegen.cc \ src/cpp/common/rpc_method.cc \ -src/cpp/common/secure_auth_context.cc \ -src/cpp/common/secure_channel_arguments.cc \ -src/cpp/common/secure_create_auth_context.cc \ src/cpp/server/async_generic_service.cc \ src/cpp/server/create_default_thread_pool.cc \ src/cpp/server/dynamic_thread_pool.cc \ src/cpp/server/insecure_server_credentials.cc \ -src/cpp/server/secure_server_credentials.cc \ src/cpp/server/server.cc \ src/cpp/server/server_builder.cc \ src/cpp/server/server_context.cc \ @@ -873,7 +892,8 @@ src/cpp/util/byte_buffer.cc \ src/cpp/util/slice.cc \ src/cpp/util/status.cc \ src/cpp/util/string_ref.cc \ -src/cpp/util/time.cc +src/cpp/util/time.cc \ +src/cpp/codegen/codegen_init.cc # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/tools/doxygen/Doxyfile.core b/tools/doxygen/Doxyfile.core index 55f4ffe4b1e1fb939610c0194874671dc92cc32b..de6fd0de4999e227ffc97b55f91d5de0271154c3 100644 --- a/tools/doxygen/Doxyfile.core +++ b/tools/doxygen/Doxyfile.core @@ -762,17 +762,15 @@ WARN_LOGFILE = INPUT = include/grpc/byte_buffer.h \ include/grpc/byte_buffer_reader.h \ -include/grpc/census.h \ include/grpc/compression.h \ include/grpc/grpc.h \ -include/grpc/grpc_security.h \ +include/grpc/status.h \ include/grpc/impl/codegen/byte_buffer.h \ include/grpc/impl/codegen/compression_types.h \ include/grpc/impl/codegen/connectivity_state.h \ include/grpc/impl/codegen/grpc_types.h \ include/grpc/impl/codegen/propagation_bits.h \ include/grpc/impl/codegen/status.h \ -include/grpc/status.h \ include/grpc/impl/codegen/alloc.h \ include/grpc/impl/codegen/atm.h \ include/grpc/impl/codegen/atm_gcc_atomic.h \ @@ -787,6 +785,8 @@ include/grpc/impl/codegen/sync_generic.h \ include/grpc/impl/codegen/sync_posix.h \ include/grpc/impl/codegen/sync_win32.h \ include/grpc/impl/codegen/time.h \ +include/grpc/grpc_security.h \ +include/grpc/census.h \ include/grpc/support/alloc.h \ include/grpc/support/atm.h \ include/grpc/support/atm_gcc_atomic.h \ @@ -814,7 +814,21 @@ include/grpc/support/tls.h \ include/grpc/support/tls_gcc.h \ include/grpc/support/tls_msvc.h \ include/grpc/support/tls_pthread.h \ -include/grpc/support/useful.h +include/grpc/support/useful.h \ +include/grpc/impl/codegen/alloc.h \ +include/grpc/impl/codegen/atm.h \ +include/grpc/impl/codegen/atm_gcc_atomic.h \ +include/grpc/impl/codegen/atm_gcc_sync.h \ +include/grpc/impl/codegen/atm_win32.h \ +include/grpc/impl/codegen/log.h \ +include/grpc/impl/codegen/port_platform.h \ +include/grpc/impl/codegen/slice.h \ +include/grpc/impl/codegen/slice_buffer.h \ +include/grpc/impl/codegen/sync.h \ +include/grpc/impl/codegen/sync_generic.h \ +include/grpc/impl/codegen/sync_posix.h \ +include/grpc/impl/codegen/sync_win32.h \ +include/grpc/impl/codegen/time.h # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index bb7177f52f2bb17685a6358dd8671102dbf90c47..b131a55b5922163e8ec58a3af651430dc40ce2cb 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -762,71 +762,39 @@ WARN_LOGFILE = INPUT = include/grpc/byte_buffer.h \ include/grpc/byte_buffer_reader.h \ -include/grpc/census.h \ include/grpc/compression.h \ include/grpc/grpc.h \ -include/grpc/grpc_security.h \ +include/grpc/status.h \ include/grpc/impl/codegen/byte_buffer.h \ include/grpc/impl/codegen/compression_types.h \ include/grpc/impl/codegen/connectivity_state.h \ include/grpc/impl/codegen/grpc_types.h \ include/grpc/impl/codegen/propagation_bits.h \ include/grpc/impl/codegen/status.h \ -include/grpc/status.h \ -src/core/ext/transport/chttp2/transport/alpn.h \ -src/core/ext/transport/chttp2/transport/bin_encoder.h \ -src/core/ext/transport/chttp2/transport/chttp2_transport.h \ -src/core/ext/transport/chttp2/transport/frame.h \ -src/core/ext/transport/chttp2/transport/frame_data.h \ -src/core/ext/transport/chttp2/transport/frame_goaway.h \ -src/core/ext/transport/chttp2/transport/frame_ping.h \ -src/core/ext/transport/chttp2/transport/frame_rst_stream.h \ -src/core/ext/transport/chttp2/transport/frame_settings.h \ -src/core/ext/transport/chttp2/transport/frame_window_update.h \ -src/core/ext/transport/chttp2/transport/hpack_encoder.h \ -src/core/ext/transport/chttp2/transport/hpack_parser.h \ -src/core/ext/transport/chttp2/transport/hpack_table.h \ -src/core/ext/transport/chttp2/transport/http2_errors.h \ -src/core/ext/transport/chttp2/transport/huffsyms.h \ -src/core/ext/transport/chttp2/transport/incoming_metadata.h \ -src/core/ext/transport/chttp2/transport/internal.h \ -src/core/ext/transport/chttp2/transport/status_conversion.h \ -src/core/ext/transport/chttp2/transport/stream_map.h \ -src/core/ext/transport/chttp2/transport/timeout_encoding.h \ -src/core/ext/transport/chttp2/transport/varint.h \ -src/core/lib/census/aggregation.h \ -src/core/lib/census/grpc_filter.h \ -src/core/lib/census/grpc_plugin.h \ -src/core/lib/census/mlog.h \ -src/core/lib/census/rpc_metric_id.h \ +include/grpc/impl/codegen/alloc.h \ +include/grpc/impl/codegen/atm.h \ +include/grpc/impl/codegen/atm_gcc_atomic.h \ +include/grpc/impl/codegen/atm_gcc_sync.h \ +include/grpc/impl/codegen/atm_win32.h \ +include/grpc/impl/codegen/log.h \ +include/grpc/impl/codegen/port_platform.h \ +include/grpc/impl/codegen/slice.h \ +include/grpc/impl/codegen/slice_buffer.h \ +include/grpc/impl/codegen/sync.h \ +include/grpc/impl/codegen/sync_generic.h \ +include/grpc/impl/codegen/sync_posix.h \ +include/grpc/impl/codegen/sync_win32.h \ +include/grpc/impl/codegen/time.h \ +include/grpc/grpc_security.h \ +include/grpc/census.h \ src/core/lib/channel/channel_args.h \ src/core/lib/channel/channel_stack.h \ src/core/lib/channel/channel_stack_builder.h \ -src/core/lib/channel/client_channel.h \ src/core/lib/channel/compress_filter.h \ src/core/lib/channel/connected_channel.h \ src/core/lib/channel/context.h \ src/core/lib/channel/http_client_filter.h \ src/core/lib/channel/http_server_filter.h \ -src/core/lib/channel/subchannel_call_holder.h \ -src/core/lib/client_config/client_config.h \ -src/core/lib/client_config/connector.h \ -src/core/lib/client_config/initial_connect_string.h \ -src/core/lib/client_config/lb_policies/load_balancer_api.h \ -src/core/lib/client_config/lb_policies/pick_first.h \ -src/core/lib/client_config/lb_policies/round_robin.h \ -src/core/lib/client_config/lb_policy.h \ -src/core/lib/client_config/lb_policy_factory.h \ -src/core/lib/client_config/lb_policy_registry.h \ -src/core/lib/client_config/resolver.h \ -src/core/lib/client_config/resolver_factory.h \ -src/core/lib/client_config/resolver_registry.h \ -src/core/lib/client_config/resolvers/dns_resolver.h \ -src/core/lib/client_config/resolvers/sockaddr_resolver.h \ -src/core/lib/client_config/subchannel.h \ -src/core/lib/client_config/subchannel_factory.h \ -src/core/lib/client_config/subchannel_index.h \ -src/core/lib/client_config/uri_parser.h \ src/core/lib/compression/algorithm_metadata.h \ src/core/lib/compression/message_compress.h \ src/core/lib/debug/trace.h \ @@ -836,17 +804,16 @@ src/core/lib/http/parser.h \ src/core/lib/iomgr/closure.h \ src/core/lib/iomgr/endpoint.h \ src/core/lib/iomgr/endpoint_pair.h \ +src/core/lib/iomgr/ev_poll_and_epoll_posix.h \ +src/core/lib/iomgr/ev_posix.h \ src/core/lib/iomgr/exec_ctx.h \ src/core/lib/iomgr/executor.h \ -src/core/lib/iomgr/fd_posix.h \ src/core/lib/iomgr/iocp_windows.h \ src/core/lib/iomgr/iomgr.h \ src/core/lib/iomgr/iomgr_internal.h \ src/core/lib/iomgr/iomgr_posix.h \ src/core/lib/iomgr/pollset.h \ -src/core/lib/iomgr/pollset_posix.h \ src/core/lib/iomgr/pollset_set.h \ -src/core/lib/iomgr/pollset_set_posix.h \ src/core/lib/iomgr/pollset_set_windows.h \ src/core/lib/iomgr/pollset_windows.h \ src/core/lib/iomgr/resolve_address.h \ @@ -874,18 +841,6 @@ src/core/lib/json/json.h \ src/core/lib/json/json_common.h \ src/core/lib/json/json_reader.h \ src/core/lib/json/json_writer.h \ -src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h \ -src/core/lib/security/auth_filters.h \ -src/core/lib/security/b64.h \ -src/core/lib/security/credentials.h \ -src/core/lib/security/handshake.h \ -src/core/lib/security/json_token.h \ -src/core/lib/security/jwt_verifier.h \ -src/core/lib/security/secure_endpoint.h \ -src/core/lib/security/security_connector.h \ -src/core/lib/security/security_context.h \ -src/core/lib/statistics/census_interface.h \ -src/core/lib/statistics/census_rpc_stats.h \ src/core/lib/surface/api_trace.h \ src/core/lib/surface/call.h \ src/core/lib/surface/call_test_only.h \ @@ -905,99 +860,93 @@ src/core/lib/transport/metadata_batch.h \ src/core/lib/transport/static_metadata.h \ src/core/lib/transport/transport.h \ src/core/lib/transport/transport_impl.h \ +src/core/ext/transport/chttp2/transport/bin_encoder.h \ +src/core/ext/transport/chttp2/transport/chttp2_transport.h \ +src/core/ext/transport/chttp2/transport/frame.h \ +src/core/ext/transport/chttp2/transport/frame_data.h \ +src/core/ext/transport/chttp2/transport/frame_goaway.h \ +src/core/ext/transport/chttp2/transport/frame_ping.h \ +src/core/ext/transport/chttp2/transport/frame_rst_stream.h \ +src/core/ext/transport/chttp2/transport/frame_settings.h \ +src/core/ext/transport/chttp2/transport/frame_window_update.h \ +src/core/ext/transport/chttp2/transport/hpack_encoder.h \ +src/core/ext/transport/chttp2/transport/hpack_parser.h \ +src/core/ext/transport/chttp2/transport/hpack_table.h \ +src/core/ext/transport/chttp2/transport/http2_errors.h \ +src/core/ext/transport/chttp2/transport/huffsyms.h \ +src/core/ext/transport/chttp2/transport/incoming_metadata.h \ +src/core/ext/transport/chttp2/transport/internal.h \ +src/core/ext/transport/chttp2/transport/status_conversion.h \ +src/core/ext/transport/chttp2/transport/stream_map.h \ +src/core/ext/transport/chttp2/transport/timeout_encoding.h \ +src/core/ext/transport/chttp2/transport/varint.h \ +src/core/ext/transport/chttp2/alpn/alpn.h \ +src/core/lib/security/auth_filters.h \ +src/core/lib/security/b64.h \ +src/core/lib/security/credentials.h \ +src/core/lib/security/handshake.h \ +src/core/lib/security/json_token.h \ +src/core/lib/security/jwt_verifier.h \ +src/core/lib/security/secure_endpoint.h \ +src/core/lib/security/security_connector.h \ +src/core/lib/security/security_context.h \ src/core/lib/tsi/fake_transport_security.h \ src/core/lib/tsi/ssl_transport_security.h \ src/core/lib/tsi/ssl_types.h \ src/core/lib/tsi/transport_security.h \ src/core/lib/tsi/transport_security_interface.h \ +src/core/ext/client_config/client_channel.h \ +src/core/ext/client_config/client_channel_factory.h \ +src/core/ext/client_config/client_config.h \ +src/core/ext/client_config/connector.h \ +src/core/ext/client_config/initial_connect_string.h \ +src/core/ext/client_config/lb_policy.h \ +src/core/ext/client_config/lb_policy_factory.h \ +src/core/ext/client_config/lb_policy_registry.h \ +src/core/ext/client_config/resolver.h \ +src/core/ext/client_config/resolver_factory.h \ +src/core/ext/client_config/resolver_registry.h \ +src/core/ext/client_config/subchannel.h \ +src/core/ext/client_config/subchannel_call_holder.h \ +src/core/ext/client_config/subchannel_index.h \ +src/core/ext/client_config/uri_parser.h \ +src/core/ext/lb_policy/grpclb/load_balancer_api.h \ +src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h \ third_party/nanopb/pb.h \ third_party/nanopb/pb_common.h \ third_party/nanopb/pb_decode.h \ third_party/nanopb/pb_encode.h \ -src/core/ext/transport/chttp2/client/insecure/channel_create.c \ -src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ -src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ -src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c \ -src/core/ext/transport/chttp2/transport/alpn.c \ -src/core/ext/transport/chttp2/transport/bin_encoder.c \ -src/core/ext/transport/chttp2/transport/chttp2_transport.c \ -src/core/ext/transport/chttp2/transport/frame_data.c \ -src/core/ext/transport/chttp2/transport/frame_goaway.c \ -src/core/ext/transport/chttp2/transport/frame_ping.c \ -src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ -src/core/ext/transport/chttp2/transport/frame_settings.c \ -src/core/ext/transport/chttp2/transport/frame_window_update.c \ -src/core/ext/transport/chttp2/transport/hpack_encoder.c \ -src/core/ext/transport/chttp2/transport/hpack_parser.c \ -src/core/ext/transport/chttp2/transport/hpack_table.c \ -src/core/ext/transport/chttp2/transport/huffsyms.c \ -src/core/ext/transport/chttp2/transport/incoming_metadata.c \ -src/core/ext/transport/chttp2/transport/parsing.c \ -src/core/ext/transport/chttp2/transport/status_conversion.c \ -src/core/ext/transport/chttp2/transport/stream_lists.c \ -src/core/ext/transport/chttp2/transport/stream_map.c \ -src/core/ext/transport/chttp2/transport/timeout_encoding.c \ -src/core/ext/transport/chttp2/transport/varint.c \ -src/core/ext/transport/chttp2/transport/writing.c \ -src/core/lib/census/context.c \ -src/core/lib/census/grpc_context.c \ -src/core/lib/census/grpc_filter.c \ -src/core/lib/census/grpc_plugin.c \ -src/core/lib/census/initialize.c \ -src/core/lib/census/mlog.c \ -src/core/lib/census/operation.c \ -src/core/lib/census/placeholders.c \ -src/core/lib/census/tracing.c \ +src/core/ext/census/aggregation.h \ +src/core/ext/census/census_interface.h \ +src/core/ext/census/census_rpc_stats.h \ +src/core/ext/census/grpc_filter.h \ +src/core/ext/census/mlog.h \ +src/core/ext/census/rpc_metric_id.h \ src/core/lib/channel/channel_args.c \ src/core/lib/channel/channel_stack.c \ src/core/lib/channel/channel_stack_builder.c \ -src/core/lib/channel/client_channel.c \ src/core/lib/channel/compress_filter.c \ src/core/lib/channel/connected_channel.c \ src/core/lib/channel/http_client_filter.c \ src/core/lib/channel/http_server_filter.c \ -src/core/lib/channel/subchannel_call_holder.c \ -src/core/lib/client_config/client_config.c \ -src/core/lib/client_config/connector.c \ -src/core/lib/client_config/default_initial_connect_string.c \ -src/core/lib/client_config/initial_connect_string.c \ -src/core/lib/client_config/lb_policies/load_balancer_api.c \ -src/core/lib/client_config/lb_policies/pick_first.c \ -src/core/lib/client_config/lb_policies/round_robin.c \ -src/core/lib/client_config/lb_policy.c \ -src/core/lib/client_config/lb_policy_factory.c \ -src/core/lib/client_config/lb_policy_registry.c \ -src/core/lib/client_config/resolver.c \ -src/core/lib/client_config/resolver_factory.c \ -src/core/lib/client_config/resolver_registry.c \ -src/core/lib/client_config/resolvers/dns_resolver.c \ -src/core/lib/client_config/resolvers/sockaddr_resolver.c \ -src/core/lib/client_config/subchannel.c \ -src/core/lib/client_config/subchannel_factory.c \ -src/core/lib/client_config/subchannel_index.c \ -src/core/lib/client_config/uri_parser.c \ src/core/lib/compression/compression_algorithm.c \ src/core/lib/compression/message_compress.c \ src/core/lib/debug/trace.c \ src/core/lib/http/format_request.c \ src/core/lib/http/httpcli.c \ -src/core/lib/http/httpcli_security_connector.c \ src/core/lib/http/parser.c \ src/core/lib/iomgr/closure.c \ src/core/lib/iomgr/endpoint.c \ src/core/lib/iomgr/endpoint_pair_posix.c \ src/core/lib/iomgr/endpoint_pair_windows.c \ +src/core/lib/iomgr/ev_poll_and_epoll_posix.c \ +src/core/lib/iomgr/ev_posix.c \ src/core/lib/iomgr/exec_ctx.c \ src/core/lib/iomgr/executor.c \ -src/core/lib/iomgr/fd_posix.c \ src/core/lib/iomgr/iocp_windows.c \ src/core/lib/iomgr/iomgr.c \ src/core/lib/iomgr/iomgr_posix.c \ src/core/lib/iomgr/iomgr_windows.c \ -src/core/lib/iomgr/pollset_multipoller_with_epoll.c \ -src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c \ -src/core/lib/iomgr/pollset_posix.c \ -src/core/lib/iomgr/pollset_set_posix.c \ src/core/lib/iomgr/pollset_set_windows.c \ src/core/lib/iomgr/pollset_windows.c \ src/core/lib/iomgr/resolve_address_posix.c \ @@ -1029,21 +978,6 @@ src/core/lib/json/json.c \ src/core/lib/json/json_reader.c \ src/core/lib/json/json_string.c \ src/core/lib/json/json_writer.c \ -src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c \ -src/core/lib/security/b64.c \ -src/core/lib/security/client_auth_filter.c \ -src/core/lib/security/credentials.c \ -src/core/lib/security/credentials_metadata.c \ -src/core/lib/security/credentials_posix.c \ -src/core/lib/security/credentials_win32.c \ -src/core/lib/security/google_default_credentials.c \ -src/core/lib/security/handshake.c \ -src/core/lib/security/json_token.c \ -src/core/lib/security/jwt_verifier.c \ -src/core/lib/security/secure_endpoint.c \ -src/core/lib/security/security_connector.c \ -src/core/lib/security/security_context.c \ -src/core/lib/security/server_auth_filter.c \ src/core/lib/surface/alarm.c \ src/core/lib/surface/api_trace.c \ src/core/lib/surface/byte_buffer.c \ @@ -1052,14 +986,12 @@ src/core/lib/surface/call.c \ src/core/lib/surface/call_details.c \ src/core/lib/surface/call_log_batch.c \ src/core/lib/surface/channel.c \ -src/core/lib/surface/channel_connectivity.c \ src/core/lib/surface/channel_init.c \ src/core/lib/surface/channel_ping.c \ src/core/lib/surface/channel_stack_type.c \ src/core/lib/surface/completion_queue.c \ src/core/lib/surface/event_string.c \ src/core/lib/surface/init.c \ -src/core/lib/surface/init_secure.c \ src/core/lib/surface/lame_client.c \ src/core/lib/surface/metadata_array.c \ src/core/lib/surface/server.c \ @@ -1072,26 +1004,88 @@ src/core/lib/transport/metadata_batch.c \ src/core/lib/transport/static_metadata.c \ src/core/lib/transport/transport.c \ src/core/lib/transport/transport_op_string.c \ +src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c \ +src/core/ext/transport/chttp2/transport/bin_encoder.c \ +src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ +src/core/ext/transport/chttp2/transport/chttp2_transport.c \ +src/core/ext/transport/chttp2/transport/frame_data.c \ +src/core/ext/transport/chttp2/transport/frame_goaway.c \ +src/core/ext/transport/chttp2/transport/frame_ping.c \ +src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ +src/core/ext/transport/chttp2/transport/frame_settings.c \ +src/core/ext/transport/chttp2/transport/frame_window_update.c \ +src/core/ext/transport/chttp2/transport/hpack_encoder.c \ +src/core/ext/transport/chttp2/transport/hpack_parser.c \ +src/core/ext/transport/chttp2/transport/hpack_table.c \ +src/core/ext/transport/chttp2/transport/huffsyms.c \ +src/core/ext/transport/chttp2/transport/incoming_metadata.c \ +src/core/ext/transport/chttp2/transport/parsing.c \ +src/core/ext/transport/chttp2/transport/status_conversion.c \ +src/core/ext/transport/chttp2/transport/stream_lists.c \ +src/core/ext/transport/chttp2/transport/stream_map.c \ +src/core/ext/transport/chttp2/transport/timeout_encoding.c \ +src/core/ext/transport/chttp2/transport/varint.c \ +src/core/ext/transport/chttp2/transport/writing.c \ +src/core/ext/transport/chttp2/alpn/alpn.c \ +src/core/lib/http/httpcli_security_connector.c \ +src/core/lib/security/b64.c \ +src/core/lib/security/client_auth_filter.c \ +src/core/lib/security/credentials.c \ +src/core/lib/security/credentials_metadata.c \ +src/core/lib/security/credentials_posix.c \ +src/core/lib/security/credentials_win32.c \ +src/core/lib/security/google_default_credentials.c \ +src/core/lib/security/handshake.c \ +src/core/lib/security/json_token.c \ +src/core/lib/security/jwt_verifier.c \ +src/core/lib/security/secure_endpoint.c \ +src/core/lib/security/security_connector.c \ +src/core/lib/security/security_context.c \ +src/core/lib/security/server_auth_filter.c \ +src/core/lib/surface/init_secure.c \ src/core/lib/tsi/fake_transport_security.c \ src/core/lib/tsi/ssl_transport_security.c \ src/core/lib/tsi/transport_security.c \ +src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ +src/core/ext/client_config/channel_connectivity.c \ +src/core/ext/client_config/client_channel.c \ +src/core/ext/client_config/client_channel_factory.c \ +src/core/ext/client_config/client_config.c \ +src/core/ext/client_config/client_config_plugin.c \ +src/core/ext/client_config/connector.c \ +src/core/ext/client_config/default_initial_connect_string.c \ +src/core/ext/client_config/initial_connect_string.c \ +src/core/ext/client_config/lb_policy.c \ +src/core/ext/client_config/lb_policy_factory.c \ +src/core/ext/client_config/lb_policy_registry.c \ +src/core/ext/client_config/resolver.c \ +src/core/ext/client_config/resolver_factory.c \ +src/core/ext/client_config/resolver_registry.c \ +src/core/ext/client_config/subchannel.c \ +src/core/ext/client_config/subchannel_call_holder.c \ +src/core/ext/client_config/subchannel_index.c \ +src/core/ext/client_config/uri_parser.c \ +src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ +src/core/ext/transport/chttp2/client/insecure/channel_create.c \ +src/core/ext/lb_policy/grpclb/load_balancer_api.c \ +src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c \ third_party/nanopb/pb_common.c \ third_party/nanopb/pb_decode.c \ third_party/nanopb/pb_encode.c \ -include/grpc/impl/codegen/alloc.h \ -include/grpc/impl/codegen/atm.h \ -include/grpc/impl/codegen/atm_gcc_atomic.h \ -include/grpc/impl/codegen/atm_gcc_sync.h \ -include/grpc/impl/codegen/atm_win32.h \ -include/grpc/impl/codegen/log.h \ -include/grpc/impl/codegen/port_platform.h \ -include/grpc/impl/codegen/slice.h \ -include/grpc/impl/codegen/slice_buffer.h \ -include/grpc/impl/codegen/sync.h \ -include/grpc/impl/codegen/sync_generic.h \ -include/grpc/impl/codegen/sync_posix.h \ -include/grpc/impl/codegen/sync_win32.h \ -include/grpc/impl/codegen/time.h \ +src/core/ext/lb_policy/pick_first/pick_first.c \ +src/core/ext/lb_policy/round_robin/round_robin.c \ +src/core/ext/resolver/dns/native/dns_resolver.c \ +src/core/ext/resolver/sockaddr/sockaddr_resolver.c \ +src/core/ext/census/context.c \ +src/core/ext/census/grpc_context.c \ +src/core/ext/census/grpc_filter.c \ +src/core/ext/census/grpc_plugin.c \ +src/core/ext/census/initialize.c \ +src/core/ext/census/mlog.c \ +src/core/ext/census/operation.c \ +src/core/ext/census/placeholders.c \ +src/core/ext/census/tracing.c \ +src/core/plugin_registry/grpc_plugin_registry.c \ include/grpc/support/alloc.h \ include/grpc/support/atm.h \ include/grpc/support/atm_gcc_atomic.h \ @@ -1120,6 +1114,20 @@ include/grpc/support/tls_gcc.h \ include/grpc/support/tls_msvc.h \ include/grpc/support/tls_pthread.h \ include/grpc/support/useful.h \ +include/grpc/impl/codegen/alloc.h \ +include/grpc/impl/codegen/atm.h \ +include/grpc/impl/codegen/atm_gcc_atomic.h \ +include/grpc/impl/codegen/atm_gcc_sync.h \ +include/grpc/impl/codegen/atm_win32.h \ +include/grpc/impl/codegen/log.h \ +include/grpc/impl/codegen/port_platform.h \ +include/grpc/impl/codegen/slice.h \ +include/grpc/impl/codegen/slice_buffer.h \ +include/grpc/impl/codegen/sync.h \ +include/grpc/impl/codegen/sync_generic.h \ +include/grpc/impl/codegen/sync_posix.h \ +include/grpc/impl/codegen/sync_win32.h \ +include/grpc/impl/codegen/time.h \ src/core/lib/profiling/timers.h \ src/core/lib/support/backoff.h \ src/core/lib/support/block_annotate.h \ diff --git a/tools/fuzzer/build_and_run_fuzzer.sh b/tools/fuzzer/build_and_run_fuzzer.sh index bbe68884add6915858cea00e187253e6ece543ea..7139097e3ee5e6253371f6f4803acf3911e088b5 100755 --- a/tools/fuzzer/build_and_run_fuzzer.sh +++ b/tools/fuzzer/build_and_run_fuzzer.sh @@ -34,4 +34,5 @@ set -ex cd $(dirname $0)/../.. make CONFIG=$config $1 -j3 mkdir -p fuzzer_output +export ASAN_OPTIONS=handle_abort=1 . tools/fuzzer/runners/$1.sh diff --git a/tools/fuzzer/runners/hpack_parser_fuzzer_test.sh b/tools/fuzzer/runners/hpack_parser_fuzzer_test.sh index a91cf6d458fbadb532cc0af4c60ba3fdd424d799..0d55a7d460cc2cd2a8e0cb685525c4f842448901 100644 --- a/tools/fuzzer/runners/hpack_parser_fuzzer_test.sh +++ b/tools/fuzzer/runners/hpack_parser_fuzzer_test.sh @@ -29,7 +29,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -flags="-max_total_time=3600 -jobs=3 -workers=3" +flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=512" if [ "$config" == "asan-trace-cmp" ] then flags="-use_traces=1 $flags" diff --git a/tools/fuzzer/runners/http_fuzzer_test.sh b/tools/fuzzer/runners/http_fuzzer_test.sh index 47adad0cb761b4245f9f3890283e8dd2319a01a7..0379efcbed505d4b1177741ed7a0c64d8098af3f 100644 --- a/tools/fuzzer/runners/http_fuzzer_test.sh +++ b/tools/fuzzer/runners/http_fuzzer_test.sh @@ -29,7 +29,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -flags="-max_total_time=3600 -jobs=3 -workers=3" +flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=2048" if [ "$config" == "asan-trace-cmp" ] then flags="-use_traces=1 $flags" diff --git a/tools/fuzzer/runners/json_fuzzer_test.sh b/tools/fuzzer/runners/json_fuzzer_test.sh index 9c5cba3bafd71ad8a1237d1ba944713cfbf0c8db..45a449328f9ec6a07e0448f0a5ed7c03dd695a62 100644 --- a/tools/fuzzer/runners/json_fuzzer_test.sh +++ b/tools/fuzzer/runners/json_fuzzer_test.sh @@ -29,7 +29,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -flags="-max_total_time=3600 -jobs=3 -workers=3" +flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=512" if [ "$config" == "asan-trace-cmp" ] then flags="-use_traces=1 $flags" diff --git a/tools/fuzzer/runners/nanopb_fuzzer_response_test.sh b/tools/fuzzer/runners/nanopb_fuzzer_response_test.sh new file mode 100644 index 0000000000000000000000000000000000000000..268d6de30106621c521ff18b6e16ff11322964c5 --- /dev/null +++ b/tools/fuzzer/runners/nanopb_fuzzer_response_test.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=128" +if [ "$config" == "asan-trace-cmp" ] +then + flags="-use_traces=1 $flags" +fi + +bins/$config/nanopb_fuzzer_response_test $flags fuzzer_output test/core/nanopb/corpus_response diff --git a/tools/fuzzer/runners/nanopb_fuzzer_serverlist_test.sh b/tools/fuzzer/runners/nanopb_fuzzer_serverlist_test.sh new file mode 100644 index 0000000000000000000000000000000000000000..be14e4dd5de22671722001b5b34d3d552050aa21 --- /dev/null +++ b/tools/fuzzer/runners/nanopb_fuzzer_serverlist_test.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=128" +if [ "$config" == "asan-trace-cmp" ] +then + flags="-use_traces=1 $flags" +fi + +bins/$config/nanopb_fuzzer_serverlist_test $flags fuzzer_output test/core/nanopb/corpus_serverlist diff --git a/tools/fuzzer/runners/server_fuzzer.sh b/tools/fuzzer/runners/server_fuzzer.sh new file mode 100644 index 0000000000000000000000000000000000000000..3c4eb07a7cf28c25257bd63bcf1e0085c5c98324 --- /dev/null +++ b/tools/fuzzer/runners/server_fuzzer.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=2048" +if [ "$config" == "asan-trace-cmp" ] +then + flags="-use_traces=1 $flags" +fi + +bins/$config/server_fuzzer $flags fuzzer_output test/core/end2end/fuzzers/server_fuzzer_corpus diff --git a/tools/fuzzer/runners/uri_fuzzer_test.sh b/tools/fuzzer/runners/uri_fuzzer_test.sh index 58f20d021c259d8b6b684c935f65b505bf40c81c..33a389abcbe83f0277c37244dd1e3d90b4aa916e 100644 --- a/tools/fuzzer/runners/uri_fuzzer_test.sh +++ b/tools/fuzzer/runners/uri_fuzzer_test.sh @@ -29,7 +29,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -flags="-max_total_time=3600 -jobs=3 -workers=3" +flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=128" if [ "$config" == "asan-trace-cmp" ] then flags="-use_traces=1 $flags" diff --git a/tools/gce/create_interop_worker.sh b/tools/gce/create_interop_worker.sh new file mode 100755 index 0000000000000000000000000000000000000000..9170d82144237986c80bc9cfb2694132a81292e7 --- /dev/null +++ b/tools/gce/create_interop_worker.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# Copyright 2015, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Creates an interop worker on GCE. +# IMPORTANT: After this script finishes, there are still some manual +# steps needed there are hard to automatize. +# See go/grpc-jenkins-setup for followup instructions. + +set -ex + +cd $(dirname $0) + +CLOUD_PROJECT=grpc-testing +ZONE=us-east1-a # canary gateway is reachable from this zone + +INSTANCE_NAME="${1:-grpc-canary-interop2}" + +gcloud compute instances create $INSTANCE_NAME \ + --project="$CLOUD_PROJECT" \ + --zone "$ZONE" \ + --machine-type n1-standard-16 \ + --image ubuntu-15-10 \ + --boot-disk-size 1000 \ + --scopes https://www.googleapis.com/auth/xapi.zoo + +echo 'Created GCE instance, waiting 60 seconds for it to come online.' +sleep 60 + +gcloud compute copy-files \ + --project="$CLOUD_PROJECT" \ + --zone "$ZONE" \ + jenkins_master.pub linux_worker_init.sh ${INSTANCE_NAME}:~ + +gcloud compute ssh \ + --project="$CLOUD_PROJECT" \ + --zone "$ZONE" \ + $INSTANCE_NAME --command "./linux_worker_init.sh" diff --git a/tools/gce/create_linux_performance_worker.sh b/tools/gce/create_linux_performance_worker.sh index 720fc80a0de849bae609e3155d07a340fe9e74eb..8c9cc46a75c4211bd9bdd42d2cab9794963b2426 100755 --- a/tools/gce/create_linux_performance_worker.sh +++ b/tools/gce/create_linux_performance_worker.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -29,6 +29,10 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # Creates a performance worker on GCE. +# IMPORTANT: After creating the worker, one needs to manually add the pubkey +# of jenkins@the-machine-where-jenkins-starts-perf-tests +# to ~/.ssh/authorized_keys so that multi-machine scenarios can work. +# See tools/run_tests/run_performance_tests.py for details. set -ex @@ -37,7 +41,7 @@ cd $(dirname $0) CLOUD_PROJECT=grpc-testing ZONE=us-central1-b # this zone allows 32core machines -INSTANCE_NAME="${1:-grpc-performance-driver}" +INSTANCE_NAME="${1:-grpc-performance-server1}" MACHINE_TYPE=n1-standard-32 gcloud compute instances create $INSTANCE_NAME \ @@ -53,9 +57,9 @@ sleep 60 gcloud compute copy-files \ --project="$CLOUD_PROJECT" \ --zone "$ZONE" \ - jenkins_master.pub linux_performance_worker_init.sh ${INSTANCE_NAME}:~ + jenkins_master.pub linux_performance_worker_init.sh jenkins@${INSTANCE_NAME}:~ gcloud compute ssh \ --project="$CLOUD_PROJECT" \ --zone "$ZONE" \ - $INSTANCE_NAME --command "./linux_performance_worker_init.sh" + jenkins@${INSTANCE_NAME} --command "./linux_performance_worker_init.sh" diff --git a/tools/gce/create_linux_worker.sh b/tools/gce/create_linux_worker.sh index 399e3ec4e438283f211b9f5c348f18ed8bd7b2f0..dff0b1ce5f484c6434c09204b5dd8bab91d89be3 100755 --- a/tools/gce/create_linux_worker.sh +++ b/tools/gce/create_linux_worker.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/gce/linux_performance_worker_init.sh b/tools/gce/linux_performance_worker_init.sh index bae2b51106b013d26cf7b6241273edfa58fb0b8e..c7272b61a5fe6b65072315ec90adbea93b106b45 100755 --- a/tools/gce/linux_performance_worker_init.sh +++ b/tools/gce/linux_performance_worker_init.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -36,13 +36,10 @@ set -ex sudo apt-get update -# Install JRE -sudo apt-get install -y openjdk-7-jre +# Install Java 8 JDK (to build gRPC Java) +sudo apt-get install -y openjdk-8-jdk sudo apt-get install -y unzip lsof -# Setup jenkins user (or the user will already exist bcuz magic) -sudo adduser jenkins --disabled-password || true - # Add pubkey of jenkins@grpc-jenkins-master to authorized keys of jenkins@ # This needs to happen as the last step to prevent Jenkins master from connecting # to a machine that hasn't been properly setup yet. @@ -89,7 +86,7 @@ curl -O https://bootstrap.pypa.io/get-pip.py sudo pypy get-pip.py sudo pypy -m pip install tabulate -# Node dependences. +# Node dependencies (nvm has to be installed under user jenkins) touch .profile curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash nvm install 0.12 && npm config set cache /tmp/npm-cache @@ -104,3 +101,5 @@ sudo apt-get install -y mono-devel nuget # Ruby dependencies gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 curl -sSL https://get.rvm.io | bash -s stable --ruby + +# Java dependencies - nothing as we already have Java JDK 8 diff --git a/tools/gce/linux_worker_init.sh b/tools/gce/linux_worker_init.sh index f56cac0ce2f1601a431acf3174e3d27b96512171..ef6a5d175c95d0bd182d4e15e021c52c4bb53403 100755 --- a/tools/gce/linux_worker_init.sh +++ b/tools/gce/linux_worker_init.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/gcp/stress_test/run_client.py b/tools/gcp/stress_test/run_client.py index 0fa1bf1cb975d11cd75578ffeaab3142857aca14..9a4bc8a391887b8f828e95f49cc288b0e1665810 100755 --- a/tools/gcp/stress_test/run_client.py +++ b/tools/gcp/stress_test/run_client.py @@ -91,9 +91,9 @@ def run_client(): """ env = dict(os.environ) image_type = env['STRESS_TEST_IMAGE_TYPE'] - image_name = env['STRESS_TEST_IMAGE'] + stress_client_cmd = env['STRESS_TEST_CMD'].split() args_str = env['STRESS_TEST_ARGS_STR'] - metrics_client_image = env['METRICS_CLIENT_IMAGE'] + metrics_client_cmd = env['METRICS_CLIENT_CMD'].split() metrics_client_args_str = env['METRICS_CLIENT_ARGS_STR'] run_id = env['RUN_ID'] pod_name = env['POD_NAME'] @@ -125,9 +125,8 @@ def run_client(): # Update status that the test is starting (in the status table) bq_helper.insert_summary_row(EventType.STARTING, details) - metrics_cmd = [metrics_client_image - ] + [x for x in metrics_client_args_str.split()] - stress_cmd = [image_name] + [x for x in args_str.split()] + metrics_cmd = metrics_client_cmd + [x for x in metrics_client_args_str.split()] + stress_cmd = stress_client_cmd + [x for x in args_str.split()] print 'Launching process %s ...' % stress_cmd stress_p = subprocess.Popen(args=stress_cmd, diff --git a/tools/gcp/stress_test/run_node.sh b/tools/gcp/stress_test/run_node.sh new file mode 100755 index 0000000000000000000000000000000000000000..4a4da6fc8b8e3c750890604c55c09698548d65f9 --- /dev/null +++ b/tools/gcp/stress_test/run_node.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Copyright 2015-2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# This is a wrapper script that was created to help run_server.py and +# run_client.py to launch 'node js' stress clients and stress servers +source ~/.nvm/nvm.sh + +set -ex + +$@ diff --git a/tools/gcp/stress_test/run_server.py b/tools/gcp/stress_test/run_server.py index 64322f61004f22349c95dc25a8f22105159a0b95..0d9a653d18611452d887424efb0dc65d8c29e97e 100755 --- a/tools/gcp/stress_test/run_server.py +++ b/tools/gcp/stress_test/run_server.py @@ -62,7 +62,7 @@ def run_server(): run_id = env['RUN_ID'] # The unique run id for this test image_type = env['STRESS_TEST_IMAGE_TYPE'] - image_name = env['STRESS_TEST_IMAGE'] + stress_server_cmd = env['STRESS_TEST_CMD'].split() args_str = env['STRESS_TEST_ARGS_STR'] pod_name = env['POD_NAME'] project_id = env['GCP_PROJECT_ID'] @@ -98,7 +98,7 @@ def run_server(): # Update status that the test is starting (in the status table) bq_helper.insert_summary_row(EventType.STARTING, details) - stress_cmd = [image_name] + [x for x in args_str.split()] + stress_cmd = stress_server_cmd + [x for x in args_str.split()] print 'Launching process %s ...' % stress_cmd stress_p = subprocess.Popen(args=stress_cmd, diff --git a/tools/gcp/stress_test/stress_test_utils.py b/tools/gcp/stress_test/stress_test_utils.py index c4b437e3459daf0d5314f21ac26caf4d37095e6f..6c7fe44dc1232bbb5e119a4197cebf18c7e8af3b 100755 --- a/tools/gcp/stress_test/stress_test_utils.py +++ b/tools/gcp/stress_test/stress_test_utils.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -107,12 +107,22 @@ class BigQueryHelper: query = ('SELECT event_type FROM %s.%s WHERE run_id = \'%s\' AND ' 'event_type="%s"') % (self.dataset_id, self.summary_table_id, self.run_id, EventType.FAILURE) - query_job = bq_utils.sync_query_job(self.bq, self.project_id, query) - page = self.bq.jobs().getQueryResults(**query_job['jobReference']).execute( - num_retries=num_query_retries) - num_failures = int(page['totalRows']) - print 'num rows: ', num_failures - return num_failures > 0 + try: + query_job = bq_utils.sync_query_job(self.bq, self.project_id, query) + page = self.bq.jobs().getQueryResults( + **query_job['jobReference']).execute(num_retries=num_query_retries) + num_failures = int(page['totalRows']) + print 'num rows: ', num_failures + return num_failures > 0 + # TODO (sreek): Cleanup the following lines once we have a better idea of + # why we sometimes get KeyError exceptions in long running test cases + except KeyError: + print 'KeyError in check_if_any_tests_failed()' + print 'Query:', query + print 'Query result page:', page + except: + print 'Exception in check_if_any_tests_failed(). Info: ', sys.exc_info() + print 'Query: ', query def print_summary_records(self, num_query_retries=3): line = '-' * 120 @@ -126,8 +136,9 @@ class BigQueryHelper: self.dataset_id, self.summary_table_id, self.run_id) query_job = bq_utils.sync_query_job(self.bq, self.project_id, query) - print '{:<25} {:<12} {:<12} {:<30} {}'.format( - 'Pod name', 'Image type', 'Event type', 'Date', 'Details') + print '{:<25} {:<12} {:<12} {:<30} {}'.format('Pod name', 'Image type', + 'Event type', 'Date', + 'Details') print line page_token = None while True: @@ -136,9 +147,11 @@ class BigQueryHelper: **query_job['jobReference']).execute(num_retries=num_query_retries) rows = page.get('rows', []) for row in rows: - print '{:<25} {:<12} {:<12} {:<30} {}'.format( - row['f'][0]['v'], row['f'][1]['v'], row['f'][2]['v'], - row['f'][3]['v'], row['f'][4]['v']) + print '{:<25} {:<12} {:<12} {:<30} {}'.format(row['f'][0]['v'], + row['f'][1]['v'], + row['f'][2]['v'], + row['f'][3]['v'], + row['f'][4]['v']) page_token = page.get('pageToken') if not page_token: break diff --git a/tools/gcp/utils/big_query_utils.py b/tools/gcp/utils/big_query_utils.py index 7bb1e143549154279e3e90b8b5d93871303ec0b6..c331a679422929ce645fd76120eb686ee7190e23 100755 --- a/tools/gcp/utils/big_query_utils.py +++ b/tools/gcp/utils/big_query_utils.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/gcp/utils/kubernetes_api.py b/tools/gcp/utils/kubernetes_api.py index e8ddd2f1b3502dff664f61a1933833d6fc271108..a8a4aad69b455342a7f1025ababbdd80b8dfb275 100755 --- a/tools/gcp/utils/kubernetes_api.py +++ b/tools/gcp/utils/kubernetes_api.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/gource/gource.sh b/tools/gource/gource.sh index 167a256b848683542d0c69935f744e7f205a4b68..0199609e9b2ce88ae4cef357d8cc54af3c078524 100755 --- a/tools/gource/gource.sh +++ b/tools/gource/gource.sh @@ -28,4 +28,5 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -gource -c 4 -s 0.1 --max-file-lag 0.05 --max-files 0 -e 0.01 --hide filenames,dirnames --file-filter 'doc/ref|vsprojects/vcxproj' $* +gource --multi-sampling -c 4 -s 0.1 --max-file-lag 0.05 --max-files 0 -e 0.05 --hide filenames,dirnames $* + diff --git a/tools/jenkins/build_docker_and_run_tests.sh b/tools/jenkins/build_docker_and_run_tests.sh index 458e8ca0c70b0dfa9e3f4d77e58d22b923e1e2e9..5779e63db9741040d89113fa1f417c2e2f664110 100755 --- a/tools/jenkins/build_docker_and_run_tests.sh +++ b/tools/jenkins/build_docker_and_run_tests.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/jenkins/build_interop_image.sh b/tools/jenkins/build_interop_image.sh index 28d5f31d4f2b668d9c4c01f4ea7d5901fd329f0d..26687a5a855949211c65388544425a92242a9924 100755 --- a/tools/jenkins/build_interop_image.sh +++ b/tools/jenkins/build_interop_image.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/jenkins/build_interop_stress_image.sh b/tools/jenkins/build_interop_stress_image.sh index b5dbcc5ce4b45609dff08fd579232abe0d10e515..29c8ed6427161a88df851f3815c143e87c4034e5 100755 --- a/tools/jenkins/build_interop_stress_image.sh +++ b/tools/jenkins/build_interop_stress_image.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ set -x # Params: # INTEROP_IMAGE - Name of tag of the final interop image -# INTEROP_IMAGE_TAG - Optional. If set, the created image will be tagged using +# INTEROP_IMAGE_REPOSITORY_TAG - Optional. If set, the created image will be tagged using # the command: 'docker tag $INTEROP_IMAGE $INTEROP_IMAGE_REPOSITORY_TAG' # BASE_NAME - Base name used to locate the base Dockerfile and build script # BUILD_TYPE - The 'CONFIG' variable passed to the 'make' command (example: @@ -59,10 +59,10 @@ then fi # Use image name based on Dockerfile checksum -BASE_IMAGE=${BASE_NAME}_base:`sha1sum tools/dockerfile/$BASE_NAME/Dockerfile | cut -f1 -d\ ` +BASE_IMAGE=${BASE_NAME}_base:`sha1sum tools/dockerfile/stress_test/$BASE_NAME/Dockerfile | cut -f1 -d\ ` # Make sure base docker image has been built. Should be instantaneous if so. -docker build -t $BASE_IMAGE --force-rm=true tools/dockerfile/$BASE_NAME || exit $? +docker build -t $BASE_IMAGE --force-rm=true tools/dockerfile/stress_test/$BASE_NAME || exit $? # Create a local branch so the child Docker script won't complain git branch -f jenkins-docker @@ -80,7 +80,7 @@ CONTAINER_NAME="build_${BASE_NAME}_$(uuidgen)" -v /tmp/ccache:/tmp/ccache \ --name=$CONTAINER_NAME \ $BASE_IMAGE \ - bash -l /var/local/jenkins/grpc/tools/dockerfile/$BASE_NAME/build_interop_stress.sh \ + bash -l /var/local/jenkins/grpc/tools/dockerfile/stress_test/$BASE_NAME/build_interop_stress.sh \ && docker commit $CONTAINER_NAME $INTEROP_IMAGE \ && ( if [ -n "$INTEROP_IMAGE_REPOSITORY_TAG" ]; then docker tag -f $INTEROP_IMAGE $INTEROP_IMAGE_REPOSITORY_TAG ; fi ) \ && echo "Successfully built image $INTEROP_IMAGE") diff --git a/tools/jenkins/docker_run_tests.sh b/tools/jenkins/docker_run_tests.sh index 90a2bd8e36201044bed130e0ebd970bd2075c78d..2fc66c21f56d3ec2c65141c86849f8dbdd9ad92a 100755 --- a/tools/jenkins/docker_run_tests.sh +++ b/tools/jenkins/docker_run_tests.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/jenkins/run_distribution.sh b/tools/jenkins/run_distribution.sh index 446ce16703e8584980ec3db33db5feed327552fc..306b85b045c8eda4474c4b905d4d9ae8ae7db32c 100755 --- a/tools/jenkins/run_distribution.sh +++ b/tools/jenkins/run_distribution.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/jenkins/run_fuzzer.sh b/tools/jenkins/run_fuzzer.sh index 3d6da99762e6bba83c03cfe83e682618e9b91fa7..346403548abe8bffac3b3ec2bf2394b0d87203a5 100755 --- a/tools/jenkins/run_fuzzer.sh +++ b/tools/jenkins/run_fuzzer.sh @@ -37,7 +37,10 @@ export DOCKER_RUN_SCRIPT=tools/jenkins/docker_run.sh export DOCKERFILE_DIR=tools/dockerfile/test/fuzzer export OUTPUT_DIR=fuzzer_output +runtime=${runtime:-3600} + tools/jenkins/build_and_run_docker.sh \ -e RUN_COMMAND="$RUN_COMMAND" \ -e OUTPUT_DIR="$OUTPUT_DIR" \ - -e config="$config" + -e config="$config" \ + -e runtime="$runtime" diff --git a/tools/jenkins/run_interop_stress.sh b/tools/jenkins/run_interop_stress.sh index 8166f34e0558550d759c5263bcea91282db83caf..22d81db8bcdf217f0f65371301c6e0faae710518 100755 --- a/tools/jenkins/run_interop_stress.sh +++ b/tools/jenkins/run_interop_stress.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/jenkins/run_jenkins.sh b/tools/jenkins/run_jenkins.sh index da6ca698095dff0e06b25bdb41b7dd669dcc29e4..7a6dfe3577faa6592fe5385e35bbbe6fe80ba608 100755 --- a/tools/jenkins/run_jenkins.sh +++ b/tools/jenkins/run_jenkins.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/jenkins/run_performance.sh b/tools/jenkins/run_performance.sh index fbc078330f72daf57a7e4e301488972ed4cfb0c4..8bbb894820b3ebdc9e10992ce22186ab60fd6dd1 100755 --- a/tools/jenkins/run_performance.sh +++ b/tools/jenkins/run_performance.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/jenkins/run_portability.sh b/tools/jenkins/run_portability.sh index 6f15da73f4306628e335f4f30bce18e3d0119e31..18d34cc870acaeca93373158d8d0dbfb7da8f613 100755 --- a/tools/jenkins/run_portability.sh +++ b/tools/jenkins/run_portability.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/openssl/use_openssl.sh b/tools/openssl/use_openssl.sh index 9318b34257825138ccd8ad077b84995f5660efb9..09d86767ec083253f74e08f52f8746ccb50b94dc 100755 --- a/tools/openssl/use_openssl.sh +++ b/tools/openssl/use_openssl.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/build_csharp.sh b/tools/run_tests/build_csharp.sh index aadd11e205432052620c72c4d95c62c68214b328..48ce11a10b7b6ed619eef4d1fa18697e70d7bb7b 100755 --- a/tools/run_tests/build_csharp.sh +++ b/tools/run_tests/build_csharp.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/build_node.sh b/tools/run_tests/build_node.sh index cbe0e31d2eb9e8070cf3a8cff5e25eef45ee1f49..d9292fd8aa2d61407e5a3e6ab47bbcfe34198447 100755 --- a/tools/run_tests/build_node.sh +++ b/tools/run_tests/build_node.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/build_php.sh b/tools/run_tests/build_php.sh index 0f9cfe5e3afa4d1332d88dfafdcc852452f052b5..77a8abcfe70fac742674860346f34757b3de6a00 100755 --- a/tools/run_tests/build_php.sh +++ b/tools/run_tests/build_php.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/build_python.sh b/tools/run_tests/build_python.sh index 79a148faf1bfcf215330e2f42519a365de46d95b..30d121007fb460ef9dcbf2433401d115f3c21cec 100755 --- a/tools/run_tests/build_python.sh +++ b/tools/run_tests/build_python.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -40,6 +40,7 @@ export PATH=$ROOT/bins/$CONFIG:$ROOT/bins/$CONFIG/protobuf:$PATH export CFLAGS="-I$ROOT/include -std=gnu99" export LDFLAGS="-L$ROOT/libs/$CONFIG" export GRPC_PYTHON_BUILD_WITH_CYTHON=1 +export GRPC_PYTHON_USE_PRECOMPILED_BINARIES=0 if [ "$CONFIG" = "gcov" ] then diff --git a/tools/run_tests/build_ruby.sh b/tools/run_tests/build_ruby.sh index ebd27f6a6c2f2fae8174bb048b7b053d923b6d67..10343fce6963f9223cf683c89c82f16349fa14ee 100755 --- a/tools/run_tests/build_ruby.sh +++ b/tools/run_tests/build_ruby.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/jobset.py b/tools/run_tests/jobset.py index a3b246dc084b295d17742d1e2b81d6caa4070a46..e9675fb785bd5a71afe210193df63c3799f515c8 100755 --- a/tools/run_tests/jobset.py +++ b/tools/run_tests/jobset.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -151,7 +151,8 @@ class JobSpec(object): def __init__(self, cmdline, shortname=None, environ=None, hash_targets=None, cwd=None, shell=False, timeout_seconds=5*60, flake_retries=0, - timeout_retries=0, kill_handler=None, cpu_cost=1.0): + timeout_retries=0, kill_handler=None, cpu_cost=1.0, + verbose_success=False): """ Arguments: cmdline: a list of arguments to pass as the command line @@ -176,6 +177,7 @@ class JobSpec(object): self.timeout_retries = timeout_retries self.kill_handler = kill_handler self.cpu_cost = cpu_cost + self.verbose_success = verbose_success def identity(self): return '%r %r %r' % (self.cmdline, self.environ, self.hash_targets) @@ -287,7 +289,8 @@ class Job(object): cores = (user + sys) / real measurement = '; cpu_cost=%.01f; estimated=%.01f' % (cores, self._spec.cpu_cost) message('PASSED', '%s [time=%.1fsec; retries=%d:%d%s]' % ( - self._spec.shortname, elapsed, self._retries, self._timeout_retries, measurement), + self._spec.shortname, elapsed, self._retries, self._timeout_retries, measurement), + stdout() if self._spec.verbose_success else None, do_newline=self._newline_on_success or self._travis) self.result.state = 'PASSED' if self._bin_hash: diff --git a/tools/run_tests/performance/__init__.py b/tools/run_tests/performance/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..100a624dc9c1bbd89708c58e18cf2666a73f4cc7 --- /dev/null +++ b/tools/run_tests/performance/__init__.py @@ -0,0 +1,28 @@ +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/tools/run_tests/performance/build_performance.sh b/tools/run_tests/performance/build_performance.sh new file mode 100755 index 0000000000000000000000000000000000000000..2c962cba37df1a23eff2ffac313ab5475c35a0e3 --- /dev/null +++ b/tools/run_tests/performance/build_performance.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# Copyright 2015, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +set -ex + +cd $(dirname $0)/../../.. + +#TODO(jtattermusch): add support for more languages + +CONFIG=${CONFIG:-opt} + +# build C++ qps worker & driver always - we need at least the driver to +# run any of the scenarios. +# TODO(jtattermusch): not embedding OpenSSL breaks the C# build because +# grpc_csharp_ext needs OpenSSL embedded and some intermediate files from +# this build will be reused. +make CONFIG=${CONFIG} EMBED_OPENSSL=true EMBED_ZLIB=true qps_worker qps_driver qps_json_driver -j8 + +for language in $@ +do + if [ "$language" != "c++" ] + then + tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 + fi +done diff --git a/tools/run_tests/performance/remote_host_build.sh b/tools/run_tests/performance/remote_host_build.sh new file mode 100755 index 0000000000000000000000000000000000000000..b8886080a5cd983a41883251ae61bbfbf2c658d7 --- /dev/null +++ b/tools/run_tests/performance/remote_host_build.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# Copyright 2015, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +set -ex + +cd $(dirname $0)/../../.. + +# execute the build script remotely +ssh "${USER_AT_HOST}" "CONFIG=${CONFIG} ~/performance_workspace/grpc/tools/run_tests/performance/build_performance.sh $*" diff --git a/tools/run_tests/performance/remote_host_prepare.sh b/tools/run_tests/performance/remote_host_prepare.sh new file mode 100755 index 0000000000000000000000000000000000000000..18633d1420e487d82746f84c054228a6acd68972 --- /dev/null +++ b/tools/run_tests/performance/remote_host_prepare.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# Copyright 2015, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +set -ex + +cd $(dirname $0)/../../.. + +# cleanup after previous builds +ssh "${USER_AT_HOST}" "rm -rf ~/performance_workspace && mkdir -p ~/performance_workspace" + +# TODO(jtattermusch): To be sure there are no running processes that would +# mess with the results, be rough and reboot the slave here +# and wait for it to come back online. +ssh "${USER_AT_HOST}" "killall qps_worker mono node || true" + +# push the current sources to the slave and unpack it. +scp ../grpc.tar "${USER_AT_HOST}:~/performance_workspace" +ssh "${USER_AT_HOST}" "tar -xf ~/performance_workspace/grpc.tar -C ~/performance_workspace" diff --git a/tools/run_tests/performance/run_worker_csharp.sh b/tools/run_tests/performance/run_worker_csharp.sh new file mode 100755 index 0000000000000000000000000000000000000000..b91df09b4272583b6fe759243a3ca5fed53a4872 --- /dev/null +++ b/tools/run_tests/performance/run_worker_csharp.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Copyright 2015, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +set -ex + +cd $(dirname $0)/../../.. + +# needed to correctly locate testca +cd src/csharp/Grpc.IntegrationTesting.QpsWorker/bin/Release + +mono Grpc.IntegrationTesting.QpsWorker.exe $@ diff --git a/tools/run_tests/performance/run_worker_node.sh b/tools/run_tests/performance/run_worker_node.sh new file mode 100755 index 0000000000000000000000000000000000000000..46b6ff0177412c4559f8c31cd22386937dc6cbde --- /dev/null +++ b/tools/run_tests/performance/run_worker_node.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Copyright 2015, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +source ~/.nvm/nvm.sh +nvm use 0.12 + +set -ex + +cd $(dirname $0)/../../.. + +node src/node/performance/worker.js $@ diff --git a/tools/run_tests/performance/scenario_config.py b/tools/run_tests/performance/scenario_config.py new file mode 100644 index 0000000000000000000000000000000000000000..7a82d257e406924df9dfcea4f11b38a7b6d9ef4d --- /dev/null +++ b/tools/run_tests/performance/scenario_config.py @@ -0,0 +1,345 @@ +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# performance scenario configuration for various languages + +SINGLE_MACHINE_CORES=8 +WARMUP_SECONDS=5 +BENCHMARK_SECONDS=30 + +EMPTY_GENERIC_PAYLOAD = { + 'bytebuf_params': { + 'req_size': 0, + 'resp_size': 0, + } +} +EMPTY_PROTO_PAYLOAD = { + 'simple_params': { + 'req_size': 0, + 'resp_size': 0, + } +} +BIG_GENERIC_PAYLOAD = { + 'bytebuf_params': { + 'req_size': 65536, + 'resp_size': 65536, + } +} + +# deep is the number of RPCs outstanding on a channel in non-ping-pong tests +# (the value used is 1 otherwise) +DEEP=100 + +# wide is the number of client channels in multi-channel tests (1 otherwise) +WIDE=64 + + +class CXXLanguage: + + def __init__(self): + self.safename = 'cxx' + + def worker_cmdline(self): + return ['bins/opt/qps_worker'] + + def worker_port_offset(self): + return 0 + + def scenarios(self): + # TODO(ctiller): add 70% load latency test + for secure in [True, False]: + if secure: + secstr = 'secure' + secargs = {'use_test_ca': True, + 'server_host_override': 'foo.test.google.fr'} + else: + secstr = 'insecure' + secargs = None + + yield { + 'name': 'generic_async_streaming_ping_pong_%s' + % secstr, + 'num_servers': 1, + 'num_clients': 1, + 'client_config': { + 'client_type': 'ASYNC_CLIENT', + 'security_params': secargs, + 'outstanding_rpcs_per_channel': 1, + 'client_channels': 1, + 'async_client_threads': 1, + 'rpc_type': 'STREAMING', + 'load_params': { + 'closed_loop': {} + }, + 'payload_config': EMPTY_GENERIC_PAYLOAD, + }, + 'server_config': { + 'server_type': 'ASYNC_GENERIC_SERVER', + 'security_params': secargs, + 'core_limit': SINGLE_MACHINE_CORES/2, + 'async_server_threads': 1, + 'payload_config': EMPTY_GENERIC_PAYLOAD, + }, + 'warmup_seconds': WARMUP_SECONDS, + 'benchmark_seconds': BENCHMARK_SECONDS + } + yield { + 'name': 'generic_async_streaming_qps_unconstrained_%s' + % secstr, + 'num_servers': 1, + 'num_clients': 0, + 'client_config': { + 'client_type': 'ASYNC_CLIENT', + 'security_params': secargs, + 'outstanding_rpcs_per_channel': DEEP, + 'client_channels': WIDE, + 'async_client_threads': 1, + 'rpc_type': 'STREAMING', + 'load_params': { + 'closed_loop': {} + }, + 'payload_config': EMPTY_GENERIC_PAYLOAD, + }, + 'server_config': { + 'server_type': 'ASYNC_GENERIC_SERVER', + 'security_params': secargs, + 'core_limit': SINGLE_MACHINE_CORES/2, + 'async_server_threads': 1, + 'payload_config': EMPTY_GENERIC_PAYLOAD, + }, + 'warmup_seconds': WARMUP_SECONDS, + 'benchmark_seconds': BENCHMARK_SECONDS + } + yield { + 'name': 'generic_async_streaming_qps_one_server_core_%s' + % secstr, + 'num_servers': 1, + 'num_clients': 0, + 'client_config': { + 'client_type': 'ASYNC_CLIENT', + 'security_params': secargs, + 'outstanding_rpcs_per_channel': DEEP, + 'client_channels': WIDE, + 'async_client_threads': 1, + 'rpc_type': 'STREAMING', + 'load_params': { + 'closed_loop': {} + }, + 'payload_config': EMPTY_GENERIC_PAYLOAD, + }, + 'server_config': { + 'server_type': 'ASYNC_GENERIC_SERVER', + 'security_params': secargs, + 'core_limit': 1, + 'async_server_threads': 1, + 'payload_config': EMPTY_GENERIC_PAYLOAD, + }, + 'warmup_seconds': WARMUP_SECONDS, + 'benchmark_seconds': BENCHMARK_SECONDS + } + yield { + 'name': 'protobuf_async_qps_unconstrained_%s' + % secstr, + 'num_servers': 1, + 'num_clients': 0, + 'client_config': { + 'client_type': 'ASYNC_CLIENT', + 'security_params': secargs, + 'outstanding_rpcs_per_channel': DEEP, + 'client_channels': WIDE, + 'async_client_threads': 1, + 'rpc_type': 'STREAMING', + 'load_params': { + 'closed_loop': {} + }, + 'payload_config': EMPTY_GENERIC_PAYLOAD, + }, + 'server_config': { + 'server_type': 'ASYNC_GENERIC_SERVER', + 'security_params': secargs, + 'core_limit': SINGLE_MACHINE_CORES/2, + 'async_server_threads': 1, + 'payload_config': EMPTY_GENERIC_PAYLOAD, + }, + 'warmup_seconds': WARMUP_SECONDS, + 'benchmark_seconds': BENCHMARK_SECONDS + } + yield { + 'name': 'single_channel_throughput_%s' + % secstr, + 'num_servers': 1, + 'num_clients': 1, + 'client_config': { + 'client_type': 'ASYNC_CLIENT', + 'security_params': secargs, + 'outstanding_rpcs_per_channel': 1, + 'client_channels': 1, + 'async_client_threads': 1, + 'rpc_type': 'STREAMING', + 'load_params': { + 'closed_loop': {} + }, + 'payload_config': BIG_GENERIC_PAYLOAD, + }, + 'server_config': { + 'server_type': 'ASYNC_GENERIC_SERVER', + 'security_params': secargs, + 'core_limit': SINGLE_MACHINE_CORES/2, + 'async_server_threads': 1, + 'payload_config': BIG_GENERIC_PAYLOAD, + }, + 'warmup_seconds': WARMUP_SECONDS, + 'benchmark_seconds': BENCHMARK_SECONDS + } + yield { + 'name': 'protobuf_async_ping_pong_%s' + % secstr, + 'num_servers': 1, + 'num_clients': 1, + 'client_config': { + 'client_type': 'ASYNC_CLIENT', + 'security_params': secargs, + 'outstanding_rpcs_per_channel': 1, + 'client_channels': 1, + 'async_client_threads': 1, + 'rpc_type': 'STREAMING', + 'load_params': { + 'closed_loop': {} + }, + 'payload_config': EMPTY_PROTO_PAYLOAD, + }, + 'server_config': { + 'server_type': 'ASYNC_GENERIC_SERVER', + 'security_params': secargs, + 'core_limit': SINGLE_MACHINE_CORES/2, + 'async_server_threads': 1, + 'payload_config': EMPTY_PROTO_PAYLOAD, + }, + 'warmup_seconds': WARMUP_SECONDS, + 'benchmark_seconds': BENCHMARK_SECONDS + } + + def __str__(self): + return 'c++' + + +class CSharpLanguage: + + def __init__(self): + self.safename = str(self) + + def worker_cmdline(self): + return ['tools/run_tests/performance/run_worker_csharp.sh'] + + def worker_port_offset(self): + return 100 + + def scenarios(self): + # TODO(jtattermusch): add more scenarios + yield { + 'name': 'csharp_async_generic_streaming_ping_pong', + 'num_servers': 1, + 'num_clients': 1, + 'client_config': { + 'client_type': 'ASYNC_CLIENT', + 'security_params': secargs, + 'outstanding_rpcs_per_channel': 1, + 'client_channels': 1, + 'async_client_threads': 1, + 'rpc_type': 'STREAMING', + 'load_params': { + 'closed_loop': {} + }, + 'payload_config': EMPTY_GENERIC_PAYLOAD, + }, + 'server_config': { + 'server_type': 'ASYNC_GENERIC_SERVER', + 'security_params': secargs, + 'core_limit': SINGLE_MACHINE_CORES/2, + 'async_server_threads': 1, + 'payload_config': EMPTY_GENERIC_PAYLOAD, + }, + 'warmup_seconds': WARMUP_SECONDS, + 'benchmark_seconds': BENCHMARK_SECONDS + } + + def __str__(self): + return 'csharp' + + +class NodeLanguage: + + def __init__(self): + pass + self.safename = str(self) + + def worker_cmdline(self): + return ['tools/run_tests/performance/run_worker_node.sh'] + + def worker_port_offset(self): + return 200 + + def scenarios(self): + # TODO(jtattermusch): add more scenarios + yield { + 'name': 'node_sync_unary_ping_pong_protobuf', + 'num_servers': 1, + 'num_clients': 1, + 'client_config': { + 'client_type': 'ASYNC_CLIENT', + 'security_params': secargs, + 'outstanding_rpcs_per_channel': 1, + 'client_channels': 1, + 'async_client_threads': 1, + 'rpc_type': 'STREAMING', + 'load_params': { + 'closed_loop': {} + }, + 'payload_config': EMPTY_PROTO_PAYLOAD, + }, + 'server_config': { + 'server_type': 'ASYNC_GENERIC_SERVER', + 'security_params': secargs, + 'core_limit': SINGLE_MACHINE_CORES/2, + 'async_server_threads': 1, + 'payload_config': EMPTY_PROTO_PAYLOAD, + }, + 'warmup_seconds': WARMUP_SECONDS, + 'benchmark_seconds': BENCHMARK_SECONDS + } + + def __str__(self): + return 'node' + + +LANGUAGES = { + 'c++' : CXXLanguage(), + 'csharp' : CSharpLanguage(), + 'node' : NodeLanguage(), +} diff --git a/tools/run_tests/post_tests_php.sh b/tools/run_tests/post_tests_php.sh index 01a44d03dc397d0cbb7d5e93cf80bd5d4b1fb9ae..b4098066ea9fa9f9a409b75ff783d1c565ea535a 100755 --- a/tools/run_tests/post_tests_php.sh +++ b/tools/run_tests/post_tests_php.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/post_tests_ruby.sh b/tools/run_tests/post_tests_ruby.sh index 1a02e566c76880c88ed20fc3dddcb1d0cb79411b..0877e44805abd879b5a2309d4d41b0690e77f592 100755 --- a/tools/run_tests/post_tests_ruby.sh +++ b/tools/run_tests/post_tests_ruby.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/pre_build_csharp.sh b/tools/run_tests/pre_build_csharp.sh index 32466c217714b951206c7ee7e52a8d4e5007fbe1..3ff1a4e5a8b5545e247fc506e50029d5effad104 100755 --- a/tools/run_tests/pre_build_csharp.sh +++ b/tools/run_tests/pre_build_csharp.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/pre_build_node.sh b/tools/run_tests/pre_build_node.sh index 1f55df0b7bca372dec8f48c4b957c21e502a4a80..4879e7ad9bded4e63d61f8bf3aa26e93c8283f1c 100755 --- a/tools/run_tests/pre_build_node.sh +++ b/tools/run_tests/pre_build_node.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/report_utils.py b/tools/run_tests/report_utils.py index df114e5dae16cce8b36428a911435cc522cecf0e..35dcaca3d34e731f22367d19492003bb85fd4bab 100644 --- a/tools/run_tests/report_utils.py +++ b/tools/run_tests/report_utils.py @@ -1,4 +1,4 @@ -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/run_csharp.bat b/tools/run_tests/run_csharp.bat index 82eb58518ced0178431b905b0843f5f158b55c3f..29c879e23be9a3ec64a4fd97b76dffa5641f0664 100644 --- a/tools/run_tests/run_csharp.bat +++ b/tools/run_tests/run_csharp.bat @@ -10,9 +10,9 @@ if not "%CONFIG%" == "gcov" ( ) else ( @rem Run all tests with code coverage - packages\OpenCover.4.6.166\tools\OpenCover.Console.exe -target:"packages\NUnit.Runners.2.6.4\tools\nunit-console-x86.exe" -targetdir:"." -targetargs:"%*" -filter:"+[Grpc.Core]*" -register:user -output:coverage_results.xml || goto :error + packages\OpenCover.4.6.519\tools\OpenCover.Console.exe -target:"packages\NUnit.Runners.2.6.4\tools\nunit-console-x86.exe" -targetdir:"." -targetargs:"%*" -filter:"+[Grpc.Core]*" -register:user -output:coverage_results.xml || goto :error - packages\ReportGenerator.2.3.2.0\tools\ReportGenerator.exe -reports:"coverage_results.xml" -targetdir:"..\..\reports\csharp_coverage" -reporttypes:"Html;TextSummary" || goto :error + packages\ReportGenerator.2.4.4.0\tools\ReportGenerator.exe -reports:"coverage_results.xml" -targetdir:"..\..\reports\csharp_coverage" -reporttypes:"Html;TextSummary" || goto :error @rem Generate the index.html file echo ^<html^>^<head^>^</head^>^<body^>^<a href='csharp_coverage/index.htm'^>csharp coverage^</a^>^<br/^>^</body^>^</html^> >..\..\reports\index.html diff --git a/tools/run_tests/run_csharp.sh b/tools/run_tests/run_csharp.sh index 10f1c28521808a3d242ac268fa41dd045f2d0897..dad44c4e4f6609f1157bea9a5cc687502e71ed2a 100755 --- a/tools/run_tests/run_csharp.sh +++ b/tools/run_tests/run_csharp.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/run_interop_tests.py b/tools/run_tests/run_interop_tests.py index 86eb52bbde172e1f5d025cf55fde09d507f76692..28b91f8b623be7ce13d381c89824ba7c632a3fa0 100755 --- a/tools/run_tests/run_interop_tests.py +++ b/tools/run_tests/run_interop_tests.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/run_node.sh b/tools/run_tests/run_node.sh index b94dc3ec628e270154be246b480dc2ae8d94f166..44f75645f5f21cf8e1df65f4df40ac47126358df 100755 --- a/tools/run_tests/run_node.sh +++ b/tools/run_tests/run_node.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -48,6 +48,7 @@ if [ "$CONFIG" = "gcov" ] then ./node_modules/.bin/istanbul cover --dir reports/node_coverage \ -x **/interop/* ./node_modules/.bin/_mocha -- --timeout $timeout $test_directory + cp -r reports/node_coverage/lcov-report/* reports/node_coverage/ cd build gcov Release/obj.target/grpc/ext/*.o lcov --base-directory . --directory . -c -o coverage.info @@ -55,8 +56,6 @@ then genhtml -o ../reports/node_ext_coverage --num-spaces 2 \ -t 'Node gRPC test coverage' coverage.info --rc genhtml_hi_limit=95 \ --rc genhtml_med_limit=80 --no-prefix - echo '<html><head><meta http-equiv="refresh" content="0;URL=lcov-report/index.html"></head></html>' > \ - ../reports/node_coverage/index.html else JUNIT_REPORT_PATH=src/node/report.xml JUNIT_REPORT_STACK=1 \ ./node_modules/.bin/mocha --timeout $timeout \ diff --git a/tools/run_tests/run_performance_tests.py b/tools/run_tests/run_performance_tests.py new file mode 100755 index 0000000000000000000000000000000000000000..51ed35f7608998a8c74ea90bebc3b6cb9a606c0d --- /dev/null +++ b/tools/run_tests/run_performance_tests.py @@ -0,0 +1,322 @@ +#!/usr/bin/env python2.7 +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""Run performance tests locally or remotely.""" + +import argparse +import itertools +import jobset +import json +import multiprocessing +import os +import pipes +import subprocess +import sys +import tempfile +import time +import uuid +import performance.scenario_config as scenario_config + + +_ROOT = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '../..')) +os.chdir(_ROOT) + + +_REMOTE_HOST_USERNAME = 'jenkins' + + +class QpsWorkerJob: + """Encapsulates a qps worker server job.""" + + def __init__(self, spec, language, host_and_port): + self._spec = spec + self.language = language + self.host_and_port = host_and_port + self._job = jobset.Job(spec, bin_hash=None, newline_on_success=True, travis=True, add_env={}) + + def is_running(self): + """Polls a job and returns True if given job is still running.""" + return self._job.state(jobset.NoCache()) == jobset._RUNNING + + def kill(self): + return self._job.kill() + + +def create_qpsworker_job(language, shortname=None, + port=10000, remote_host=None): + # TODO: support more languages + cmdline = language.worker_cmdline() + ['--driver_port=%s' % port] + if remote_host: + user_at_host = '%s@%s' % (_REMOTE_HOST_USERNAME, remote_host) + cmdline = ['ssh', + str(user_at_host), + 'cd ~/performance_workspace/grpc/ && %s' % ' '.join(cmdline)] + host_and_port='%s:%s' % (remote_host, port) + else: + host_and_port='localhost:%s' % port + + jobspec = jobset.JobSpec( + cmdline=cmdline, + shortname=shortname, + timeout_seconds=15*60) + return QpsWorkerJob(jobspec, language, host_and_port) + + +def create_scenario_jobspec(scenario_json, workers, remote_host=None): + """Runs one scenario using QPS driver.""" + # setting QPS_WORKERS env variable here makes sure it works with SSH too. + cmd = 'QPS_WORKERS="%s" bins/opt/qps_json_driver ' % ','.join(workers) + cmd += '--scenarios_json=%s' % pipes.quote(json.dumps({'scenarios': [scenario_json]})) + if remote_host: + user_at_host = '%s@%s' % (_REMOTE_HOST_USERNAME, remote_host) + cmd = 'ssh %s "cd ~/performance_workspace/grpc/ && %s"' % (user_at_host, cmd) + + return jobset.JobSpec( + cmdline=[cmd], + shortname='qps_json_driver.%s' % scenario_json['name'], + timeout_seconds=3*60, + shell=True, + verbose_success=True) + + +def create_quit_jobspec(workers, remote_host=None): + """Runs quit using QPS driver.""" + # setting QPS_WORKERS env variable here makes sure it works with SSH too. + cmd = 'QPS_WORKERS="%s" bins/opt/qps_driver --quit' % ','.join(workers) + if remote_host: + user_at_host = '%s@%s' % (_REMOTE_HOST_USERNAME, remote_host) + cmd = 'ssh %s "cd ~/performance_workspace/grpc/ && %s"' % (user_at_host, cmd) + + return jobset.JobSpec( + cmdline=[cmd], + shortname='qps_driver.quit', + timeout_seconds=3*60, + shell=True, + verbose_success=True) + + +def archive_repo(): + """Archives local version of repo including submodules.""" + # TODO: also archive grpc-go and grpc-java repos + archive_job = jobset.JobSpec( + cmdline=['tar', '-cf', '../grpc.tar', '../grpc/'], + shortname='archive_repo', + timeout_seconds=3*60) + + jobset.message('START', 'Archiving local repository.', do_newline=True) + num_failures, _ = jobset.run( + [archive_job], newline_on_success=True, maxjobs=1) + if num_failures == 0: + jobset.message('SUCCESS', + 'Archive with local repository create successfully.', + do_newline=True) + else: + jobset.message('FAILED', 'Failed to archive local repository.', + do_newline=True) + sys.exit(1) + + +def prepare_remote_hosts(hosts): + """Prepares remote hosts.""" + prepare_jobs = [] + for host in hosts: + user_at_host = '%s@%s' % (_REMOTE_HOST_USERNAME, host) + prepare_jobs.append( + jobset.JobSpec( + cmdline=['tools/run_tests/performance/remote_host_prepare.sh'], + shortname='remote_host_prepare.%s' % host, + environ = {'USER_AT_HOST': user_at_host}, + timeout_seconds=5*60)) + jobset.message('START', 'Preparing remote hosts.', do_newline=True) + num_failures, _ = jobset.run( + prepare_jobs, newline_on_success=True, maxjobs=10) + if num_failures == 0: + jobset.message('SUCCESS', + 'Remote hosts ready to start build.', + do_newline=True) + else: + jobset.message('FAILED', 'Failed to prepare remote hosts.', + do_newline=True) + sys.exit(1) + + +def build_on_remote_hosts(hosts, languages=scenario_config.LANGUAGES.keys(), build_local=False): + """Builds performance worker on remote hosts (and maybe also locally).""" + build_timeout = 15*60 + build_jobs = [] + for host in hosts: + user_at_host = '%s@%s' % (_REMOTE_HOST_USERNAME, host) + build_jobs.append( + jobset.JobSpec( + cmdline=['tools/run_tests/performance/remote_host_build.sh'] + languages, + shortname='remote_host_build.%s' % host, + environ = {'USER_AT_HOST': user_at_host, 'CONFIG': 'opt'}, + timeout_seconds=build_timeout)) + if build_local: + # Build locally as well + build_jobs.append( + jobset.JobSpec( + cmdline=['tools/run_tests/performance/build_performance.sh'] + languages, + shortname='local_build', + environ = {'CONFIG': 'opt'}, + timeout_seconds=build_timeout)) + jobset.message('START', 'Building.', do_newline=True) + num_failures, _ = jobset.run( + build_jobs, newline_on_success=True, maxjobs=10) + if num_failures == 0: + jobset.message('SUCCESS', + 'Built successfully.', + do_newline=True) + else: + jobset.message('FAILED', 'Build failed.', + do_newline=True) + sys.exit(1) + + +def start_qpsworkers(languages, worker_hosts): + """Starts QPS workers as background jobs.""" + if not worker_hosts: + # run two workers locally (for each language) + workers=[(None, 10000), (None, 10010)] + elif len(worker_hosts) == 1: + # run two workers on the remote host (for each language) + workers=[(worker_hosts[0], 10000), (worker_hosts[0], 10010)] + else: + # run one worker per each remote host (for each language) + workers=[(worker_host, 10000) for worker_host in worker_hosts] + + return [create_qpsworker_job(language, + shortname= 'qps_worker_%s_%s' % (language, + worker_idx), + port=worker[1] + language.worker_port_offset(), + remote_host=worker[0]) + for language in languages + for worker_idx, worker in enumerate(workers)] + + +def create_scenarios(languages, workers_by_lang, remote_host=None): + """Create jobspecs for scenarios to run.""" + scenarios = [] + for language in languages: + for scenario_json in language.scenarios(): + scenario = create_scenario_jobspec(scenario_json, + workers_by_lang[str(language)], + remote_host=remote_host) + scenarios.append(scenario) + + # the very last scenario requests shutting down the workers. + all_workers = [worker + for workers in workers_by_lang.values() + for worker in workers] + scenarios.append(create_quit_jobspec(all_workers, remote_host=remote_host)) + return scenarios + + +def finish_qps_workers(jobs): + """Waits for given jobs to finish and eventually kills them.""" + retries = 0 + while any(job.is_running() for job in jobs): + for job in qpsworker_jobs: + if job.is_running(): + print 'QPS worker "%s" is still running.' % job.host_and_port + if retries > 10: + print 'Killing all QPS workers.' + for job in jobs: + job.kill() + retries += 1 + time.sleep(3) + print 'All QPS workers finished.' + + +argp = argparse.ArgumentParser(description='Run performance tests.') +argp.add_argument('-l', '--language', + choices=['all'] + sorted(scenario_config.LANGUAGES.keys()), + nargs='+', + default=['all'], + help='Languages to benchmark.') +argp.add_argument('--remote_driver_host', + default=None, + help='Run QPS driver on given host. By default, QPS driver is run locally.') +argp.add_argument('--remote_worker_host', + nargs='+', + default=[], + help='Worker hosts where to start QPS workers.') + +args = argp.parse_args() + +languages = set(scenario_config.LANGUAGES[l] + for l in itertools.chain.from_iterable( + scenario_config.LANGUAGES.iterkeys() if x == 'all' else [x] + for x in args.language)) + +# Put together set of remote hosts where to run and build +remote_hosts = set() +if args.remote_worker_host: + for host in args.remote_worker_host: + remote_hosts.add(host) +if args.remote_driver_host: + remote_hosts.add(args.remote_driver_host) + +if remote_hosts: + archive_repo() + prepare_remote_hosts(remote_hosts) + +build_local = False +if not args.remote_driver_host: + build_local = True +build_on_remote_hosts(remote_hosts, languages=[str(l) for l in languages], build_local=build_local) + +qpsworker_jobs = start_qpsworkers(languages, args.remote_worker_host) + +# get list of worker addresses for each language. +worker_addresses = dict([(str(language), []) for language in languages]) +for job in qpsworker_jobs: + worker_addresses[str(job.language)].append(job.host_and_port) + +try: + scenarios = create_scenarios(languages, + workers_by_lang=worker_addresses, + remote_host=args.remote_driver_host) + if not scenarios: + raise Exception('No scenarios to run') + + jobset.message('START', 'Running scenarios.', do_newline=True) + num_failures, _ = jobset.run( + scenarios, newline_on_success=True, maxjobs=1) + if num_failures == 0: + jobset.message('SUCCESS', + 'All scenarios finished successfully.', + do_newline=True) + else: + jobset.message('FAILED', 'Some of the scenarios failed.', + do_newline=True) + sys.exit(1) +finally: + finish_qps_workers(qpsworker_jobs) diff --git a/tools/run_tests/run_python.sh b/tools/run_tests/run_python.sh index d4b7250cbb7f22066aeb01f9c99b65630123a491..a93ef2576db75a7acb41c6366caad7bceac897dd 100755 --- a/tools/run_tests/run_python.sh +++ b/tools/run_tests/run_python.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -40,6 +40,7 @@ export PATH=$ROOT/bins/$CONFIG:$ROOT/bins/$CONFIG/protobuf:$PATH export CFLAGS="-I$ROOT/include -std=c89" export LDFLAGS="-L$ROOT/libs/$CONFIG" export GRPC_PYTHON_BUILD_WITH_CYTHON=1 +export GRPC_PYTHON_USE_PRECOMPILED_BINARIES=0 if [ "$CONFIG" = "gcov" ] then diff --git a/tools/run_tests/run_stress_tests.py b/tools/run_tests/run_stress_tests.py index d1faf7d9641c012fda9e3b16488eba931977783e..0ba8f51c58370538be244629fed7826cdb92a7b6 100755 --- a/tools/run_tests/run_stress_tests.py +++ b/tools/run_tests/run_stress_tests.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index a9438045aa6d4802dad55caaf5b6d76a38d703b4..dfac94660b66e210c0d399e0b21cd47b6b62f669 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -120,7 +120,12 @@ def get_c_tests(travis, test_lang) : def _check_compiler(compiler, supported_compilers): if compiler not in supported_compilers: - raise Exception('Compiler %s not supported.' % compiler) + raise Exception('Compiler %s not supported (on this platform).' % compiler) + + +def _check_arch(arch, supported_archs): + if arch not in supported_archs: + raise Exception('Architecture %s not supported.' % arch) def _is_use_docker_child(): @@ -187,7 +192,7 @@ class CLanguage(object): else: cmdline = [binary] + target['args'] out.append(self.config.job_spec(cmdline, [binary], - shortname=' '.join(cmdline), + shortname=target.get('shortname', ' '.join(cmdline)), cpu_cost=target['cpu_cost'], flaky=target.get('flaky', False), environ={'GRPC_DEFAULT_SSL_ROOTS_FILE_PATH': @@ -464,7 +469,20 @@ class CSharpLanguage(object): def configure(self, config, args): self.config = config self.args = args - _check_compiler(self.args.compiler, ['default']) + if self.platform == 'windows': + # Explicitly choosing between x86 and x64 arch doesn't work yet + _check_arch(self.args.arch, ['default']) + self._make_options = [_windows_toolset_option(self.args.compiler), + _windows_arch_option(self.args.arch)] + else: + _check_compiler(self.args.compiler, ['default']) + if self.platform == 'mac': + # On Mac, official distribution of mono is 32bit. + # TODO(jtattermusch): EMBED_ZLIB=true currently breaks the mac build + self._make_options = ['EMBED_OPENSSL=true', + 'CFLAGS=-m32', 'LDFLAGS=-m32'] + else: + self._make_options = ['EMBED_OPENSSL=true', 'EMBED_ZLIB=true'] def test_specs(self): with open('src/csharp/tests.json') as f: @@ -511,23 +529,16 @@ class CSharpLanguage(object): return [['tools/run_tests/pre_build_csharp.sh']] def make_targets(self): - # For Windows, this target doesn't really build anything, - # everything is build by buildall script later. - if self.platform == 'windows': - return [] - else: - return ['grpc_csharp_ext'] + return ['grpc_csharp_ext'] def make_options(self): - if self.platform == 'mac': - # On Mac, official distribution of mono is 32bit. - return ['CFLAGS=-arch i386', 'LDFLAGS=-arch i386'] - else: - return [] + return self._make_options; def build_steps(self): if self.platform == 'windows': - return [['src\\csharp\\buildall.bat']] + return [[_windows_build_bat(self.args.compiler), + 'src/csharp/Grpc.sln', + '/p:Configuration=%s' % _MSBUILD_CONFIG[self.config.build_config]]] else: return [['tools/run_tests/build_csharp.sh']] diff --git a/tools/run_tests/sanity/check_cache_mk.sh b/tools/run_tests/sanity/check_cache_mk.sh index b738d6a965f52b6a5754afd8b251b8402f376440..d7ae3d0d65fe236cfe1898fd4eeaa4d3e5dfdca1 100755 --- a/tools/run_tests/sanity/check_cache_mk.sh +++ b/tools/run_tests/sanity/check_cache_mk.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/sanity/check_sources_and_headers.py b/tools/run_tests/sanity/check_sources_and_headers.py index b5f7912796ed65af9499a5edda051e0bd72bdeef..c028499ca635cea40251b780383f018bdfd17ba7 100755 --- a/tools/run_tests/sanity/check_sources_and_headers.py +++ b/tools/run_tests/sanity/check_sources_and_headers.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh index 630e7fb3ae1d0ff7d815c584f3d43a26b77994e2..06e66f092922669f44e27203f76ce5678de107da 100755 --- a/tools/run_tests/sanity/check_submodules.sh +++ b/tools/run_tests/sanity/check_submodules.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2015-2016, Google Inc. +# Copyright 2015, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index d7c9839d5a5517ab715c8be2fe3690cf4addedd7..b2f2e1eb5249e1d52d46721cb8b3d83cd14877b0 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -390,6 +390,22 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "goaway_server_test", + "src": [ + "test/core/end2end/goaway_server_test.c" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr", @@ -1026,6 +1042,54 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "internal_api_canary_iomgr_test", + "src": [ + "test/core/internal_api_canaries/iomgr.c" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "internal_api_canary_support_test", + "src": [ + "test/core/internal_api_canaries/iomgr.c" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "internal_api_canary_transport_test", + "src": [ + "test/core/internal_api_canaries/iomgr.c" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr", @@ -1230,6 +1294,38 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "nanopb_fuzzer_response_test", + "src": [ + "test/core/nanopb/fuzzer_response.c" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "nanopb_fuzzer_serverlist_test", + "src": [ + "test/core/nanopb/fuzzer_serverlist.c" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr", @@ -1310,6 +1406,22 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "server_fuzzer", + "src": [ + "test/core/end2end/fuzzers/server_fuzzer.c" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr", @@ -1794,7 +1906,7 @@ }, { "deps": [ - "grpc++_codegen_lib" + "grpc++_codegen" ], "headers": [ "src/proto/grpc/testing/control.grpc.pb.h", @@ -2127,6 +2239,25 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_config", + "grpc++_test_util", + "grpc_test_util" + ], + "headers": [], + "language": "c++", + "name": "json_run_localhost", + "src": [ + "test/cpp/qps/json_run_localhost.cc" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr", @@ -2205,6 +2336,26 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_config", + "grpc++_test_util", + "grpc_test_util", + "qps" + ], + "headers": [], + "language": "c++", + "name": "qps_json_driver", + "src": [ + "test/cpp/qps/qps_json_driver.cc" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr", @@ -3096,6 +3247,23 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "bad_client_test", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "head_of_line_blocking_bad_client_test", + "src": [ + "test/core/bad_client/tests/head_of_line_blocking.c" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "bad_client_test", @@ -3349,40 +3517,6 @@ "third_party": false, "type": "target" }, - { - "deps": [ - "end2end_tests", - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [], - "language": "c", - "name": "h2_full+poll_test", - "src": [ - "test/core/end2end/fixtures/h2_full+poll.c" - ], - "third_party": false, - "type": "target" - }, - { - "deps": [ - "end2end_tests", - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [], - "language": "c", - "name": "h2_full+poll+pipe_test", - "src": [ - "test/core/end2end/fixtures/h2_full+poll+pipe.c" - ], - "third_party": false, - "type": "target" - }, { "deps": [ "end2end_tests", @@ -3502,23 +3636,6 @@ "third_party": false, "type": "target" }, - { - "deps": [ - "end2end_tests", - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [], - "language": "c", - "name": "h2_ssl+poll_test", - "src": [ - "test/core/end2end/fixtures/h2_ssl+poll.c" - ], - "third_party": false, - "type": "target" - }, { "deps": [ "end2end_tests", @@ -3553,23 +3670,6 @@ "third_party": false, "type": "target" }, - { - "deps": [ - "end2end_tests", - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [], - "language": "c", - "name": "h2_uds+poll_test", - "src": [ - "test/core/end2end/fixtures/h2_uds+poll.c" - ], - "third_party": false, - "type": "target" - }, { "deps": [ "end2end_nosec_tests", @@ -3648,9 +3748,9 @@ ], "headers": [], "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "h2_full+trace_nosec_test", "src": [ - "test/core/end2end/fixtures/h2_full+poll.c" + "test/core/end2end/fixtures/h2_full+trace.c" ], "third_party": false, "type": "target" @@ -3665,9 +3765,9 @@ ], "headers": [], "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "h2_proxy_nosec_test", "src": [ - "test/core/end2end/fixtures/h2_full+poll+pipe.c" + "test/core/end2end/fixtures/h2_proxy.c" ], "third_party": false, "type": "target" @@ -3682,9 +3782,9 @@ ], "headers": [], "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "h2_sockpair_nosec_test", "src": [ - "test/core/end2end/fixtures/h2_full+trace.c" + "test/core/end2end/fixtures/h2_sockpair.c" ], "third_party": false, "type": "target" @@ -3699,9 +3799,9 @@ ], "headers": [], "language": "c", - "name": "h2_proxy_nosec_test", + "name": "h2_sockpair+trace_nosec_test", "src": [ - "test/core/end2end/fixtures/h2_proxy.c" + "test/core/end2end/fixtures/h2_sockpair+trace.c" ], "third_party": false, "type": "target" @@ -3716,9 +3816,9 @@ ], "headers": [], "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "h2_sockpair_1byte_nosec_test", "src": [ - "test/core/end2end/fixtures/h2_sockpair.c" + "test/core/end2end/fixtures/h2_sockpair_1byte.c" ], "third_party": false, "type": "target" @@ -3733,224 +3833,140 @@ ], "headers": [], "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "h2_uds_nosec_test", "src": [ - "test/core/end2end/fixtures/h2_sockpair+trace.c" + "test/core/end2end/fixtures/h2_uds.c" ], "third_party": false, "type": "target" }, { "deps": [ - "end2end_nosec_tests", "gpr", "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" + "grpc", + "grpc_test_util", + "one_input_fuzzer" ], "headers": [], "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "hpack_parser_fuzzer_test_one_entry", "src": [ - "test/core/end2end/fixtures/h2_sockpair_1byte.c" + "test/core/transport/chttp2/hpack_parser_fuzzer_test.c" ], "third_party": false, "type": "target" }, { "deps": [ - "end2end_nosec_tests", "gpr", "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" + "grpc", + "grpc_test_util", + "one_input_fuzzer" ], "headers": [], "language": "c", - "name": "h2_uds_nosec_test", + "name": "http_fuzzer_test_one_entry", "src": [ - "test/core/end2end/fixtures/h2_uds.c" + "test/core/http/fuzzer.c" ], "third_party": false, "type": "target" }, { "deps": [ - "end2end_nosec_tests", "gpr", "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" + "grpc", + "grpc_test_util", + "one_input_fuzzer" ], "headers": [], "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "json_fuzzer_test_one_entry", "src": [ - "test/core/end2end/fixtures/h2_uds+poll.c" + "test/core/json/fuzzer.c" ], "third_party": false, "type": "target" }, { - "deps": [], - "headers": [ - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_win32.h", - "include/grpc/impl/codegen/time.h", - "include/grpc/support/alloc.h", - "include/grpc/support/atm.h", - "include/grpc/support/atm_gcc_atomic.h", - "include/grpc/support/atm_gcc_sync.h", - "include/grpc/support/atm_win32.h", - "include/grpc/support/avl.h", - "include/grpc/support/cmdline.h", - "include/grpc/support/cpu.h", - "include/grpc/support/histogram.h", - "include/grpc/support/host_port.h", - "include/grpc/support/log.h", - "include/grpc/support/log_win32.h", - "include/grpc/support/port_platform.h", - "include/grpc/support/slice.h", - "include/grpc/support/slice_buffer.h", - "include/grpc/support/string_util.h", - "include/grpc/support/subprocess.h", - "include/grpc/support/sync.h", - "include/grpc/support/sync_generic.h", - "include/grpc/support/sync_posix.h", - "include/grpc/support/sync_win32.h", - "include/grpc/support/thd.h", - "include/grpc/support/time.h", - "include/grpc/support/tls.h", - "include/grpc/support/tls_gcc.h", - "include/grpc/support/tls_msvc.h", - "include/grpc/support/tls_pthread.h", - "include/grpc/support/useful.h", - "src/core/lib/profiling/timers.h", - "src/core/lib/support/backoff.h", - "src/core/lib/support/block_annotate.h", - "src/core/lib/support/env.h", - "src/core/lib/support/load_file.h", - "src/core/lib/support/murmur_hash.h", - "src/core/lib/support/stack_lockfree.h", - "src/core/lib/support/string.h", - "src/core/lib/support/string_win32.h", - "src/core/lib/support/thd_internal.h", - "src/core/lib/support/time_precise.h", - "src/core/lib/support/tmpfile.h" + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util", + "one_input_fuzzer" ], + "headers": [], "language": "c", - "name": "gpr", + "name": "nanopb_fuzzer_response_test_one_entry", "src": [ - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_win32.h", - "include/grpc/impl/codegen/time.h", - "include/grpc/support/alloc.h", - "include/grpc/support/atm.h", - "include/grpc/support/atm_gcc_atomic.h", - "include/grpc/support/atm_gcc_sync.h", - "include/grpc/support/atm_win32.h", - "include/grpc/support/avl.h", - "include/grpc/support/cmdline.h", - "include/grpc/support/cpu.h", - "include/grpc/support/histogram.h", - "include/grpc/support/host_port.h", - "include/grpc/support/log.h", - "include/grpc/support/log_win32.h", - "include/grpc/support/port_platform.h", - "include/grpc/support/slice.h", - "include/grpc/support/slice_buffer.h", - "include/grpc/support/string_util.h", - "include/grpc/support/subprocess.h", - "include/grpc/support/sync.h", - "include/grpc/support/sync_generic.h", - "include/grpc/support/sync_posix.h", - "include/grpc/support/sync_win32.h", - "include/grpc/support/thd.h", - "include/grpc/support/time.h", - "include/grpc/support/tls.h", - "include/grpc/support/tls_gcc.h", - "include/grpc/support/tls_msvc.h", - "include/grpc/support/tls_pthread.h", - "include/grpc/support/useful.h", - "src/core/lib/profiling/basic_timers.c", - "src/core/lib/profiling/stap_timers.c", - "src/core/lib/profiling/timers.h", - "src/core/lib/support/alloc.c", - "src/core/lib/support/avl.c", - "src/core/lib/support/backoff.c", - "src/core/lib/support/backoff.h", - "src/core/lib/support/block_annotate.h", - "src/core/lib/support/cmdline.c", - "src/core/lib/support/cpu_iphone.c", - "src/core/lib/support/cpu_linux.c", - "src/core/lib/support/cpu_posix.c", - "src/core/lib/support/cpu_windows.c", - "src/core/lib/support/env.h", - "src/core/lib/support/env_linux.c", - "src/core/lib/support/env_posix.c", - "src/core/lib/support/env_win32.c", - "src/core/lib/support/histogram.c", - "src/core/lib/support/host_port.c", - "src/core/lib/support/load_file.c", - "src/core/lib/support/load_file.h", - "src/core/lib/support/log.c", - "src/core/lib/support/log_android.c", - "src/core/lib/support/log_linux.c", - "src/core/lib/support/log_posix.c", - "src/core/lib/support/log_win32.c", - "src/core/lib/support/murmur_hash.c", - "src/core/lib/support/murmur_hash.h", - "src/core/lib/support/slice.c", - "src/core/lib/support/slice_buffer.c", - "src/core/lib/support/stack_lockfree.c", - "src/core/lib/support/stack_lockfree.h", - "src/core/lib/support/string.c", - "src/core/lib/support/string.h", - "src/core/lib/support/string_posix.c", - "src/core/lib/support/string_win32.c", - "src/core/lib/support/string_win32.h", - "src/core/lib/support/subprocess_posix.c", - "src/core/lib/support/subprocess_windows.c", - "src/core/lib/support/sync.c", - "src/core/lib/support/sync_posix.c", - "src/core/lib/support/sync_win32.c", - "src/core/lib/support/thd.c", - "src/core/lib/support/thd_internal.h", - "src/core/lib/support/thd_posix.c", - "src/core/lib/support/thd_win32.c", - "src/core/lib/support/time.c", - "src/core/lib/support/time_posix.c", - "src/core/lib/support/time_precise.c", - "src/core/lib/support/time_precise.h", - "src/core/lib/support/time_win32.c", - "src/core/lib/support/tls_pthread.c", - "src/core/lib/support/tmpfile.h", - "src/core/lib/support/tmpfile_posix.c", - "src/core/lib/support/tmpfile_win32.c", - "src/core/lib/support/wrap_memcpy.c" + "test/core/nanopb/fuzzer_response.c" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util", + "one_input_fuzzer" + ], + "headers": [], + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "src": [ + "test/core/nanopb/fuzzer_serverlist.c" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util", + "one_input_fuzzer" + ], + "headers": [], + "language": "c", + "name": "server_fuzzer_one_entry", + "src": [ + "test/core/end2end/fuzzers/server_fuzzer.c" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util", + "one_input_fuzzer" + ], + "headers": [], + "language": "c", + "name": "uri_fuzzer_test_one_entry", + "src": [ + "test/core/client_config/uri_fuzzer_test.c" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr_base" ], + "headers": [], + "language": "c", + "name": "gpr", + "src": [], "third_party": false, "type": "lib" }, @@ -3972,1076 +3988,59 @@ }, { "deps": [ - "gpr" + "census", + "gpr", + "grpc_base", + "grpc_lb_policy_grpclb", + "grpc_lb_policy_pick_first", + "grpc_lb_policy_round_robin", + "grpc_resolver_dns_native", + "grpc_resolver_sockaddr", + "grpc_secure", + "grpc_transport_chttp2_client_insecure", + "grpc_transport_chttp2_client_secure", + "grpc_transport_chttp2_server_insecure", + "grpc_transport_chttp2_server_secure" + ], + "headers": [], + "language": "c", + "name": "grpc", + "src": [], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "grpc" + ], + "headers": [], + "language": "c", + "name": "grpc_dll", + "src": [], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util_base" ], "headers": [ - "include/grpc/byte_buffer.h", - "include/grpc/byte_buffer_reader.h", - "include/grpc/census.h", - "include/grpc/compression.h", - "include/grpc/grpc.h", - "include/grpc/grpc_security.h", - "include/grpc/impl/codegen/byte_buffer.h", - "include/grpc/impl/codegen/compression_types.h", - "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/grpc_types.h", - "include/grpc/impl/codegen/propagation_bits.h", - "include/grpc/impl/codegen/status.h", - "include/grpc/status.h", - "src/core/ext/transport/chttp2/transport/alpn.h", - "src/core/ext/transport/chttp2/transport/bin_encoder.h", - "src/core/ext/transport/chttp2/transport/chttp2_transport.h", - "src/core/ext/transport/chttp2/transport/frame.h", - "src/core/ext/transport/chttp2/transport/frame_data.h", - "src/core/ext/transport/chttp2/transport/frame_goaway.h", - "src/core/ext/transport/chttp2/transport/frame_ping.h", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", - "src/core/ext/transport/chttp2/transport/frame_settings.h", - "src/core/ext/transport/chttp2/transport/frame_window_update.h", - "src/core/ext/transport/chttp2/transport/hpack_encoder.h", - "src/core/ext/transport/chttp2/transport/hpack_parser.h", - "src/core/ext/transport/chttp2/transport/hpack_table.h", - "src/core/ext/transport/chttp2/transport/http2_errors.h", - "src/core/ext/transport/chttp2/transport/huffsyms.h", - "src/core/ext/transport/chttp2/transport/incoming_metadata.h", - "src/core/ext/transport/chttp2/transport/internal.h", - "src/core/ext/transport/chttp2/transport/status_conversion.h", - "src/core/ext/transport/chttp2/transport/stream_map.h", - "src/core/ext/transport/chttp2/transport/timeout_encoding.h", - "src/core/ext/transport/chttp2/transport/varint.h", - "src/core/lib/census/aggregation.h", - "src/core/lib/census/grpc_filter.h", - "src/core/lib/census/grpc_plugin.h", - "src/core/lib/census/mlog.h", - "src/core/lib/census/rpc_metric_id.h", - "src/core/lib/channel/channel_args.h", - "src/core/lib/channel/channel_stack.h", - "src/core/lib/channel/channel_stack_builder.h", - "src/core/lib/channel/client_channel.h", - "src/core/lib/channel/compress_filter.h", - "src/core/lib/channel/connected_channel.h", - "src/core/lib/channel/context.h", - "src/core/lib/channel/http_client_filter.h", - "src/core/lib/channel/http_server_filter.h", - "src/core/lib/channel/subchannel_call_holder.h", - "src/core/lib/client_config/client_config.h", - "src/core/lib/client_config/connector.h", - "src/core/lib/client_config/initial_connect_string.h", - "src/core/lib/client_config/lb_policies/load_balancer_api.h", - "src/core/lib/client_config/lb_policies/pick_first.h", - "src/core/lib/client_config/lb_policies/round_robin.h", - "src/core/lib/client_config/lb_policy.h", - "src/core/lib/client_config/lb_policy_factory.h", - "src/core/lib/client_config/lb_policy_registry.h", - "src/core/lib/client_config/resolver.h", - "src/core/lib/client_config/resolver_factory.h", - "src/core/lib/client_config/resolver_registry.h", - "src/core/lib/client_config/resolvers/dns_resolver.h", - "src/core/lib/client_config/resolvers/sockaddr_resolver.h", - "src/core/lib/client_config/subchannel.h", - "src/core/lib/client_config/subchannel_factory.h", - "src/core/lib/client_config/subchannel_index.h", - "src/core/lib/client_config/uri_parser.h", - "src/core/lib/compression/algorithm_metadata.h", - "src/core/lib/compression/message_compress.h", - "src/core/lib/debug/trace.h", - "src/core/lib/http/format_request.h", - "src/core/lib/http/httpcli.h", - "src/core/lib/http/parser.h", - "src/core/lib/iomgr/closure.h", - "src/core/lib/iomgr/endpoint.h", - "src/core/lib/iomgr/endpoint_pair.h", - "src/core/lib/iomgr/exec_ctx.h", - "src/core/lib/iomgr/executor.h", - "src/core/lib/iomgr/fd_posix.h", - "src/core/lib/iomgr/iocp_windows.h", - "src/core/lib/iomgr/iomgr.h", - "src/core/lib/iomgr/iomgr_internal.h", - "src/core/lib/iomgr/iomgr_posix.h", - "src/core/lib/iomgr/pollset.h", - "src/core/lib/iomgr/pollset_posix.h", - "src/core/lib/iomgr/pollset_set.h", - "src/core/lib/iomgr/pollset_set_posix.h", - "src/core/lib/iomgr/pollset_set_windows.h", - "src/core/lib/iomgr/pollset_windows.h", - "src/core/lib/iomgr/resolve_address.h", - "src/core/lib/iomgr/sockaddr.h", - "src/core/lib/iomgr/sockaddr_posix.h", - "src/core/lib/iomgr/sockaddr_utils.h", - "src/core/lib/iomgr/sockaddr_win32.h", - "src/core/lib/iomgr/socket_utils_posix.h", - "src/core/lib/iomgr/socket_windows.h", - "src/core/lib/iomgr/tcp_client.h", - "src/core/lib/iomgr/tcp_posix.h", - "src/core/lib/iomgr/tcp_server.h", - "src/core/lib/iomgr/tcp_windows.h", - "src/core/lib/iomgr/time_averaged_stats.h", - "src/core/lib/iomgr/timer.h", - "src/core/lib/iomgr/timer_heap.h", - "src/core/lib/iomgr/udp_server.h", - "src/core/lib/iomgr/unix_sockets_posix.h", - "src/core/lib/iomgr/wakeup_fd_pipe.h", - "src/core/lib/iomgr/wakeup_fd_posix.h", - "src/core/lib/iomgr/workqueue.h", - "src/core/lib/iomgr/workqueue_posix.h", - "src/core/lib/iomgr/workqueue_windows.h", - "src/core/lib/json/json.h", - "src/core/lib/json/json_common.h", - "src/core/lib/json/json_reader.h", - "src/core/lib/json/json_writer.h", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h", - "src/core/lib/security/auth_filters.h", - "src/core/lib/security/b64.h", - "src/core/lib/security/credentials.h", - "src/core/lib/security/handshake.h", - "src/core/lib/security/json_token.h", - "src/core/lib/security/jwt_verifier.h", - "src/core/lib/security/secure_endpoint.h", - "src/core/lib/security/security_connector.h", - "src/core/lib/security/security_context.h", - "src/core/lib/statistics/census_interface.h", - "src/core/lib/statistics/census_rpc_stats.h", - "src/core/lib/surface/api_trace.h", - "src/core/lib/surface/call.h", - "src/core/lib/surface/call_test_only.h", - "src/core/lib/surface/channel.h", - "src/core/lib/surface/channel_init.h", - "src/core/lib/surface/channel_stack_type.h", - "src/core/lib/surface/completion_queue.h", - "src/core/lib/surface/event_string.h", - "src/core/lib/surface/init.h", - "src/core/lib/surface/lame_client.h", - "src/core/lib/surface/server.h", - "src/core/lib/surface/surface_trace.h", - "src/core/lib/transport/byte_stream.h", - "src/core/lib/transport/connectivity_state.h", - "src/core/lib/transport/metadata.h", - "src/core/lib/transport/metadata_batch.h", - "src/core/lib/transport/static_metadata.h", - "src/core/lib/transport/transport.h", - "src/core/lib/transport/transport_impl.h", - "src/core/lib/tsi/fake_transport_security.h", - "src/core/lib/tsi/ssl_transport_security.h", - "src/core/lib/tsi/ssl_types.h", - "src/core/lib/tsi/transport_security.h", - "src/core/lib/tsi/transport_security_interface.h", - "third_party/nanopb/pb.h", - "third_party/nanopb/pb_common.h", - "third_party/nanopb/pb_decode.h", - "third_party/nanopb/pb_encode.h" - ], - "language": "c", - "name": "grpc", - "src": [ - "include/grpc/byte_buffer.h", - "include/grpc/byte_buffer_reader.h", - "include/grpc/census.h", - "include/grpc/compression.h", - "include/grpc/grpc.h", - "include/grpc/grpc_security.h", - "include/grpc/impl/codegen/byte_buffer.h", - "include/grpc/impl/codegen/compression_types.h", - "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/grpc_types.h", - "include/grpc/impl/codegen/propagation_bits.h", - "include/grpc/impl/codegen/status.h", - "include/grpc/status.h", - "src/core/ext/transport/chttp2/client/insecure/channel_create.c", - "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c", - "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", - "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c", - "src/core/ext/transport/chttp2/transport/alpn.c", - "src/core/ext/transport/chttp2/transport/alpn.h", - "src/core/ext/transport/chttp2/transport/bin_encoder.c", - "src/core/ext/transport/chttp2/transport/bin_encoder.h", - "src/core/ext/transport/chttp2/transport/chttp2_transport.c", - "src/core/ext/transport/chttp2/transport/chttp2_transport.h", - "src/core/ext/transport/chttp2/transport/frame.h", - "src/core/ext/transport/chttp2/transport/frame_data.c", - "src/core/ext/transport/chttp2/transport/frame_data.h", - "src/core/ext/transport/chttp2/transport/frame_goaway.c", - "src/core/ext/transport/chttp2/transport/frame_goaway.h", - "src/core/ext/transport/chttp2/transport/frame_ping.c", - "src/core/ext/transport/chttp2/transport/frame_ping.h", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", - "src/core/ext/transport/chttp2/transport/frame_settings.c", - "src/core/ext/transport/chttp2/transport/frame_settings.h", - "src/core/ext/transport/chttp2/transport/frame_window_update.c", - "src/core/ext/transport/chttp2/transport/frame_window_update.h", - "src/core/ext/transport/chttp2/transport/hpack_encoder.c", - "src/core/ext/transport/chttp2/transport/hpack_encoder.h", - "src/core/ext/transport/chttp2/transport/hpack_parser.c", - "src/core/ext/transport/chttp2/transport/hpack_parser.h", - "src/core/ext/transport/chttp2/transport/hpack_table.c", - "src/core/ext/transport/chttp2/transport/hpack_table.h", - "src/core/ext/transport/chttp2/transport/http2_errors.h", - "src/core/ext/transport/chttp2/transport/huffsyms.c", - "src/core/ext/transport/chttp2/transport/huffsyms.h", - "src/core/ext/transport/chttp2/transport/incoming_metadata.c", - "src/core/ext/transport/chttp2/transport/incoming_metadata.h", - "src/core/ext/transport/chttp2/transport/internal.h", - "src/core/ext/transport/chttp2/transport/parsing.c", - "src/core/ext/transport/chttp2/transport/status_conversion.c", - "src/core/ext/transport/chttp2/transport/status_conversion.h", - "src/core/ext/transport/chttp2/transport/stream_lists.c", - "src/core/ext/transport/chttp2/transport/stream_map.c", - "src/core/ext/transport/chttp2/transport/stream_map.h", - "src/core/ext/transport/chttp2/transport/timeout_encoding.c", - "src/core/ext/transport/chttp2/transport/timeout_encoding.h", - "src/core/ext/transport/chttp2/transport/varint.c", - "src/core/ext/transport/chttp2/transport/varint.h", - "src/core/ext/transport/chttp2/transport/writing.c", - "src/core/lib/census/aggregation.h", - "src/core/lib/census/context.c", - "src/core/lib/census/grpc_context.c", - "src/core/lib/census/grpc_filter.c", - "src/core/lib/census/grpc_filter.h", - "src/core/lib/census/grpc_plugin.c", - "src/core/lib/census/grpc_plugin.h", - "src/core/lib/census/initialize.c", - "src/core/lib/census/mlog.c", - "src/core/lib/census/mlog.h", - "src/core/lib/census/operation.c", - "src/core/lib/census/placeholders.c", - "src/core/lib/census/rpc_metric_id.h", - "src/core/lib/census/tracing.c", - "src/core/lib/channel/channel_args.c", - "src/core/lib/channel/channel_args.h", - "src/core/lib/channel/channel_stack.c", - "src/core/lib/channel/channel_stack.h", - "src/core/lib/channel/channel_stack_builder.c", - "src/core/lib/channel/channel_stack_builder.h", - "src/core/lib/channel/client_channel.c", - "src/core/lib/channel/client_channel.h", - "src/core/lib/channel/compress_filter.c", - "src/core/lib/channel/compress_filter.h", - "src/core/lib/channel/connected_channel.c", - "src/core/lib/channel/connected_channel.h", - "src/core/lib/channel/context.h", - "src/core/lib/channel/http_client_filter.c", - "src/core/lib/channel/http_client_filter.h", - "src/core/lib/channel/http_server_filter.c", - "src/core/lib/channel/http_server_filter.h", - "src/core/lib/channel/subchannel_call_holder.c", - "src/core/lib/channel/subchannel_call_holder.h", - "src/core/lib/client_config/client_config.c", - "src/core/lib/client_config/client_config.h", - "src/core/lib/client_config/connector.c", - "src/core/lib/client_config/connector.h", - "src/core/lib/client_config/default_initial_connect_string.c", - "src/core/lib/client_config/initial_connect_string.c", - "src/core/lib/client_config/initial_connect_string.h", - "src/core/lib/client_config/lb_policies/load_balancer_api.c", - "src/core/lib/client_config/lb_policies/load_balancer_api.h", - "src/core/lib/client_config/lb_policies/pick_first.c", - "src/core/lib/client_config/lb_policies/pick_first.h", - "src/core/lib/client_config/lb_policies/round_robin.c", - "src/core/lib/client_config/lb_policies/round_robin.h", - "src/core/lib/client_config/lb_policy.c", - "src/core/lib/client_config/lb_policy.h", - "src/core/lib/client_config/lb_policy_factory.c", - "src/core/lib/client_config/lb_policy_factory.h", - "src/core/lib/client_config/lb_policy_registry.c", - "src/core/lib/client_config/lb_policy_registry.h", - "src/core/lib/client_config/resolver.c", - "src/core/lib/client_config/resolver.h", - "src/core/lib/client_config/resolver_factory.c", - "src/core/lib/client_config/resolver_factory.h", - "src/core/lib/client_config/resolver_registry.c", - "src/core/lib/client_config/resolver_registry.h", - "src/core/lib/client_config/resolvers/dns_resolver.c", - "src/core/lib/client_config/resolvers/dns_resolver.h", - "src/core/lib/client_config/resolvers/sockaddr_resolver.c", - "src/core/lib/client_config/resolvers/sockaddr_resolver.h", - "src/core/lib/client_config/subchannel.c", - "src/core/lib/client_config/subchannel.h", - "src/core/lib/client_config/subchannel_factory.c", - "src/core/lib/client_config/subchannel_factory.h", - "src/core/lib/client_config/subchannel_index.c", - "src/core/lib/client_config/subchannel_index.h", - "src/core/lib/client_config/uri_parser.c", - "src/core/lib/client_config/uri_parser.h", - "src/core/lib/compression/algorithm_metadata.h", - "src/core/lib/compression/compression_algorithm.c", - "src/core/lib/compression/message_compress.c", - "src/core/lib/compression/message_compress.h", - "src/core/lib/debug/trace.c", - "src/core/lib/debug/trace.h", - "src/core/lib/http/format_request.c", - "src/core/lib/http/format_request.h", - "src/core/lib/http/httpcli.c", - "src/core/lib/http/httpcli.h", - "src/core/lib/http/httpcli_security_connector.c", - "src/core/lib/http/parser.c", - "src/core/lib/http/parser.h", - "src/core/lib/iomgr/closure.c", - "src/core/lib/iomgr/closure.h", - "src/core/lib/iomgr/endpoint.c", - "src/core/lib/iomgr/endpoint.h", - "src/core/lib/iomgr/endpoint_pair.h", - "src/core/lib/iomgr/endpoint_pair_posix.c", - "src/core/lib/iomgr/endpoint_pair_windows.c", - "src/core/lib/iomgr/exec_ctx.c", - "src/core/lib/iomgr/exec_ctx.h", - "src/core/lib/iomgr/executor.c", - "src/core/lib/iomgr/executor.h", - "src/core/lib/iomgr/fd_posix.c", - "src/core/lib/iomgr/fd_posix.h", - "src/core/lib/iomgr/iocp_windows.c", - "src/core/lib/iomgr/iocp_windows.h", - "src/core/lib/iomgr/iomgr.c", - "src/core/lib/iomgr/iomgr.h", - "src/core/lib/iomgr/iomgr_internal.h", - "src/core/lib/iomgr/iomgr_posix.c", - "src/core/lib/iomgr/iomgr_posix.h", - "src/core/lib/iomgr/iomgr_windows.c", - "src/core/lib/iomgr/pollset.h", - "src/core/lib/iomgr/pollset_multipoller_with_epoll.c", - "src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c", - "src/core/lib/iomgr/pollset_posix.c", - "src/core/lib/iomgr/pollset_posix.h", - "src/core/lib/iomgr/pollset_set.h", - "src/core/lib/iomgr/pollset_set_posix.c", - "src/core/lib/iomgr/pollset_set_posix.h", - "src/core/lib/iomgr/pollset_set_windows.c", - "src/core/lib/iomgr/pollset_set_windows.h", - "src/core/lib/iomgr/pollset_windows.c", - "src/core/lib/iomgr/pollset_windows.h", - "src/core/lib/iomgr/resolve_address.h", - "src/core/lib/iomgr/resolve_address_posix.c", - "src/core/lib/iomgr/resolve_address_windows.c", - "src/core/lib/iomgr/sockaddr.h", - "src/core/lib/iomgr/sockaddr_posix.h", - "src/core/lib/iomgr/sockaddr_utils.c", - "src/core/lib/iomgr/sockaddr_utils.h", - "src/core/lib/iomgr/sockaddr_win32.h", - "src/core/lib/iomgr/socket_utils_common_posix.c", - "src/core/lib/iomgr/socket_utils_linux.c", - "src/core/lib/iomgr/socket_utils_posix.c", - "src/core/lib/iomgr/socket_utils_posix.h", - "src/core/lib/iomgr/socket_windows.c", - "src/core/lib/iomgr/socket_windows.h", - "src/core/lib/iomgr/tcp_client.h", - "src/core/lib/iomgr/tcp_client_posix.c", - "src/core/lib/iomgr/tcp_client_windows.c", - "src/core/lib/iomgr/tcp_posix.c", - "src/core/lib/iomgr/tcp_posix.h", - "src/core/lib/iomgr/tcp_server.h", - "src/core/lib/iomgr/tcp_server_posix.c", - "src/core/lib/iomgr/tcp_server_windows.c", - "src/core/lib/iomgr/tcp_windows.c", - "src/core/lib/iomgr/tcp_windows.h", - "src/core/lib/iomgr/time_averaged_stats.c", - "src/core/lib/iomgr/time_averaged_stats.h", - "src/core/lib/iomgr/timer.c", - "src/core/lib/iomgr/timer.h", - "src/core/lib/iomgr/timer_heap.c", - "src/core/lib/iomgr/timer_heap.h", - "src/core/lib/iomgr/udp_server.c", - "src/core/lib/iomgr/udp_server.h", - "src/core/lib/iomgr/unix_sockets_posix.c", - "src/core/lib/iomgr/unix_sockets_posix.h", - "src/core/lib/iomgr/unix_sockets_posix_noop.c", - "src/core/lib/iomgr/wakeup_fd_eventfd.c", - "src/core/lib/iomgr/wakeup_fd_nospecial.c", - "src/core/lib/iomgr/wakeup_fd_pipe.c", - "src/core/lib/iomgr/wakeup_fd_pipe.h", - "src/core/lib/iomgr/wakeup_fd_posix.c", - "src/core/lib/iomgr/wakeup_fd_posix.h", - "src/core/lib/iomgr/workqueue.h", - "src/core/lib/iomgr/workqueue_posix.c", - "src/core/lib/iomgr/workqueue_posix.h", - "src/core/lib/iomgr/workqueue_windows.c", - "src/core/lib/iomgr/workqueue_windows.h", - "src/core/lib/json/json.c", - "src/core/lib/json/json.h", - "src/core/lib/json/json_common.h", - "src/core/lib/json/json_reader.c", - "src/core/lib/json/json_reader.h", - "src/core/lib/json/json_string.c", - "src/core/lib/json/json_writer.c", - "src/core/lib/json/json_writer.h", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h", - "src/core/lib/security/auth_filters.h", - "src/core/lib/security/b64.c", - "src/core/lib/security/b64.h", - "src/core/lib/security/client_auth_filter.c", - "src/core/lib/security/credentials.c", - "src/core/lib/security/credentials.h", - "src/core/lib/security/credentials_metadata.c", - "src/core/lib/security/credentials_posix.c", - "src/core/lib/security/credentials_win32.c", - "src/core/lib/security/google_default_credentials.c", - "src/core/lib/security/handshake.c", - "src/core/lib/security/handshake.h", - "src/core/lib/security/json_token.c", - "src/core/lib/security/json_token.h", - "src/core/lib/security/jwt_verifier.c", - "src/core/lib/security/jwt_verifier.h", - "src/core/lib/security/secure_endpoint.c", - "src/core/lib/security/secure_endpoint.h", - "src/core/lib/security/security_connector.c", - "src/core/lib/security/security_connector.h", - "src/core/lib/security/security_context.c", - "src/core/lib/security/security_context.h", - "src/core/lib/security/server_auth_filter.c", - "src/core/lib/statistics/census_interface.h", - "src/core/lib/statistics/census_rpc_stats.h", - "src/core/lib/surface/alarm.c", - "src/core/lib/surface/api_trace.c", - "src/core/lib/surface/api_trace.h", - "src/core/lib/surface/byte_buffer.c", - "src/core/lib/surface/byte_buffer_reader.c", - "src/core/lib/surface/call.c", - "src/core/lib/surface/call.h", - "src/core/lib/surface/call_details.c", - "src/core/lib/surface/call_log_batch.c", - "src/core/lib/surface/call_test_only.h", - "src/core/lib/surface/channel.c", - "src/core/lib/surface/channel.h", - "src/core/lib/surface/channel_connectivity.c", - "src/core/lib/surface/channel_init.c", - "src/core/lib/surface/channel_init.h", - "src/core/lib/surface/channel_ping.c", - "src/core/lib/surface/channel_stack_type.c", - "src/core/lib/surface/channel_stack_type.h", - "src/core/lib/surface/completion_queue.c", - "src/core/lib/surface/completion_queue.h", - "src/core/lib/surface/event_string.c", - "src/core/lib/surface/event_string.h", - "src/core/lib/surface/init.c", - "src/core/lib/surface/init.h", - "src/core/lib/surface/init_secure.c", - "src/core/lib/surface/lame_client.c", - "src/core/lib/surface/lame_client.h", - "src/core/lib/surface/metadata_array.c", - "src/core/lib/surface/server.c", - "src/core/lib/surface/server.h", - "src/core/lib/surface/surface_trace.h", - "src/core/lib/surface/validate_metadata.c", - "src/core/lib/surface/version.c", - "src/core/lib/transport/byte_stream.c", - "src/core/lib/transport/byte_stream.h", - "src/core/lib/transport/connectivity_state.c", - "src/core/lib/transport/connectivity_state.h", - "src/core/lib/transport/metadata.c", - "src/core/lib/transport/metadata.h", - "src/core/lib/transport/metadata_batch.c", - "src/core/lib/transport/metadata_batch.h", - "src/core/lib/transport/static_metadata.c", - "src/core/lib/transport/static_metadata.h", - "src/core/lib/transport/transport.c", - "src/core/lib/transport/transport.h", - "src/core/lib/transport/transport_impl.h", - "src/core/lib/transport/transport_op_string.c", - "src/core/lib/tsi/fake_transport_security.c", - "src/core/lib/tsi/fake_transport_security.h", - "src/core/lib/tsi/ssl_transport_security.c", - "src/core/lib/tsi/ssl_transport_security.h", - "src/core/lib/tsi/ssl_types.h", - "src/core/lib/tsi/transport_security.c", - "src/core/lib/tsi/transport_security.h", - "src/core/lib/tsi/transport_security_interface.h" - ], - "third_party": false, - "type": "lib" - }, - { - "deps": [], - "headers": [ - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/byte_buffer.h", - "include/grpc/impl/codegen/compression_types.h", - "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/grpc_types.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/propagation_bits.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/status.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_win32.h", - "include/grpc/impl/codegen/time.h" - ], - "language": "c", - "name": "grpc_codegen_lib", - "src": [ - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/byte_buffer.h", - "include/grpc/impl/codegen/compression_types.h", - "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/grpc_types.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/propagation_bits.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/status.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_win32.h", - "include/grpc/impl/codegen/time.h" - ], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "gpr", - "grpc" - ], - "headers": [], - "language": "c", - "name": "grpc_dll", - "src": [], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "gpr", - "gpr_test_util", - "grpc" - ], - "headers": [ - "test/core/end2end/cq_verifier.h", - "test/core/end2end/data/ssl_test_data.h", - "test/core/end2end/fixtures/proxy.h", - "test/core/iomgr/endpoint_tests.h", - "test/core/security/oauth2_utils.h", - "test/core/util/grpc_profiler.h", - "test/core/util/parse_hexstring.h", - "test/core/util/port.h", - "test/core/util/port_server_client.h", - "test/core/util/slice_splitter.h" - ], - "language": "c", - "name": "grpc_test_util", - "src": [ - "test/core/end2end/cq_verifier.c", - "test/core/end2end/cq_verifier.h", - "test/core/end2end/data/server1_cert.c", - "test/core/end2end/data/server1_key.c", - "test/core/end2end/data/ssl_test_data.h", - "test/core/end2end/data/test_root_cert.c", - "test/core/end2end/fixtures/proxy.c", - "test/core/end2end/fixtures/proxy.h", - "test/core/iomgr/endpoint_tests.c", - "test/core/iomgr/endpoint_tests.h", - "test/core/security/oauth2_utils.c", - "test/core/security/oauth2_utils.h", - "test/core/util/grpc_profiler.c", - "test/core/util/grpc_profiler.h", - "test/core/util/parse_hexstring.c", - "test/core/util/parse_hexstring.h", - "test/core/util/port.h", - "test/core/util/port_posix.c", - "test/core/util/port_server_client.c", - "test/core/util/port_server_client.h", - "test/core/util/port_windows.c", - "test/core/util/slice_splitter.c", - "test/core/util/slice_splitter.h" - ], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "gpr", - "gpr_test_util", - "grpc_unsecure" - ], - "headers": [ - "test/core/end2end/cq_verifier.h", - "test/core/end2end/fixtures/proxy.h", - "test/core/iomgr/endpoint_tests.h", - "test/core/util/grpc_profiler.h", - "test/core/util/parse_hexstring.h", - "test/core/util/port.h", - "test/core/util/port_server_client.h", - "test/core/util/slice_splitter.h" - ], - "language": "c", - "name": "grpc_test_util_unsecure", - "src": [ - "test/core/end2end/cq_verifier.c", - "test/core/end2end/cq_verifier.h", - "test/core/end2end/fixtures/proxy.c", - "test/core/end2end/fixtures/proxy.h", - "test/core/iomgr/endpoint_tests.c", - "test/core/iomgr/endpoint_tests.h", - "test/core/util/grpc_profiler.c", - "test/core/util/grpc_profiler.h", - "test/core/util/parse_hexstring.c", - "test/core/util/parse_hexstring.h", - "test/core/util/port.h", - "test/core/util/port_posix.c", - "test/core/util/port_server_client.c", - "test/core/util/port_server_client.h", - "test/core/util/port_windows.c", - "test/core/util/slice_splitter.c", - "test/core/util/slice_splitter.h" - ], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "gpr" - ], - "headers": [ - "include/grpc/byte_buffer.h", - "include/grpc/byte_buffer_reader.h", - "include/grpc/census.h", - "include/grpc/compression.h", - "include/grpc/grpc.h", - "include/grpc/impl/codegen/byte_buffer.h", - "include/grpc/impl/codegen/compression_types.h", - "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/grpc_types.h", - "include/grpc/impl/codegen/propagation_bits.h", - "include/grpc/impl/codegen/status.h", - "include/grpc/status.h", - "src/core/ext/transport/chttp2/transport/alpn.h", - "src/core/ext/transport/chttp2/transport/bin_encoder.h", - "src/core/ext/transport/chttp2/transport/chttp2_transport.h", - "src/core/ext/transport/chttp2/transport/frame.h", - "src/core/ext/transport/chttp2/transport/frame_data.h", - "src/core/ext/transport/chttp2/transport/frame_goaway.h", - "src/core/ext/transport/chttp2/transport/frame_ping.h", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", - "src/core/ext/transport/chttp2/transport/frame_settings.h", - "src/core/ext/transport/chttp2/transport/frame_window_update.h", - "src/core/ext/transport/chttp2/transport/hpack_encoder.h", - "src/core/ext/transport/chttp2/transport/hpack_parser.h", - "src/core/ext/transport/chttp2/transport/hpack_table.h", - "src/core/ext/transport/chttp2/transport/http2_errors.h", - "src/core/ext/transport/chttp2/transport/huffsyms.h", - "src/core/ext/transport/chttp2/transport/incoming_metadata.h", - "src/core/ext/transport/chttp2/transport/internal.h", - "src/core/ext/transport/chttp2/transport/status_conversion.h", - "src/core/ext/transport/chttp2/transport/stream_map.h", - "src/core/ext/transport/chttp2/transport/timeout_encoding.h", - "src/core/ext/transport/chttp2/transport/varint.h", - "src/core/lib/census/aggregation.h", - "src/core/lib/census/grpc_filter.h", - "src/core/lib/census/grpc_plugin.h", - "src/core/lib/census/mlog.h", - "src/core/lib/census/rpc_metric_id.h", - "src/core/lib/channel/channel_args.h", - "src/core/lib/channel/channel_stack.h", - "src/core/lib/channel/channel_stack_builder.h", - "src/core/lib/channel/client_channel.h", - "src/core/lib/channel/compress_filter.h", - "src/core/lib/channel/connected_channel.h", - "src/core/lib/channel/context.h", - "src/core/lib/channel/http_client_filter.h", - "src/core/lib/channel/http_server_filter.h", - "src/core/lib/channel/subchannel_call_holder.h", - "src/core/lib/client_config/client_config.h", - "src/core/lib/client_config/connector.h", - "src/core/lib/client_config/initial_connect_string.h", - "src/core/lib/client_config/lb_policies/load_balancer_api.h", - "src/core/lib/client_config/lb_policies/pick_first.h", - "src/core/lib/client_config/lb_policies/round_robin.h", - "src/core/lib/client_config/lb_policy.h", - "src/core/lib/client_config/lb_policy_factory.h", - "src/core/lib/client_config/lb_policy_registry.h", - "src/core/lib/client_config/resolver.h", - "src/core/lib/client_config/resolver_factory.h", - "src/core/lib/client_config/resolver_registry.h", - "src/core/lib/client_config/resolvers/dns_resolver.h", - "src/core/lib/client_config/resolvers/sockaddr_resolver.h", - "src/core/lib/client_config/subchannel.h", - "src/core/lib/client_config/subchannel_factory.h", - "src/core/lib/client_config/subchannel_index.h", - "src/core/lib/client_config/uri_parser.h", - "src/core/lib/compression/algorithm_metadata.h", - "src/core/lib/compression/message_compress.h", - "src/core/lib/debug/trace.h", - "src/core/lib/http/format_request.h", - "src/core/lib/http/httpcli.h", - "src/core/lib/http/parser.h", - "src/core/lib/iomgr/closure.h", - "src/core/lib/iomgr/endpoint.h", - "src/core/lib/iomgr/endpoint_pair.h", - "src/core/lib/iomgr/exec_ctx.h", - "src/core/lib/iomgr/executor.h", - "src/core/lib/iomgr/fd_posix.h", - "src/core/lib/iomgr/iocp_windows.h", - "src/core/lib/iomgr/iomgr.h", - "src/core/lib/iomgr/iomgr_internal.h", - "src/core/lib/iomgr/iomgr_posix.h", - "src/core/lib/iomgr/pollset.h", - "src/core/lib/iomgr/pollset_posix.h", - "src/core/lib/iomgr/pollset_set.h", - "src/core/lib/iomgr/pollset_set_posix.h", - "src/core/lib/iomgr/pollset_set_windows.h", - "src/core/lib/iomgr/pollset_windows.h", - "src/core/lib/iomgr/resolve_address.h", - "src/core/lib/iomgr/sockaddr.h", - "src/core/lib/iomgr/sockaddr_posix.h", - "src/core/lib/iomgr/sockaddr_utils.h", - "src/core/lib/iomgr/sockaddr_win32.h", - "src/core/lib/iomgr/socket_utils_posix.h", - "src/core/lib/iomgr/socket_windows.h", - "src/core/lib/iomgr/tcp_client.h", - "src/core/lib/iomgr/tcp_posix.h", - "src/core/lib/iomgr/tcp_server.h", - "src/core/lib/iomgr/tcp_windows.h", - "src/core/lib/iomgr/time_averaged_stats.h", - "src/core/lib/iomgr/timer.h", - "src/core/lib/iomgr/timer_heap.h", - "src/core/lib/iomgr/udp_server.h", - "src/core/lib/iomgr/unix_sockets_posix.h", - "src/core/lib/iomgr/wakeup_fd_pipe.h", - "src/core/lib/iomgr/wakeup_fd_posix.h", - "src/core/lib/iomgr/workqueue.h", - "src/core/lib/iomgr/workqueue_posix.h", - "src/core/lib/iomgr/workqueue_windows.h", - "src/core/lib/json/json.h", - "src/core/lib/json/json_common.h", - "src/core/lib/json/json_reader.h", - "src/core/lib/json/json_writer.h", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h", - "src/core/lib/statistics/census_interface.h", - "src/core/lib/statistics/census_rpc_stats.h", - "src/core/lib/surface/api_trace.h", - "src/core/lib/surface/call.h", - "src/core/lib/surface/call_test_only.h", - "src/core/lib/surface/channel.h", - "src/core/lib/surface/channel_init.h", - "src/core/lib/surface/channel_stack_type.h", - "src/core/lib/surface/completion_queue.h", - "src/core/lib/surface/event_string.h", - "src/core/lib/surface/init.h", - "src/core/lib/surface/lame_client.h", - "src/core/lib/surface/server.h", - "src/core/lib/surface/surface_trace.h", - "src/core/lib/transport/byte_stream.h", - "src/core/lib/transport/connectivity_state.h", - "src/core/lib/transport/metadata.h", - "src/core/lib/transport/metadata_batch.h", - "src/core/lib/transport/static_metadata.h", - "src/core/lib/transport/transport.h", - "src/core/lib/transport/transport_impl.h", - "third_party/nanopb/pb.h", - "third_party/nanopb/pb_common.h", - "third_party/nanopb/pb_decode.h", - "third_party/nanopb/pb_encode.h" - ], - "language": "c", - "name": "grpc_unsecure", - "src": [ - "include/grpc/byte_buffer.h", - "include/grpc/byte_buffer_reader.h", - "include/grpc/census.h", - "include/grpc/compression.h", - "include/grpc/grpc.h", - "include/grpc/impl/codegen/byte_buffer.h", - "include/grpc/impl/codegen/compression_types.h", - "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/grpc_types.h", - "include/grpc/impl/codegen/propagation_bits.h", - "include/grpc/impl/codegen/status.h", - "include/grpc/status.h", - "src/core/ext/transport/chttp2/client/insecure/channel_create.c", - "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", - "src/core/ext/transport/chttp2/transport/alpn.c", - "src/core/ext/transport/chttp2/transport/alpn.h", - "src/core/ext/transport/chttp2/transport/bin_encoder.c", - "src/core/ext/transport/chttp2/transport/bin_encoder.h", - "src/core/ext/transport/chttp2/transport/chttp2_transport.c", - "src/core/ext/transport/chttp2/transport/chttp2_transport.h", - "src/core/ext/transport/chttp2/transport/frame.h", - "src/core/ext/transport/chttp2/transport/frame_data.c", - "src/core/ext/transport/chttp2/transport/frame_data.h", - "src/core/ext/transport/chttp2/transport/frame_goaway.c", - "src/core/ext/transport/chttp2/transport/frame_goaway.h", - "src/core/ext/transport/chttp2/transport/frame_ping.c", - "src/core/ext/transport/chttp2/transport/frame_ping.h", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", - "src/core/ext/transport/chttp2/transport/frame_settings.c", - "src/core/ext/transport/chttp2/transport/frame_settings.h", - "src/core/ext/transport/chttp2/transport/frame_window_update.c", - "src/core/ext/transport/chttp2/transport/frame_window_update.h", - "src/core/ext/transport/chttp2/transport/hpack_encoder.c", - "src/core/ext/transport/chttp2/transport/hpack_encoder.h", - "src/core/ext/transport/chttp2/transport/hpack_parser.c", - "src/core/ext/transport/chttp2/transport/hpack_parser.h", - "src/core/ext/transport/chttp2/transport/hpack_table.c", - "src/core/ext/transport/chttp2/transport/hpack_table.h", - "src/core/ext/transport/chttp2/transport/http2_errors.h", - "src/core/ext/transport/chttp2/transport/huffsyms.c", - "src/core/ext/transport/chttp2/transport/huffsyms.h", - "src/core/ext/transport/chttp2/transport/incoming_metadata.c", - "src/core/ext/transport/chttp2/transport/incoming_metadata.h", - "src/core/ext/transport/chttp2/transport/internal.h", - "src/core/ext/transport/chttp2/transport/parsing.c", - "src/core/ext/transport/chttp2/transport/status_conversion.c", - "src/core/ext/transport/chttp2/transport/status_conversion.h", - "src/core/ext/transport/chttp2/transport/stream_lists.c", - "src/core/ext/transport/chttp2/transport/stream_map.c", - "src/core/ext/transport/chttp2/transport/stream_map.h", - "src/core/ext/transport/chttp2/transport/timeout_encoding.c", - "src/core/ext/transport/chttp2/transport/timeout_encoding.h", - "src/core/ext/transport/chttp2/transport/varint.c", - "src/core/ext/transport/chttp2/transport/varint.h", - "src/core/ext/transport/chttp2/transport/writing.c", - "src/core/lib/census/aggregation.h", - "src/core/lib/census/context.c", - "src/core/lib/census/grpc_context.c", - "src/core/lib/census/grpc_filter.c", - "src/core/lib/census/grpc_filter.h", - "src/core/lib/census/grpc_plugin.c", - "src/core/lib/census/grpc_plugin.h", - "src/core/lib/census/initialize.c", - "src/core/lib/census/mlog.c", - "src/core/lib/census/mlog.h", - "src/core/lib/census/operation.c", - "src/core/lib/census/placeholders.c", - "src/core/lib/census/rpc_metric_id.h", - "src/core/lib/census/tracing.c", - "src/core/lib/channel/channel_args.c", - "src/core/lib/channel/channel_args.h", - "src/core/lib/channel/channel_stack.c", - "src/core/lib/channel/channel_stack.h", - "src/core/lib/channel/channel_stack_builder.c", - "src/core/lib/channel/channel_stack_builder.h", - "src/core/lib/channel/client_channel.c", - "src/core/lib/channel/client_channel.h", - "src/core/lib/channel/compress_filter.c", - "src/core/lib/channel/compress_filter.h", - "src/core/lib/channel/connected_channel.c", - "src/core/lib/channel/connected_channel.h", - "src/core/lib/channel/context.h", - "src/core/lib/channel/http_client_filter.c", - "src/core/lib/channel/http_client_filter.h", - "src/core/lib/channel/http_server_filter.c", - "src/core/lib/channel/http_server_filter.h", - "src/core/lib/channel/subchannel_call_holder.c", - "src/core/lib/channel/subchannel_call_holder.h", - "src/core/lib/client_config/client_config.c", - "src/core/lib/client_config/client_config.h", - "src/core/lib/client_config/connector.c", - "src/core/lib/client_config/connector.h", - "src/core/lib/client_config/default_initial_connect_string.c", - "src/core/lib/client_config/initial_connect_string.c", - "src/core/lib/client_config/initial_connect_string.h", - "src/core/lib/client_config/lb_policies/load_balancer_api.c", - "src/core/lib/client_config/lb_policies/load_balancer_api.h", - "src/core/lib/client_config/lb_policies/pick_first.c", - "src/core/lib/client_config/lb_policies/pick_first.h", - "src/core/lib/client_config/lb_policies/round_robin.c", - "src/core/lib/client_config/lb_policies/round_robin.h", - "src/core/lib/client_config/lb_policy.c", - "src/core/lib/client_config/lb_policy.h", - "src/core/lib/client_config/lb_policy_factory.c", - "src/core/lib/client_config/lb_policy_factory.h", - "src/core/lib/client_config/lb_policy_registry.c", - "src/core/lib/client_config/lb_policy_registry.h", - "src/core/lib/client_config/resolver.c", - "src/core/lib/client_config/resolver.h", - "src/core/lib/client_config/resolver_factory.c", - "src/core/lib/client_config/resolver_factory.h", - "src/core/lib/client_config/resolver_registry.c", - "src/core/lib/client_config/resolver_registry.h", - "src/core/lib/client_config/resolvers/dns_resolver.c", - "src/core/lib/client_config/resolvers/dns_resolver.h", - "src/core/lib/client_config/resolvers/sockaddr_resolver.c", - "src/core/lib/client_config/resolvers/sockaddr_resolver.h", - "src/core/lib/client_config/subchannel.c", - "src/core/lib/client_config/subchannel.h", - "src/core/lib/client_config/subchannel_factory.c", - "src/core/lib/client_config/subchannel_factory.h", - "src/core/lib/client_config/subchannel_index.c", - "src/core/lib/client_config/subchannel_index.h", - "src/core/lib/client_config/uri_parser.c", - "src/core/lib/client_config/uri_parser.h", - "src/core/lib/compression/algorithm_metadata.h", - "src/core/lib/compression/compression_algorithm.c", - "src/core/lib/compression/message_compress.c", - "src/core/lib/compression/message_compress.h", - "src/core/lib/debug/trace.c", - "src/core/lib/debug/trace.h", - "src/core/lib/http/format_request.c", - "src/core/lib/http/format_request.h", - "src/core/lib/http/httpcli.c", - "src/core/lib/http/httpcli.h", - "src/core/lib/http/parser.c", - "src/core/lib/http/parser.h", - "src/core/lib/iomgr/closure.c", - "src/core/lib/iomgr/closure.h", - "src/core/lib/iomgr/endpoint.c", - "src/core/lib/iomgr/endpoint.h", - "src/core/lib/iomgr/endpoint_pair.h", - "src/core/lib/iomgr/endpoint_pair_posix.c", - "src/core/lib/iomgr/endpoint_pair_windows.c", - "src/core/lib/iomgr/exec_ctx.c", - "src/core/lib/iomgr/exec_ctx.h", - "src/core/lib/iomgr/executor.c", - "src/core/lib/iomgr/executor.h", - "src/core/lib/iomgr/fd_posix.c", - "src/core/lib/iomgr/fd_posix.h", - "src/core/lib/iomgr/iocp_windows.c", - "src/core/lib/iomgr/iocp_windows.h", - "src/core/lib/iomgr/iomgr.c", - "src/core/lib/iomgr/iomgr.h", - "src/core/lib/iomgr/iomgr_internal.h", - "src/core/lib/iomgr/iomgr_posix.c", - "src/core/lib/iomgr/iomgr_posix.h", - "src/core/lib/iomgr/iomgr_windows.c", - "src/core/lib/iomgr/pollset.h", - "src/core/lib/iomgr/pollset_multipoller_with_epoll.c", - "src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c", - "src/core/lib/iomgr/pollset_posix.c", - "src/core/lib/iomgr/pollset_posix.h", - "src/core/lib/iomgr/pollset_set.h", - "src/core/lib/iomgr/pollset_set_posix.c", - "src/core/lib/iomgr/pollset_set_posix.h", - "src/core/lib/iomgr/pollset_set_windows.c", - "src/core/lib/iomgr/pollset_set_windows.h", - "src/core/lib/iomgr/pollset_windows.c", - "src/core/lib/iomgr/pollset_windows.h", - "src/core/lib/iomgr/resolve_address.h", - "src/core/lib/iomgr/resolve_address_posix.c", - "src/core/lib/iomgr/resolve_address_windows.c", - "src/core/lib/iomgr/sockaddr.h", - "src/core/lib/iomgr/sockaddr_posix.h", - "src/core/lib/iomgr/sockaddr_utils.c", - "src/core/lib/iomgr/sockaddr_utils.h", - "src/core/lib/iomgr/sockaddr_win32.h", - "src/core/lib/iomgr/socket_utils_common_posix.c", - "src/core/lib/iomgr/socket_utils_linux.c", - "src/core/lib/iomgr/socket_utils_posix.c", - "src/core/lib/iomgr/socket_utils_posix.h", - "src/core/lib/iomgr/socket_windows.c", - "src/core/lib/iomgr/socket_windows.h", - "src/core/lib/iomgr/tcp_client.h", - "src/core/lib/iomgr/tcp_client_posix.c", - "src/core/lib/iomgr/tcp_client_windows.c", - "src/core/lib/iomgr/tcp_posix.c", - "src/core/lib/iomgr/tcp_posix.h", - "src/core/lib/iomgr/tcp_server.h", - "src/core/lib/iomgr/tcp_server_posix.c", - "src/core/lib/iomgr/tcp_server_windows.c", - "src/core/lib/iomgr/tcp_windows.c", - "src/core/lib/iomgr/tcp_windows.h", - "src/core/lib/iomgr/time_averaged_stats.c", - "src/core/lib/iomgr/time_averaged_stats.h", - "src/core/lib/iomgr/timer.c", - "src/core/lib/iomgr/timer.h", - "src/core/lib/iomgr/timer_heap.c", - "src/core/lib/iomgr/timer_heap.h", - "src/core/lib/iomgr/udp_server.c", - "src/core/lib/iomgr/udp_server.h", - "src/core/lib/iomgr/unix_sockets_posix.c", - "src/core/lib/iomgr/unix_sockets_posix.h", - "src/core/lib/iomgr/unix_sockets_posix_noop.c", - "src/core/lib/iomgr/wakeup_fd_eventfd.c", - "src/core/lib/iomgr/wakeup_fd_nospecial.c", - "src/core/lib/iomgr/wakeup_fd_pipe.c", - "src/core/lib/iomgr/wakeup_fd_pipe.h", - "src/core/lib/iomgr/wakeup_fd_posix.c", - "src/core/lib/iomgr/wakeup_fd_posix.h", - "src/core/lib/iomgr/workqueue.h", - "src/core/lib/iomgr/workqueue_posix.c", - "src/core/lib/iomgr/workqueue_posix.h", - "src/core/lib/iomgr/workqueue_windows.c", - "src/core/lib/iomgr/workqueue_windows.h", - "src/core/lib/json/json.c", - "src/core/lib/json/json.h", - "src/core/lib/json/json_common.h", - "src/core/lib/json/json_reader.c", - "src/core/lib/json/json_reader.h", - "src/core/lib/json/json_string.c", - "src/core/lib/json/json_writer.c", - "src/core/lib/json/json_writer.h", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c", - "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h", - "src/core/lib/statistics/census_interface.h", - "src/core/lib/statistics/census_rpc_stats.h", - "src/core/lib/surface/alarm.c", - "src/core/lib/surface/api_trace.c", - "src/core/lib/surface/api_trace.h", - "src/core/lib/surface/byte_buffer.c", - "src/core/lib/surface/byte_buffer_reader.c", - "src/core/lib/surface/call.c", - "src/core/lib/surface/call.h", - "src/core/lib/surface/call_details.c", - "src/core/lib/surface/call_log_batch.c", - "src/core/lib/surface/call_test_only.h", - "src/core/lib/surface/channel.c", - "src/core/lib/surface/channel.h", - "src/core/lib/surface/channel_connectivity.c", - "src/core/lib/surface/channel_init.c", - "src/core/lib/surface/channel_init.h", - "src/core/lib/surface/channel_ping.c", - "src/core/lib/surface/channel_stack_type.c", - "src/core/lib/surface/channel_stack_type.h", - "src/core/lib/surface/completion_queue.c", - "src/core/lib/surface/completion_queue.h", - "src/core/lib/surface/event_string.c", - "src/core/lib/surface/event_string.h", - "src/core/lib/surface/init.c", - "src/core/lib/surface/init.h", - "src/core/lib/surface/init_unsecure.c", - "src/core/lib/surface/lame_client.c", - "src/core/lib/surface/lame_client.h", - "src/core/lib/surface/metadata_array.c", - "src/core/lib/surface/server.c", - "src/core/lib/surface/server.h", - "src/core/lib/surface/surface_trace.h", - "src/core/lib/surface/validate_metadata.c", - "src/core/lib/surface/version.c", - "src/core/lib/transport/byte_stream.c", - "src/core/lib/transport/byte_stream.h", - "src/core/lib/transport/connectivity_state.c", - "src/core/lib/transport/connectivity_state.h", - "src/core/lib/transport/metadata.c", - "src/core/lib/transport/metadata.h", - "src/core/lib/transport/metadata_batch.c", - "src/core/lib/transport/metadata_batch.h", - "src/core/lib/transport/static_metadata.c", - "src/core/lib/transport/static_metadata.h", - "src/core/lib/transport/transport.c", - "src/core/lib/transport/transport.h", - "src/core/lib/transport/transport_impl.h", - "src/core/lib/transport/transport_op_string.c" - ], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "gpr", - "grpc" - ], - "headers": [ - "include/grpc/grpc_zookeeper.h", - "src/core/lib/client_config/resolvers/zookeeper_resolver.h" + "test/core/end2end/data/ssl_test_data.h", + "test/core/security/oauth2_utils.h" ], "language": "c", - "name": "grpc_zookeeper", + "name": "grpc_test_util", "src": [ - "include/grpc/grpc_zookeeper.h", - "src/core/lib/client_config/resolvers/zookeeper_resolver.c", - "src/core/lib/client_config/resolvers/zookeeper_resolver.h" + "test/core/end2end/data/server1_cert.c", + "test/core/end2end/data/server1_key.c", + "test/core/end2end/data/ssl_test_data.h", + "test/core/end2end/data/test_root_cert.c", + "test/core/security/oauth2_utils.c", + "test/core/security/oauth2_utils.h" ], "third_party": false, "type": "lib" @@ -5051,360 +4050,132 @@ "gpr", "gpr_test_util", "grpc", - "grpc_test_util", - "test_tcp_server" - ], - "headers": [ - "test/core/util/reconnect_server.h" + "grpc_test_util_base", + "grpc_unsecure" ], + "headers": [], "language": "c", - "name": "reconnect_server", - "src": [ - "test/core/util/reconnect_server.c", - "test/core/util/reconnect_server.h" - ], + "name": "grpc_test_util_unsecure", + "src": [], "third_party": false, "type": "lib" }, { "deps": [ + "census", "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [ - "test/core/util/test_tcp_server.h" + "grpc_base", + "grpc_lb_policy_grpclb", + "grpc_lb_policy_pick_first", + "grpc_lb_policy_round_robin", + "grpc_resolver_dns_native", + "grpc_resolver_sockaddr", + "grpc_transport_chttp2_client_insecure", + "grpc_transport_chttp2_server_insecure" ], + "headers": [], "language": "c", - "name": "test_tcp_server", + "name": "grpc_unsecure", "src": [ - "test/core/util/test_tcp_server.c", - "test/core/util/test_tcp_server.h" + "src/core/lib/surface/init_unsecure.c" ], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "grpc" - ], - "headers": [ - "include/grpc++/alarm.h", - "include/grpc++/channel.h", - "include/grpc++/client_context.h", - "include/grpc++/completion_queue.h", - "include/grpc++/create_channel.h", - "include/grpc++/generic/async_generic_service.h", - "include/grpc++/generic/generic_stub.h", - "include/grpc++/grpc++.h", - "include/grpc++/impl/call.h", - "include/grpc++/impl/client_unary_call.h", - "include/grpc++/impl/codegen/async_stream.h", - "include/grpc++/impl/codegen/async_unary_call.h", - "include/grpc++/impl/codegen/call.h", - "include/grpc++/impl/codegen/call_hook.h", - "include/grpc++/impl/codegen/channel_interface.h", - "include/grpc++/impl/codegen/client_context.h", - "include/grpc++/impl/codegen/client_unary_call.h", - "include/grpc++/impl/codegen/completion_queue.h", - "include/grpc++/impl/codegen/completion_queue_tag.h", - "include/grpc++/impl/codegen/config.h", - "include/grpc++/impl/codegen/config_protobuf.h", - "include/grpc++/impl/codegen/core_codegen_interface.h", - "include/grpc++/impl/codegen/grpc_library.h", - "include/grpc++/impl/codegen/method_handler_impl.h", - "include/grpc++/impl/codegen/proto_utils.h", - "include/grpc++/impl/codegen/rpc_method.h", - "include/grpc++/impl/codegen/rpc_service_method.h", - "include/grpc++/impl/codegen/security/auth_context.h", - "include/grpc++/impl/codegen/serialization_traits.h", - "include/grpc++/impl/codegen/server_context.h", - "include/grpc++/impl/codegen/server_interface.h", - "include/grpc++/impl/codegen/service_type.h", - "include/grpc++/impl/codegen/status.h", - "include/grpc++/impl/codegen/status_code_enum.h", - "include/grpc++/impl/codegen/string_ref.h", - "include/grpc++/impl/codegen/stub_options.h", - "include/grpc++/impl/codegen/sync.h", - "include/grpc++/impl/codegen/sync_cxx11.h", - "include/grpc++/impl/codegen/sync_no_cxx11.h", - "include/grpc++/impl/codegen/sync_stream.h", - "include/grpc++/impl/codegen/time.h", - "include/grpc++/impl/grpc_library.h", - "include/grpc++/impl/method_handler_impl.h", - "include/grpc++/impl/proto_utils.h", - "include/grpc++/impl/rpc_method.h", - "include/grpc++/impl/rpc_service_method.h", - "include/grpc++/impl/serialization_traits.h", - "include/grpc++/impl/server_builder_option.h", - "include/grpc++/impl/service_type.h", - "include/grpc++/impl/sync.h", - "include/grpc++/impl/sync_cxx11.h", - "include/grpc++/impl/sync_no_cxx11.h", - "include/grpc++/impl/thd.h", - "include/grpc++/impl/thd_cxx11.h", - "include/grpc++/impl/thd_no_cxx11.h", - "include/grpc++/security/auth_context.h", - "include/grpc++/security/auth_metadata_processor.h", - "include/grpc++/security/credentials.h", - "include/grpc++/security/server_credentials.h", - "include/grpc++/server.h", - "include/grpc++/server_builder.h", - "include/grpc++/server_context.h", - "include/grpc++/support/async_stream.h", - "include/grpc++/support/async_unary_call.h", - "include/grpc++/support/byte_buffer.h", - "include/grpc++/support/channel_arguments.h", - "include/grpc++/support/config.h", - "include/grpc++/support/config_protobuf.h", - "include/grpc++/support/slice.h", - "include/grpc++/support/status.h", - "include/grpc++/support/status_code_enum.h", - "include/grpc++/support/string_ref.h", - "include/grpc++/support/stub_options.h", - "include/grpc++/support/sync_stream.h", - "include/grpc++/support/time.h", - "src/cpp/client/create_channel_internal.h", - "src/cpp/client/secure_credentials.h", - "src/cpp/common/core_codegen.h", - "src/cpp/common/create_auth_context.h", - "src/cpp/common/secure_auth_context.h", - "src/cpp/server/dynamic_thread_pool.h", - "src/cpp/server/secure_server_credentials.h", - "src/cpp/server/thread_pool_interface.h" + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "grpc" ], - "language": "c++", - "name": "grpc++", + "headers": [ + "include/grpc/grpc_zookeeper.h" + ], + "language": "c", + "name": "grpc_zookeeper", "src": [ - "include/grpc++/alarm.h", - "include/grpc++/channel.h", - "include/grpc++/client_context.h", - "include/grpc++/completion_queue.h", - "include/grpc++/create_channel.h", - "include/grpc++/generic/async_generic_service.h", - "include/grpc++/generic/generic_stub.h", - "include/grpc++/grpc++.h", - "include/grpc++/impl/call.h", - "include/grpc++/impl/client_unary_call.h", - "include/grpc++/impl/codegen/async_stream.h", - "include/grpc++/impl/codegen/async_unary_call.h", - "include/grpc++/impl/codegen/call.h", - "include/grpc++/impl/codegen/call_hook.h", - "include/grpc++/impl/codegen/channel_interface.h", - "include/grpc++/impl/codegen/client_context.h", - "include/grpc++/impl/codegen/client_unary_call.h", - "include/grpc++/impl/codegen/completion_queue.h", - "include/grpc++/impl/codegen/completion_queue_tag.h", - "include/grpc++/impl/codegen/config.h", - "include/grpc++/impl/codegen/config_protobuf.h", - "include/grpc++/impl/codegen/core_codegen_interface.h", - "include/grpc++/impl/codegen/grpc_library.h", - "include/grpc++/impl/codegen/method_handler_impl.h", - "include/grpc++/impl/codegen/proto_utils.h", - "include/grpc++/impl/codegen/rpc_method.h", - "include/grpc++/impl/codegen/rpc_service_method.h", - "include/grpc++/impl/codegen/security/auth_context.h", - "include/grpc++/impl/codegen/serialization_traits.h", - "include/grpc++/impl/codegen/server_context.h", - "include/grpc++/impl/codegen/server_interface.h", - "include/grpc++/impl/codegen/service_type.h", - "include/grpc++/impl/codegen/status.h", - "include/grpc++/impl/codegen/status_code_enum.h", - "include/grpc++/impl/codegen/string_ref.h", - "include/grpc++/impl/codegen/stub_options.h", - "include/grpc++/impl/codegen/sync.h", - "include/grpc++/impl/codegen/sync_cxx11.h", - "include/grpc++/impl/codegen/sync_no_cxx11.h", - "include/grpc++/impl/codegen/sync_stream.h", - "include/grpc++/impl/codegen/time.h", - "include/grpc++/impl/grpc_library.h", - "include/grpc++/impl/method_handler_impl.h", - "include/grpc++/impl/proto_utils.h", - "include/grpc++/impl/rpc_method.h", - "include/grpc++/impl/rpc_service_method.h", - "include/grpc++/impl/serialization_traits.h", - "include/grpc++/impl/server_builder_option.h", - "include/grpc++/impl/service_type.h", - "include/grpc++/impl/sync.h", - "include/grpc++/impl/sync_cxx11.h", - "include/grpc++/impl/sync_no_cxx11.h", - "include/grpc++/impl/thd.h", - "include/grpc++/impl/thd_cxx11.h", - "include/grpc++/impl/thd_no_cxx11.h", - "include/grpc++/security/auth_context.h", - "include/grpc++/security/auth_metadata_processor.h", - "include/grpc++/security/credentials.h", - "include/grpc++/security/server_credentials.h", - "include/grpc++/server.h", - "include/grpc++/server_builder.h", - "include/grpc++/server_context.h", - "include/grpc++/support/async_stream.h", - "include/grpc++/support/async_unary_call.h", - "include/grpc++/support/byte_buffer.h", - "include/grpc++/support/channel_arguments.h", - "include/grpc++/support/config.h", - "include/grpc++/support/config_protobuf.h", - "include/grpc++/support/slice.h", - "include/grpc++/support/status.h", - "include/grpc++/support/status_code_enum.h", - "include/grpc++/support/string_ref.h", - "include/grpc++/support/stub_options.h", - "include/grpc++/support/sync_stream.h", - "include/grpc++/support/time.h", - "src/cpp/client/channel.cc", - "src/cpp/client/client_context.cc", - "src/cpp/client/create_channel.cc", - "src/cpp/client/create_channel_internal.cc", - "src/cpp/client/create_channel_internal.h", - "src/cpp/client/credentials.cc", - "src/cpp/client/generic_stub.cc", - "src/cpp/client/insecure_credentials.cc", - "src/cpp/client/secure_credentials.cc", - "src/cpp/client/secure_credentials.h", - "src/cpp/codegen/codegen_init.cc", - "src/cpp/common/auth_property_iterator.cc", - "src/cpp/common/channel_arguments.cc", - "src/cpp/common/completion_queue.cc", - "src/cpp/common/core_codegen.cc", - "src/cpp/common/core_codegen.h", - "src/cpp/common/create_auth_context.h", - "src/cpp/common/rpc_method.cc", - "src/cpp/common/secure_auth_context.cc", - "src/cpp/common/secure_auth_context.h", - "src/cpp/common/secure_channel_arguments.cc", - "src/cpp/common/secure_create_auth_context.cc", - "src/cpp/server/async_generic_service.cc", - "src/cpp/server/create_default_thread_pool.cc", - "src/cpp/server/dynamic_thread_pool.cc", - "src/cpp/server/dynamic_thread_pool.h", - "src/cpp/server/insecure_server_credentials.cc", - "src/cpp/server/secure_server_credentials.cc", - "src/cpp/server/secure_server_credentials.h", - "src/cpp/server/server.cc", - "src/cpp/server/server_builder.cc", - "src/cpp/server/server_context.cc", - "src/cpp/server/server_credentials.cc", - "src/cpp/server/thread_pool_interface.h", - "src/cpp/util/byte_buffer.cc", - "src/cpp/util/slice.cc", - "src/cpp/util/status.cc", - "src/cpp/util/string_ref.cc", - "src/cpp/util/time.cc" + "include/grpc/grpc_zookeeper.h", + "src/core/ext/resolver/zookeeper/zookeeper_resolver.c" ], "third_party": false, "type": "lib" }, { - "deps": [], + "deps": [ + "gpr" + ], + "headers": [], + "language": "c", + "name": "one_input_fuzzer", + "src": [ + "test/core/util/one_corpus_entry_fuzzer.c" + ], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util", + "test_tcp_server" + ], "headers": [ - "include/grpc++/impl/codegen/async_stream.h", - "include/grpc++/impl/codegen/async_unary_call.h", - "include/grpc++/impl/codegen/call.h", - "include/grpc++/impl/codegen/call_hook.h", - "include/grpc++/impl/codegen/channel_interface.h", - "include/grpc++/impl/codegen/client_context.h", - "include/grpc++/impl/codegen/client_unary_call.h", - "include/grpc++/impl/codegen/completion_queue.h", - "include/grpc++/impl/codegen/completion_queue_tag.h", - "include/grpc++/impl/codegen/config.h", - "include/grpc++/impl/codegen/config_protobuf.h", - "include/grpc++/impl/codegen/core_codegen_interface.h", - "include/grpc++/impl/codegen/grpc_library.h", - "include/grpc++/impl/codegen/method_handler_impl.h", - "include/grpc++/impl/codegen/proto_utils.h", - "include/grpc++/impl/codegen/rpc_method.h", - "include/grpc++/impl/codegen/rpc_service_method.h", - "include/grpc++/impl/codegen/security/auth_context.h", - "include/grpc++/impl/codegen/serialization_traits.h", - "include/grpc++/impl/codegen/server_context.h", - "include/grpc++/impl/codegen/server_interface.h", - "include/grpc++/impl/codegen/service_type.h", - "include/grpc++/impl/codegen/status.h", - "include/grpc++/impl/codegen/status_code_enum.h", - "include/grpc++/impl/codegen/string_ref.h", - "include/grpc++/impl/codegen/stub_options.h", - "include/grpc++/impl/codegen/sync.h", - "include/grpc++/impl/codegen/sync_cxx11.h", - "include/grpc++/impl/codegen/sync_no_cxx11.h", - "include/grpc++/impl/codegen/sync_stream.h", - "include/grpc++/impl/codegen/time.h", - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/byte_buffer.h", - "include/grpc/impl/codegen/compression_types.h", - "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/grpc_types.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/propagation_bits.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/status.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_win32.h", - "include/grpc/impl/codegen/time.h" + "test/core/util/reconnect_server.h" ], - "language": "c++", - "name": "grpc++_codegen_lib", + "language": "c", + "name": "reconnect_server", "src": [ - "include/grpc++/impl/codegen/async_stream.h", - "include/grpc++/impl/codegen/async_unary_call.h", - "include/grpc++/impl/codegen/call.h", - "include/grpc++/impl/codegen/call_hook.h", - "include/grpc++/impl/codegen/channel_interface.h", - "include/grpc++/impl/codegen/client_context.h", - "include/grpc++/impl/codegen/client_unary_call.h", - "include/grpc++/impl/codegen/completion_queue.h", - "include/grpc++/impl/codegen/completion_queue_tag.h", - "include/grpc++/impl/codegen/config.h", - "include/grpc++/impl/codegen/config_protobuf.h", - "include/grpc++/impl/codegen/core_codegen_interface.h", - "include/grpc++/impl/codegen/grpc_library.h", - "include/grpc++/impl/codegen/method_handler_impl.h", - "include/grpc++/impl/codegen/proto_utils.h", - "include/grpc++/impl/codegen/rpc_method.h", - "include/grpc++/impl/codegen/rpc_service_method.h", - "include/grpc++/impl/codegen/security/auth_context.h", - "include/grpc++/impl/codegen/serialization_traits.h", - "include/grpc++/impl/codegen/server_context.h", - "include/grpc++/impl/codegen/server_interface.h", - "include/grpc++/impl/codegen/service_type.h", - "include/grpc++/impl/codegen/status.h", - "include/grpc++/impl/codegen/status_code_enum.h", - "include/grpc++/impl/codegen/string_ref.h", - "include/grpc++/impl/codegen/stub_options.h", - "include/grpc++/impl/codegen/sync.h", - "include/grpc++/impl/codegen/sync_cxx11.h", - "include/grpc++/impl/codegen/sync_no_cxx11.h", - "include/grpc++/impl/codegen/sync_stream.h", - "include/grpc++/impl/codegen/time.h", - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/byte_buffer.h", - "include/grpc/impl/codegen/compression_types.h", - "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/grpc_types.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/propagation_bits.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/status.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_win32.h", - "include/grpc/impl/codegen/time.h", - "src/cpp/codegen/codegen_init.cc" + "test/core/util/reconnect_server.c", + "test/core/util/reconnect_server.h" + ], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [ + "test/core/util/test_tcp_server.h" + ], + "language": "c", + "name": "test_tcp_server", + "src": [ + "test/core/util/test_tcp_server.c", + "test/core/util/test_tcp_server.h" + ], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "grpc", + "grpc++_base", + "grpc++_codegen" + ], + "headers": [ + "src/cpp/client/secure_credentials.h", + "src/cpp/common/core_codegen.h", + "src/cpp/common/secure_auth_context.h", + "src/cpp/server/secure_server_credentials.h" + ], + "language": "c++", + "name": "grpc++", + "src": [ + "src/cpp/client/secure_credentials.cc", + "src/cpp/client/secure_credentials.h", + "src/cpp/common/auth_property_iterator.cc", + "src/cpp/common/core_codegen.h", + "src/cpp/common/secure_auth_context.cc", + "src/cpp/common/secure_auth_context.h", + "src/cpp/common/secure_channel_arguments.cc", + "src/cpp/common/secure_create_auth_context.cc", + "src/cpp/server/secure_server_credentials.cc", + "src/cpp/server/secure_server_credentials.h" ], "third_party": false, "type": "lib" @@ -5467,224 +4238,25 @@ { "deps": [ "gpr", + "grpc", + "grpc++_base", + "grpc++_codegen", "grpc_unsecure" ], - "headers": [ - "include/grpc++/alarm.h", - "include/grpc++/channel.h", - "include/grpc++/client_context.h", - "include/grpc++/completion_queue.h", - "include/grpc++/create_channel.h", - "include/grpc++/generic/async_generic_service.h", - "include/grpc++/generic/generic_stub.h", - "include/grpc++/grpc++.h", - "include/grpc++/impl/call.h", - "include/grpc++/impl/client_unary_call.h", - "include/grpc++/impl/codegen/async_stream.h", - "include/grpc++/impl/codegen/async_unary_call.h", - "include/grpc++/impl/codegen/call.h", - "include/grpc++/impl/codegen/call_hook.h", - "include/grpc++/impl/codegen/channel_interface.h", - "include/grpc++/impl/codegen/client_context.h", - "include/grpc++/impl/codegen/client_unary_call.h", - "include/grpc++/impl/codegen/completion_queue.h", - "include/grpc++/impl/codegen/completion_queue_tag.h", - "include/grpc++/impl/codegen/config.h", - "include/grpc++/impl/codegen/config_protobuf.h", - "include/grpc++/impl/codegen/core_codegen_interface.h", - "include/grpc++/impl/codegen/grpc_library.h", - "include/grpc++/impl/codegen/method_handler_impl.h", - "include/grpc++/impl/codegen/proto_utils.h", - "include/grpc++/impl/codegen/rpc_method.h", - "include/grpc++/impl/codegen/rpc_service_method.h", - "include/grpc++/impl/codegen/security/auth_context.h", - "include/grpc++/impl/codegen/serialization_traits.h", - "include/grpc++/impl/codegen/server_context.h", - "include/grpc++/impl/codegen/server_interface.h", - "include/grpc++/impl/codegen/service_type.h", - "include/grpc++/impl/codegen/status.h", - "include/grpc++/impl/codegen/status_code_enum.h", - "include/grpc++/impl/codegen/string_ref.h", - "include/grpc++/impl/codegen/stub_options.h", - "include/grpc++/impl/codegen/sync.h", - "include/grpc++/impl/codegen/sync_cxx11.h", - "include/grpc++/impl/codegen/sync_no_cxx11.h", - "include/grpc++/impl/codegen/sync_stream.h", - "include/grpc++/impl/codegen/time.h", - "include/grpc++/impl/grpc_library.h", - "include/grpc++/impl/method_handler_impl.h", - "include/grpc++/impl/proto_utils.h", - "include/grpc++/impl/rpc_method.h", - "include/grpc++/impl/rpc_service_method.h", - "include/grpc++/impl/serialization_traits.h", - "include/grpc++/impl/server_builder_option.h", - "include/grpc++/impl/service_type.h", - "include/grpc++/impl/sync.h", - "include/grpc++/impl/sync_cxx11.h", - "include/grpc++/impl/sync_no_cxx11.h", - "include/grpc++/impl/thd.h", - "include/grpc++/impl/thd_cxx11.h", - "include/grpc++/impl/thd_no_cxx11.h", - "include/grpc++/security/auth_context.h", - "include/grpc++/security/auth_metadata_processor.h", - "include/grpc++/security/credentials.h", - "include/grpc++/security/server_credentials.h", - "include/grpc++/server.h", - "include/grpc++/server_builder.h", - "include/grpc++/server_context.h", - "include/grpc++/support/async_stream.h", - "include/grpc++/support/async_unary_call.h", - "include/grpc++/support/byte_buffer.h", - "include/grpc++/support/channel_arguments.h", - "include/grpc++/support/config.h", - "include/grpc++/support/config_protobuf.h", - "include/grpc++/support/slice.h", - "include/grpc++/support/status.h", - "include/grpc++/support/status_code_enum.h", - "include/grpc++/support/string_ref.h", - "include/grpc++/support/stub_options.h", - "include/grpc++/support/sync_stream.h", - "include/grpc++/support/time.h", - "src/cpp/client/create_channel_internal.h", - "src/cpp/common/core_codegen.h", - "src/cpp/common/create_auth_context.h", - "src/cpp/server/dynamic_thread_pool.h", - "src/cpp/server/thread_pool_interface.h" - ], + "headers": [], "language": "c++", "name": "grpc++_unsecure", "src": [ - "include/grpc++/alarm.h", - "include/grpc++/channel.h", - "include/grpc++/client_context.h", - "include/grpc++/completion_queue.h", - "include/grpc++/create_channel.h", - "include/grpc++/generic/async_generic_service.h", - "include/grpc++/generic/generic_stub.h", - "include/grpc++/grpc++.h", - "include/grpc++/impl/call.h", - "include/grpc++/impl/client_unary_call.h", - "include/grpc++/impl/codegen/async_stream.h", - "include/grpc++/impl/codegen/async_unary_call.h", - "include/grpc++/impl/codegen/call.h", - "include/grpc++/impl/codegen/call_hook.h", - "include/grpc++/impl/codegen/channel_interface.h", - "include/grpc++/impl/codegen/client_context.h", - "include/grpc++/impl/codegen/client_unary_call.h", - "include/grpc++/impl/codegen/completion_queue.h", - "include/grpc++/impl/codegen/completion_queue_tag.h", - "include/grpc++/impl/codegen/config.h", - "include/grpc++/impl/codegen/config_protobuf.h", - "include/grpc++/impl/codegen/core_codegen_interface.h", - "include/grpc++/impl/codegen/grpc_library.h", - "include/grpc++/impl/codegen/method_handler_impl.h", - "include/grpc++/impl/codegen/proto_utils.h", - "include/grpc++/impl/codegen/rpc_method.h", - "include/grpc++/impl/codegen/rpc_service_method.h", - "include/grpc++/impl/codegen/security/auth_context.h", - "include/grpc++/impl/codegen/serialization_traits.h", - "include/grpc++/impl/codegen/server_context.h", - "include/grpc++/impl/codegen/server_interface.h", - "include/grpc++/impl/codegen/service_type.h", - "include/grpc++/impl/codegen/status.h", - "include/grpc++/impl/codegen/status_code_enum.h", - "include/grpc++/impl/codegen/string_ref.h", - "include/grpc++/impl/codegen/stub_options.h", - "include/grpc++/impl/codegen/sync.h", - "include/grpc++/impl/codegen/sync_cxx11.h", - "include/grpc++/impl/codegen/sync_no_cxx11.h", - "include/grpc++/impl/codegen/sync_stream.h", - "include/grpc++/impl/codegen/time.h", - "include/grpc++/impl/grpc_library.h", - "include/grpc++/impl/method_handler_impl.h", - "include/grpc++/impl/proto_utils.h", - "include/grpc++/impl/rpc_method.h", - "include/grpc++/impl/rpc_service_method.h", - "include/grpc++/impl/serialization_traits.h", - "include/grpc++/impl/server_builder_option.h", - "include/grpc++/impl/service_type.h", - "include/grpc++/impl/sync.h", - "include/grpc++/impl/sync_cxx11.h", - "include/grpc++/impl/sync_no_cxx11.h", - "include/grpc++/impl/thd.h", - "include/grpc++/impl/thd_cxx11.h", - "include/grpc++/impl/thd_no_cxx11.h", - "include/grpc++/security/auth_context.h", - "include/grpc++/security/auth_metadata_processor.h", - "include/grpc++/security/credentials.h", - "include/grpc++/security/server_credentials.h", - "include/grpc++/server.h", - "include/grpc++/server_builder.h", - "include/grpc++/server_context.h", - "include/grpc++/support/async_stream.h", - "include/grpc++/support/async_unary_call.h", - "include/grpc++/support/byte_buffer.h", - "include/grpc++/support/channel_arguments.h", - "include/grpc++/support/config.h", - "include/grpc++/support/config_protobuf.h", - "include/grpc++/support/slice.h", - "include/grpc++/support/status.h", - "include/grpc++/support/status_code_enum.h", - "include/grpc++/support/string_ref.h", - "include/grpc++/support/stub_options.h", - "include/grpc++/support/sync_stream.h", - "include/grpc++/support/time.h", - "src/cpp/client/channel.cc", - "src/cpp/client/client_context.cc", - "src/cpp/client/create_channel.cc", - "src/cpp/client/create_channel_internal.cc", - "src/cpp/client/create_channel_internal.h", - "src/cpp/client/credentials.cc", - "src/cpp/client/generic_stub.cc", - "src/cpp/client/insecure_credentials.cc", - "src/cpp/codegen/codegen_init.cc", - "src/cpp/common/channel_arguments.cc", - "src/cpp/common/completion_queue.cc", - "src/cpp/common/core_codegen.cc", - "src/cpp/common/core_codegen.h", - "src/cpp/common/create_auth_context.h", - "src/cpp/common/insecure_create_auth_context.cc", - "src/cpp/common/rpc_method.cc", - "src/cpp/server/async_generic_service.cc", - "src/cpp/server/create_default_thread_pool.cc", - "src/cpp/server/dynamic_thread_pool.cc", - "src/cpp/server/dynamic_thread_pool.h", - "src/cpp/server/insecure_server_credentials.cc", - "src/cpp/server/server.cc", - "src/cpp/server/server_builder.cc", - "src/cpp/server/server_context.cc", - "src/cpp/server/server_credentials.cc", - "src/cpp/server/thread_pool_interface.h", - "src/cpp/util/byte_buffer.cc", - "src/cpp/util/slice.cc", - "src/cpp/util/status.cc", - "src/cpp/util/string_ref.cc", - "src/cpp/util/time.cc" + "src/cpp/common/insecure_create_auth_context.cc" ], "third_party": false, "type": "lib" }, { "deps": [ - "grpc++_codegen_lib" + "grpc++_config" ], "headers": [ - "include/grpc++/support/config.h", - "include/grpc++/support/config_protobuf.h", - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_win32.h", - "include/grpc/impl/codegen/time.h", "src/compiler/config.h", "src/compiler/cpp_generator.h", "src/compiler/cpp_generator_helpers.h", @@ -5693,31 +4265,15 @@ "src/compiler/generator_helpers.h", "src/compiler/objective_c_generator.h", "src/compiler/objective_c_generator_helpers.h", - "src/compiler/python_generator.h", - "src/compiler/ruby_generator.h", - "src/compiler/ruby_generator_helpers-inl.h", - "src/compiler/ruby_generator_map-inl.h", - "src/compiler/ruby_generator_string-inl.h" - ], - "language": "c++", - "name": "grpc_plugin_support", - "src": [ - "include/grpc++/support/config.h", - "include/grpc++/support/config_protobuf.h", - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_win32.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_win32.h", - "include/grpc/impl/codegen/time.h", + "src/compiler/python_generator.h", + "src/compiler/ruby_generator.h", + "src/compiler/ruby_generator_helpers-inl.h", + "src/compiler/ruby_generator_map-inl.h", + "src/compiler/ruby_generator_string-inl.h" + ], + "language": "c++", + "name": "grpc_plugin_support", + "src": [ "src/compiler/config.h", "src/compiler/cpp_generator.cc", "src/compiler/cpp_generator.h", @@ -6034,10 +4590,286 @@ "type": "lib" }, { - "deps": [], + "deps": [], + "headers": [], + "language": "c++", + "name": "boringssl_test_util", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_aes_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_asn1_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_base64_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_bio_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_bn_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_bytestring_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_aead_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_cipher_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_cmac_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c", + "name": "boringssl_constant_time_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_ed25519_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_x25519_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_dh_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_digest_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c", + "name": "boringssl_dsa_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_ec_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c", + "name": "boringssl_example_mul_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_ecdsa_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_err_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_evp_extra_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c++", + "name": "boringssl_evp_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], "headers": [], "language": "c++", - "name": "boringssl_test_util", + "name": "boringssl_pbkdf_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c", + "name": "boringssl_hkdf_test_lib", "src": [], "third_party": true, "type": "lib" @@ -6049,7 +4881,31 @@ ], "headers": [], "language": "c++", - "name": "boringssl_aes_test_lib", + "name": "boringssl_hmac_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c", + "name": "boringssl_lhash_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c", + "name": "boringssl_gcm_test_lib", "src": [], "third_party": true, "type": "lib" @@ -6061,7 +4917,7 @@ ], "headers": [], "language": "c++", - "name": "boringssl_asn1_test_lib", + "name": "boringssl_pkcs12_test_lib", "src": [], "third_party": true, "type": "lib" @@ -6073,7 +4929,7 @@ ], "headers": [], "language": "c++", - "name": "boringssl_base64_test_lib", + "name": "boringssl_pkcs8_test_lib", "src": [], "third_party": true, "type": "lib" @@ -6085,7 +4941,19 @@ ], "headers": [], "language": "c++", - "name": "boringssl_bio_test_lib", + "name": "boringssl_poly1305_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c", + "name": "boringssl_refcount_test_lib", "src": [], "third_party": true, "type": "lib" @@ -6097,7 +4965,67 @@ ], "headers": [], "language": "c++", - "name": "boringssl_bn_test_lib", + "name": "boringssl_rsa_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c", + "name": "boringssl_thread_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c", + "name": "boringssl_pkcs7_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c", + "name": "boringssl_tab_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c", + "name": "boringssl_v3name_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "boringssl", + "boringssl_test_util" + ], + "headers": [], + "language": "c", + "name": "boringssl_pqueue_test_lib", "src": [], "third_party": true, "type": "lib" @@ -6107,555 +5035,1335 @@ "boringssl", "boringssl_test_util" ], - "headers": [], - "language": "c++", - "name": "boringssl_bytestring_test_lib", - "src": [], - "third_party": true, + "headers": [], + "language": "c++", + "name": "boringssl_ssl_test_lib", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [], + "headers": [ + "third_party/zlib/crc32.h", + "third_party/zlib/deflate.h", + "third_party/zlib/gzguts.h", + "third_party/zlib/inffast.h", + "third_party/zlib/inffixed.h", + "third_party/zlib/inflate.h", + "third_party/zlib/inftrees.h", + "third_party/zlib/trees.h", + "third_party/zlib/zconf.h", + "third_party/zlib/zlib.h", + "third_party/zlib/zutil.h" + ], + "language": "c", + "name": "z", + "src": [], + "third_party": true, + "type": "lib" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [ + "test/core/bad_client/bad_client.h" + ], + "language": "c", + "name": "bad_client_test", + "src": [ + "test/core/bad_client/bad_client.c", + "test/core/bad_client/bad_client.h" + ], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [ + "test/core/bad_ssl/server_common.h" + ], + "language": "c", + "name": "bad_ssl_test_server", + "src": [ + "test/core/bad_ssl/server_common.c", + "test/core/bad_ssl/server_common.h" + ], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [ + "test/core/end2end/end2end_tests.h", + "test/core/end2end/tests/cancel_test_helpers.h" + ], + "language": "c", + "name": "end2end_tests", + "src": [ + "test/core/end2end/end2end_tests.c", + "test/core/end2end/end2end_tests.h", + "test/core/end2end/tests/bad_hostname.c", + "test/core/end2end/tests/binary_metadata.c", + "test/core/end2end/tests/call_creds.c", + "test/core/end2end/tests/cancel_after_accept.c", + "test/core/end2end/tests/cancel_after_client_done.c", + "test/core/end2end/tests/cancel_after_invoke.c", + "test/core/end2end/tests/cancel_before_invoke.c", + "test/core/end2end/tests/cancel_in_a_vacuum.c", + "test/core/end2end/tests/cancel_test_helpers.h", + "test/core/end2end/tests/cancel_with_status.c", + "test/core/end2end/tests/compressed_payload.c", + "test/core/end2end/tests/connectivity.c", + "test/core/end2end/tests/default_host.c", + "test/core/end2end/tests/disappearing_server.c", + "test/core/end2end/tests/empty_batch.c", + "test/core/end2end/tests/filter_causes_close.c", + "test/core/end2end/tests/graceful_server_shutdown.c", + "test/core/end2end/tests/high_initial_seqno.c", + "test/core/end2end/tests/hpack_size.c", + "test/core/end2end/tests/idempotent_request.c", + "test/core/end2end/tests/invoke_large_request.c", + "test/core/end2end/tests/large_metadata.c", + "test/core/end2end/tests/max_concurrent_streams.c", + "test/core/end2end/tests/max_message_length.c", + "test/core/end2end/tests/negative_deadline.c", + "test/core/end2end/tests/no_op.c", + "test/core/end2end/tests/payload.c", + "test/core/end2end/tests/ping.c", + "test/core/end2end/tests/ping_pong_streaming.c", + "test/core/end2end/tests/registered_call.c", + "test/core/end2end/tests/request_with_flags.c", + "test/core/end2end/tests/request_with_payload.c", + "test/core/end2end/tests/server_finishes_request.c", + "test/core/end2end/tests/shutdown_finishes_calls.c", + "test/core/end2end/tests/shutdown_finishes_tags.c", + "test/core/end2end/tests/simple_delayed_request.c", + "test/core/end2end/tests/simple_metadata.c", + "test/core/end2end/tests/simple_request.c", + "test/core/end2end/tests/trailing_metadata.c" + ], + "third_party": false, "type": "lib" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" ], - "headers": [], - "language": "c++", - "name": "boringssl_aead_test_lib", - "src": [], - "third_party": true, + "headers": [ + "test/core/end2end/end2end_tests.h", + "test/core/end2end/tests/cancel_test_helpers.h" + ], + "language": "c", + "name": "end2end_nosec_tests", + "src": [ + "test/core/end2end/end2end_nosec_tests.c", + "test/core/end2end/end2end_tests.h", + "test/core/end2end/tests/bad_hostname.c", + "test/core/end2end/tests/binary_metadata.c", + "test/core/end2end/tests/cancel_after_accept.c", + "test/core/end2end/tests/cancel_after_client_done.c", + "test/core/end2end/tests/cancel_after_invoke.c", + "test/core/end2end/tests/cancel_before_invoke.c", + "test/core/end2end/tests/cancel_in_a_vacuum.c", + "test/core/end2end/tests/cancel_test_helpers.h", + "test/core/end2end/tests/cancel_with_status.c", + "test/core/end2end/tests/compressed_payload.c", + "test/core/end2end/tests/connectivity.c", + "test/core/end2end/tests/default_host.c", + "test/core/end2end/tests/disappearing_server.c", + "test/core/end2end/tests/empty_batch.c", + "test/core/end2end/tests/filter_causes_close.c", + "test/core/end2end/tests/graceful_server_shutdown.c", + "test/core/end2end/tests/high_initial_seqno.c", + "test/core/end2end/tests/hpack_size.c", + "test/core/end2end/tests/idempotent_request.c", + "test/core/end2end/tests/invoke_large_request.c", + "test/core/end2end/tests/large_metadata.c", + "test/core/end2end/tests/max_concurrent_streams.c", + "test/core/end2end/tests/max_message_length.c", + "test/core/end2end/tests/negative_deadline.c", + "test/core/end2end/tests/no_op.c", + "test/core/end2end/tests/payload.c", + "test/core/end2end/tests/ping.c", + "test/core/end2end/tests/ping_pong_streaming.c", + "test/core/end2end/tests/registered_call.c", + "test/core/end2end/tests/request_with_flags.c", + "test/core/end2end/tests/request_with_payload.c", + "test/core/end2end/tests/server_finishes_request.c", + "test/core/end2end/tests/shutdown_finishes_calls.c", + "test/core/end2end/tests/shutdown_finishes_tags.c", + "test/core/end2end/tests/simple_delayed_request.c", + "test/core/end2end/tests/simple_metadata.c", + "test/core/end2end/tests/simple_request.c", + "test/core/end2end/tests/trailing_metadata.c" + ], + "third_party": false, "type": "lib" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr", + "grpc_base" ], - "headers": [], - "language": "c++", - "name": "boringssl_cipher_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "headers": [ + "include/grpc/census.h", + "src/core/ext/census/aggregation.h", + "src/core/ext/census/census_interface.h", + "src/core/ext/census/census_rpc_stats.h", + "src/core/ext/census/grpc_filter.h", + "src/core/ext/census/mlog.h", + "src/core/ext/census/rpc_metric_id.h" + ], + "language": "c", + "name": "census", + "src": [ + "include/grpc/census.h", + "src/core/ext/census/aggregation.h", + "src/core/ext/census/census_interface.h", + "src/core/ext/census/census_rpc_stats.h", + "src/core/ext/census/context.c", + "src/core/ext/census/grpc_context.c", + "src/core/ext/census/grpc_filter.c", + "src/core/ext/census/grpc_filter.h", + "src/core/ext/census/grpc_plugin.c", + "src/core/ext/census/initialize.c", + "src/core/ext/census/mlog.c", + "src/core/ext/census/mlog.h", + "src/core/ext/census/operation.c", + "src/core/ext/census/placeholders.c", + "src/core/ext/census/rpc_metric_id.h", + "src/core/ext/census/tracing.c" + ], + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr_codegen" ], - "headers": [], - "language": "c++", - "name": "boringssl_cmac_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "headers": [ + "include/grpc/support/alloc.h", + "include/grpc/support/atm.h", + "include/grpc/support/atm_gcc_atomic.h", + "include/grpc/support/atm_gcc_sync.h", + "include/grpc/support/atm_win32.h", + "include/grpc/support/avl.h", + "include/grpc/support/cmdline.h", + "include/grpc/support/cpu.h", + "include/grpc/support/histogram.h", + "include/grpc/support/host_port.h", + "include/grpc/support/log.h", + "include/grpc/support/log_win32.h", + "include/grpc/support/port_platform.h", + "include/grpc/support/slice.h", + "include/grpc/support/slice_buffer.h", + "include/grpc/support/string_util.h", + "include/grpc/support/subprocess.h", + "include/grpc/support/sync.h", + "include/grpc/support/sync_generic.h", + "include/grpc/support/sync_posix.h", + "include/grpc/support/sync_win32.h", + "include/grpc/support/thd.h", + "include/grpc/support/time.h", + "include/grpc/support/tls.h", + "include/grpc/support/tls_gcc.h", + "include/grpc/support/tls_msvc.h", + "include/grpc/support/tls_pthread.h", + "include/grpc/support/useful.h", + "src/core/lib/profiling/timers.h", + "src/core/lib/support/backoff.h", + "src/core/lib/support/block_annotate.h", + "src/core/lib/support/env.h", + "src/core/lib/support/load_file.h", + "src/core/lib/support/murmur_hash.h", + "src/core/lib/support/stack_lockfree.h", + "src/core/lib/support/string.h", + "src/core/lib/support/string_win32.h", + "src/core/lib/support/thd_internal.h", + "src/core/lib/support/time_precise.h", + "src/core/lib/support/tmpfile.h" + ], + "language": "c", + "name": "gpr_base", + "src": [ + "include/grpc/support/alloc.h", + "include/grpc/support/atm.h", + "include/grpc/support/atm_gcc_atomic.h", + "include/grpc/support/atm_gcc_sync.h", + "include/grpc/support/atm_win32.h", + "include/grpc/support/avl.h", + "include/grpc/support/cmdline.h", + "include/grpc/support/cpu.h", + "include/grpc/support/histogram.h", + "include/grpc/support/host_port.h", + "include/grpc/support/log.h", + "include/grpc/support/log_win32.h", + "include/grpc/support/port_platform.h", + "include/grpc/support/slice.h", + "include/grpc/support/slice_buffer.h", + "include/grpc/support/string_util.h", + "include/grpc/support/subprocess.h", + "include/grpc/support/sync.h", + "include/grpc/support/sync_generic.h", + "include/grpc/support/sync_posix.h", + "include/grpc/support/sync_win32.h", + "include/grpc/support/thd.h", + "include/grpc/support/time.h", + "include/grpc/support/tls.h", + "include/grpc/support/tls_gcc.h", + "include/grpc/support/tls_msvc.h", + "include/grpc/support/tls_pthread.h", + "include/grpc/support/useful.h", + "src/core/lib/profiling/basic_timers.c", + "src/core/lib/profiling/stap_timers.c", + "src/core/lib/profiling/timers.h", + "src/core/lib/support/alloc.c", + "src/core/lib/support/avl.c", + "src/core/lib/support/backoff.c", + "src/core/lib/support/backoff.h", + "src/core/lib/support/block_annotate.h", + "src/core/lib/support/cmdline.c", + "src/core/lib/support/cpu_iphone.c", + "src/core/lib/support/cpu_linux.c", + "src/core/lib/support/cpu_posix.c", + "src/core/lib/support/cpu_windows.c", + "src/core/lib/support/env.h", + "src/core/lib/support/env_linux.c", + "src/core/lib/support/env_posix.c", + "src/core/lib/support/env_win32.c", + "src/core/lib/support/histogram.c", + "src/core/lib/support/host_port.c", + "src/core/lib/support/load_file.c", + "src/core/lib/support/load_file.h", + "src/core/lib/support/log.c", + "src/core/lib/support/log_android.c", + "src/core/lib/support/log_linux.c", + "src/core/lib/support/log_posix.c", + "src/core/lib/support/log_win32.c", + "src/core/lib/support/murmur_hash.c", + "src/core/lib/support/murmur_hash.h", + "src/core/lib/support/slice.c", + "src/core/lib/support/slice_buffer.c", + "src/core/lib/support/stack_lockfree.c", + "src/core/lib/support/stack_lockfree.h", + "src/core/lib/support/string.c", + "src/core/lib/support/string.h", + "src/core/lib/support/string_posix.c", + "src/core/lib/support/string_win32.c", + "src/core/lib/support/string_win32.h", + "src/core/lib/support/subprocess_posix.c", + "src/core/lib/support/subprocess_windows.c", + "src/core/lib/support/sync.c", + "src/core/lib/support/sync_posix.c", + "src/core/lib/support/sync_win32.c", + "src/core/lib/support/thd.c", + "src/core/lib/support/thd_internal.h", + "src/core/lib/support/thd_posix.c", + "src/core/lib/support/thd_win32.c", + "src/core/lib/support/time.c", + "src/core/lib/support/time_posix.c", + "src/core/lib/support/time_precise.c", + "src/core/lib/support/time_precise.h", + "src/core/lib/support/time_win32.c", + "src/core/lib/support/tls_pthread.c", + "src/core/lib/support/tmpfile.h", + "src/core/lib/support/tmpfile_posix.c", + "src/core/lib/support/tmpfile_win32.c", + "src/core/lib/support/wrap_memcpy.c" + ], + "third_party": false, + "type": "filegroup" }, { - "deps": [ - "boringssl", - "boringssl_test_util" + "deps": [], + "headers": [ + "include/grpc/impl/codegen/alloc.h", + "include/grpc/impl/codegen/atm.h", + "include/grpc/impl/codegen/atm_gcc_atomic.h", + "include/grpc/impl/codegen/atm_gcc_sync.h", + "include/grpc/impl/codegen/atm_win32.h", + "include/grpc/impl/codegen/log.h", + "include/grpc/impl/codegen/port_platform.h", + "include/grpc/impl/codegen/slice.h", + "include/grpc/impl/codegen/slice_buffer.h", + "include/grpc/impl/codegen/sync.h", + "include/grpc/impl/codegen/sync_generic.h", + "include/grpc/impl/codegen/sync_posix.h", + "include/grpc/impl/codegen/sync_win32.h", + "include/grpc/impl/codegen/time.h" + ], + "language": "c", + "name": "gpr_codegen", + "src": [ + "include/grpc/impl/codegen/alloc.h", + "include/grpc/impl/codegen/atm.h", + "include/grpc/impl/codegen/atm_gcc_atomic.h", + "include/grpc/impl/codegen/atm_gcc_sync.h", + "include/grpc/impl/codegen/atm_win32.h", + "include/grpc/impl/codegen/log.h", + "include/grpc/impl/codegen/port_platform.h", + "include/grpc/impl/codegen/slice.h", + "include/grpc/impl/codegen/slice_buffer.h", + "include/grpc/impl/codegen/sync.h", + "include/grpc/impl/codegen/sync_generic.h", + "include/grpc/impl/codegen/sync_posix.h", + "include/grpc/impl/codegen/sync_win32.h", + "include/grpc/impl/codegen/time.h" ], - "headers": [], - "language": "c", - "name": "boringssl_constant_time_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "grpc", + "grpc++_codegen", + "grpc++_config" ], - "headers": [], - "language": "c++", - "name": "boringssl_ed25519_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [ - "boringssl", - "boringssl_test_util" + "headers": [ + "include/grpc++/alarm.h", + "include/grpc++/channel.h", + "include/grpc++/client_context.h", + "include/grpc++/completion_queue.h", + "include/grpc++/create_channel.h", + "include/grpc++/generic/async_generic_service.h", + "include/grpc++/generic/generic_stub.h", + "include/grpc++/grpc++.h", + "include/grpc++/impl/call.h", + "include/grpc++/impl/client_unary_call.h", + "include/grpc++/impl/grpc_library.h", + "include/grpc++/impl/method_handler_impl.h", + "include/grpc++/impl/proto_utils.h", + "include/grpc++/impl/rpc_method.h", + "include/grpc++/impl/rpc_service_method.h", + "include/grpc++/impl/serialization_traits.h", + "include/grpc++/impl/server_builder_option.h", + "include/grpc++/impl/service_type.h", + "include/grpc++/impl/sync.h", + "include/grpc++/impl/sync_cxx11.h", + "include/grpc++/impl/sync_no_cxx11.h", + "include/grpc++/impl/thd.h", + "include/grpc++/impl/thd_cxx11.h", + "include/grpc++/impl/thd_no_cxx11.h", + "include/grpc++/security/auth_context.h", + "include/grpc++/security/auth_metadata_processor.h", + "include/grpc++/security/credentials.h", + "include/grpc++/security/server_credentials.h", + "include/grpc++/server.h", + "include/grpc++/server_builder.h", + "include/grpc++/server_context.h", + "include/grpc++/support/async_stream.h", + "include/grpc++/support/async_unary_call.h", + "include/grpc++/support/byte_buffer.h", + "include/grpc++/support/channel_arguments.h", + "include/grpc++/support/slice.h", + "include/grpc++/support/status.h", + "include/grpc++/support/status_code_enum.h", + "include/grpc++/support/string_ref.h", + "include/grpc++/support/stub_options.h", + "include/grpc++/support/sync_stream.h", + "include/grpc++/support/time.h", + "src/cpp/client/create_channel_internal.h", + "src/cpp/common/core_codegen.h", + "src/cpp/common/create_auth_context.h", + "src/cpp/server/dynamic_thread_pool.h", + "src/cpp/server/thread_pool_interface.h" ], - "headers": [], - "language": "c++", - "name": "boringssl_x25519_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [ - "boringssl", - "boringssl_test_util" + "language": "c", + "name": "grpc++_base", + "src": [ + "include/grpc++/alarm.h", + "include/grpc++/channel.h", + "include/grpc++/client_context.h", + "include/grpc++/completion_queue.h", + "include/grpc++/create_channel.h", + "include/grpc++/generic/async_generic_service.h", + "include/grpc++/generic/generic_stub.h", + "include/grpc++/grpc++.h", + "include/grpc++/impl/call.h", + "include/grpc++/impl/client_unary_call.h", + "include/grpc++/impl/grpc_library.h", + "include/grpc++/impl/method_handler_impl.h", + "include/grpc++/impl/proto_utils.h", + "include/grpc++/impl/rpc_method.h", + "include/grpc++/impl/rpc_service_method.h", + "include/grpc++/impl/serialization_traits.h", + "include/grpc++/impl/server_builder_option.h", + "include/grpc++/impl/service_type.h", + "include/grpc++/impl/sync.h", + "include/grpc++/impl/sync_cxx11.h", + "include/grpc++/impl/sync_no_cxx11.h", + "include/grpc++/impl/thd.h", + "include/grpc++/impl/thd_cxx11.h", + "include/grpc++/impl/thd_no_cxx11.h", + "include/grpc++/security/auth_context.h", + "include/grpc++/security/auth_metadata_processor.h", + "include/grpc++/security/credentials.h", + "include/grpc++/security/server_credentials.h", + "include/grpc++/server.h", + "include/grpc++/server_builder.h", + "include/grpc++/server_context.h", + "include/grpc++/support/async_stream.h", + "include/grpc++/support/async_unary_call.h", + "include/grpc++/support/byte_buffer.h", + "include/grpc++/support/channel_arguments.h", + "include/grpc++/support/slice.h", + "include/grpc++/support/status.h", + "include/grpc++/support/status_code_enum.h", + "include/grpc++/support/string_ref.h", + "include/grpc++/support/stub_options.h", + "include/grpc++/support/sync_stream.h", + "include/grpc++/support/time.h", + "src/cpp/client/channel.cc", + "src/cpp/client/client_context.cc", + "src/cpp/client/create_channel.cc", + "src/cpp/client/create_channel_internal.cc", + "src/cpp/client/create_channel_internal.h", + "src/cpp/client/credentials.cc", + "src/cpp/client/generic_stub.cc", + "src/cpp/client/insecure_credentials.cc", + "src/cpp/common/channel_arguments.cc", + "src/cpp/common/completion_queue.cc", + "src/cpp/common/core_codegen.cc", + "src/cpp/common/core_codegen.h", + "src/cpp/common/create_auth_context.h", + "src/cpp/common/rpc_method.cc", + "src/cpp/server/async_generic_service.cc", + "src/cpp/server/create_default_thread_pool.cc", + "src/cpp/server/dynamic_thread_pool.cc", + "src/cpp/server/dynamic_thread_pool.h", + "src/cpp/server/insecure_server_credentials.cc", + "src/cpp/server/server.cc", + "src/cpp/server/server_builder.cc", + "src/cpp/server/server_context.cc", + "src/cpp/server/server_credentials.cc", + "src/cpp/server/thread_pool_interface.h", + "src/cpp/util/byte_buffer.cc", + "src/cpp/util/slice.cc", + "src/cpp/util/status.cc", + "src/cpp/util/string_ref.cc", + "src/cpp/util/time.cc" ], - "headers": [], - "language": "c++", - "name": "boringssl_dh_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "grpc++_config_codegen", + "grpc_codegen" ], - "headers": [], - "language": "c++", - "name": "boringssl_digest_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [ - "boringssl", - "boringssl_test_util" + "headers": [ + "include/grpc++/impl/codegen/async_stream.h", + "include/grpc++/impl/codegen/async_unary_call.h", + "include/grpc++/impl/codegen/call.h", + "include/grpc++/impl/codegen/call_hook.h", + "include/grpc++/impl/codegen/channel_interface.h", + "include/grpc++/impl/codegen/client_context.h", + "include/grpc++/impl/codegen/client_unary_call.h", + "include/grpc++/impl/codegen/completion_queue.h", + "include/grpc++/impl/codegen/completion_queue_tag.h", + "include/grpc++/impl/codegen/core_codegen_interface.h", + "include/grpc++/impl/codegen/grpc_library.h", + "include/grpc++/impl/codegen/method_handler_impl.h", + "include/grpc++/impl/codegen/proto_utils.h", + "include/grpc++/impl/codegen/rpc_method.h", + "include/grpc++/impl/codegen/rpc_service_method.h", + "include/grpc++/impl/codegen/security/auth_context.h", + "include/grpc++/impl/codegen/serialization_traits.h", + "include/grpc++/impl/codegen/server_context.h", + "include/grpc++/impl/codegen/server_interface.h", + "include/grpc++/impl/codegen/service_type.h", + "include/grpc++/impl/codegen/status.h", + "include/grpc++/impl/codegen/status_code_enum.h", + "include/grpc++/impl/codegen/string_ref.h", + "include/grpc++/impl/codegen/stub_options.h", + "include/grpc++/impl/codegen/sync.h", + "include/grpc++/impl/codegen/sync_cxx11.h", + "include/grpc++/impl/codegen/sync_no_cxx11.h", + "include/grpc++/impl/codegen/sync_stream.h", + "include/grpc++/impl/codegen/time.h" ], - "headers": [], "language": "c", - "name": "boringssl_dsa_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "name": "grpc++_codegen", + "src": [ + "include/grpc++/impl/codegen/async_stream.h", + "include/grpc++/impl/codegen/async_unary_call.h", + "include/grpc++/impl/codegen/call.h", + "include/grpc++/impl/codegen/call_hook.h", + "include/grpc++/impl/codegen/channel_interface.h", + "include/grpc++/impl/codegen/client_context.h", + "include/grpc++/impl/codegen/client_unary_call.h", + "include/grpc++/impl/codegen/completion_queue.h", + "include/grpc++/impl/codegen/completion_queue_tag.h", + "include/grpc++/impl/codegen/core_codegen_interface.h", + "include/grpc++/impl/codegen/grpc_library.h", + "include/grpc++/impl/codegen/method_handler_impl.h", + "include/grpc++/impl/codegen/proto_utils.h", + "include/grpc++/impl/codegen/rpc_method.h", + "include/grpc++/impl/codegen/rpc_service_method.h", + "include/grpc++/impl/codegen/security/auth_context.h", + "include/grpc++/impl/codegen/serialization_traits.h", + "include/grpc++/impl/codegen/server_context.h", + "include/grpc++/impl/codegen/server_interface.h", + "include/grpc++/impl/codegen/service_type.h", + "include/grpc++/impl/codegen/status.h", + "include/grpc++/impl/codegen/status_code_enum.h", + "include/grpc++/impl/codegen/string_ref.h", + "include/grpc++/impl/codegen/stub_options.h", + "include/grpc++/impl/codegen/sync.h", + "include/grpc++/impl/codegen/sync_cxx11.h", + "include/grpc++/impl/codegen/sync_no_cxx11.h", + "include/grpc++/impl/codegen/sync_stream.h", + "include/grpc++/impl/codegen/time.h", + "src/cpp/codegen/codegen_init.cc" + ], + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "grpc++_config_codegen" ], - "headers": [], - "language": "c++", - "name": "boringssl_ec_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "headers": [ + "include/grpc++/support/config.h", + "include/grpc++/support/config_protobuf.h" + ], + "language": "c", + "name": "grpc++_config", + "src": [ + "include/grpc++/support/config.h", + "include/grpc++/support/config_protobuf.h" + ], + "third_party": false, + "type": "filegroup" }, { - "deps": [ - "boringssl", - "boringssl_test_util" + "deps": [], + "headers": [ + "include/grpc++/impl/codegen/config.h", + "include/grpc++/impl/codegen/config_protobuf.h" ], - "headers": [], "language": "c", - "name": "boringssl_example_mul_lib", - "src": [], - "third_party": true, - "type": "lib" + "name": "grpc++_config_codegen", + "src": [ + "include/grpc++/impl/codegen/config.h", + "include/grpc++/impl/codegen/config_protobuf.h" + ], + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr", + "grpc_codegen" + ], + "headers": [ + "include/grpc/byte_buffer.h", + "include/grpc/byte_buffer_reader.h", + "include/grpc/compression.h", + "include/grpc/grpc.h", + "include/grpc/status.h", + "src/core/lib/channel/channel_args.h", + "src/core/lib/channel/channel_stack.h", + "src/core/lib/channel/channel_stack_builder.h", + "src/core/lib/channel/compress_filter.h", + "src/core/lib/channel/connected_channel.h", + "src/core/lib/channel/context.h", + "src/core/lib/channel/http_client_filter.h", + "src/core/lib/channel/http_server_filter.h", + "src/core/lib/compression/algorithm_metadata.h", + "src/core/lib/compression/message_compress.h", + "src/core/lib/debug/trace.h", + "src/core/lib/http/format_request.h", + "src/core/lib/http/httpcli.h", + "src/core/lib/http/parser.h", + "src/core/lib/iomgr/closure.h", + "src/core/lib/iomgr/endpoint.h", + "src/core/lib/iomgr/endpoint_pair.h", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.h", + "src/core/lib/iomgr/ev_posix.h", + "src/core/lib/iomgr/exec_ctx.h", + "src/core/lib/iomgr/executor.h", + "src/core/lib/iomgr/iocp_windows.h", + "src/core/lib/iomgr/iomgr.h", + "src/core/lib/iomgr/iomgr_internal.h", + "src/core/lib/iomgr/iomgr_posix.h", + "src/core/lib/iomgr/pollset.h", + "src/core/lib/iomgr/pollset_set.h", + "src/core/lib/iomgr/pollset_set_windows.h", + "src/core/lib/iomgr/pollset_windows.h", + "src/core/lib/iomgr/resolve_address.h", + "src/core/lib/iomgr/sockaddr.h", + "src/core/lib/iomgr/sockaddr_posix.h", + "src/core/lib/iomgr/sockaddr_utils.h", + "src/core/lib/iomgr/sockaddr_win32.h", + "src/core/lib/iomgr/socket_utils_posix.h", + "src/core/lib/iomgr/socket_windows.h", + "src/core/lib/iomgr/tcp_client.h", + "src/core/lib/iomgr/tcp_posix.h", + "src/core/lib/iomgr/tcp_server.h", + "src/core/lib/iomgr/tcp_windows.h", + "src/core/lib/iomgr/time_averaged_stats.h", + "src/core/lib/iomgr/timer.h", + "src/core/lib/iomgr/timer_heap.h", + "src/core/lib/iomgr/udp_server.h", + "src/core/lib/iomgr/unix_sockets_posix.h", + "src/core/lib/iomgr/wakeup_fd_pipe.h", + "src/core/lib/iomgr/wakeup_fd_posix.h", + "src/core/lib/iomgr/workqueue.h", + "src/core/lib/iomgr/workqueue_posix.h", + "src/core/lib/iomgr/workqueue_windows.h", + "src/core/lib/json/json.h", + "src/core/lib/json/json_common.h", + "src/core/lib/json/json_reader.h", + "src/core/lib/json/json_writer.h", + "src/core/lib/surface/api_trace.h", + "src/core/lib/surface/call.h", + "src/core/lib/surface/call_test_only.h", + "src/core/lib/surface/channel.h", + "src/core/lib/surface/channel_init.h", + "src/core/lib/surface/channel_stack_type.h", + "src/core/lib/surface/completion_queue.h", + "src/core/lib/surface/event_string.h", + "src/core/lib/surface/init.h", + "src/core/lib/surface/lame_client.h", + "src/core/lib/surface/server.h", + "src/core/lib/surface/surface_trace.h", + "src/core/lib/transport/byte_stream.h", + "src/core/lib/transport/connectivity_state.h", + "src/core/lib/transport/metadata.h", + "src/core/lib/transport/metadata_batch.h", + "src/core/lib/transport/static_metadata.h", + "src/core/lib/transport/transport.h", + "src/core/lib/transport/transport_impl.h" + ], + "language": "c", + "name": "grpc_base", + "src": [ + "include/grpc/byte_buffer.h", + "include/grpc/byte_buffer_reader.h", + "include/grpc/compression.h", + "include/grpc/grpc.h", + "include/grpc/status.h", + "src/core/lib/channel/channel_args.c", + "src/core/lib/channel/channel_args.h", + "src/core/lib/channel/channel_stack.c", + "src/core/lib/channel/channel_stack.h", + "src/core/lib/channel/channel_stack_builder.c", + "src/core/lib/channel/channel_stack_builder.h", + "src/core/lib/channel/compress_filter.c", + "src/core/lib/channel/compress_filter.h", + "src/core/lib/channel/connected_channel.c", + "src/core/lib/channel/connected_channel.h", + "src/core/lib/channel/context.h", + "src/core/lib/channel/http_client_filter.c", + "src/core/lib/channel/http_client_filter.h", + "src/core/lib/channel/http_server_filter.c", + "src/core/lib/channel/http_server_filter.h", + "src/core/lib/compression/algorithm_metadata.h", + "src/core/lib/compression/compression_algorithm.c", + "src/core/lib/compression/message_compress.c", + "src/core/lib/compression/message_compress.h", + "src/core/lib/debug/trace.c", + "src/core/lib/debug/trace.h", + "src/core/lib/http/format_request.c", + "src/core/lib/http/format_request.h", + "src/core/lib/http/httpcli.c", + "src/core/lib/http/httpcli.h", + "src/core/lib/http/parser.c", + "src/core/lib/http/parser.h", + "src/core/lib/iomgr/closure.c", + "src/core/lib/iomgr/closure.h", + "src/core/lib/iomgr/endpoint.c", + "src/core/lib/iomgr/endpoint.h", + "src/core/lib/iomgr/endpoint_pair.h", + "src/core/lib/iomgr/endpoint_pair_posix.c", + "src/core/lib/iomgr/endpoint_pair_windows.c", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.c", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.h", + "src/core/lib/iomgr/ev_posix.c", + "src/core/lib/iomgr/ev_posix.h", + "src/core/lib/iomgr/exec_ctx.c", + "src/core/lib/iomgr/exec_ctx.h", + "src/core/lib/iomgr/executor.c", + "src/core/lib/iomgr/executor.h", + "src/core/lib/iomgr/iocp_windows.c", + "src/core/lib/iomgr/iocp_windows.h", + "src/core/lib/iomgr/iomgr.c", + "src/core/lib/iomgr/iomgr.h", + "src/core/lib/iomgr/iomgr_internal.h", + "src/core/lib/iomgr/iomgr_posix.c", + "src/core/lib/iomgr/iomgr_posix.h", + "src/core/lib/iomgr/iomgr_windows.c", + "src/core/lib/iomgr/pollset.h", + "src/core/lib/iomgr/pollset_set.h", + "src/core/lib/iomgr/pollset_set_windows.c", + "src/core/lib/iomgr/pollset_set_windows.h", + "src/core/lib/iomgr/pollset_windows.c", + "src/core/lib/iomgr/pollset_windows.h", + "src/core/lib/iomgr/resolve_address.h", + "src/core/lib/iomgr/resolve_address_posix.c", + "src/core/lib/iomgr/resolve_address_windows.c", + "src/core/lib/iomgr/sockaddr.h", + "src/core/lib/iomgr/sockaddr_posix.h", + "src/core/lib/iomgr/sockaddr_utils.c", + "src/core/lib/iomgr/sockaddr_utils.h", + "src/core/lib/iomgr/sockaddr_win32.h", + "src/core/lib/iomgr/socket_utils_common_posix.c", + "src/core/lib/iomgr/socket_utils_linux.c", + "src/core/lib/iomgr/socket_utils_posix.c", + "src/core/lib/iomgr/socket_utils_posix.h", + "src/core/lib/iomgr/socket_windows.c", + "src/core/lib/iomgr/socket_windows.h", + "src/core/lib/iomgr/tcp_client.h", + "src/core/lib/iomgr/tcp_client_posix.c", + "src/core/lib/iomgr/tcp_client_windows.c", + "src/core/lib/iomgr/tcp_posix.c", + "src/core/lib/iomgr/tcp_posix.h", + "src/core/lib/iomgr/tcp_server.h", + "src/core/lib/iomgr/tcp_server_posix.c", + "src/core/lib/iomgr/tcp_server_windows.c", + "src/core/lib/iomgr/tcp_windows.c", + "src/core/lib/iomgr/tcp_windows.h", + "src/core/lib/iomgr/time_averaged_stats.c", + "src/core/lib/iomgr/time_averaged_stats.h", + "src/core/lib/iomgr/timer.c", + "src/core/lib/iomgr/timer.h", + "src/core/lib/iomgr/timer_heap.c", + "src/core/lib/iomgr/timer_heap.h", + "src/core/lib/iomgr/udp_server.c", + "src/core/lib/iomgr/udp_server.h", + "src/core/lib/iomgr/unix_sockets_posix.c", + "src/core/lib/iomgr/unix_sockets_posix.h", + "src/core/lib/iomgr/unix_sockets_posix_noop.c", + "src/core/lib/iomgr/wakeup_fd_eventfd.c", + "src/core/lib/iomgr/wakeup_fd_nospecial.c", + "src/core/lib/iomgr/wakeup_fd_pipe.c", + "src/core/lib/iomgr/wakeup_fd_pipe.h", + "src/core/lib/iomgr/wakeup_fd_posix.c", + "src/core/lib/iomgr/wakeup_fd_posix.h", + "src/core/lib/iomgr/workqueue.h", + "src/core/lib/iomgr/workqueue_posix.c", + "src/core/lib/iomgr/workqueue_posix.h", + "src/core/lib/iomgr/workqueue_windows.c", + "src/core/lib/iomgr/workqueue_windows.h", + "src/core/lib/json/json.c", + "src/core/lib/json/json.h", + "src/core/lib/json/json_common.h", + "src/core/lib/json/json_reader.c", + "src/core/lib/json/json_reader.h", + "src/core/lib/json/json_string.c", + "src/core/lib/json/json_writer.c", + "src/core/lib/json/json_writer.h", + "src/core/lib/surface/alarm.c", + "src/core/lib/surface/api_trace.c", + "src/core/lib/surface/api_trace.h", + "src/core/lib/surface/byte_buffer.c", + "src/core/lib/surface/byte_buffer_reader.c", + "src/core/lib/surface/call.c", + "src/core/lib/surface/call.h", + "src/core/lib/surface/call_details.c", + "src/core/lib/surface/call_log_batch.c", + "src/core/lib/surface/call_test_only.h", + "src/core/lib/surface/channel.c", + "src/core/lib/surface/channel.h", + "src/core/lib/surface/channel_init.c", + "src/core/lib/surface/channel_init.h", + "src/core/lib/surface/channel_ping.c", + "src/core/lib/surface/channel_stack_type.c", + "src/core/lib/surface/channel_stack_type.h", + "src/core/lib/surface/completion_queue.c", + "src/core/lib/surface/completion_queue.h", + "src/core/lib/surface/event_string.c", + "src/core/lib/surface/event_string.h", + "src/core/lib/surface/init.c", + "src/core/lib/surface/init.h", + "src/core/lib/surface/lame_client.c", + "src/core/lib/surface/lame_client.h", + "src/core/lib/surface/metadata_array.c", + "src/core/lib/surface/server.c", + "src/core/lib/surface/server.h", + "src/core/lib/surface/surface_trace.h", + "src/core/lib/surface/validate_metadata.c", + "src/core/lib/surface/version.c", + "src/core/lib/transport/byte_stream.c", + "src/core/lib/transport/byte_stream.h", + "src/core/lib/transport/connectivity_state.c", + "src/core/lib/transport/connectivity_state.h", + "src/core/lib/transport/metadata.c", + "src/core/lib/transport/metadata.h", + "src/core/lib/transport/metadata_batch.c", + "src/core/lib/transport/metadata_batch.h", + "src/core/lib/transport/static_metadata.c", + "src/core/lib/transport/static_metadata.h", + "src/core/lib/transport/transport.c", + "src/core/lib/transport/transport.h", + "src/core/lib/transport/transport_impl.h", + "src/core/lib/transport/transport_op_string.c" ], - "headers": [], - "language": "c++", - "name": "boringssl_ecdsa_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr", + "grpc_base" ], - "headers": [], - "language": "c++", - "name": "boringssl_err_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [ - "boringssl", - "boringssl_test_util" + "headers": [ + "src/core/ext/client_config/client_channel.h", + "src/core/ext/client_config/client_channel_factory.h", + "src/core/ext/client_config/client_config.h", + "src/core/ext/client_config/connector.h", + "src/core/ext/client_config/initial_connect_string.h", + "src/core/ext/client_config/lb_policy.h", + "src/core/ext/client_config/lb_policy_factory.h", + "src/core/ext/client_config/lb_policy_registry.h", + "src/core/ext/client_config/resolver.h", + "src/core/ext/client_config/resolver_factory.h", + "src/core/ext/client_config/resolver_registry.h", + "src/core/ext/client_config/subchannel.h", + "src/core/ext/client_config/subchannel_call_holder.h", + "src/core/ext/client_config/subchannel_index.h", + "src/core/ext/client_config/uri_parser.h" + ], + "language": "c", + "name": "grpc_client_config", + "src": [ + "src/core/ext/client_config/channel_connectivity.c", + "src/core/ext/client_config/client_channel.c", + "src/core/ext/client_config/client_channel.h", + "src/core/ext/client_config/client_channel_factory.c", + "src/core/ext/client_config/client_channel_factory.h", + "src/core/ext/client_config/client_config.c", + "src/core/ext/client_config/client_config.h", + "src/core/ext/client_config/client_config_plugin.c", + "src/core/ext/client_config/connector.c", + "src/core/ext/client_config/connector.h", + "src/core/ext/client_config/default_initial_connect_string.c", + "src/core/ext/client_config/initial_connect_string.c", + "src/core/ext/client_config/initial_connect_string.h", + "src/core/ext/client_config/lb_policy.c", + "src/core/ext/client_config/lb_policy.h", + "src/core/ext/client_config/lb_policy_factory.c", + "src/core/ext/client_config/lb_policy_factory.h", + "src/core/ext/client_config/lb_policy_registry.c", + "src/core/ext/client_config/lb_policy_registry.h", + "src/core/ext/client_config/resolver.c", + "src/core/ext/client_config/resolver.h", + "src/core/ext/client_config/resolver_factory.c", + "src/core/ext/client_config/resolver_factory.h", + "src/core/ext/client_config/resolver_registry.c", + "src/core/ext/client_config/resolver_registry.h", + "src/core/ext/client_config/subchannel.c", + "src/core/ext/client_config/subchannel.h", + "src/core/ext/client_config/subchannel_call_holder.c", + "src/core/ext/client_config/subchannel_call_holder.h", + "src/core/ext/client_config/subchannel_index.c", + "src/core/ext/client_config/subchannel_index.h", + "src/core/ext/client_config/uri_parser.c", + "src/core/ext/client_config/uri_parser.h" + ], + "third_party": false, + "type": "filegroup" + }, + { + "deps": [ + "gpr_codegen" ], - "headers": [], - "language": "c++", - "name": "boringssl_evp_extra_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [ - "boringssl", - "boringssl_test_util" + "headers": [ + "include/grpc/impl/codegen/byte_buffer.h", + "include/grpc/impl/codegen/compression_types.h", + "include/grpc/impl/codegen/connectivity_state.h", + "include/grpc/impl/codegen/grpc_types.h", + "include/grpc/impl/codegen/propagation_bits.h", + "include/grpc/impl/codegen/status.h" ], - "headers": [], - "language": "c++", - "name": "boringssl_evp_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [ - "boringssl", - "boringssl_test_util" + "language": "c", + "name": "grpc_codegen", + "src": [ + "include/grpc/impl/codegen/byte_buffer.h", + "include/grpc/impl/codegen/compression_types.h", + "include/grpc/impl/codegen/connectivity_state.h", + "include/grpc/impl/codegen/grpc_types.h", + "include/grpc/impl/codegen/propagation_bits.h", + "include/grpc/impl/codegen/status.h" ], - "headers": [], - "language": "c++", - "name": "boringssl_pbkdf_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr", + "grpc_base", + "grpc_client_config", + "nanopb" + ], + "headers": [ + "src/core/ext/lb_policy/grpclb/load_balancer_api.h", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h" ], - "headers": [], "language": "c", - "name": "boringssl_hkdf_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [ - "boringssl", - "boringssl_test_util" + "name": "grpc_lb_policy_grpclb", + "src": [ + "src/core/ext/lb_policy/grpclb/load_balancer_api.c", + "src/core/ext/lb_policy/grpclb/load_balancer_api.h", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.h" ], - "headers": [], - "language": "c++", - "name": "boringssl_hmac_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr", + "grpc_base", + "grpc_client_config" ], "headers": [], "language": "c", - "name": "boringssl_lhash_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "name": "grpc_lb_policy_pick_first", + "src": [ + "src/core/ext/lb_policy/pick_first/pick_first.c" + ], + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr", + "grpc_base", + "grpc_client_config" ], "headers": [], "language": "c", - "name": "boringssl_gcm_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [ - "boringssl", - "boringssl_test_util" + "name": "grpc_lb_policy_round_robin", + "src": [ + "src/core/ext/lb_policy/round_robin/round_robin.c" ], - "headers": [], - "language": "c++", - "name": "boringssl_pkcs12_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr", + "grpc_base", + "grpc_client_config" ], "headers": [], - "language": "c++", - "name": "boringssl_pkcs8_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [ - "boringssl", - "boringssl_test_util" + "language": "c", + "name": "grpc_resolver_dns_native", + "src": [ + "src/core/ext/resolver/dns/native/dns_resolver.c" ], - "headers": [], - "language": "c++", - "name": "boringssl_poly1305_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr", + "grpc_base", + "grpc_client_config" ], "headers": [], "language": "c", - "name": "boringssl_refcount_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [ - "boringssl", - "boringssl_test_util" + "name": "grpc_resolver_sockaddr", + "src": [ + "src/core/ext/resolver/sockaddr/sockaddr_resolver.c" ], - "headers": [], - "language": "c++", - "name": "boringssl_rsa_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr", + "grpc_base", + "grpc_transport_chttp2_alpn" + ], + "headers": [ + "include/grpc/grpc_security.h", + "src/core/lib/security/auth_filters.h", + "src/core/lib/security/b64.h", + "src/core/lib/security/credentials.h", + "src/core/lib/security/handshake.h", + "src/core/lib/security/json_token.h", + "src/core/lib/security/jwt_verifier.h", + "src/core/lib/security/secure_endpoint.h", + "src/core/lib/security/security_connector.h", + "src/core/lib/security/security_context.h", + "src/core/lib/tsi/fake_transport_security.h", + "src/core/lib/tsi/ssl_transport_security.h", + "src/core/lib/tsi/ssl_types.h", + "src/core/lib/tsi/transport_security.h", + "src/core/lib/tsi/transport_security_interface.h" ], - "headers": [], "language": "c", - "name": "boringssl_thread_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "name": "grpc_secure", + "src": [ + "include/grpc/grpc_security.h", + "src/core/lib/http/httpcli_security_connector.c", + "src/core/lib/security/auth_filters.h", + "src/core/lib/security/b64.c", + "src/core/lib/security/b64.h", + "src/core/lib/security/client_auth_filter.c", + "src/core/lib/security/credentials.c", + "src/core/lib/security/credentials.h", + "src/core/lib/security/credentials_metadata.c", + "src/core/lib/security/credentials_posix.c", + "src/core/lib/security/credentials_win32.c", + "src/core/lib/security/google_default_credentials.c", + "src/core/lib/security/handshake.c", + "src/core/lib/security/handshake.h", + "src/core/lib/security/json_token.c", + "src/core/lib/security/json_token.h", + "src/core/lib/security/jwt_verifier.c", + "src/core/lib/security/jwt_verifier.h", + "src/core/lib/security/secure_endpoint.c", + "src/core/lib/security/secure_endpoint.h", + "src/core/lib/security/security_connector.c", + "src/core/lib/security/security_connector.h", + "src/core/lib/security/security_context.c", + "src/core/lib/security/security_context.h", + "src/core/lib/security/server_auth_filter.c", + "src/core/lib/surface/init_secure.c", + "src/core/lib/tsi/fake_transport_security.c", + "src/core/lib/tsi/fake_transport_security.h", + "src/core/lib/tsi/ssl_transport_security.c", + "src/core/lib/tsi/ssl_transport_security.h", + "src/core/lib/tsi/ssl_types.h", + "src/core/lib/tsi/transport_security.c", + "src/core/lib/tsi/transport_security.h", + "src/core/lib/tsi/transport_security_interface.h" + ], + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr_test_util", + "grpc" + ], + "headers": [ + "test/core/end2end/cq_verifier.h", + "test/core/end2end/fixtures/proxy.h", + "test/core/iomgr/endpoint_tests.h", + "test/core/util/grpc_profiler.h", + "test/core/util/mock_endpoint.h", + "test/core/util/parse_hexstring.h", + "test/core/util/port.h", + "test/core/util/port_server_client.h", + "test/core/util/slice_splitter.h" ], - "headers": [], "language": "c", - "name": "boringssl_pkcs7_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [ - "boringssl", - "boringssl_test_util" + "name": "grpc_test_util_base", + "src": [ + "test/core/end2end/cq_verifier.c", + "test/core/end2end/cq_verifier.h", + "test/core/end2end/fixtures/proxy.c", + "test/core/end2end/fixtures/proxy.h", + "test/core/iomgr/endpoint_tests.c", + "test/core/iomgr/endpoint_tests.h", + "test/core/util/grpc_profiler.c", + "test/core/util/grpc_profiler.h", + "test/core/util/mock_endpoint.c", + "test/core/util/mock_endpoint.h", + "test/core/util/parse_hexstring.c", + "test/core/util/parse_hexstring.h", + "test/core/util/port.h", + "test/core/util/port_posix.c", + "test/core/util/port_server_client.c", + "test/core/util/port_server_client.h", + "test/core/util/port_windows.c", + "test/core/util/slice_splitter.c", + "test/core/util/slice_splitter.h" ], - "headers": [], - "language": "c", - "name": "boringssl_tab_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr", + "grpc_base", + "grpc_transport_chttp2_alpn" ], - "headers": [], - "language": "c", - "name": "boringssl_v3name_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [ - "boringssl", - "boringssl_test_util" + "headers": [ + "src/core/ext/transport/chttp2/transport/bin_encoder.h", + "src/core/ext/transport/chttp2/transport/chttp2_transport.h", + "src/core/ext/transport/chttp2/transport/frame.h", + "src/core/ext/transport/chttp2/transport/frame_data.h", + "src/core/ext/transport/chttp2/transport/frame_goaway.h", + "src/core/ext/transport/chttp2/transport/frame_ping.h", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", + "src/core/ext/transport/chttp2/transport/frame_settings.h", + "src/core/ext/transport/chttp2/transport/frame_window_update.h", + "src/core/ext/transport/chttp2/transport/hpack_encoder.h", + "src/core/ext/transport/chttp2/transport/hpack_parser.h", + "src/core/ext/transport/chttp2/transport/hpack_table.h", + "src/core/ext/transport/chttp2/transport/http2_errors.h", + "src/core/ext/transport/chttp2/transport/huffsyms.h", + "src/core/ext/transport/chttp2/transport/incoming_metadata.h", + "src/core/ext/transport/chttp2/transport/internal.h", + "src/core/ext/transport/chttp2/transport/status_conversion.h", + "src/core/ext/transport/chttp2/transport/stream_map.h", + "src/core/ext/transport/chttp2/transport/timeout_encoding.h", + "src/core/ext/transport/chttp2/transport/varint.h" ], - "headers": [], "language": "c", - "name": "boringssl_pqueue_test_lib", - "src": [], - "third_party": true, - "type": "lib" + "name": "grpc_transport_chttp2", + "src": [ + "src/core/ext/transport/chttp2/transport/bin_encoder.c", + "src/core/ext/transport/chttp2/transport/bin_encoder.h", + "src/core/ext/transport/chttp2/transport/chttp2_plugin.c", + "src/core/ext/transport/chttp2/transport/chttp2_transport.c", + "src/core/ext/transport/chttp2/transport/chttp2_transport.h", + "src/core/ext/transport/chttp2/transport/frame.h", + "src/core/ext/transport/chttp2/transport/frame_data.c", + "src/core/ext/transport/chttp2/transport/frame_data.h", + "src/core/ext/transport/chttp2/transport/frame_goaway.c", + "src/core/ext/transport/chttp2/transport/frame_goaway.h", + "src/core/ext/transport/chttp2/transport/frame_ping.c", + "src/core/ext/transport/chttp2/transport/frame_ping.h", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", + "src/core/ext/transport/chttp2/transport/frame_settings.c", + "src/core/ext/transport/chttp2/transport/frame_settings.h", + "src/core/ext/transport/chttp2/transport/frame_window_update.c", + "src/core/ext/transport/chttp2/transport/frame_window_update.h", + "src/core/ext/transport/chttp2/transport/hpack_encoder.c", + "src/core/ext/transport/chttp2/transport/hpack_encoder.h", + "src/core/ext/transport/chttp2/transport/hpack_parser.c", + "src/core/ext/transport/chttp2/transport/hpack_parser.h", + "src/core/ext/transport/chttp2/transport/hpack_table.c", + "src/core/ext/transport/chttp2/transport/hpack_table.h", + "src/core/ext/transport/chttp2/transport/http2_errors.h", + "src/core/ext/transport/chttp2/transport/huffsyms.c", + "src/core/ext/transport/chttp2/transport/huffsyms.h", + "src/core/ext/transport/chttp2/transport/incoming_metadata.c", + "src/core/ext/transport/chttp2/transport/incoming_metadata.h", + "src/core/ext/transport/chttp2/transport/internal.h", + "src/core/ext/transport/chttp2/transport/parsing.c", + "src/core/ext/transport/chttp2/transport/status_conversion.c", + "src/core/ext/transport/chttp2/transport/status_conversion.h", + "src/core/ext/transport/chttp2/transport/stream_lists.c", + "src/core/ext/transport/chttp2/transport/stream_map.c", + "src/core/ext/transport/chttp2/transport/stream_map.h", + "src/core/ext/transport/chttp2/transport/timeout_encoding.c", + "src/core/ext/transport/chttp2/transport/timeout_encoding.h", + "src/core/ext/transport/chttp2/transport/varint.c", + "src/core/ext/transport/chttp2/transport/varint.h", + "src/core/ext/transport/chttp2/transport/writing.c" + ], + "third_party": false, + "type": "filegroup" }, { "deps": [ - "boringssl", - "boringssl_test_util" + "gpr" ], - "headers": [], - "language": "c++", - "name": "boringssl_ssl_test_lib", - "src": [], - "third_party": true, - "type": "lib" - }, - { - "deps": [], "headers": [ - "third_party/zlib/crc32.h", - "third_party/zlib/deflate.h", - "third_party/zlib/gzguts.h", - "third_party/zlib/inffast.h", - "third_party/zlib/inffixed.h", - "third_party/zlib/inflate.h", - "third_party/zlib/inftrees.h", - "third_party/zlib/trees.h", - "third_party/zlib/zconf.h", - "third_party/zlib/zlib.h", - "third_party/zlib/zutil.h" + "src/core/ext/transport/chttp2/alpn/alpn.h" ], "language": "c", - "name": "z", - "src": [], - "third_party": true, - "type": "lib" + "name": "grpc_transport_chttp2_alpn", + "src": [ + "src/core/ext/transport/chttp2/alpn/alpn.c", + "src/core/ext/transport/chttp2/alpn/alpn.h" + ], + "third_party": false, + "type": "filegroup" }, { "deps": [ "gpr", - "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" - ], - "headers": [ - "test/core/bad_client/bad_client.h" + "grpc_base", + "grpc_client_config", + "grpc_transport_chttp2" ], + "headers": [], "language": "c", - "name": "bad_client_test", + "name": "grpc_transport_chttp2_client_insecure", "src": [ - "test/core/bad_client/bad_client.c", - "test/core/bad_client/bad_client.h" + "src/core/ext/transport/chttp2/client/insecure/channel_create.c" ], "third_party": false, - "type": "lib" + "type": "filegroup" }, { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [ - "test/core/bad_ssl/server_common.h" + "grpc_base", + "grpc_client_config", + "grpc_secure", + "grpc_transport_chttp2" ], + "headers": [], "language": "c", - "name": "bad_ssl_test_server", + "name": "grpc_transport_chttp2_client_secure", "src": [ - "test/core/bad_ssl/server_common.c", - "test/core/bad_ssl/server_common.h" + "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c" ], "third_party": false, - "type": "lib" + "type": "filegroup" }, { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [ - "test/core/end2end/end2end_tests.h", - "test/core/end2end/tests/cancel_test_helpers.h" + "grpc_base", + "grpc_transport_chttp2" ], + "headers": [], "language": "c", - "name": "end2end_tests", + "name": "grpc_transport_chttp2_server_insecure", "src": [ - "test/core/end2end/end2end_tests.c", - "test/core/end2end/end2end_tests.h", - "test/core/end2end/tests/bad_hostname.c", - "test/core/end2end/tests/binary_metadata.c", - "test/core/end2end/tests/call_creds.c", - "test/core/end2end/tests/cancel_after_accept.c", - "test/core/end2end/tests/cancel_after_client_done.c", - "test/core/end2end/tests/cancel_after_invoke.c", - "test/core/end2end/tests/cancel_before_invoke.c", - "test/core/end2end/tests/cancel_in_a_vacuum.c", - "test/core/end2end/tests/cancel_test_helpers.h", - "test/core/end2end/tests/cancel_with_status.c", - "test/core/end2end/tests/compressed_payload.c", - "test/core/end2end/tests/connectivity.c", - "test/core/end2end/tests/default_host.c", - "test/core/end2end/tests/disappearing_server.c", - "test/core/end2end/tests/empty_batch.c", - "test/core/end2end/tests/graceful_server_shutdown.c", - "test/core/end2end/tests/high_initial_seqno.c", - "test/core/end2end/tests/hpack_size.c", - "test/core/end2end/tests/invoke_large_request.c", - "test/core/end2end/tests/large_metadata.c", - "test/core/end2end/tests/max_concurrent_streams.c", - "test/core/end2end/tests/max_message_length.c", - "test/core/end2end/tests/negative_deadline.c", - "test/core/end2end/tests/no_op.c", - "test/core/end2end/tests/payload.c", - "test/core/end2end/tests/ping.c", - "test/core/end2end/tests/ping_pong_streaming.c", - "test/core/end2end/tests/registered_call.c", - "test/core/end2end/tests/request_with_flags.c", - "test/core/end2end/tests/request_with_payload.c", - "test/core/end2end/tests/server_finishes_request.c", - "test/core/end2end/tests/shutdown_finishes_calls.c", - "test/core/end2end/tests/shutdown_finishes_tags.c", - "test/core/end2end/tests/simple_delayed_request.c", - "test/core/end2end/tests/simple_metadata.c", - "test/core/end2end/tests/simple_request.c", - "test/core/end2end/tests/trailing_metadata.c" + "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c" ], "third_party": false, - "type": "lib" + "type": "filegroup" }, { "deps": [ "gpr", - "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" - ], - "headers": [ - "test/core/end2end/end2end_tests.h", - "test/core/end2end/tests/cancel_test_helpers.h" + "grpc_base", + "grpc_secure", + "grpc_transport_chttp2" ], + "headers": [], "language": "c", - "name": "end2end_nosec_tests", + "name": "grpc_transport_chttp2_server_secure", "src": [ - "test/core/end2end/end2end_nosec_tests.c", - "test/core/end2end/end2end_tests.h", - "test/core/end2end/tests/bad_hostname.c", - "test/core/end2end/tests/binary_metadata.c", - "test/core/end2end/tests/cancel_after_accept.c", - "test/core/end2end/tests/cancel_after_client_done.c", - "test/core/end2end/tests/cancel_after_invoke.c", - "test/core/end2end/tests/cancel_before_invoke.c", - "test/core/end2end/tests/cancel_in_a_vacuum.c", - "test/core/end2end/tests/cancel_test_helpers.h", - "test/core/end2end/tests/cancel_with_status.c", - "test/core/end2end/tests/compressed_payload.c", - "test/core/end2end/tests/connectivity.c", - "test/core/end2end/tests/default_host.c", - "test/core/end2end/tests/disappearing_server.c", - "test/core/end2end/tests/empty_batch.c", - "test/core/end2end/tests/graceful_server_shutdown.c", - "test/core/end2end/tests/high_initial_seqno.c", - "test/core/end2end/tests/hpack_size.c", - "test/core/end2end/tests/invoke_large_request.c", - "test/core/end2end/tests/large_metadata.c", - "test/core/end2end/tests/max_concurrent_streams.c", - "test/core/end2end/tests/max_message_length.c", - "test/core/end2end/tests/negative_deadline.c", - "test/core/end2end/tests/no_op.c", - "test/core/end2end/tests/payload.c", - "test/core/end2end/tests/ping.c", - "test/core/end2end/tests/ping_pong_streaming.c", - "test/core/end2end/tests/registered_call.c", - "test/core/end2end/tests/request_with_flags.c", - "test/core/end2end/tests/request_with_payload.c", - "test/core/end2end/tests/server_finishes_request.c", - "test/core/end2end/tests/shutdown_finishes_calls.c", - "test/core/end2end/tests/shutdown_finishes_tags.c", - "test/core/end2end/tests/simple_delayed_request.c", - "test/core/end2end/tests/simple_metadata.c", - "test/core/end2end/tests/simple_request.c", - "test/core/end2end/tests/trailing_metadata.c" + "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c" ], "third_party": false, - "type": "lib" + "type": "filegroup" + }, + { + "deps": [], + "headers": [ + "third_party/nanopb/pb.h", + "third_party/nanopb/pb_common.h", + "third_party/nanopb/pb_decode.h", + "third_party/nanopb/pb_encode.h" + ], + "language": "c", + "name": "nanopb", + "src": [], + "third_party": false, + "type": "filegroup" } ] diff --git a/tools/run_tests/stress_test/README.md b/tools/run_tests/stress_test/README.md index 84f9719cb16cc5b6f1d78a3632d3a07a27f35883..cc82b875cddd3aabf6ee458c190bf7ea9972815d 100644 --- a/tools/run_tests/stress_test/README.md +++ b/tools/run_tests/stress_test/README.md @@ -63,8 +63,8 @@ The stress tests are launched by the following script (path is relative to GRPC root directory) : `tools/run_tests/stress_test/run_stress_tests_on_gke.py` -The script has several parameters and you can find out more details by using the `--help` flag. - - `<grpc_root_dir>$ tools/run_tests/stress_test/run_stress_tests_on_gke.py --help` +You can find out more details by using the `--help` flag. + - `<grpc_root_dir>$ tools/run_tests/stress_test/run_on_gke.py --help` > **Example** > ```bash diff --git a/tools/run_tests/stress_test/STRESS_CLIENT_SPEC.md b/tools/run_tests/stress_test/STRESS_CLIENT_SPEC.md index c4c9f145137d7dec8da74ffcad7e1a9460fd9d4b..62ca8aff2cd30e1239447b9ee7cf87217dd05478 100644 --- a/tools/run_tests/stress_test/STRESS_CLIENT_SPEC.md +++ b/tools/run_tests/stress_test/STRESS_CLIENT_SPEC.md @@ -6,20 +6,20 @@ This document specifies the features a stress test client should implement in or -------------- **1.** A stress test client should be able to repeatedly execute one or more of the existing 'interop test cases'. It may just be a wrapper around the existing interop test client. The exact command line arguments the client should support are listed in _Table 1_ below. -**2.** The stress test client must implement a metrics server defined by _[metrics.proto](https://github.com/grpc/grpc/blob/master/src/proto/grpc/testing/metrics.proto)_ and must expose _qps_ as a long-valued Gauge. The client can track the overall _qps_ in one Gauge or in multiple Gagues (for example: One per Channel or Stub). +**2.** The stress test client must implement a metrics server defined by _[metrics.proto](https://github.com/grpc/grpc/blob/master/src/proto/grpc/testing/metrics.proto)_ and must expose _qps_ as a long-valued Gauge. The client can track the overall _qps_ in one Gauge or in multiple Gauges (for example: One per Channel or Stub). The framework periodically queries the _qps_ by calling the `GetAllGauges()` method (the framework assumes that all the returned Gauges are _qps_ Gauges) and uses this to determine if the stress test client is running or crashed or stalled. > *Note:* In this context, the term _**qps**_ means _interop test cases per second_ (not _messages per second_ or _rpc calls per second_) **Table 1:** Command line arguments that should be supported by the stress test client. ->_**Note** The current C++ [stress client](https://github.com/grpc/grpc/blob/master/test/cpp/interop/stress_test.cc) supports more flags than those listed here but those flags will soon be deprecated_| +>_**Note** The current C++ [stress client](https://github.com/grpc/grpc/blob/master/test/cpp/interop/stress_test.cc) supports more flags than those listed here but those flags will soon be deprecated._ Parameter | Description ----------------------|--------------------------------- -`--server_address` | The stress client should accept a list of server addresses in the following format:<br> ```<name_1>:<port_1>,<name_2>:<port_2>..<name_N>:<port_N>``` <br> _Note:_ `<name>` can be either server name or IP address.<br><br>_Type:_ string <br>_default:_ ```localhost:8080``` <br>_Example:_ ``foo.foobar.com:8080,bar.foobar.com:8080`` <br><br> Currently, the stress test framework only passes one server address to the client. +`--server_addresses` | The stress client should accept a list of server addresses in the following format:<br> ```<name_1>:<port_1>,<name_2>:<port_2>..<name_N>:<port_N>``` <br> _Note:_ `<name>` can be either server name or IP address.<br><br>_Type:_ string <br>_default:_ ```localhost:8080``` <br>_Example:_ ``foo.foobar.com:8080,bar.foobar.com:8080`` <br><br> Currently, the stress test framework only passes one server address to the client. `--test_cases` | List of test cases along with the relative weights in the following format:<br> `<testcase_1:w_1>,<testcase_2:w_2>...<testcase_n:w_n>`. <br> The test cases names are the same as those currently used by the interop clients<br><br>_Type:_ string <br>_Example:_ `empty_unary:20,large_unary:10,empty_stream:70` <br>(The stress client would then make `empty_unary` calls 20% of the time, `large_unary` calls 10% of the time and `empty_stream` calls 70% of the time.) <br>_Note:_ The weights need not add up to 100. -`--test_duration-secs` | The test duration in seconds. A value of -1 means that the test should run forever until forcefully terminated. <br>_Type:_ int <br>_default:_ -1 +`--test_duration_secs` | The test duration in seconds. A value of -1 means that the test should run forever until forcefully terminated. <br>_Type:_ int <br>_default:_ -1 `--num_channels_per_server` | Number of channels (i.e connections) to each server. <br> _Type:_ int <br> _default:_ 1 <br><br> _Note:_ Unfortunately, the term `channel` is used differently in `grpc-java` and `C based grpc`. In this context, this really means "number of connections to the server" `--num_stubs_per_channel ` | Number of client stubs per each connection to server.<br>_Type:_ int <br>_default:_ 1 `--metrics_port` | The port at which the stress client exposes [QPS metrics](https://github.com/grpc/grpc/blob/master/src/proto/grpc/testing/metrics.proto). <br>_Type:_ int <br>_default:_ 8081 diff --git a/tools/run_tests/stress_test/configs/asan.json b/tools/run_tests/stress_test/configs/asan.json new file mode 100644 index 0000000000000000000000000000000000000000..768088d93dd0305aa9f2923a84128e4afdca768d --- /dev/null +++ b/tools/run_tests/stress_test/configs/asan.json @@ -0,0 +1,86 @@ +{ + "dockerImages": { + "grpc_stress_cxx_asan" : { + "buildScript": "tools/jenkins/build_interop_stress_image.sh", + "dockerFileDir": "grpc_interop_stress_cxx", + "buildType": "asan" + } + }, + + "clientTemplates": { + "baseTemplates": { + "default": { + "wrapperScriptPath": "/var/local/git/grpc/tools/gcp/stress_test/run_client.py", + "pollIntervalSecs": 60, + "clientArgs": { + "num_channels_per_server":5, + "num_stubs_per_channel":10, + "test_cases": "empty_unary:1,large_unary:1,client_streaming:1,server_streaming:1,empty_stream:1", + "metrics_port": 8081, + "metrics_collection_interval_secs":60 + }, + "metricsPort": 8081, + "metricsArgs": { + "metrics_server_address": "localhost:8081", + "total_only": "true" + } + } + }, + "templates": { + "cxx_client_asan": { + "baseTemplate": "default", + "stressClientCmd": ["/var/local/git/grpc/bins/asan/stress_test"], + "metricsClientCmd": ["/var/local/git/grpc/bins/asan/metrics_client"] + } + } + }, + + "serverTemplates": { + "baseTemplates":{ + "default": { + "wrapperScriptPath": "/var/local/git/grpc/tools/gcp/stress_test/run_server.py", + "serverPort": 8080, + "serverArgs": { + "port": 8080 + } + } + }, + "templates": { + "cxx_server_asan": { + "baseTemplate": "default", + "stressServerCmd": ["/var/local/git/grpc/bins/asan/interop_server"] + } + } + }, + + "testMatrix": { + "serverPodSpecs": { + "stress-server-asan": { + "serverTemplate": "cxx_server_asan", + "dockerImage": "grpc_stress_cxx_asan", + "numInstances": 1 + } + }, + + "clientPodSpecs": { + "stress-client-asan": { + "clientTemplate": "cxx_client_asan", + "dockerImage": "grpc_stress_cxx_asan", + "numInstances": 20, + "serverPodSpec": "stress-server-asan" + } + } + }, + + "globalSettings": { + "buildDockerImages": true, + "pollIntervalSecs": 60, + "testDurationSecs": 7200, + "kubernetesProxyPort": 8003, + "datasetIdNamePrefix": "stress_test_asan", + "summaryTableId": "summary", + "qpsTableId": "qps", + "podWarmupSecs": 60 + } +} + diff --git a/tools/run_tests/stress_test/configs/node-cxx.json b/tools/run_tests/stress_test/configs/node-cxx.json new file mode 100644 index 0000000000000000000000000000000000000000..c4245bf9df2101957776e61677e5a6f50df51810 --- /dev/null +++ b/tools/run_tests/stress_test/configs/node-cxx.json @@ -0,0 +1,97 @@ +{ + "dockerImages": { + "grpc_stress_cxx_opt" : { + "buildScript": "tools/jenkins/build_interop_stress_image.sh", + "dockerFileDir": "grpc_interop_stress_cxx", + "buildType": "opt" + }, + "grpc_stress_node": { + "buildScript": "tools/jenkins/build_interop_stress_image.sh", + "dockerFileDir": "grpc_interop_stress_node" + } + }, + + "clientTemplates": { + "baseTemplates": { + "default": { + "wrapperScriptPath": "/var/local/git/grpc/tools/gcp/stress_test/run_client.py", + "pollIntervalSecs": 60, + "clientArgs": { + "num_channels_per_server":5, + "num_stubs_per_channel":10, + "test_cases": "empty_unary:1,large_unary:1,client_streaming:1,server_streaming:1,empty_stream:1", + "metrics_port": 8081 + }, + "metricsPort": 8081, + "metricsArgs": { + "metrics_server_address": "localhost:8081", + "total_only": "true" + } + } + }, + "templates": { + "node_client": { + "baseTemplate": "default", + "stressClientCmd": [ + "/var/local/git/grpc/tools/gcp/stress_test/run_node.sh", + "node", + "/var/local/git/grpc/src/node/stress/stress_client.js" + ], + "metricsClientCmd": [ + "/var/local/git/grpc/tools/gcp/stress_test/run_node.sh", + "node", + "/var/local/git/grpc/src/node/stress/metrics_client.js" + ] + } + } + }, + + "serverTemplates": { + "baseTemplates":{ + "default": { + "wrapperScriptPath": "/var/local/git/grpc/tools/gcp/stress_test/run_server.py", + "serverPort": 8080, + "serverArgs": { + "port": 8080 + } + } + }, + "templates": { + "cxx_server_opt": { + "baseTemplate": "default", + "stressServerCmd": ["/var/local/git/grpc/bins/opt/interop_server"] + } + } + }, + + "testMatrix": { + "serverPodSpecs": { + "stress-server-cxx-opt": { + "serverTemplate": "cxx_server_opt", + "dockerImage": "grpc_stress_cxx_opt", + "numInstances": 1 + } + }, + + "clientPodSpecs": { + "stress-client-node": { + "clientTemplate": "node_client", + "dockerImage": "grpc_stress_node", + "numInstances": 20, + "serverPodSpec": "stress-server-cxx-opt" + } + } + }, + + "globalSettings": { + "buildDockerImages": true, + "pollIntervalSecs": 60, + "testDurationSecs": 7200, + "kubernetesProxyPort": 8006, + "datasetIdNamePrefix": "stress_test_node_cxx_opt", + "summaryTableId": "summary", + "qpsTableId": "qps", + "podWarmupSecs": 60 + } +} + diff --git a/tools/run_tests/stress_test/configs/node.json b/tools/run_tests/stress_test/configs/node.json new file mode 100644 index 0000000000000000000000000000000000000000..7a48c56a5e28ec2b0e09a6dd407a74e2db63e8cc --- /dev/null +++ b/tools/run_tests/stress_test/configs/node.json @@ -0,0 +1,96 @@ +{ + "dockerImages": { + "grpc_stress_node" : { + "buildScript": "tools/jenkins/build_interop_stress_image.sh", + "dockerFileDir": "grpc_interop_stress_node" + } + }, + + "clientTemplates": { + "baseTemplates": { + "default": { + "wrapperScriptPath": "/var/local/git/grpc/tools/gcp/stress_test/run_client.py", + "pollIntervalSecs": 60, + "clientArgs": { + "num_channels_per_server":5, + "num_stubs_per_channel":10, + "test_cases": "empty_unary:1,large_unary:1,client_streaming:1,server_streaming:1,empty_stream:1", + "metrics_port": 8081 + }, + "metricsPort": 8081, + "metricsArgs": { + "metrics_server_address": "localhost:8081", + "total_only": "true" + } + } + }, + "templates": { + "node_client": { + "baseTemplate": "default", + "stressClientCmd": [ + "/var/local/git/grpc/tools/gcp/stress_test/run_node.sh", + "node", + "/var/local/git/grpc/src/node/stress/stress_client.js" + ], + "metricsClientCmd": [ + "/var/local/git/grpc/tools/gcp/stress_test/run_node.sh", + "node", + "/var/local/git/grpc/src/node/stress/metrics_client.js" + ] + } + } + }, + + "serverTemplates": { + "baseTemplates":{ + "default": { + "wrapperScriptPath": "/var/local/git/grpc/tools/gcp/stress_test/run_server.py", + "serverPort": 8080, + "serverArgs": { + "port": 8080 + } + } + }, + "templates": { + "node_server": { + "baseTemplate": "default", + "stressServerCmd": [ + "/var/local/git/grpc/tools/gcp/stress_test/run_node.sh", + "node", + "/var/local/git/grpc/src/node/interop/interop_server.js" + ] + } + } + }, + + "testMatrix": { + "serverPodSpecs": { + "node-stress-server": { + "serverTemplate": "node_server", + "dockerImage": "grpc_stress_node", + "numInstances": 1 + } + }, + + "clientPodSpecs": { + "node-stress-client": { + "clientTemplate": "node_client", + "dockerImage": "grpc_stress_node", + "numInstances": 15, + "serverPodSpec": "node-stress-server" + } + } + }, + + "globalSettings": { + "buildDockerImages": true, + "pollIntervalSecs": 60, + "testDurationSecs": 7200, + "kubernetesProxyPort": 8005, + "datasetIdNamePrefix": "stress_test_node", + "summaryTableId": "summary", + "qpsTableId": "qps", + "podWarmupSecs": 60 + } +} + diff --git a/tools/run_tests/stress_test/configs/opt-tsan-asan.json b/tools/run_tests/stress_test/configs/opt-tsan-asan.json index 1dc2d3fe0866e72ca9ebba990d13c1fea227a209..4f172ef30bcb7ff8b7c2be063c716c4b0c48555b 100644 --- a/tools/run_tests/stress_test/configs/opt-tsan-asan.json +++ b/tools/run_tests/stress_test/configs/opt-tsan-asan.json @@ -27,7 +27,7 @@ "num_stubs_per_channel":10, "test_cases": "empty_unary:1,large_unary:1,client_streaming:1,server_streaming:1,empty_stream:1", "metrics_port": 8081, - "metrics_collection_interval_secs":60 + "metrics_collection_interval_secs": 60 }, "metricsPort": 8081, "metricsArgs": { @@ -39,18 +39,18 @@ "templates": { "cxx_client_opt": { "baseTemplate": "default", - "clientImagePath": "/var/local/git/grpc/bins/opt/stress_test", - "metricsClientImagePath": "/var/local/git/grpc/bins/opt/metrics_client" + "stressClientCmd": ["/var/local/git/grpc/bins/opt/stress_test"], + "metricsClientCmd": ["/var/local/git/grpc/bins/opt/metrics_client"] }, "cxx_client_tsan": { "baseTemplate": "default", - "clientImagePath": "/var/local/git/grpc/bins/tsan/stress_test", - "metricsClientImagePath": "/var/local/git/grpc/bins/tsan/metrics_client" + "stressClientCmd": ["/var/local/git/grpc/bins/tsan/stress_test"], + "metricsClientCmd": ["/var/local/git/grpc/bins/tsan/metrics_client"] }, "cxx_client_asan": { "baseTemplate": "default", - "clientImagePath": "/var/local/git/grpc/bins/asan/stress_test", - "metricsClientImagePath": "/var/local/git/grpc/bins/asan/metrics_client" + "stressClientCmd": ["/var/local/git/grpc/bins/asan/stress_test"], + "metricsClientCmd": ["/var/local/git/grpc/bins/asan/metrics_client"] } } }, @@ -68,15 +68,15 @@ "templates": { "cxx_server_opt": { "baseTemplate": "default", - "serverImagePath": "/var/local/git/grpc/bins/opt/interop_server" + "stressServerCmd": ["/var/local/git/grpc/bins/opt/interop_server"] }, "cxx_server_tsan": { "baseTemplate": "default", - "serverImagePath": "/var/local/git/grpc/bins/tsan/interop_server" + "stressServerCmd": ["/var/local/git/grpc/bins/tsan/interop_server"] }, "cxx_server_asan": { "baseTemplate": "default", - "serverImagePath": "/var/local/git/grpc/bins/asan/interop_server" + "stressServerCmd": ["/var/local/git/grpc/bins/asan/interop_server"] } } }, @@ -104,19 +104,19 @@ "stress-client-opt": { "clientTemplate": "cxx_client_opt", "dockerImage": "grpc_stress_cxx_opt", - "numInstances": 3, + "numInstances": 5, "serverPodSpec": "stress-server-opt" }, "stress-client-tsan": { "clientTemplate": "cxx_client_tsan", "dockerImage": "grpc_stress_cxx_tsan", - "numInstances": 3, + "numInstances": 10, "serverPodSpec": "stress-server-tsan" }, "stress-client-asan": { "clientTemplate": "cxx_client_asan", "dockerImage": "grpc_stress_cxx_asan", - "numInstances": 3, + "numInstances": 10, "serverPodSpec": "stress-server-asan" } } @@ -126,7 +126,7 @@ "buildDockerImages": true, "pollIntervalSecs": 60, "testDurationSecs": 7200, - "kubernetesProxyPort": 8001, + "kubernetesProxyPort": 8004, "datasetIdNamePrefix": "stress_test_opt_tsan", "summaryTableId": "summary", "qpsTableId": "qps", diff --git a/tools/run_tests/stress_test/configs/opt.json b/tools/run_tests/stress_test/configs/opt.json index 7fc024034b8245623c34189758b3169b127d8364..ffd4a704c344a006a369ef81f01429f1b6035c2d 100644 --- a/tools/run_tests/stress_test/configs/opt.json +++ b/tools/run_tests/stress_test/configs/opt.json @@ -17,7 +17,7 @@ "num_stubs_per_channel":10, "test_cases": "empty_unary:1,large_unary:1,client_streaming:1,server_streaming:1,empty_stream:1", "metrics_port": 8081, - "metrics_collection_interval_secs":60 + "metrics_collection_interval_secs": 60 }, "metricsPort": 8081, "metricsArgs": { @@ -29,8 +29,8 @@ "templates": { "cxx_client_opt": { "baseTemplate": "default", - "clientImagePath": "/var/local/git/grpc/bins/opt/stress_test", - "metricsClientImagePath": "/var/local/git/grpc/bins/opt/metrics_client" + "stressClientCmd": ["/var/local/git/grpc/bins/opt/stress_test"], + "metricsClientCmd": ["/var/local/git/grpc/bins/opt/metrics_client"] } } }, @@ -48,7 +48,7 @@ "templates": { "cxx_server_opt": { "baseTemplate": "default", - "serverImagePath": "/var/local/git/grpc/bins/opt/interop_server" + "stressServerCmd": ["/var/local/git/grpc/bins/opt/interop_server"] } } }, @@ -74,8 +74,8 @@ "globalSettings": { "buildDockerImages": true, - "pollIntervalSecs": 10, - "testDurationSecs": 120, + "pollIntervalSecs": 60, + "testDurationSecs": 7200, "kubernetesProxyPort": 8001, "datasetIdNamePrefix": "stress_test_opt", "summaryTableId": "summary", diff --git a/tools/run_tests/stress_test/configs/tsan.json b/tools/run_tests/stress_test/configs/tsan.json new file mode 100644 index 0000000000000000000000000000000000000000..f8d3f878e1635e5f51a4c48150a0978e57fe3c91 --- /dev/null +++ b/tools/run_tests/stress_test/configs/tsan.json @@ -0,0 +1,86 @@ +{ + "dockerImages": { + "grpc_stress_cxx_tsan" : { + "buildScript": "tools/jenkins/build_interop_stress_image.sh", + "dockerFileDir": "grpc_interop_stress_cxx", + "buildType": "tsan" + } + }, + + "clientTemplates": { + "baseTemplates": { + "default": { + "wrapperScriptPath": "/var/local/git/grpc/tools/gcp/stress_test/run_client.py", + "pollIntervalSecs": 60, + "clientArgs": { + "num_channels_per_server":5, + "num_stubs_per_channel":10, + "test_cases": "empty_unary:1,large_unary:1,client_streaming:1,server_streaming:1,empty_stream:1", + "metrics_port": 8081, + "metrics_collection_interval_secs":60 + }, + "metricsPort": 8081, + "metricsArgs": { + "metrics_server_address": "localhost:8081", + "total_only": "true" + } + } + }, + "templates": { + "cxx_client_tsan": { + "baseTemplate": "default", + "stressClientCmd": ["/var/local/git/grpc/bins/tsan/stress_test"], + "metricsClientCmd": ["/var/local/git/grpc/bins/tsan/metrics_client"] + } + } + }, + + "serverTemplates": { + "baseTemplates":{ + "default": { + "wrapperScriptPath": "/var/local/git/grpc/tools/gcp/stress_test/run_server.py", + "serverPort": 8080, + "serverArgs": { + "port": 8080 + } + } + }, + "templates": { + "cxx_server_tsan": { + "baseTemplate": "default", + "stressServerCmd": ["/var/local/git/grpc/bins/tsan/interop_server"] + } + } + }, + + "testMatrix": { + "serverPodSpecs": { + "stress-server-tsan": { + "serverTemplate": "cxx_server_tsan", + "dockerImage": "grpc_stress_cxx_tsan", + "numInstances": 1 + } + }, + + "clientPodSpecs": { + "stress-client-tsan": { + "clientTemplate": "cxx_client_tsan", + "dockerImage": "grpc_stress_cxx_tsan", + "numInstances": 20, + "serverPodSpec": "stress-server-tsan" + } + } + }, + + "globalSettings": { + "buildDockerImages": true, + "pollIntervalSecs": 60, + "testDurationSecs": 7200, + "kubernetesProxyPort": 8002, + "datasetIdNamePrefix": "stress_test_tsan", + "summaryTableId": "summary", + "qpsTableId": "qps", + "podWarmupSecs": 60 + } +} + diff --git a/tools/run_tests/stress_test/run_on_gke.py b/tools/run_tests/stress_test/run_on_gke.py index 3a81c1a37633d1dd94698cb91a7d24308efff7d7..db3ba28346d2203f84d6cbb3bd07d35546a6a521 100755 --- a/tools/run_tests/stress_test/run_on_gke.py +++ b/tools/run_tests/stress_test/run_on_gke.py @@ -67,12 +67,12 @@ class GlobalSettings: class ClientTemplate: """ Contains all the common settings that are used by a stress client """ - def __init__(self, name, client_image_path, metrics_client_image_path, - metrics_port, wrapper_script_path, poll_interval_secs, - client_args_dict, metrics_args_dict): + def __init__(self, name, stress_client_cmd, metrics_client_cmd, metrics_port, + wrapper_script_path, poll_interval_secs, client_args_dict, + metrics_args_dict): self.name = name - self.client_image_path = client_image_path - self.metrics_client_image_path = metrics_client_image_path + self.stress_client_cmd = stress_client_cmd + self.metrics_client_cmd = metrics_client_cmd self.metrics_port = metrics_port self.wrapper_script_path = wrapper_script_path self.poll_interval_secs = poll_interval_secs @@ -83,10 +83,10 @@ class ClientTemplate: class ServerTemplate: """ Contains all the common settings used by a stress server """ - def __init__(self, name, server_image_path, wrapper_script_path, server_port, + def __init__(self, name, server_cmd, wrapper_script_path, server_port, server_args_dict): self.name = name - self.server_image_path = server_image_path + self.server_cmd = server_cmd self.wrapper_script_path = wrapper_script_path self.server_port = server_port self.server_args_dict = server_args_dict @@ -240,7 +240,7 @@ class Gke: server_env = self.gke_env.copy() server_env.update({ 'STRESS_TEST_IMAGE_TYPE': 'SERVER', - 'STRESS_TEST_IMAGE': server_pod_spec.template.server_image_path, + 'STRESS_TEST_CMD': server_pod_spec.template.server_cmd, 'STRESS_TEST_ARGS_STR': self._args_dict_to_str( server_pod_spec.template.server_args_dict) }) @@ -282,11 +282,10 @@ class Gke: client_env = self.gke_env.copy() client_env.update({ 'STRESS_TEST_IMAGE_TYPE': 'CLIENT', - 'STRESS_TEST_IMAGE': client_pod_spec.template.client_image_path, + 'STRESS_TEST_CMD': client_pod_spec.template.stress_client_cmd, 'STRESS_TEST_ARGS_STR': self._args_dict_to_str( client_pod_spec.get_client_args_dict()), - 'METRICS_CLIENT_IMAGE': - client_pod_spec.template.metrics_client_image_path, + 'METRICS_CLIENT_CMD': client_pod_spec.template.metrics_client_cmd, 'METRICS_CLIENT_ARGS_STR': self._args_dict_to_str( client_pod_spec.template.metrics_args_dict), 'POLL_INTERVAL_SECS': str(client_pod_spec.template.poll_interval_secs) @@ -383,7 +382,7 @@ class Config: for image_name in docker_config_dict.keys(): build_script_path = docker_config_dict[image_name]['buildScript'] dockerfile_dir = docker_config_dict[image_name]['dockerFileDir'] - build_type = docker_config_dict[image_name]['buildType'] + build_type = docker_config_dict[image_name].get('buildType', 'opt') docker_images_dict[image_name] = DockerImage(gcp_project_id, image_name, build_script_path, dockerfile_dir, build_type) @@ -416,11 +415,13 @@ class Config: temp_dict.update(templates_dict[template_name]) # Create and add ClientTemplate object to the final client_templates_dict + stress_client_cmd = ' '.join(temp_dict['stressClientCmd']) + metrics_client_cmd = ' '.join(temp_dict['metricsClientCmd']) client_templates_dict[template_name] = ClientTemplate( - template_name, temp_dict['clientImagePath'], - temp_dict['metricsClientImagePath'], temp_dict['metricsPort'], - temp_dict['wrapperScriptPath'], temp_dict['pollIntervalSecs'], - temp_dict['clientArgs'].copy(), temp_dict['metricsArgs'].copy()) + template_name, stress_client_cmd, metrics_client_cmd, + temp_dict['metricsPort'], temp_dict['wrapperScriptPath'], + temp_dict['pollIntervalSecs'], temp_dict['clientArgs'].copy(), + temp_dict['metricsArgs'].copy()) return client_templates_dict @@ -452,10 +453,10 @@ class Config: temp_dict.update(templates_dict[template_name]) # Create and add ServerTemplate object to the final server_templates_dict + stress_server_cmd = ' '.join(temp_dict['stressServerCmd']) server_templates_dict[template_name] = ServerTemplate( - template_name, temp_dict['serverImagePath'], - temp_dict['wrapperScriptPath'], temp_dict['serverPort'], - temp_dict['serverArgs'].copy()) + template_name, stress_server_cmd, temp_dict['wrapperScriptPath'], + temp_dict['serverPort'], temp_dict['serverArgs'].copy()) return server_templates_dict @@ -529,6 +530,8 @@ def run_tests(config): # run id. This is useful in debugging when looking at records in Biq query) run_id = datetime.datetime.now().strftime('%Y_%m_%d_%H_%M_%S') dataset_id = '%s_%s' % (config.global_settings.dataset_id_prefix, run_id) + print 'Run id:', run_id + print 'Dataset id:', dataset_id bq_helper = BigQueryHelper(run_id, '', '', config.global_settings.gcp_project_id, dataset_id, @@ -633,4 +636,5 @@ if __name__ == '__main__': os.path.dirname(sys.argv[0]), '../../..')) os.chdir(grpc_root) - run_tests(config) + if not run_tests(config): + sys.exit(1) diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index 5f72b8c5828c50937359a3079a5479fb858a2221..d6e40fe97a51216ad4ea583b12975ed77a283c70 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -432,6 +432,25 @@ "posix" ] }, + { + "args": [], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "gtest": false, + "language": "c", + "name": "goaway_server_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, { "args": [], "ci_platforms": [ @@ -2589,6 +2608,27 @@ "windows" ] }, + { + "args": [], + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "gtest": false, + "language": "c", + "name": "head_of_line_blocking_bad_client_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, { "args": [], "ci_platforms": [ @@ -4583,6 +4623,28 @@ "posix" ] }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_census_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, { "args": [ "graceful_server_shutdown" @@ -4649,6 +4711,28 @@ "posix" ] }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_census_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, { "args": [ "invoke_large_request" @@ -5375,6 +5459,28 @@ "posix" ] }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_compress_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, { "args": [ "graceful_server_shutdown" @@ -5441,6 +5547,28 @@ "posix" ] }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_compress_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, { "args": [ "invoke_large_request" @@ -6153,6 +6281,27 @@ "posix" ] }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_fakesec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, { "args": [ "graceful_server_shutdown" @@ -6216,6 +6365,27 @@ "posix" ] }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_fakesec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, { "args": [ "invoke_large_request" @@ -6925,29 +7095,7 @@ }, { "args": [ - "graceful_server_shutdown" - ], - "ci_platforms": [ - "windows", - "linux", - "mac", - "posix" - ], - "cpu_cost": 0.1, - "exclude_configs": [], - "flaky": false, - "language": "c", - "name": "h2_full_test", - "platforms": [ - "windows", - "linux", - "mac", - "posix" - ] - }, - { - "args": [ - "high_initial_seqno" + "filter_causes_close" ], "ci_platforms": [ "windows", @@ -6969,7 +7117,7 @@ }, { "args": [ - "hpack_size" + "graceful_server_shutdown" ], "ci_platforms": [ "windows", @@ -6977,7 +7125,7 @@ "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6991,7 +7139,7 @@ }, { "args": [ - "invoke_large_request" + "high_initial_seqno" ], "ci_platforms": [ "windows", @@ -7013,7 +7161,7 @@ }, { "args": [ - "large_metadata" + "hpack_size" ], "ci_platforms": [ "windows", @@ -7035,7 +7183,7 @@ }, { "args": [ - "max_concurrent_streams" + "idempotent_request" ], "ci_platforms": [ "windows", @@ -7057,29 +7205,7 @@ }, { "args": [ - "max_message_length" - ], - "ci_platforms": [ - "windows", - "linux", - "mac", - "posix" - ], - "cpu_cost": 0.1, - "exclude_configs": [], - "flaky": false, - "language": "c", - "name": "h2_full_test", - "platforms": [ - "windows", - "linux", - "mac", - "posix" - ] - }, - { - "args": [ - "negative_deadline" + "invoke_large_request" ], "ci_platforms": [ "windows", @@ -7101,7 +7227,7 @@ }, { "args": [ - "no_op" + "large_metadata" ], "ci_platforms": [ "windows", @@ -7123,29 +7249,7 @@ }, { "args": [ - "payload" - ], - "ci_platforms": [ - "windows", - "linux", - "mac", - "posix" - ], - "cpu_cost": 0.1, - "exclude_configs": [], - "flaky": false, - "language": "c", - "name": "h2_full_test", - "platforms": [ - "windows", - "linux", - "mac", - "posix" - ] - }, - { - "args": [ - "ping" + "max_concurrent_streams" ], "ci_platforms": [ "windows", @@ -7167,7 +7271,7 @@ }, { "args": [ - "ping_pong_streaming" + "max_message_length" ], "ci_platforms": [ "windows", @@ -7175,7 +7279,7 @@ "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7189,7 +7293,7 @@ }, { "args": [ - "registered_call" + "negative_deadline" ], "ci_platforms": [ "windows", @@ -7211,7 +7315,7 @@ }, { "args": [ - "request_with_flags" + "no_op" ], "ci_platforms": [ "windows", @@ -7233,7 +7337,7 @@ }, { "args": [ - "request_with_payload" + "payload" ], "ci_platforms": [ "windows", @@ -7241,7 +7345,7 @@ "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7255,7 +7359,7 @@ }, { "args": [ - "server_finishes_request" + "ping" ], "ci_platforms": [ "windows", @@ -7277,7 +7381,117 @@ }, { "args": [ - "shutdown_finishes_calls" + "ping_pong_streaming" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "registered_call" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "request_with_flags" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "request_with_payload" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "server_finishes_request" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "shutdown_finishes_calls" ], "ci_platforms": [ "windows", @@ -7631,6 +7845,22 @@ "linux" ] }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "linux" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full+pipe_test", + "platforms": [ + "linux" + ] + }, { "args": [ "graceful_server_shutdown" @@ -7679,6 +7909,22 @@ "linux" ] }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "linux" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full+pipe_test", + "platforms": [ + "linux" + ] + }, { "args": [ "invoke_large_request" @@ -7988,15 +8234,21 @@ "bad_hostname" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8004,15 +8256,21 @@ "binary_metadata" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8020,15 +8278,21 @@ "call_creds" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8036,15 +8300,21 @@ "cancel_after_accept" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8052,15 +8322,21 @@ "cancel_after_client_done" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8068,15 +8344,21 @@ "cancel_after_invoke" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8084,15 +8366,21 @@ "cancel_before_invoke" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8100,15 +8388,21 @@ "cancel_in_a_vacuum" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8116,15 +8410,21 @@ "cancel_with_status" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8132,15 +8432,21 @@ "compressed_payload" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8148,15 +8454,21 @@ "connectivity" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8164,15 +8476,21 @@ "default_host" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8180,15 +8498,21 @@ "disappearing_server" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8196,15 +8520,43 @@ "empty_batch" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full+trace_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8212,15 +8564,21 @@ "graceful_server_shutdown" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8228,31 +8586,43 @@ "high_initial_seqno" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { "args": [ - "hpack_size" + "idempotent_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8260,15 +8630,21 @@ "invoke_large_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8276,15 +8652,21 @@ "large_metadata" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8292,15 +8674,21 @@ "max_concurrent_streams" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8308,15 +8696,21 @@ "max_message_length" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8324,15 +8718,21 @@ "negative_deadline" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8340,15 +8740,21 @@ "no_op" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8356,15 +8762,21 @@ "payload" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8372,15 +8784,21 @@ "ping" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8388,15 +8806,21 @@ "ping_pong_streaming" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8404,15 +8828,21 @@ "registered_call" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8420,15 +8850,21 @@ "request_with_flags" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8436,15 +8872,21 @@ "request_with_payload" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8452,15 +8894,21 @@ "server_finishes_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8468,15 +8916,21 @@ "shutdown_finishes_calls" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8484,31 +8938,43 @@ "shutdown_finishes_tags" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" - ] - }, + "windows", + "linux", + "mac", + "posix" + ] + }, { "args": [ "simple_delayed_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8516,15 +8982,21 @@ "simple_metadata" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8532,15 +9004,21 @@ "simple_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8548,15 +9026,21 @@ "trailing_metadata" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_test", + "name": "h2_full+trace_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8564,15 +9048,20 @@ "bad_hostname" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8580,15 +9069,20 @@ "binary_metadata" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8596,15 +9090,20 @@ "call_creds" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8612,15 +9111,20 @@ "cancel_after_accept" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8628,15 +9132,20 @@ "cancel_after_client_done" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8644,15 +9153,20 @@ "cancel_after_invoke" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8660,15 +9174,20 @@ "cancel_before_invoke" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8676,15 +9195,20 @@ "cancel_in_a_vacuum" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8692,15 +9216,20 @@ "cancel_with_status" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8708,15 +9237,20 @@ "compressed_payload" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8724,15 +9258,20 @@ "connectivity" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8740,15 +9279,20 @@ "default_host" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8756,15 +9300,20 @@ "disappearing_server" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8772,15 +9321,41 @@ "empty_batch" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_oauth2_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8788,15 +9363,20 @@ "graceful_server_shutdown" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8804,15 +9384,20 @@ "high_initial_seqno" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8820,15 +9405,41 @@ "hpack_size" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_oauth2_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8836,15 +9447,20 @@ "invoke_large_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8852,15 +9468,20 @@ "large_metadata" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8868,15 +9489,20 @@ "max_concurrent_streams" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8884,15 +9510,20 @@ "max_message_length" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8900,15 +9531,20 @@ "negative_deadline" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8916,15 +9552,20 @@ "no_op" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8932,15 +9573,20 @@ "payload" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8948,15 +9594,20 @@ "ping" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8964,15 +9615,20 @@ "ping_pong_streaming" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8980,15 +9636,20 @@ "registered_call" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -8996,15 +9657,20 @@ "request_with_flags" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -9012,15 +9678,20 @@ "request_with_payload" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -9028,15 +9699,20 @@ "server_finishes_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -9044,15 +9720,20 @@ "shutdown_finishes_calls" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -9060,15 +9741,20 @@ "shutdown_finishes_tags" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -9076,15 +9762,20 @@ "simple_delayed_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -9092,15 +9783,20 @@ "simple_metadata" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -9108,15 +9804,20 @@ "simple_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -9124,15 +9825,20 @@ "trailing_metadata" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_test", + "name": "h2_oauth2_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -9142,14 +9848,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9164,14 +9869,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9186,14 +9890,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9208,14 +9911,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9230,14 +9932,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9252,14 +9953,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9274,14 +9974,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9296,14 +9995,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9318,14 +10016,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9335,19 +10032,18 @@ }, { "args": [ - "compressed_payload" + "default_host" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9357,19 +10053,18 @@ }, { "args": [ - "connectivity" + "disappearing_server" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9379,19 +10074,18 @@ }, { "args": [ - "default_host" + "empty_batch" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9401,19 +10095,18 @@ }, { "args": [ - "disappearing_server" + "filter_causes_close" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9423,19 +10116,18 @@ }, { "args": [ - "empty_batch" + "graceful_server_shutdown" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9445,19 +10137,18 @@ }, { "args": [ - "graceful_server_shutdown" + "high_initial_seqno" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9467,19 +10158,18 @@ }, { "args": [ - "high_initial_seqno" + "idempotent_request" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9494,14 +10184,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9516,36 +10205,13 @@ "ci_platforms": [ "windows", "linux", - "mac", - "posix" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "flaky": false, - "language": "c", - "name": "h2_full+trace_test", - "platforms": [ - "windows", - "linux", - "mac", - "posix" - ] - }, - { - "args": [ - "max_concurrent_streams" - ], - "ci_platforms": [ - "windows", - "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9560,14 +10226,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9582,14 +10247,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9604,14 +10268,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9626,36 +10289,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", - "platforms": [ - "windows", - "linux", - "mac", - "posix" - ] - }, - { - "args": [ - "ping" - ], - "ci_platforms": [ - "windows", - "linux", - "mac", - "posix" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "flaky": false, - "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9670,14 +10310,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9692,36 +10331,13 @@ "ci_platforms": [ "windows", "linux", - "mac", - "posix" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "flaky": false, - "language": "c", - "name": "h2_full+trace_test", - "platforms": [ - "windows", - "linux", - "mac", - "posix" - ] - }, - { - "args": [ - "request_with_flags" - ], - "ci_platforms": [ - "windows", - "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9736,14 +10352,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9758,14 +10373,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9780,14 +10394,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9802,14 +10415,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9824,14 +10436,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9846,14 +10457,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9868,14 +10478,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9890,14 +10499,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_test", + "name": "h2_proxy_test", "platforms": [ "windows", "linux", @@ -9918,7 +10526,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -9939,7 +10547,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -9960,7 +10568,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -9981,7 +10589,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10002,7 +10610,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10023,7 +10631,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10044,7 +10652,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10065,7 +10673,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10086,7 +10694,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10107,28 +10715,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", - "platforms": [ - "windows", - "linux", - "mac", - "posix" - ] - }, - { - "args": [ - "connectivity" - ], - "ci_platforms": [ - "windows", - "linux", - "posix" - ], - "cpu_cost": 0.1, - "exclude_configs": [], - "flaky": false, - "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10138,7 +10725,7 @@ }, { "args": [ - "default_host" + "empty_batch" ], "ci_platforms": [ "windows", @@ -10149,7 +10736,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10159,7 +10746,7 @@ }, { "args": [ - "disappearing_server" + "filter_causes_close" ], "ci_platforms": [ "windows", @@ -10170,7 +10757,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10180,18 +10767,18 @@ }, { "args": [ - "empty_batch" + "graceful_server_shutdown" ], "ci_platforms": [ "windows", "linux", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10201,18 +10788,18 @@ }, { "args": [ - "graceful_server_shutdown" + "high_initial_seqno" ], "ci_platforms": [ "windows", "linux", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10222,7 +10809,7 @@ }, { "args": [ - "high_initial_seqno" + "hpack_size" ], "ci_platforms": [ "windows", @@ -10233,7 +10820,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10243,7 +10830,7 @@ }, { "args": [ - "hpack_size" + "idempotent_request" ], "ci_platforms": [ "windows", @@ -10254,7 +10841,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10275,7 +10862,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10296,7 +10883,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10317,7 +10904,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10338,7 +10925,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10359,7 +10946,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10380,7 +10967,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10401,7 +10988,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10411,7 +10998,7 @@ }, { "args": [ - "ping" + "ping_pong_streaming" ], "ci_platforms": [ "windows", @@ -10422,7 +11009,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10432,7 +11019,7 @@ }, { "args": [ - "ping_pong_streaming" + "registered_call" ], "ci_platforms": [ "windows", @@ -10443,7 +11030,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10453,7 +11040,7 @@ }, { "args": [ - "registered_call" + "request_with_flags" ], "ci_platforms": [ "windows", @@ -10464,7 +11051,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10474,7 +11061,7 @@ }, { "args": [ - "request_with_flags" + "request_with_payload" ], "ci_platforms": [ "windows", @@ -10485,7 +11072,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10495,7 +11082,7 @@ }, { "args": [ - "request_with_payload" + "server_finishes_request" ], "ci_platforms": [ "windows", @@ -10506,7 +11093,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10516,7 +11103,7 @@ }, { "args": [ - "server_finishes_request" + "shutdown_finishes_calls" ], "ci_platforms": [ "windows", @@ -10527,7 +11114,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10537,7 +11124,7 @@ }, { "args": [ - "shutdown_finishes_calls" + "shutdown_finishes_tags" ], "ci_platforms": [ "windows", @@ -10548,7 +11135,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10558,7 +11145,7 @@ }, { "args": [ - "shutdown_finishes_tags" + "simple_metadata" ], "ci_platforms": [ "windows", @@ -10569,7 +11156,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10579,18 +11166,18 @@ }, { "args": [ - "simple_delayed_request" + "simple_request" ], "ci_platforms": [ "windows", "linux", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10600,7 +11187,7 @@ }, { "args": [ - "simple_metadata" + "trailing_metadata" ], "ci_platforms": [ "windows", @@ -10611,7 +11198,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair_test", "platforms": [ "windows", "linux", @@ -10621,7 +11208,7 @@ }, { "args": [ - "simple_request" + "bad_hostname" ], "ci_platforms": [ "windows", @@ -10632,7 +11219,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10642,7 +11229,7 @@ }, { "args": [ - "trailing_metadata" + "binary_metadata" ], "ci_platforms": [ "windows", @@ -10653,7 +11240,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_oauth2_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10663,7 +11250,7 @@ }, { "args": [ - "bad_hostname" + "call_creds" ], "ci_platforms": [ "windows", @@ -10674,7 +11261,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10684,18 +11271,18 @@ }, { "args": [ - "binary_metadata" + "cancel_after_accept" ], "ci_platforms": [ "windows", "linux", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10705,18 +11292,18 @@ }, { "args": [ - "call_creds" + "cancel_after_client_done" ], "ci_platforms": [ "windows", "linux", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10726,7 +11313,7 @@ }, { "args": [ - "cancel_after_accept" + "cancel_after_invoke" ], "ci_platforms": [ "windows", @@ -10737,7 +11324,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10747,7 +11334,7 @@ }, { "args": [ - "cancel_after_client_done" + "cancel_before_invoke" ], "ci_platforms": [ "windows", @@ -10758,7 +11345,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10768,7 +11355,7 @@ }, { "args": [ - "cancel_after_invoke" + "cancel_in_a_vacuum" ], "ci_platforms": [ "windows", @@ -10779,7 +11366,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10789,7 +11376,7 @@ }, { "args": [ - "cancel_before_invoke" + "cancel_with_status" ], "ci_platforms": [ "windows", @@ -10800,7 +11387,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10810,7 +11397,7 @@ }, { "args": [ - "cancel_in_a_vacuum" + "compressed_payload" ], "ci_platforms": [ "windows", @@ -10821,7 +11408,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10831,18 +11418,18 @@ }, { "args": [ - "cancel_with_status" + "empty_batch" ], "ci_platforms": [ "windows", "linux", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10852,7 +11439,7 @@ }, { "args": [ - "default_host" + "filter_causes_close" ], "ci_platforms": [ "windows", @@ -10863,7 +11450,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10873,18 +11460,18 @@ }, { "args": [ - "disappearing_server" + "graceful_server_shutdown" ], "ci_platforms": [ "windows", "linux", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10894,7 +11481,7 @@ }, { "args": [ - "empty_batch" + "high_initial_seqno" ], "ci_platforms": [ "windows", @@ -10905,7 +11492,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10915,18 +11502,18 @@ }, { "args": [ - "graceful_server_shutdown" + "idempotent_request" ], "ci_platforms": [ "windows", "linux", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10936,7 +11523,7 @@ }, { "args": [ - "high_initial_seqno" + "invoke_large_request" ], "ci_platforms": [ "windows", @@ -10947,7 +11534,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10957,7 +11544,7 @@ }, { "args": [ - "invoke_large_request" + "large_metadata" ], "ci_platforms": [ "windows", @@ -10968,7 +11555,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -10978,7 +11565,7 @@ }, { "args": [ - "large_metadata" + "max_concurrent_streams" ], "ci_platforms": [ "windows", @@ -10989,7 +11576,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11010,7 +11597,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11031,7 +11618,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11052,7 +11639,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11073,7 +11660,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11094,7 +11681,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11115,7 +11702,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11125,7 +11712,7 @@ }, { "args": [ - "request_with_payload" + "request_with_flags" ], "ci_platforms": [ "windows", @@ -11136,7 +11723,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11146,7 +11733,7 @@ }, { "args": [ - "server_finishes_request" + "request_with_payload" ], "ci_platforms": [ "windows", @@ -11157,7 +11744,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11167,7 +11754,7 @@ }, { "args": [ - "shutdown_finishes_calls" + "server_finishes_request" ], "ci_platforms": [ "windows", @@ -11178,7 +11765,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11188,7 +11775,7 @@ }, { "args": [ - "shutdown_finishes_tags" + "shutdown_finishes_calls" ], "ci_platforms": [ "windows", @@ -11199,7 +11786,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11209,18 +11796,18 @@ }, { "args": [ - "simple_delayed_request" + "shutdown_finishes_tags" ], "ci_platforms": [ "windows", "linux", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11241,7 +11828,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11262,7 +11849,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11283,7 +11870,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_test", + "name": "h2_sockpair+trace_test", "platforms": [ "windows", "linux", @@ -11304,7 +11891,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11325,7 +11912,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11346,7 +11933,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11367,7 +11954,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11388,7 +11975,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11409,7 +11996,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11430,7 +12017,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11451,7 +12038,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11472,7 +12059,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11493,7 +12080,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11514,7 +12101,28 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11535,7 +12143,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11556,7 +12164,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11577,7 +12185,28 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11598,7 +12227,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11619,7 +12248,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11640,7 +12269,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11661,7 +12290,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11682,7 +12311,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11703,7 +12332,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11724,7 +12353,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11745,7 +12374,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11766,7 +12395,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11787,7 +12416,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11808,7 +12437,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11829,7 +12458,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11850,7 +12479,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11871,7 +12500,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11892,7 +12521,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11913,7 +12542,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11934,7 +12563,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_test", + "name": "h2_sockpair_1byte_test", "platforms": [ "windows", "linux", @@ -11949,13 +12578,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -11970,13 +12600,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -11991,13 +12622,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12012,13 +12644,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12033,13 +12666,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12054,13 +12688,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12075,13 +12710,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12096,13 +12732,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12117,13 +12754,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12138,13 +12776,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12154,18 +12793,19 @@ }, { "args": [ - "empty_batch" + "connectivity" ], "ci_platforms": [ "windows", "linux", + "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12175,18 +12815,19 @@ }, { "args": [ - "graceful_server_shutdown" + "default_host" ], "ci_platforms": [ "windows", "linux", + "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12196,18 +12837,151 @@ }, { "args": [ - "high_initial_seqno" + "disappearing_server" ], "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "empty_batch" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_ssl_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_ssl_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "graceful_server_shutdown" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_ssl_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "high_initial_seqno" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_ssl_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "hpack_size" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_ssl_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12222,13 +12996,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12243,13 +13018,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12264,13 +13040,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12285,13 +13062,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12306,13 +13084,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12327,13 +13106,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12348,13 +13128,36 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "ping" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12369,13 +13172,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12390,13 +13194,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12411,13 +13216,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12432,13 +13238,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12453,13 +13260,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12474,13 +13282,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12495,13 +13304,36 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "simple_delayed_request" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12516,13 +13348,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12537,13 +13370,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12558,13 +13392,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_test", + "name": "h2_ssl_test", "platforms": [ "windows", "linux", @@ -12585,7 +13420,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12606,7 +13441,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12627,7 +13462,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12648,7 +13483,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12669,7 +13504,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12690,7 +13525,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12711,7 +13546,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12732,7 +13567,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12753,7 +13588,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12763,18 +13598,18 @@ }, { "args": [ - "compressed_payload" + "default_host" ], "ci_platforms": [ "windows", "linux", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12784,7 +13619,7 @@ }, { "args": [ - "empty_batch" + "disappearing_server" ], "ci_platforms": [ "windows", @@ -12795,7 +13630,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12805,18 +13640,18 @@ }, { "args": [ - "graceful_server_shutdown" + "empty_batch" ], "ci_platforms": [ "windows", "linux", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12826,7 +13661,7 @@ }, { "args": [ - "high_initial_seqno" + "filter_causes_close" ], "ci_platforms": [ "windows", @@ -12837,7 +13672,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12847,7 +13682,28 @@ }, { "args": [ - "hpack_size" + "graceful_server_shutdown" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_ssl_proxy_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "high_initial_seqno" ], "ci_platforms": [ "windows", @@ -12858,7 +13714,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12868,7 +13724,7 @@ }, { "args": [ - "invoke_large_request" + "idempotent_request" ], "ci_platforms": [ "windows", @@ -12879,7 +13735,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12889,7 +13745,7 @@ }, { "args": [ - "large_metadata" + "invoke_large_request" ], "ci_platforms": [ "windows", @@ -12900,7 +13756,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12910,7 +13766,7 @@ }, { "args": [ - "max_concurrent_streams" + "large_metadata" ], "ci_platforms": [ "windows", @@ -12921,7 +13777,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12942,7 +13798,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12963,7 +13819,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -12984,7 +13840,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -13005,7 +13861,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -13026,7 +13882,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -13047,7 +13903,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -13057,7 +13913,7 @@ }, { "args": [ - "request_with_flags" + "request_with_payload" ], "ci_platforms": [ "windows", @@ -13068,7 +13924,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -13078,7 +13934,7 @@ }, { "args": [ - "request_with_payload" + "server_finishes_request" ], "ci_platforms": [ "windows", @@ -13089,7 +13945,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -13099,7 +13955,7 @@ }, { "args": [ - "server_finishes_request" + "shutdown_finishes_calls" ], "ci_platforms": [ "windows", @@ -13110,7 +13966,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -13120,7 +13976,7 @@ }, { "args": [ - "shutdown_finishes_calls" + "shutdown_finishes_tags" ], "ci_platforms": [ "windows", @@ -13131,7 +13987,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -13141,18 +13997,18 @@ }, { "args": [ - "shutdown_finishes_tags" + "simple_delayed_request" ], "ci_platforms": [ "windows", "linux", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -13173,7 +14029,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -13194,7 +14050,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -13215,7 +14071,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_test", + "name": "h2_ssl_proxy_test", "platforms": [ "windows", "linux", @@ -13228,7 +14084,6 @@ "bad_hostname" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13237,9 +14092,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13250,7 +14104,6 @@ "binary_metadata" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13259,9 +14112,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13272,7 +14124,6 @@ "call_creds" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13281,9 +14132,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13294,7 +14144,6 @@ "cancel_after_accept" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13303,9 +14152,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13316,7 +14164,6 @@ "cancel_after_client_done" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13325,9 +14172,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13338,7 +14184,6 @@ "cancel_after_invoke" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13347,9 +14192,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13360,7 +14204,6 @@ "cancel_before_invoke" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13369,9 +14212,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13382,7 +14224,6 @@ "cancel_in_a_vacuum" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13391,9 +14232,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13404,7 +14244,6 @@ "cancel_with_status" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13413,9 +14252,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13426,7 +14264,6 @@ "compressed_payload" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13435,9 +14272,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13448,7 +14284,6 @@ "connectivity" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13457,9 +14292,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13467,10 +14301,9 @@ }, { "args": [ - "default_host" + "disappearing_server" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13479,9 +14312,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13489,10 +14321,9 @@ }, { "args": [ - "disappearing_server" + "empty_batch" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13501,9 +14332,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13511,10 +14341,9 @@ }, { "args": [ - "empty_batch" + "filter_causes_close" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13523,9 +14352,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13536,7 +14364,6 @@ "graceful_server_shutdown" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13545,9 +14372,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13558,7 +14384,6 @@ "high_initial_seqno" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13567,9 +14392,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13580,7 +14404,6 @@ "hpack_size" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13589,9 +14412,28 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13602,7 +14444,6 @@ "invoke_large_request" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13611,9 +14452,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13624,7 +14464,6 @@ "large_metadata" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13633,9 +14472,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13646,7 +14484,6 @@ "max_concurrent_streams" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13655,9 +14492,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13668,7 +14504,6 @@ "max_message_length" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13677,9 +14512,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13690,7 +14524,6 @@ "negative_deadline" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13699,9 +14532,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13712,7 +14544,6 @@ "no_op" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13721,9 +14552,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13734,7 +14564,6 @@ "payload" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13743,9 +14572,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13756,7 +14584,6 @@ "ping" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13765,9 +14592,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13778,7 +14604,6 @@ "ping_pong_streaming" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13787,9 +14612,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13800,7 +14624,6 @@ "registered_call" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13809,9 +14632,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13822,7 +14644,6 @@ "request_with_flags" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13831,9 +14652,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13844,7 +14664,6 @@ "request_with_payload" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13853,9 +14672,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13866,7 +14684,6 @@ "server_finishes_request" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13875,9 +14692,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13888,7 +14704,6 @@ "shutdown_finishes_calls" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13897,9 +14712,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13910,7 +14724,6 @@ "shutdown_finishes_tags" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13919,9 +14732,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13932,7 +14744,6 @@ "simple_delayed_request" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13941,9 +14752,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13954,7 +14764,6 @@ "simple_metadata" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13963,9 +14772,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13976,7 +14784,6 @@ "simple_request" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -13985,9 +14792,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -13998,7 +14804,6 @@ "trailing_metadata" ], "ci_platforms": [ - "windows", "linux", "mac", "posix" @@ -14007,9 +14812,8 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_test", + "name": "h2_uds_test", "platforms": [ - "windows", "linux", "mac", "posix" @@ -14020,47 +14824,43 @@ "bad_hostname" ], "ci_platforms": [ - "linux" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "flaky": false, - "language": "c", - "name": "h2_ssl+poll_test", - "platforms": [ - "linux" - ] - }, - { - "args": [ - "binary_metadata" - ], - "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { "args": [ - "call_creds" + "binary_metadata" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14068,15 +14868,21 @@ "cancel_after_accept" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14084,15 +14890,21 @@ "cancel_after_client_done" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14100,15 +14912,21 @@ "cancel_after_invoke" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14116,15 +14934,21 @@ "cancel_before_invoke" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14132,15 +14956,21 @@ "cancel_in_a_vacuum" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14148,15 +14978,21 @@ "cancel_with_status" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14164,15 +15000,21 @@ "compressed_payload" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14180,15 +15022,21 @@ "connectivity" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14196,15 +15044,21 @@ "default_host" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14212,15 +15066,21 @@ "disappearing_server" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14228,15 +15088,43 @@ "empty_batch" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_census_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14244,15 +15132,21 @@ "graceful_server_shutdown" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14260,15 +15154,21 @@ "high_initial_seqno" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14276,15 +15176,43 @@ "hpack_size" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_census_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14292,15 +15220,21 @@ "invoke_large_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14308,15 +15242,21 @@ "large_metadata" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14324,15 +15264,21 @@ "max_concurrent_streams" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14340,15 +15286,21 @@ "max_message_length" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14356,15 +15308,21 @@ "negative_deadline" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14372,15 +15330,21 @@ "no_op" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14388,15 +15352,21 @@ "payload" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14404,15 +15374,21 @@ "ping" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14420,15 +15396,21 @@ "ping_pong_streaming" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14436,15 +15418,21 @@ "registered_call" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14452,15 +15440,21 @@ "request_with_flags" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14468,15 +15462,21 @@ "request_with_payload" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14484,15 +15484,21 @@ "server_finishes_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14500,15 +15506,21 @@ "shutdown_finishes_calls" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14516,15 +15528,21 @@ "shutdown_finishes_tags" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14532,15 +15550,21 @@ "simple_delayed_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14548,15 +15572,21 @@ "simple_metadata" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { @@ -14564,47 +15594,38 @@ "simple_request" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl+poll_test", + "name": "h2_census_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { "args": [ "trailing_metadata" ], - "ci_platforms": [ - "linux" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "flaky": false, - "language": "c", - "name": "h2_ssl+poll_test", - "platforms": [ - "linux" - ] - }, - { - "args": [ - "bad_hostname" - ], "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_census_nosec_test", "platforms": [ "windows", "linux", @@ -14614,18 +15635,19 @@ }, { "args": [ - "binary_metadata" + "bad_hostname" ], "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14635,18 +15657,19 @@ }, { "args": [ - "call_creds" + "binary_metadata" ], "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14661,13 +15684,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14682,13 +15706,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14703,13 +15728,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14724,13 +15750,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14745,13 +15772,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14766,13 +15794,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14782,18 +15811,19 @@ }, { "args": [ - "default_host" + "compressed_payload" ], "ci_platforms": [ "windows", "linux", + "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14803,18 +15833,19 @@ }, { "args": [ - "disappearing_server" + "connectivity" ], "ci_platforms": [ "windows", "linux", + "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14824,18 +15855,19 @@ }, { "args": [ - "empty_batch" + "default_host" ], "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14845,18 +15877,19 @@ }, { "args": [ - "graceful_server_shutdown" + "disappearing_server" ], "ci_platforms": [ "windows", "linux", + "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14866,18 +15899,19 @@ }, { "args": [ - "high_initial_seqno" + "empty_batch" ], "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14887,18 +15921,19 @@ }, { "args": [ - "invoke_large_request" + "filter_causes_close" ], "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14908,18 +15943,151 @@ }, { "args": [ - "large_metadata" + "graceful_server_shutdown" ], "ci_platforms": [ "windows", "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_compress_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "high_initial_seqno" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "hpack_size" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_compress_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_compress_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "invoke_large_request" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_compress_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "large_metadata" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_compress_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "max_concurrent_streams" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14934,13 +16102,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14955,13 +16124,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14976,13 +16146,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -14997,13 +16168,36 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "ping" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -15018,13 +16212,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -15039,13 +16234,36 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "request_with_flags" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -15060,13 +16278,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -15081,13 +16300,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -15102,13 +16322,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -15123,13 +16344,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -15144,13 +16366,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -15165,13 +16388,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -15186,13 +16410,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -15207,13 +16432,14 @@ "ci_platforms": [ "windows", "linux", + "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_ssl_proxy_test", + "name": "h2_compress_nosec_test", "platforms": [ "windows", "linux", @@ -15226,6 +16452,7 @@ "bad_hostname" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15234,8 +16461,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15246,6 +16474,7 @@ "binary_metadata" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15254,8 +16483,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15263,19 +16493,21 @@ }, { "args": [ - "call_creds" + "cancel_after_accept" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15283,9 +16515,10 @@ }, { "args": [ - "cancel_after_accept" + "cancel_after_client_done" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15294,8 +16527,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15303,9 +16537,10 @@ }, { "args": [ - "cancel_after_client_done" + "cancel_after_invoke" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15314,8 +16549,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15323,9 +16559,10 @@ }, { "args": [ - "cancel_after_invoke" + "cancel_before_invoke" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15334,8 +16571,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15343,9 +16581,10 @@ }, { "args": [ - "cancel_before_invoke" + "cancel_in_a_vacuum" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15354,8 +16593,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15363,9 +16603,10 @@ }, { "args": [ - "cancel_in_a_vacuum" + "cancel_with_status" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15374,8 +16615,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15383,9 +16625,10 @@ }, { "args": [ - "cancel_with_status" + "compressed_payload" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15394,8 +16637,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15403,9 +16647,10 @@ }, { "args": [ - "compressed_payload" + "connectivity" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15414,8 +16659,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15423,19 +16669,21 @@ }, { "args": [ - "connectivity" + "default_host" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15446,6 +16694,7 @@ "disappearing_server" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15454,8 +16703,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15466,6 +16716,7 @@ "empty_batch" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15474,8 +16725,31 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15486,6 +16760,7 @@ "graceful_server_shutdown" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15494,8 +16769,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15506,6 +16782,7 @@ "high_initial_seqno" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15514,8 +16791,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15526,6 +16804,7 @@ "hpack_size" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15534,8 +16813,31 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15546,6 +16848,7 @@ "invoke_large_request" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15554,8 +16857,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15566,6 +16870,7 @@ "large_metadata" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15574,8 +16879,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15586,6 +16892,7 @@ "max_concurrent_streams" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15594,8 +16901,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15606,6 +16914,7 @@ "max_message_length" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15614,8 +16923,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15626,6 +16936,7 @@ "negative_deadline" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15634,8 +16945,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15646,6 +16958,7 @@ "no_op" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15654,8 +16967,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15666,6 +16980,7 @@ "payload" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15674,8 +16989,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15686,6 +17002,7 @@ "ping" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15694,8 +17011,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15706,6 +17024,7 @@ "ping_pong_streaming" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15714,8 +17033,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15726,6 +17046,7 @@ "registered_call" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15734,8 +17055,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15746,6 +17068,7 @@ "request_with_flags" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15754,8 +17077,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15766,6 +17090,7 @@ "request_with_payload" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15774,8 +17099,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15786,6 +17112,7 @@ "server_finishes_request" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15794,8 +17121,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15806,6 +17134,7 @@ "shutdown_finishes_calls" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15814,8 +17143,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15826,6 +17156,7 @@ "shutdown_finishes_tags" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15834,8 +17165,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15846,6 +17178,7 @@ "simple_delayed_request" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15854,8 +17187,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15866,6 +17200,7 @@ "simple_metadata" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15874,8 +17209,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15886,6 +17222,7 @@ "simple_request" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15894,8 +17231,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15906,6 +17244,7 @@ "trailing_metadata" ], "ci_platforms": [ + "windows", "linux", "mac", "posix" @@ -15914,8 +17253,9 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_test", + "name": "h2_full_nosec_test", "platforms": [ + "windows", "linux", "mac", "posix" @@ -15932,7 +17272,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -15948,30 +17288,30 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] }, { "args": [ - "call_creds" + "cancel_after_accept" ], "ci_platforms": [ "linux" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] }, { "args": [ - "cancel_after_accept" + "cancel_after_client_done" ], "ci_platforms": [ "linux" @@ -15980,14 +17320,14 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] }, { "args": [ - "cancel_after_client_done" + "cancel_after_invoke" ], "ci_platforms": [ "linux" @@ -15996,14 +17336,14 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] }, { "args": [ - "cancel_after_invoke" + "cancel_before_invoke" ], "ci_platforms": [ "linux" @@ -16012,14 +17352,14 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] }, { "args": [ - "cancel_before_invoke" + "cancel_in_a_vacuum" ], "ci_platforms": [ "linux" @@ -16028,14 +17368,14 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] }, { "args": [ - "cancel_in_a_vacuum" + "cancel_with_status" ], "ci_platforms": [ "linux" @@ -16044,14 +17384,14 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] }, { "args": [ - "cancel_with_status" + "compressed_payload" ], "ci_platforms": [ "linux" @@ -16060,14 +17400,14 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] }, { "args": [ - "compressed_payload" + "connectivity" ], "ci_platforms": [ "linux" @@ -16076,23 +17416,23 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] }, { "args": [ - "connectivity" + "default_host" ], "ci_platforms": [ "linux" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16108,7 +17448,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16124,7 +17464,23 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", + "platforms": [ + "linux" + ] + }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "linux" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16140,7 +17496,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16156,7 +17512,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16172,7 +17528,23 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", + "platforms": [ + "linux" + ] + }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "linux" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16188,7 +17560,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16204,7 +17576,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16220,7 +17592,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16236,7 +17608,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16252,7 +17624,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16268,7 +17640,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16284,7 +17656,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16300,7 +17672,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16316,7 +17688,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16332,7 +17704,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16348,7 +17720,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16364,7 +17736,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16380,7 +17752,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16396,7 +17768,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16412,7 +17784,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16428,7 +17800,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16444,7 +17816,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16460,7 +17832,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16476,7 +17848,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_test", + "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" ] @@ -16495,7 +17867,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16517,7 +17889,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16539,7 +17911,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16561,7 +17933,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16583,7 +17955,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16605,7 +17977,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16627,7 +17999,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16649,7 +18021,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16671,7 +18043,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16693,7 +18065,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16715,7 +18087,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16737,7 +18109,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16759,7 +18131,29 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "windows", + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16781,7 +18175,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16803,7 +18197,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16813,7 +18207,7 @@ }, { "args": [ - "hpack_size" + "idempotent_request" ], "ci_platforms": [ "windows", @@ -16825,7 +18219,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16847,7 +18241,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16869,7 +18263,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16891,7 +18285,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16913,7 +18307,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16935,7 +18329,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16957,7 +18351,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -16979,7 +18373,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17001,7 +18395,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17023,7 +18417,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17045,7 +18439,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17067,7 +18461,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17089,7 +18483,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17111,7 +18505,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17133,7 +18527,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17155,7 +18549,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17177,7 +18571,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17199,7 +18593,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17221,7 +18615,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17243,7 +18637,7 @@ "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_census_nosec_test", + "name": "h2_full+trace_nosec_test", "platforms": [ "windows", "linux", @@ -17258,14 +18652,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17280,14 +18673,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17302,14 +18694,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17324,14 +18715,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17346,14 +18736,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17368,14 +18757,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17390,14 +18778,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17412,14 +18799,13 @@ "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17429,19 +18815,18 @@ }, { "args": [ - "compressed_payload" + "default_host" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17451,19 +18836,18 @@ }, { "args": [ - "connectivity" + "disappearing_server" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17473,19 +18857,18 @@ }, { "args": [ - "default_host" + "empty_batch" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17495,19 +18878,18 @@ }, { "args": [ - "disappearing_server" + "filter_causes_close" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17517,19 +18899,18 @@ }, { "args": [ - "empty_batch" + "graceful_server_shutdown" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17539,19 +18920,18 @@ }, { "args": [ - "graceful_server_shutdown" + "high_initial_seqno" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17561,19 +18941,18 @@ }, { "args": [ - "high_initial_seqno" + "idempotent_request" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17583,19 +18962,18 @@ }, { "args": [ - "hpack_size" + "invoke_large_request" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17605,19 +18983,18 @@ }, { "args": [ - "invoke_large_request" + "large_metadata" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17627,19 +19004,18 @@ }, { "args": [ - "large_metadata" + "max_message_length" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17649,19 +19025,18 @@ }, { "args": [ - "max_concurrent_streams" + "negative_deadline" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17671,19 +19046,18 @@ }, { "args": [ - "max_message_length" + "no_op" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17693,19 +19067,18 @@ }, { "args": [ - "negative_deadline" + "payload" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17715,19 +19088,18 @@ }, { "args": [ - "no_op" + "ping_pong_streaming" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17737,19 +19109,18 @@ }, { "args": [ - "payload" + "registered_call" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17759,19 +19130,18 @@ }, { "args": [ - "ping" + "request_with_payload" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17781,19 +19151,18 @@ }, { "args": [ - "ping_pong_streaming" + "server_finishes_request" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17803,19 +19172,18 @@ }, { "args": [ - "registered_call" + "shutdown_finishes_calls" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17825,19 +19193,18 @@ }, { "args": [ - "request_with_flags" + "shutdown_finishes_tags" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17847,19 +19214,18 @@ }, { "args": [ - "request_with_payload" + "simple_delayed_request" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17869,19 +19235,18 @@ }, { "args": [ - "server_finishes_request" + "simple_metadata" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17891,19 +19256,18 @@ }, { "args": [ - "shutdown_finishes_calls" + "simple_request" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17913,19 +19277,18 @@ }, { "args": [ - "shutdown_finishes_tags" + "trailing_metadata" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_proxy_nosec_test", "platforms": [ "windows", "linux", @@ -17935,19 +19298,18 @@ }, { "args": [ - "simple_delayed_request" + "bad_hostname" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -17957,19 +19319,18 @@ }, { "args": [ - "simple_metadata" + "binary_metadata" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -17979,19 +19340,18 @@ }, { "args": [ - "simple_request" + "cancel_after_accept" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18001,19 +19361,18 @@ }, { "args": [ - "trailing_metadata" + "cancel_after_client_done" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_compress_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18023,19 +19382,18 @@ }, { "args": [ - "bad_hostname" + "cancel_after_invoke" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18045,19 +19403,18 @@ }, { "args": [ - "binary_metadata" + "cancel_before_invoke" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18067,19 +19424,18 @@ }, { "args": [ - "cancel_after_accept" + "cancel_in_a_vacuum" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18089,19 +19445,18 @@ }, { "args": [ - "cancel_after_client_done" + "cancel_with_status" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18111,19 +19466,18 @@ }, { "args": [ - "cancel_after_invoke" + "compressed_payload" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18133,19 +19487,18 @@ }, { "args": [ - "cancel_before_invoke" + "empty_batch" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18155,19 +19508,18 @@ }, { "args": [ - "cancel_in_a_vacuum" + "filter_causes_close" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18177,19 +19529,18 @@ }, { "args": [ - "cancel_with_status" + "graceful_server_shutdown" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18199,19 +19550,18 @@ }, { "args": [ - "compressed_payload" + "high_initial_seqno" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18221,19 +19571,18 @@ }, { "args": [ - "connectivity" + "hpack_size" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18243,19 +19592,18 @@ }, { "args": [ - "default_host" + "idempotent_request" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18265,19 +19613,18 @@ }, { "args": [ - "disappearing_server" + "invoke_large_request" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18287,19 +19634,18 @@ }, { "args": [ - "empty_batch" + "large_metadata" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18309,19 +19655,18 @@ }, { "args": [ - "graceful_server_shutdown" + "max_concurrent_streams" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18331,19 +19676,18 @@ }, { "args": [ - "high_initial_seqno" + "max_message_length" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18353,19 +19697,18 @@ }, { "args": [ - "hpack_size" + "negative_deadline" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18375,19 +19718,18 @@ }, { "args": [ - "invoke_large_request" + "no_op" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18397,19 +19739,18 @@ }, { "args": [ - "large_metadata" + "payload" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18419,19 +19760,18 @@ }, { "args": [ - "max_concurrent_streams" + "ping_pong_streaming" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18441,19 +19781,18 @@ }, { "args": [ - "max_message_length" + "registered_call" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18463,19 +19802,18 @@ }, { "args": [ - "negative_deadline" + "request_with_flags" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18485,19 +19823,18 @@ }, { "args": [ - "no_op" + "request_with_payload" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18507,19 +19844,18 @@ }, { "args": [ - "payload" + "server_finishes_request" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18529,19 +19865,18 @@ }, { "args": [ - "ping" + "shutdown_finishes_calls" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18551,19 +19886,18 @@ }, { "args": [ - "ping_pong_streaming" + "shutdown_finishes_tags" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18573,19 +19907,18 @@ }, { "args": [ - "registered_call" + "simple_metadata" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18595,19 +19928,18 @@ }, { "args": [ - "request_with_flags" + "simple_request" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18617,19 +19949,18 @@ }, { "args": [ - "request_with_payload" + "trailing_metadata" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair_nosec_test", "platforms": [ "windows", "linux", @@ -18639,19 +19970,18 @@ }, { "args": [ - "server_finishes_request" + "bad_hostname" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", "linux", @@ -18661,19 +19991,18 @@ }, { "args": [ - "shutdown_finishes_calls" + "binary_metadata" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", "linux", @@ -18683,19 +20012,18 @@ }, { "args": [ - "shutdown_finishes_tags" + "cancel_after_accept" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", "linux", @@ -18705,19 +20033,18 @@ }, { "args": [ - "simple_delayed_request" + "cancel_after_client_done" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", "linux", @@ -18727,19 +20054,18 @@ }, { "args": [ - "simple_metadata" + "cancel_after_invoke" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", "linux", @@ -18749,19 +20075,18 @@ }, { "args": [ - "simple_request" + "cancel_before_invoke" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", "linux", @@ -18771,19 +20096,18 @@ }, { "args": [ - "trailing_metadata" + "cancel_in_a_vacuum" ], "ci_platforms": [ "windows", "linux", - "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full_nosec_test", + "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", "linux", @@ -18793,6132 +20117,33296 @@ }, { "args": [ - "bad_hostname" + "cancel_with_status" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "h2_sockpair+trace_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { "args": [ - "binary_metadata" + "compressed_payload" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "h2_sockpair+trace_nosec_test", "platforms": [ - "linux" + "windows", + "linux", + "mac", + "posix" ] }, { "args": [ - "cancel_after_accept" + "empty_batch" ], "ci_platforms": [ - "linux" + "windows", + "linux", + "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "graceful_server_shutdown" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "high_initial_seqno" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "invoke_large_request" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "large_metadata" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "max_concurrent_streams" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "max_message_length" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "negative_deadline" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "no_op" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "payload" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "ping_pong_streaming" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "registered_call" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "request_with_flags" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "request_with_payload" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "server_finishes_request" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "shutdown_finishes_calls" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "shutdown_finishes_tags" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "simple_metadata" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "simple_request" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "trailing_metadata" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair+trace_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "bad_hostname" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "binary_metadata" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "cancel_after_accept" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "cancel_after_client_done" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "cancel_after_invoke" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "cancel_before_invoke" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "cancel_in_a_vacuum" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "cancel_with_status" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "compressed_payload" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "empty_batch" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "graceful_server_shutdown" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "high_initial_seqno" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "hpack_size" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "invoke_large_request" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "large_metadata" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "max_concurrent_streams" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "max_message_length" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "negative_deadline" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "no_op" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "payload" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "ping_pong_streaming" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "registered_call" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "request_with_flags" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "request_with_payload" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "server_finishes_request" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "shutdown_finishes_calls" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "shutdown_finishes_tags" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "simple_metadata" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "simple_request" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "trailing_metadata" + ], + "ci_platforms": [ + "windows", + "linux", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_sockpair_1byte_nosec_test", + "platforms": [ + "windows", + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "bad_hostname" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "binary_metadata" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "cancel_after_accept" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "cancel_after_client_done" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "cancel_after_invoke" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "cancel_before_invoke" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "cancel_in_a_vacuum" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "cancel_with_status" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "compressed_payload" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "connectivity" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "disappearing_server" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "empty_batch" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "filter_causes_close" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "graceful_server_shutdown" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "high_initial_seqno" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "hpack_size" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "idempotent_request" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "invoke_large_request" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "large_metadata" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "max_concurrent_streams" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "max_message_length" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "negative_deadline" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "no_op" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "payload" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "ping" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "ping_pong_streaming" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "registered_call" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "request_with_flags" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "request_with_payload" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "server_finishes_request" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "shutdown_finishes_calls" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "shutdown_finishes_tags" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "simple_delayed_request" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "simple_metadata" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "simple_request" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "trailing_metadata" + ], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "h2_uds_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "args": [ + "--scenario_json", + "'{\"name\": \"generic_async_streaming_ping_pong_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 4, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}}, \"num_clients\": 1}'" + ], + "boringssl": true, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1000.0, + "defaults": "boringssl", + "exclude_configs": [], + "flaky": false, + "language": "c++", + "name": "json_run_localhost", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "shortname": "json_run_localhost:generic_async_streaming_ping_pong_secure" + }, + { + "args": [ + "--scenario_json", + "'{\"name\": \"generic_async_streaming_qps_unconstrained_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 4, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}}, \"num_clients\": 0}'" + ], + "boringssl": true, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1000.0, + "defaults": "boringssl", + "exclude_configs": [], + "flaky": false, + "language": "c++", + "name": "json_run_localhost", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "shortname": "json_run_localhost:generic_async_streaming_qps_unconstrained_secure" + }, + { + "args": [ + "--scenario_json", + "'{\"name\": \"generic_async_streaming_qps_one_server_core_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}}, \"num_clients\": 0}'" + ], + "boringssl": true, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1000.0, + "defaults": "boringssl", + "exclude_configs": [], + "flaky": false, + "language": "c++", + "name": "json_run_localhost", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "shortname": "json_run_localhost:generic_async_streaming_qps_one_server_core_secure" + }, + { + "args": [ + "--scenario_json", + "'{\"name\": \"protobuf_async_qps_unconstrained_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 4, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}}, \"num_clients\": 0}'" + ], + "boringssl": true, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1000.0, + "defaults": "boringssl", + "exclude_configs": [], + "flaky": false, + "language": "c++", + "name": "json_run_localhost", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "shortname": "json_run_localhost:protobuf_async_qps_unconstrained_secure" + }, + { + "args": [ + "--scenario_json", + "'{\"name\": \"single_channel_throughput_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 4, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 65536, \"req_size\": 65536}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 65536, \"req_size\": 65536}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}}, \"num_clients\": 1}'" + ], + "boringssl": true, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1000.0, + "defaults": "boringssl", + "exclude_configs": [], + "flaky": false, + "language": "c++", + "name": "json_run_localhost", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "shortname": "json_run_localhost:single_channel_throughput_secure" + }, + { + "args": [ + "--scenario_json", + "'{\"name\": \"protobuf_async_ping_pong_secure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 4, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}}, \"num_clients\": 1}'" + ], + "boringssl": true, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1000.0, + "defaults": "boringssl", + "exclude_configs": [], + "flaky": false, + "language": "c++", + "name": "json_run_localhost", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "shortname": "json_run_localhost:protobuf_async_ping_pong_secure" + }, + { + "args": [ + "--scenario_json", + "'{\"name\": \"generic_async_streaming_ping_pong_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 4, \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}}, \"num_clients\": 1}'" + ], + "boringssl": true, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1000.0, + "defaults": "boringssl", + "exclude_configs": [], + "flaky": false, + "language": "c++", + "name": "json_run_localhost", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "shortname": "json_run_localhost:generic_async_streaming_ping_pong_insecure" + }, + { + "args": [ + "--scenario_json", + "'{\"name\": \"generic_async_streaming_qps_unconstrained_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 4, \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}}, \"num_clients\": 0}'" + ], + "boringssl": true, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1000.0, + "defaults": "boringssl", + "exclude_configs": [], + "flaky": false, + "language": "c++", + "name": "json_run_localhost", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "shortname": "json_run_localhost:generic_async_streaming_qps_unconstrained_insecure" + }, + { + "args": [ + "--scenario_json", + "'{\"name\": \"generic_async_streaming_qps_one_server_core_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 1, \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}}, \"num_clients\": 0}'" + ], + "boringssl": true, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1000.0, + "defaults": "boringssl", + "exclude_configs": [], + "flaky": false, + "language": "c++", + "name": "json_run_localhost", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "shortname": "json_run_localhost:generic_async_streaming_qps_one_server_core_insecure" + }, + { + "args": [ + "--scenario_json", + "'{\"name\": \"protobuf_async_qps_unconstrained_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 4, \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 64, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 100, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}}, \"num_clients\": 0}'" + ], + "boringssl": true, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1000.0, + "defaults": "boringssl", + "exclude_configs": [], + "flaky": false, + "language": "c++", + "name": "json_run_localhost", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "shortname": "json_run_localhost:protobuf_async_qps_unconstrained_insecure" + }, + { + "args": [ + "--scenario_json", + "'{\"name\": \"single_channel_throughput_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 4, \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 65536, \"req_size\": 65536}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"bytebuf_params\": {\"resp_size\": 65536, \"req_size\": 65536}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}}, \"num_clients\": 1}'" + ], + "boringssl": true, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1000.0, + "defaults": "boringssl", + "exclude_configs": [], + "flaky": false, + "language": "c++", + "name": "json_run_localhost", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "shortname": "json_run_localhost:single_channel_throughput_insecure" + }, + { + "args": [ + "--scenario_json", + "'{\"name\": \"protobuf_async_ping_pong_insecure\", \"warmup_seconds\": 5, \"benchmark_seconds\": 30, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 1, \"core_limit\": 4, \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"server_type\": \"ASYNC_GENERIC_SERVER\"}, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 0, \"req_size\": 0}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"STREAMING\", \"load_params\": {\"closed_loop\": {}}}, \"num_clients\": 1}'" + ], + "boringssl": true, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1000.0, + "defaults": "boringssl", + "exclude_configs": [], + "flaky": false, + "language": "c++", + "name": "json_run_localhost", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "shortname": "json_run_localhost:protobuf_async_ping_pong_insecure" + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0141fcddc9807ee093313b2256f1306fbbdc6cda" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0255050a9ccb25f46d6c1bf6a5a8a4c0c7635599" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0320a995a8c76c64c8a0e0297f632b76d9bc92d6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/042091aeac4cc255506b96fa11c7354e699fde76" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0696e7bf7837d98de01c915d3c9d80e5d21b30d2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/06995c2f3f01c7ec50547415dc324c64030b7a3e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/06f7ce769fe07804fc842462d4be8c1aa2ba82c2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0781b055c85ab8fbd0a3d0080a32e394af8761c4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/080e1f19e6061c5bcac31add2095f87f6ce46129" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0828169ba82152a8907f1001e3d98804397d4610" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/08ffc4a4160e9fe6f322c28870a89a41fd9c37d7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/090a7a758898a6e7c9108b7e8a1cb9cda383e707" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0940663729501b750a18542e1041cc26385c6148" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0a10bd140c6c5fb109a0816ca061739688a6db9a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0a4d3fda02cdcb7adad1daa80d65780c9c8d1464" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0ad812832efa33e086874fbf3496664d3f1b4dbe" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0c9996d4fef87bacd7a001e99a515b3ba3d5788f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0d6210208831fe55951af56cdeee3d54a91a5361" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0d784965b2262df7ed7a1eb57b92a718cc76bde8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0dc9e41eedf35ccedf4e2b0d230ead7c4d72fdb2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0dd470c8939ed535de6b36f7b7bfb68aeace493e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0e61e471fa6d3405daef4276ee00cf5fc189f378" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/0e9196f951874edbb5ed098739ea5c8b6c0751c2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/11442d93a554b9e7f9ab02782bbf9443bf6e1ddc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/11833b795d04eda5a3af56ef7b3c3a26a8ee3444" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/141272316382b0f3e9ec841c735b84e7aa517c3e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/15ae43369798e48c396dfe7d53a21878b96e66c8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/166bf1843c229d34a2880d234dd166c27bdc11fd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/179e8ac763b4051a953a38b6b3b1f1e1f6cc6c9e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/17faf0ba8a491a835d35977a9007b90ab7d30d2a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/188f6cf2470e95b228341de305ef839b27f01a5c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/1ab3e52adace335d02e2b5130eb4f7c918add7fd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/1b5150514364e2c17f5a4edac1b7af99b936f55a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/1e8befb98cbaba059d6771abd1680e19484e7723" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/1e9b962969c359bc2ff766704c8ca8e25f5eccfc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/1f80af104acf41b912bf4a48fb938267e3718719" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/1fcc4afd6f48e83d61ea74970df3ca9dcd8ec291" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/213a734ccdb813b18ad9f2dd99b7f9967ee1460b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/2151945f43991c27e123c45dc72b93752a47e65f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/21545d998c27a5a1572a89a552937752432b1c14" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/23c7443fa1ab713e7c34ec50222b1b8cceaedc65" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/2445bb2c6779712dc9e14c01fecb7103f8732858" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/244b0a20500e31d3c538418800db816b07f4d210" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/2461b9fa6b5bc4b6424dec5b9a18d4ec7c309112" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/24ec2f3e17d3850564788f3fed17a5c586c44658" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/2537b8d6b902b8dfc6e17f194cf7d05ddecf74cf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/253ad01acea4b7038edc3f2a8c4a0c0f5c4dcd05" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/256d0bbdbed22f5867a6f503bf082011e61ee12b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/26f0e88adbd8f8cdf778131a35b33ecf8711fa49" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/2e5dd8fb9d2a31fad9d681eda697d085b647b57c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/2fdfd2abf30c636ec8c841f1ac26594e25664f0f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/311dac5092e36134d3490f98aa4207425e0ee941" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/320fe6224a5b691c0425e34b6b14e8c6fe9f9620" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3255f1c7441a7150dc3c33022bfbe8c956c7b7b1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/33bc9db104eb72891fb096f34cbac191b3f9918d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/342ff1db70a7616b4ef76c03a42802c6702c18cb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/344c011df992ccfc0ec682c14a1cb2d7959998c7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/35775efb9d0d68fa07987b9a84934389b528e436" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3650168db6fe115fb1e73eed4b76cd224d977d01" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/38228bf98cdb50fd3fa830ba5a9d4c7399063dff" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/38717bee901151b22a10beb12c6623ccc844d3c2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3a4bb427a85bdc5bf66ac71db073c99e0dc9f881" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3ab48621d9b8f075369099a8ec7517bd23fd6e70" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3aec8d9311130dfbb6584fe6e619579c21992b5f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3b14837f22905dcb04f93aed2aa69bf95924fb9d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3be63c163805927e04fd7f84d96122c48240e601" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3bf2e349747c0f539181e0d4084a5fe506811a9e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3c5af4d73e94d0e8ad5666b6acb340f929031e95" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3d2b25346a9671d83bd082d170a45eed739bae6b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3de7b860c3fba2bc55707fd6875dce276f2f249b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3e2004ff9f40e398e0f41138a25a8b66e3d843d9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/3f8983e457033cc85997c356935ba9c21460e86b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/4105669086d83a20f8d991088553ba08202478cd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/4180619316eef7912d1cf52ffe85897242e1ae88" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/420291d7139d9246de747739fd98102434a742dd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/4256437fc5897c0cd5d755816e4e68c7be326849" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/42b25a5413c536478a3e63da5adef4250babf2f4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/42bef44ae751a45c671d9da5b1231d2ac747a48d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/438c3c9045c3cf7910aceec34f77b47a70ca4abd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/43af96b4f65ed0ace7236427f2f8833c4835989e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/44c6119bb91a452d6128ce0ea0d62938800779ea" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/46d595331689ae01d77aff387747a98ff3480096" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/471a307b81dc37459087d41532741c5c9d7ba836" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/48900b4a5557530922ce45c15ad0d3b0a337520d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/48bcce2c6487b18706ef0c609ca39c456215bac8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/49027bbd3f3f3cafa315843c8fe8280f86985273" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/499376c5e291da2f9c25999abf4960fab5a92ec8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/4a3b7ce0cdf217963a0b692769e5d6f4befe73b8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/4a3fdb96bc8c80f1992f0f72f963f84856cbade8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/4aae80e05793d7adb42a7e6e8a5283b677318777" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/4c7a034d3a3b4f29d99caf021a0e9bbb89706c2e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/4ce8a43fb17a075627160812ad26c25210d8a82d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/5032a75a98cd14d4dab75c1c5e2cd981abb19dcf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/50b3f4b6aed97f442496d27f3b4315a18ba76d5f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/51064b88a98658d48a0da7f1545c2d1293ad9538" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/51752f12d59fadaaa0dc72e6370612b84ee1555b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/51eff6fcbfe1a51ceb3f5f2140c01eea89b4313d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/51f65f681cf3a1218d83ad58642c06deaea86210" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/521809903d36db80b1ccd707f354361f2bf05075" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/52fe8f0e1fa270ea16f66c93f2ffab265ce059e8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/53de87ae94acdc8e58a369459c12a3240f1294fe" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/54a2b3993c3483745f6314c870a038a8e58f97a7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/55d60c2e5040a38be8ca41de63e137e3fef892a4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/5653c44a5b520bdf2bdc599b7966f1d7c44950b3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/5838b5a683229ebb6e6277e2810863e642b8afc2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/588d225784891ac88e30ac6eb5651d63fac34083" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/58d51c21a20b6549567a0ab8fee29d162dd3fc5a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/58f1036d8ff855841ec25b3c33e85a8fec0d94b7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/5a99df42fb7bbafa2d55714ee235b1c46776b2ad" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/5b42793550699b2c015bed677cfcddc052f73513" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/5b8ca72ba00231c38b19f582127e6a146eba4282" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/5baa13dc95da05e7ba02bbe9583ea24517a29a1a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/5bab61eb53176449e25c2c82f172b82cb13ffb9d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/5c6f6b6f7f3e7b435f060abb73c20d2b773a7f56" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/5c9fd9cc7100feaeead1e0e45201945a6e76fd85" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/5ff49c9edc7361797a951585f3e180222c8dd95d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/6129954942e26c2a9ec071b6659675745613cf3c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/61fa69b6b51b0ed91914fe48779173f8d26a1d54" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/6362ac61cfb6e964aff78f3cd648475dfd5fd4e9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/644deba51c79b6ebd470bd4367452941045d112a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/64beae98e2276749b133e6368c9e0f19a79eba96" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/64d7add9192301fd878854dc96f9fa9053f03992" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/65566df65e8f55428b6672cc351df414fa8f936c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/65bb703af35d5afb824cd68c41d7a1aeb3848d35" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/66c537bf59cb3667c037b3517be3d31245c9da8a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/66f576baeb0c9435a56eb7375dadc5b5d630ed87" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/67b4cec5183659aeae0f5bc71b3adf0542a11828" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/68c94721eda2f62481bff9f1d183df70498d0c5b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/68ee8169a65d58edb9fc1c752ea81dfec383203c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/6b203d49bbba6ee74def0d35c2266e06ad3c45d9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/6d580f28d785c0bf87ac351a31a89289449feadb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/6f231dec759eb2105e09263d53e171de19a92c74" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/70ff6621a09e4f641538cb1b27e8b382b2f56a94" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/71981b55f27a1eb6274eda247048fa2c597f5004" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/71c2b0bebf7f0e916e4ab7eb36d47ccca2b9101c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/74610e278a5b90aa12ce1beaf222c4306b02ed43" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/748ee9817eba56ec9938601a0e380c74bad4563f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/7727e3eeb2a48c46bf5a678c300ff8a38b8ffe3a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/78176d80c1d74c4b1b820d386ae483ac4d1d92b7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/789abb571563a6795220046f76b7cf0ade90743c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/78f5ff40e5554aa9c31b45f79a7ae9699f93e7fd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/7a28fc2e9c72d51d29e87eed63ed405c9779b5e1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/7a42083be21dce7f96edef1f3b3b2fea0bcaeb3f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/7a51275b11ecb1efec9251390531681c8d6f2481" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/7b9682cd7a3984698f6eac034c59c0f91b4fb83d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/7ba7239a29d6183960e3986abc8f19cfb548b905" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/7d3b3d5f23d0ede9f7e5dbd1115db58c8a54a213" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/7ff3b6239b04479a9caf67f45b2d0c619f712815" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8035c81c95dedfc27c3649064f98f49e3e72c21f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/804e1052842ce4d44b9c775ade2b18fcb8ce7bcf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/80514b85933ea9bdd3462595f949c5af24409b87" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8057c32b8bd28a5ec2105d62f2abe8cf69c9f5fc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/806a3bd4e078d91adeacedfd3e47ef8ae229244a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8090444f98218e65ff9594789ff22bbea3c0497c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/80e516692955d5f224706f268e247858858e16d8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/810a1372fa97380265f5529c5043ae96f007f5bb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8127597d3c146b2a89579e44daef9d03a0f941ec" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/82ed571f8922caa572d13b4cc9b5c5fabafaade9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8328e86178800f87a3bf6f80749984f45b0cd0e8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/84441efd7d8bdb0ce2fac28f218d3d5d4d77f1d4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/84cbf70f45a64d5a01d1c96367b6d6160134f1ad" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/85eb0f4502a51e646dab4ae08eabd90613cdf8e1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/86080f33e4eae21b37863c253ce61eaa13021a97" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/862e3ccf601ee0f7fbd8b23e6811fd50485a118f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/86bae059b18af8ae263e5ae0022b67da0cfc0fbe" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/870f9cc4bd89c6c04c6a51ceae1efa8634627cd6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8762a523cdb78d2344d553fa52a229bd63c44e51" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/894211571f9153c3c2ea4102541dac69be8aaa9c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/894e9b7832c52acb04bfa994ef53c7105d8db206" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8b0e12978b8e2eecf62346e438e47d0993845693" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8b3fa0bd4f289eff6a04a5205e04baaeafbdf637" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8d1deedd1e463f8c95129a6f839c380a7c83ab04" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8d1e029bd72381e382c87e61b4c5a9741d80d644" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8dd1983889b6632228d4897c365a1e6124d101e1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8dfc2183691385432f92957cff0b2538e5a0ebfa" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8eb9b86b4f0aa79b8ef84b44e1fb03094e7bb426" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8ec540c36da3814e93da765bf2ff0825b59c1bd0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8f1bec32f4b8e64062f5405a096543e61d771076" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8f3e48c49d0794909f6e8e61e5a4312edf484c33" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/8fbbf3c0eaa25b64d0a97a8ee08006539e649199" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/907d0021d42d0fdc867fd02d3609cdce13c8a055" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/919511c217a3427c22cad4a71aae31a6cd47b193" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/9267c81c3283da8193c198de05e05fa30631a453" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/92e80997a4237d76f10b70dae2870b7255c97435" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/935322db76f5d4c74c2dc68fc4631915b8e24323" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/939f2627ef6263d0176566de267ff3eb910e6a60" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/94adea6a0d9a44bee6f5e88adcee57be9e9e3597" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/94dcbe0d3352bd9b230096b8dce9c6d8d63f9d51" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/95dad738f60e3e5eb0f1cdafd91ad461f4418e8f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/960c0a21c9e5c1a61b93b34da3189b0de1c264df" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/96903512b1f1dec08206123f024b62d0e31cd4dc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/96a89c005e8d9992e34cc149b0be096ad0051446" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/97db8a66dd513eea47a5a25115508f4e59984854" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/98f2cb84ad89550cf56ee54e11f1448ae7287247" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/993497422a59b7f9f0f6db8c867339b5c9e4c978" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/999821e3750a7f2c9db663d2d100b4404c225040" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/99b2ed83be40cab431d1940e8de2dc3ebfe9352f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/99e888b7372b29256dbefd476855ff73584cc00f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/9b18087deb3cfafa1b964aa65d8ee980bc61404e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/9b3c745ea3e313909a228a07b49aae110b02ae4a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/9be1ce0ba77758928ff5e9c45139b1624cbe9c2d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/9c703141efd69eb8f32a58133c8035fb585e0f4c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/9c7f77981677499f0426a0ffb5cb79d5fe55dcb2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/9ca59e6cadaa5be9af30dfe5620d1bcd70f442e5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/9d139835d91474e8d8361d65698a31b8b38c4f7b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/9e2179564a99e96e179c96f28802a0a2759b581c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/9e56bb3b68d2e2617cb2d2f0f3941f7fc832e462" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/9f318b2c2ff9cf4615bd06ba13bdd086b4ad08c6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/9f8d90b1480989fc46ea2f1c66cf687638994587" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/a09db5715f0bc3879a0e18e4db5a6b5640b254a3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/a0c59a090818bca29d76ccf9843f7e2faf330ddf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/a1cf10478e5e01a0d951c743a3dd45aa5fc409f2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/a22c0f03f8c005a4612a9dcbcd6a643334c35d2f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/a3154b8ed26b3461f2b091c732da00b63ce8bed3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/a84a1ed1a24e753a27adfd3ba806f06fc44f899f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/a871e7ce66afd4f57702cd1299de06cd08995561" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/a8dc736ea964586b7dcbf2bc065ec4675d1daba3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/a91a835836c72217824f0b63491d9b623130502a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ab97c1f6033dc7d96f69b9e1461fd594c16f4ebf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ac8a8c23acd8c290a11dc7828f7f397957fa6400" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ac94b2788f5252f9e2e8502c7c75e04bef4c0b76" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ad03b4f58470c43db6593a35be48989486d754f9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/af417c83e831a96fda1bdde99a1af6509ef2df3d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/affd292cd2ce3306b4651cc7ec0ec0524cbbae3d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/b0587e6e319f4b56d877e7ed46bc7da9b1e7249c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/b166aa66b5b3ad178bc38aee5768226c8adc082f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/b1ade0571262c6e5f1d72f6d25ebb513d2055bc9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/b244c690157ff21d073940ef8c77d1898f37cf8e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/b523091ee4f17d20f51f9b5cf82293465cf61780" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/b7d4d49ac2c530eb8444a449feb689ee50fd210d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/b855c161121bfa29c6fb22d3c0236fae4af6984e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/bcaa71abf23b2e5130e0cc464755fe769bf4aaa7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/bcf4684ce097faa7e9d99b6e93cc2de24f57aee3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/bdca6504d2ee7925f62e176355bb481344772075" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/beb208fd8675ba7de2ecb12998d2d628d579ca7c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/bf0c98689ab81fc32787023300caf9a4175583dc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/bf479e97b39b697e715663de6a1e78dd58d64122" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/bf826c96be94d1b42eea0666f7239cc5f699a375" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c17650d19ae4a48abb36739c83d8979453f5705f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c1e5307d88feda2c3b15fc221cba92bcf41622bf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c249f408c552a0408eab3fe1d1cbeca95cd537c1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c26b460aebc9082c519539069f7e060042989696" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c2eae71daad0d3561ab4d09b8b85372b8d790bc1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c37fda8d02e99132a1de99f959596c784ab8a53c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c4836760377a7091fb20f4afa9c712875792b9a7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c48caad597176404f776d532d4baf9faf7655ee2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c4eff0f59986fc5ab09d5bd95f394292f2882659" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c5fc2086d167c8c3a7d9ec778db69c5fa14a59fe" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c600877ce547166eb1b9d83afbe128d98767f8a3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c6a98fdaf6de78e59e1a149a43f3e42222d650b7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c8d22f7fb4f37f2d8cc7953fa2d599d38d899aec" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c90951c19b24bac84296e3ec32cdeafe99e99cfb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/c95ff2a172626efb50e94aa6781feba609820076" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ca6c557afb9c571de62e9b65ca6469a6133760da" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/cb2d0fb23f66c968af2e80d59f71d4c1aed96fbd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/cc60a642cc2037ad3c459a57381b8f65d8d7aa35" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ccd3b8aa26c52f6d9c607c26ebdf621142aff745" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ccdfd1354997eb117bd76b75440a7e4ff20bf564" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/cd7a7b8f08c189e95ae3e2ea44b9015000e823f3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ce05678d812a5f8ae8e115938410116ce9169456" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ce6b642b81373f05baa2a6fe6e9d5d1387046285" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/cf84d06e4dddb997a79a41f9b6122bf620bbdb4b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/cfbcc3e8cd65aa8b654688145ade34b8789468a6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/d000502f32ca5620d7745f39ff6be3b547e26a6d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/d131f83ee73450ff45565d0c638be7d8beeb30d9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/d1c7ae01a81a122c2fd7c5d8debcae7566e9ee2f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/d2817b89d7aaa7fa880c077b1a67168ec2f4f0f7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/d3ccd7039dd34baef465c4b78baa7a30312a8f07" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/d4cfaf3b59b22b654d7af80ee6715ce5015bfdc0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/d5670827c8e8d4c95ac0f738c0790c19916c0336" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/d59d7e94863f1ed89cacfbaabf7bc59946036c8f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/d76d0c7f24ae3cc3f530d5306b8dcc15290c7ff2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/d8b15e9e555ad9900ba4be8cc9f87bef75725b24" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/d9748abd540810c2449c3dd39a0ebb62754e520f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/da9fc821f0c1e00728b139b36269bc3d21c0a8cc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/dcd1bd94ad97b4e67fd7e12ff1bf7c039eb17f66" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/dd3ba9b139e13324fc76cd62af84b00ca8b87205" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/de0a9dce0ea4e4bfdcb13f788ae728bf979fed25" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/deb6f9a930d9b31586ede19fd8fd3caae0e5b1f2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/dee95e0280b70681eddfb68e3b418126c5661e18" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/df01203edfa2dfe9e108ddde786ae48235624fef" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/df0adbe2523508e9afb42a58d98c2657710d6033" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e05fcba1b22f658c8bd6f3c330b2b3c9faebf977" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e145caa75d73e3d819a9cb4b6217f1f53112f3f8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e1d86c0094657386197d191855b5645ac1dd5936" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e25adf8de44f5978d00b7e8c52aee89c5cd1fe93" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e29f05162e3d96d5549f96aa4a54c868535b2847" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e3a970ac8636d29da3ded328b876ed3550cb3209" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e3cfdc862187b4ec28bd4fb2ced5094bb5b09909" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e4ce52007d001806fc9368b62c124dfc56e8471c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e52173f0bc3325629046e85e2dc41acc6ba7d1c3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e6589006e3bda4c57247ad66fcd73ac00ee2cbe2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e6fab7572fb2a1c6e107b6f83cffd103a233d021" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e790f5d312957dbfd20abdefe4b1735779ff9689" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e8809017a4cf6c1e80a93f661166ead961f26bb4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/e9733e973c33b38c2087b7f1deb36688b3b14259" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ea8134769855d574f6673bf0301eb2e24632c6eb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/eb489536e4e5589a93a17cd36669475b8f2a5e1b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/eb48ebd4d01e5623dd16ae61938b3333fab3ce78" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/eb6ca7624384239c7f7e0d83edb7cc334b7926d7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ec9457ad41ed745ea9377ffdb16ad09f981daa7f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/edff5256a2d60d0e51caef25dc1d6f1643dad6d5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ee4d9c5d22512da42726f47213ff56404d1d81d1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/eef2f30b5e2ecd98ebefb12d57aba8b4ad52d904" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ef23911de1a27d03d2d4983ca1527e17d6a7092b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ef5b7fc62a2daecf1e8f928b1fa3ebd028413a41" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ef718258ca1870198e91a2fbc1eaa90b620673fb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/efb46deb37a78f41dd760f6b7203b20956eb114e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/efdd6824bd2456e3e408e0e84369c4fa3aa14f41" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/efec040a5de1969df5e37e4bc50a0a8f0de341d8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/f1e30464c24dc1d7cec7ec1dd2adec8512232b43" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/f27a617b936814476770a3b31a5afb80d0f3b423" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/f3f0d99ac2962f8fddb25c65fb4c8c6eb63518a9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/f4628084cf46f139babb886a782b4ab5977d5d2e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/f4753e8881e4b3c71f2728149be7d04cc648f6a6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/f4d6ff635ae4fda497221da4bfa3e593df59a44e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/f52f4d51aaaed0f9c3a20936cf5efd25d0692f67" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/f7cf30724ab740918eee6e4a6b6658ae3d7706e8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/f823828ffd2a60efee36f1de52cb0f024ac5b4bb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/f8760761bd5ab7b47376bfbc5a44e16b2d5ca800" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/fb15042c268625089ef6c8aa3d8a6f12d1d02c74" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/fc3dd4292d6884a770199596f5e9cbc1e869e5fb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/fd34ec90fe8f9218fd25c3eac151aec998cff6d8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/fdf548cde981fab4fb17bd63a124b75eddc5c836" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/fe47fb18b064e26479c3c3140082bd01065e897a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ff2097734bd7bb8451aece13c9336c4624735170" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ff2c949863eb4e14d9e835c51591304403d91b6c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/transport/chttp2/hpack_parser_corpus/ff7d6ff060e63355701b2e655c802902338497de" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "hpack_parser_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/0299ca2580e4398d170c4a336e0c33eb2cd9d427" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/05e613853d64a9669ea3cf41b0de777dc24931ba" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/069352518a1d1baa05f317c677d275cefda2ac97" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/0925527c9358b1e10ec0f0387cd99f35204d9a34" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/0c5b7c2569410b526605e308309a7f36574e530d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/0ef3d0a84360bb5ad66274f1226f5cb273ecdbcf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/1e1273f90187fdf5df3625764245610f86af6aa4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/1fbc57d118f3733287e9a9d808bb8947b3260e55" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/24756c396bc72894fd720092bb6f9c03e66b469f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/276def41311933421ae7a9ee42e906c85b6a4d3f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/29daa75432381937fd005cb25e314e328de6e9f9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/2a75204bc492084ad853682f8de3fb137d5907bc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/2d34ba249b755a880525cf53c665633a5e359305" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/33f4ea0c7ea27c37d8f95cfa64d282370efdafd2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/35554617ea6418bd43161fe9a2c337ed82d7ec5b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/35f0c561297cfc840ddaeebb9fc61091f4eadece" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/3787bcc22ef645e665cc5f722b8a633af86de9cf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/3953688866ccb3b4f371f1a858570d6afdb6452d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/39b19c41ba537f37511eff7727733715db432e76" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/3e3c4756d5e40b5aa250954cbac86b826e70a7ac" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/3f03265921120c6ffa61b944e213e062a5538d4b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/3fb034e66ee5494a67acae1b4e6ff64ba92a2046" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/466059ed07a0d55d6ad5e522c7d367cbf278eaf9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/487725eb38511c79a9340bf4560a1411061fa6fa" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/48b9b205cae8ac21512a3f26f49fd53e21ee13c5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/4b1f1f79a0bfa3f942479dd5f8edb59a7c257c55" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/5028c56a5116a186b7343ff59567b47347a0796d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/533f62b3f495ce704babf3ee8d840f196a714dff" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/5892cbb284771fc9761caae37b19cd6e27dbc104" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/5aeab6e4f7c2a1c09d4ac0dbdb3beac4893607ee" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/5b6292bdf009b0daecbc90b85cca30a88c36eec5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/5c1659b77678b41faa4fa13df7772dae3238d1c0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/5c81f61621e29ec9c6a64ac3af9b3b216141618e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/657368df512ca6294b9df16adf935a3f374a8be2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/7fc4520094902ce2c760d70eaad5b674d2817337" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/81f59a12b458ec3604035cb962165c604d1355e6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/8f41c50e88ee8c17ecad3d41d63d38fb12aca0b9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/97c16de7fe3c390a2e6c09ff5c28f17d5c67542c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/97e4499d450c95660de86747f527e670f2012548" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/9a996857196e0998a1278994a9bab3d35526e7f1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/9b7e00049ec356ecd84b1747e4e1941140139ae8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/9f0c38ec455cc363369b3674a2d32bc21c206de1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/a1dc7bc235e46eb21d91084d7b52d5ff9f45df85" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/aa3bbb876eafa8ad8ca4ff2eabc6dd94341d2441" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/ae8ba95d7dbe99926a8f5bfd80347fd6a4b616a0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/b04fea5c041c707db0ad9c09a81672557b52cc47" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/c4acff8aa2ff886f35439f72625d05002990c940" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/c55ce9995b002e88a102ae2891a71e8bacb346c8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/ca5a0c00b8969310acb73d15ad0d0c602f1bd0c2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/cce734f1b263de6994f7950e0df7bf0c81449f70" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/d39c8ee11a697634a09b309460c0bbd967e7effa" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/d4c3e4cf5d035596433c30eaabbd2b2925f4b453" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/d51f7fcc089f269c7afecaaca51966bab5fde629" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/d936dad71c129cf659097dc3db64550c4dd467f4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/e275b0466a8fb8d9e0e15856e343ddc7112ae66b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/e5c364b205855a2991ce07482aebb2a3a6147089" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/ee2077e08c3cfccd9bd82adb574ac4fc7d429afb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/fc5d4b9117ba9e87388174aee4f4970bdfe8d066" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/fdeb2c7daa9e7704f67e141106384e6dd0042c0b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/request1.txt" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/request2.txt" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/request3.txt" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/request4.txt" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/request5.txt" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/response1.txt" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/response2.txt" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/response3.txt" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/response4.txt" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/response5.txt" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/response6.txt" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/http/corpus/toolong.txt" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "http_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/006d552e952c42b5340baaeb85c2cb80c81e78dd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/007eb985c44b6089a34995a7d9ebf349f1c2bf18" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/03b74a08f23734691512cb12d0b38d189a8df905" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/0495693af07325fb0d52eafd2d4c4d802c6457c6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/05454ab015cf74e9c3e8574d995517e05dd56751" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/0716d9708d321ffb6a00818614779e779925365c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/0a9b3522a8e711e3bd53e2c2eb9d28b34a003acc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/0ade7c2cf97f75d009975f4d720d1fa6c19f4897" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/0b1fcf0ac07e1e50cfe27316c7e1c8cc997f1318" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/0bc13548356d08009703d35e9c8d74397367bdfb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/0ea9a160c57f2c705dce037196e360bf9be739c5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/0f20d9c46991c0e97419e2cca07c7389f1d6bdf8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/0f2e2e6346f70c419300b661251754d50f7ca8ea" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/108b310facc1a193833fc2971fd83081f775ea0c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/108e5bcd69b19ad0df743641085163b84f376fe8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/10e3ecd5624465020fdf0662a67e0f0885536cae" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/113c8c97cbb0a2b6176d75eaa9ac9baaa7ccddcc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/11479d936dd006410a5946b6081a94d573bf8efd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/11aa091189b78d1cc35c7ff4907ac16a73aba547" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/1227907b2ee5a9492a890beed55332e4560834c8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/134d65130947ec69cf8df8483424b45e99cf04e3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/13584505caa892d94982a968bbc4391ebcfe0d06" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/137f554ee0f6b903acb81ab4e1f98c11fe92b008" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/1401ea03ec78b8f20dc7be952555004d7147f0f5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/141d45a59b073aeec4443cd7bcf20f7833ddbc95" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/15a8f2e7f94aa00b46f1b991416aa015dd633580" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/15c9c1284c27c8893559e15c9b2a50cbd5bbb56f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/15d1a6cda48ef569b368a0c4627435bc2c80a988" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/17a29f2ac6df774585d7713091b299729738030c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/17b815f1f72cb64481bc40263e91ce063040f739" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/182d57403d2c973a394055017d35b7621aa0aa05" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/190fbe2da448f6bdec0706c5301ad13363ae3ad9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/1b045a24b8f1f1fd6e8234d5019952ee7713a8b7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/1b6453892473a467d07372d45eb05abc2031647a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/1c6463aa2dabcb4fadc8e5441d8b418535e768af" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/1dea95b5050b766274ef80847505c0e4f47f3ebb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/1df0754d3e7970b3afe549b11ca128dcd0d4832b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/1dfe267b623b20cd97c6e8969d8b9148af9f4a2c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/1e5c2f367f02e47a8c160cda1cd9d91decbac441" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/20efdba13ca7a3657d071b3d56997aa3b083068a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/215a956168f77421253e947c2436371d56aa7ea1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2174b9ab6bf4f7c21fe1ed56957f1776ef611959" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/232f4bced4075545bb1469d5c2360f083ec7ec65" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/26aca41ee8f199e7c0c7cf31d979952571c53fc9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/27d84210636e9e83786be9e9b96b69f70b743b86" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/27da426a5883662d19ea78f306d7a992be52f827" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/296dcda6f7e6979e68ddef7cbc1206a355084ad3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/29b08c03ca5a6851fa4604a984cb7ff44433a5a5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2a3d964ec4527ad9f02129fcbf087b67a6ea6444" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2b04974149815b143afb17af4388d751217e54ec" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2b3b1ad952e3acb566e32a84e2d503acde13eb53" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2cc301a6ed7f01e2cd339f02bd0fda20c227a17e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2d3d5b9275553430b4cfa68114099120ad7809ee" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2d5dbf403e0c12e2fe21b04ca3daff171c028ab7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2d7c769bed62004270034b976b1d940a5686106b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2db120231eea12d9cdc6a00f30839b3cef2046be" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2db610e1a230409a205cf22fbad3348a54cbe703" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2df1dd2e2f5d57e7d9d4e60a756a86e603573225" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2e32faacd3ea4461ec7aace297b4be6904d9a389" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2e756d91759d7e74f5b776c0d2a1935292f576d1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/2f09b24f9f5fa0af2c29b604b4b0f97fa6163895" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/3027d901361162b38fcaf17f97ba7d9646e32495" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/30d4467ecb771ece9ed6c78a46adc299072d9db9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/311048bbf4c4bbabcde73607d7e76915cee9312e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/323b48969d7bf9a50aacf0912f1b5cb02119e2ab" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/33400a242baeb5c46ddb1578c28b10d32a9c3cd3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/356a192b7913b04c54574d18c28d46e6395428ab" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/35e995c107a71caeb833bb3b79f9f54781b33fa1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/373769c15c145472c8ec3bdde8fc84e85ec79211" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/3795d911970a1fd8416b93649051b418948e3edf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/37d3333e1e2a384c3ba14a52682ca29f061d1ac7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/38cd33bb390445e35b6514024b1317902cb7ba1b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/3a90c688f44447a78efc111872b061a001f04d2b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/3b1e7b56ad4465d126ea994d34d20dcecbb3a50a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/3c0a8d6c31edaca124714624eb64cb8ec0cbab13" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/3cc0c9adcf3882f01409c70391c3cd30588ef34c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/3d0d9878b812ce4634962ba3dd755c0953550200" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/3d4d5887a2fcdc5dd360b8a6f89dbce6500d8580" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/3efb5b7ff94c5b9d411c93da9a70e1cc547f4c59" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/421b7e8ea86e3c07474af16ab3ccef55d1857205" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/428d051e437dd260f2a2f7ed920d9734ca34dc90" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/42adc281578ffb1b8684b78b47aa40a16d10b6e7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/43620ecd2e2fd58fe5650da2e9783f980f29ec07" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/43b1ffcda49477adb1632822202631990ed3a269" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/45279f85bf2f533a629073caf89403006279fab2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/455d9bb597f08bf698454157ecd86647b5dec4e0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/4561eb5c7e43cae048c06aaaad3d5f5218b376e9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/46417b001eeb87c32b642499fd5e1690d5d88c7f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/468af040024e96e9878ef33cc52755c5e7f5cbd5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/469e5ed2547e9e55a96e96eb832c615631e3b576" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/472b07b9fcf2c2451e8781e944bf5f77cd8457c8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/486da8aff04083c5e0fe112e733f2ae510e312a1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/488a5ed641e340ae51992e04ce6590bdec587218" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/4a0a19218e082a343a1b17e5333409af9d98f0f5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/4a6644a1a3d5218f4bbd60220cab79c0b7bef45e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/4b39d4b8a9a04b9469e8fe4016322327fe540882" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/4bb0294e14946fb1f64213384097a676d3ef94f0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/4cd66dfabbd964f8c6c4414b07cdb45dae692e19" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/4d134bc072212ace2df385dae143139da74ec0ef" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/4efa35221b2088e785048d0ff8fd99b03d5316fc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/4fa2a4a5a2f7dc4ddbdecae3ee85c787817b4cf8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/4fed4bf2dc6259d9de54e9fa7db4fd5a61f2535e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/4ff800de0863adb5851fa26935159aa53b11cba7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/4ff99a030518a132748c44bc1d836018e5b82cd0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/531c87b9772e54e3e183ef729f0a7d5a0d584f46" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/534d66e7b0709d1e7692faae9e7f7299c92bba4b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/548775f9d7d13339dba3001f8238b84e9a457533" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/54ec3b2d8a9b7a6d8204712eb1b90da703cf8a79" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/552cfe1d8958e6d003ec8e883c4983dd67ef255e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/55f0c61d096a08506076489ded3b868db4086770" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/56cd60743c2cee939f5f357905bd36ec9363f441" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/56e5f35e3d08b4e17e3558cacddf9e5ed13a0159" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/580b03c49fba02bb8e399500eb66f2ff0482b22a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5852643fbbcf92b0181327b69b4874c6ba6fa9f4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/58f497e5efaf9f69080f9eef63b0b9dabcfdbc0d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/59129aacfb6cebbe2c52f30ef3424209f7252e82" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/598a287a3e56caae23ed63abc95d5f3457165eef" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5a37a26dd2482226f534f79d321d28e7a615ab72" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5a710dcd4c78ca1a74ceb9fbfb011f7ac86a5f7b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5ae7b87f5377d5ffc16fd3f69b4a4aa7be8b1184" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5b3fe86d5a309a6ba745881bd220fe1100b271ce" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5c38b7da113ab4535dbc22777ce8a1480c1c9d1e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5ca6c45a8d2e11c782806df43e7668beb4aba8f5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5da7b543313339f84fd52e96bacf3a73368a1d2c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5e12ae9117668bcc22832640cc626315940aeba8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5e397439a2680ed827c46704969c6711dabbda84" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5e629dfb8b7533c7c2d173d4c3d587c88112cc29" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5e785c7c26813577f3e30ef8f7e37ab2a9ffe39c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5f3394f5058822cc044b92654837625897176480" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/5fb9bcbbb30a377209eab0541d144e44e71508d7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/6008213a61d06b4382b223768530c3452968b7b3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/60ba4b2daa4ed4d070fec06687e249e0e6f9ee45" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/625ed64c30c8ab2f0b3bc75690f9faa4270f0041" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/6314c2b304d04dc0108a95d29a93515e85e2b0b0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/6462d8079d2ea921617e7d073b85cfab706800d3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/6474383282788e556aa86f57fc8650137ad264d0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/648c3f58ecc8fb4b8c779e6b11006ab5b1986dad" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/66328e03a2ccd5e54dab23b816182786e6f518b6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/683e9045bc95e0cb5fc16ec64b118433475ba559" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/689f13680f4682303c8aa6828b67955959dc9669" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/68c6ba7f0602a5410d1fa3c5de24fe264436b993" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/699cafde80b1e1777306f781186d1253f018ab23" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/69ab053b59e235fd6af246c5180f15bd95295113" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/69afa12510b2e653b0af7c7030832647b2d63c37" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/6b75857f86be5c51b21a97f4a61e69e8bb6cd698" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/6c75e71ecde9f073a7bad89f4831c8cde0bc1830" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/6ce5170dc4f2eee3b31a875b6a41f2444959f3dd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/6d2859436fbbee637f0a5981ca82e8f88a1d0d28" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/6d63e39f56d1d537bab9c2830303cabab3cd9035" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/6e05a0a240fe2974e14527bbe390d294564156e2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/6e6c9d301adb0f0ddffd79cdf3426a2de99bad48" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/6e989edf725ec64849377681ce02641c3d1870e8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/70142f66475ae2fb33722d8d4750f386ecfefe7b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/719edbe667ce2729ac78a22dac29263c91144029" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/71f99ca2bda6ef2e15b965479a79587f9d794be0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/743e89b768af4bd591ea7228118550b1bfb8e7d1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/7714a1a32872442a2eaff472685f3ea69451a732" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/7719a1c782a1ba91c031a682a0a2f8658209adbf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/775e8ffda1f5d340dba472d06dc7c8bf8159e379" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/77de68daecd823babbb58edb1c8e14d7106e83bb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/7957dc9aac31e6a6783fb3a6ee073688fed6cf9d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/7ae893cbbf9b11ff411640b80985ce618907559c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/7b20ac50954063e3ad00813acab4a98b2bfdb858" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/7b6273145fb090de1c6163586f884a1da4b5cfbf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/7cf84b5a78281e6c6b5a9884110f3dbc6a40e310" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/7ef13b83e6bde582d9000be043e729cd3221c150" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/82059e250904b478f65daa0e647c1647ba6d6a3d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8207fdf4bd302d6b6b1894990b353944a8716aa7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/831a49ad81b59025c241ac9e58bd88463fd798eb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/84582c1dbe026475319df14c19967d1dd0bf751f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/860d4ad0b7c026d1fcf51932b5e46500be7860a6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/865c7cf36a4f4499a6242e51b77b58b868a7447b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/87a2b80f9272583517c0207af176fc40ea55022c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/887309d048beef83ad3eabf2a79a64a389ab1c9f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/88d89860ccaf21e5f0f002303a2cd853ecbb2acb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/88f658400b1870ddf081fb03020c3098b0b1e083" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/88f8b0984bb2f081918ad883c8f0ffacb5a8ff0a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/89304953495f060c7abd3584d83cb1c8e6d6653b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8a5f6dc6873e3fd51fd866854d85258f8aa83a02" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8a87261277c15667e2957dd52c5db6757ebc8e88" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8aa61d8bd260942521bb1ba82cd4cce2324fdbee" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8d8874439569824e371a0284460440175cdb8a27" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8d952ec2e33b2a6a1c7876898719a610f5546388" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8e6fec8a05b24f221b6e94fdfe205e5bf7709a2c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8e7fda77644ff91578d25243fad51a3cd6d60860" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8ea6295ff82bb119acd44a91b463b19fedafb226" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8ee51caaa2c2f4ee2e5b4b7ef5a89db7df1068d7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8ef4dd9f2d0f9d770c937d9a43413d24df83f09b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8efd86fb78a56a5145ed7739dcb00c78581c5375" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8f0ba762c2fed0fc993feb91948902ac397b0919" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/8fe81e450694cac1eb4c4a5c966ffbc56ade3513" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/902ba3cda1883801594b6e1b452790cc53948fda" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/910a1528b28ebc6ff2f2a4fedb013c86de4103e2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/92049bf3d8a0ec93c2d1633631c0082e66ca69e7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/920a3c318f3127b9c30ab02a077555c7dfbb6edb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/925fc05dd661aeb4a776dcbc5df3dcb2cefaf0a6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9367ba65affd5bf7aabf79c28e783cc5d93518e8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/939f5049b1eefb91ccbd3fcecaed8cb21ea6b285" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9405c2b00eaa5526f71cc78914dbd3ecaf093b6e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/94d3598751569d2a5be258e59665cbbf0692dfbe" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/94f96d95d01e98fd2f04ce26c0913e5f9a882fb4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/95b54a84db75abab401d282fdb04440a879a9708" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/96189202e587ec951d5795da3e03062f2fb5d708" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9711703428704ce2827a719eddb9d54be23a0cb7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9734597e96eebe99b2243121a51d178a338ec46f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9747c85a9510011bf87c23a80b029b9f2d04c37d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/97d170e1550eee4afc0af065b78cda302a97674c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/98e02e7fc96479e8d10ff2cc7610be772e2d6fba" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/996156b191b619eff79b2fcbb7598518a09b06bc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/99667fcfa6d583a742fb5450527fc86dfb78ebbf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9b1ead2dbeeb1a3e9a7bebcf6964c3cfbc7e8867" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9b7669e201574bfb979d56110539a90da5aca2c0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9c24b456af3cb51a1ff2780c2d9cbdd7d93f6c76" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9d0441f23ae7d5a3a5b1140497868ee6eeab656b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9d890bd3139a8f9a44d435ff8edfbeb5b072ded0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9e6a55b6b4563e652a23be9d623ca5055c356940" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9ec88420ef0408642f6930996e35f5b9f18ec88c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9edd067c569315d5e93b0d14c7eac9fa6d81d3cd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9fbda4f714043d975389b536b4497c6d713452e5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/9fc8cb8ab3b05e306e5e81d9d949e69f931244ea" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a02b857f2eff73e8e188f35529dd91f8144b23b9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a060d5bfd1235cbbe4bcecf332fa3b03bc2282e3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a0931fae1d43e7887c1cabde83fdfc52eaeedba8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a0d4af29c6c223b48fe34d6a09b3a7466242f33c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a1abe8a785030d475a7350438fd23a05c382c110" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a1fb86293eac950c2b4f5182d9e4b5d9e0982ef6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a2d4e3d6f5ba43c9199d5d2011678f82cfd55afc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a39653cb3d97c58c44013197f4d7557577700177" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a4c74ad56ae0e94e96101a8f2ce9b1e588df5e44" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a6b34b06b00e9226f2bd961483f9da81d8de99a8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a72c3b9cc71eb7f0e0e4dabcd2dcd2b997f21c07" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a749d24bac55bc19465acc92b12244c56ca0f20d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a78009ff8b3f4d722ee0eb84795e857e74a58aea" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a7ae4b16677806d78d0016c276b6722eba8eef3c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a806f43dd48e35e75c27814c13a2a96c12449bd1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a90a858013f90d2a94e0d62a7156ffd6848bf238" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a94bfbfe16d026b52d7f73cf78fdf7d6a6c5c58b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/a9718f029d11a9335ef596cbd42794de5b0b18b5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/aa6e08a488d1ed00aa51f20c2477fc89e7b0a852" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/aaa038513c192fec501e4e7302156872ce2fde37" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/ac2686c095a5a1c92a1d4209a6c287778720c86d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/ac3478d69a3c81fa62e60f5c3696165a4e5e6ac4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/ac9231da4082430afe8f4d40127814c613648d8e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/adc83b19e793491b1c6ea0fd8b46cd9f32e592fc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/aff25e569bd8c93157e08cd18ebcd896438e34c9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/affced8168ec801de89deac663f708f0c96cf1a4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b015dfc2f62b640d7c25adab7b38c5fcb5cb64c8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b021dd7cd98b63092685ea092df0dc01c8f63334" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b17485b8bdec8809b3819a83753ca893871df403" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b32ef51eca9c6c658e6fb75fdf96bbba066404e7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b45a1635ec526bcc890f9d735976704e516c5f19" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b50ce51a7baa28cd298ebd05b4a3b9b70f9d4370" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b5126721812b925426b30d283d2bb8b6969f230a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b57af943a3ee411bffeaa3872eec9c6fb01569a4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b5abf6fd22ed0f852781de35d043059d0f86f3cd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b6589fc6ab0dc82cf12099d1c2d40ab994e8410c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b6f19238d2b04c5b86a17369093dafda34f332e7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b858cb282617fb0956d960215c8e84d1ccf909c6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/b9c38fad09c80db7781fefbe51039752de575ecc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/bb407c8992800444201dccfe744dac49c0295fde" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/bc335734f73502b92d2bd3587259ce915985f0ee" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/bd113c2c8a2328e3674c680c7cff829a6c8ab924" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/be051d58015d4af1977a5dfd14ef3fd070ecc9d2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/be461a0cd1fda052a69c3fd94f8cf5f6f86afa34" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/bef524502f8dbbc45af717ece01ec88edd7f903b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c0b6a90832b78ed5f6d129d3640c612540527c85" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c18d315f0d35849b2aae4a47cab4608204b85d76" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c257fd6bc9e5254a733378ab4ddd39629c4a3069" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c2bf7f49d8f2e13a60af4473b3b3451b65b3aa9a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c308517acf6f7088634d491a1608240f83a3ac95" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c3badd71ef8a51b97ce93cbfe99f6778048f2128" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c482a632702ae7f532d126e70149dda4fadc3cd7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c541bb86e55b98e083b141114066f9c17d853374" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c5b50b9015b6aaedd7eb1077b1204858f837b53c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c62ef0dbd1350da9ea5a32e56672d385837643e7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c7a34d6d49e1da1ccd490350c2df3a168ed09ae8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c88c4bec8d440c56d3ea7abce39276f0927dbe0a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c92f147bfc034003ac42ed9e62a16c84102ab417" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/c96b0fe6034668edf37ef0f5f391d5107953dc06" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/cac74aa5d7aab7fce0253f00c1a025980c1f9b7a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/caea0a0e6d8708cf682eaa446c344da56a7d5515" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/cc8a3dd2678d4b400ad630f402012b894e841b05" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/cd851bec7adad52f79777fb9347d5fd2f9486aa7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/ce3899b62ba3efe00eb31ddad2861ffe16a30d06" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/ce8b76fdcdbf1c951afc2b115be9acc8a6358b32" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/cec87b67871fc7a59652bc3546fbbb68e4d31e28" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/cf32406111908544e504c84731147f072cdf2fbd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/cf35dc76bf9a2052636c1ecc92942161830dcdc3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/cf6a5e6bfe4f15b43e411dd2782e10f1670c9767" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/cfc45616f5f0e7c25df91f6984ff5f6f1648beab" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/cff891e5858ae68d08ecc8470ca6a68c9438bfa3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/cfff4e9d08cba81b663dd1999710008342851e19" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/crash-f21867fe8b6df0b54c13e2e6e613dce871ecf0f0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/d1db03c626fb16c3b9cd44cc38cf40ebd355a194" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/d85ca051da784c0441898c5affbf11a2ae8f56bc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/da03f536ceaf609972aa2a699687cc6f73ac0dcd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/da4b9237bacccdf19c0760cab7aec4a8359010b0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/dcc45e405208d7a2db33d0b5b9da2a2f1b034957" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/dcc60d3aaa1fc4d00201a3512284fcb79b5b68ef" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/dd0567ae57bf3cc85891a1ca988c2945d9186678" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/dd890a5a32e9f0489c6c77695f2155041f00fc9a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/df88e2baf7b76ffb2e94b9da57fd8d137f44b1ef" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e00ee378c3f6e0b3cd89bd6e7517478d093f73dd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e0c124e90d068e2a70a3e148052869033453ec58" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e0d87b1f3e54e5adc5c2205f9e14772822a25766" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e1199df649697c570db5d6b2ea09d755eddd32b7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e235f6f2a8b6a22117f1baa932fb6c69799e1136" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e3a654055a867ae62d8e68fa2c410228ac55cb6d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e3c680aac46b9c46392e3b2c43ecdcc1547f2023" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e3d134b35cc25a4861d90023c95988ec6103ddd5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e3ff65de4b1622315c3b34b7a5e39bffb275489d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e4a4085cc31476f5de9047422851d8ccf86339df" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e4e3c69da200af932c8a79fa055d7aeea28eb1d1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e6c3dd630428fd54834172b8fd2735fed9416da4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e71eb37fca2070521e1e07c503c2bcd6445b35ea" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e760e6e22ae8cd1ea78fe28b5eb1f3d7b5fdc536" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e95ff1142118a2ca5b84935612a8a64d55360e64" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/e9c5e2c67930513941753c2d54591c7098c82f6c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/eb26070d17ffa908204912e75cb4313835042038" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/ebc6aee49e5ae57722df86e7fa33c420f045a449" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/ed1dc11d713e7487de18ce8317b62916959206d0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/ede3f66106acd7796da8b3942d029fe213058286" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/eed7bd220cd511b6d42ce6553019266a22a3d56a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/f090932162756b798b1a050b05e3d36a3437c4fc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/f1905eaa84ba6a3593ec6ac0486a5b42893c01f1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/f4635fbbf765ead81a261ca152df02622e182d2c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/f46eeb1020c7c4153e742a50bc24c2c6939dab1e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/f473451610783521d51bc08cdd920ddd97f8a71f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/f63aa599600f6e7d648c4287905e16e8e6e479fd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/f667dcf1c06e87db2dc49d86ea1c285e796f8f8c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/f8d0f85975e49b959799cc52847110cc940b9db1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/f92c47e35da42d79a48beff54b93cd28f55f05fb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/f9a33bb8bd78d869fbafa402d9be58940ce2c318" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/fbf6f3156c1bd4bb701839bc0e26533bdccd1c9a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/fe2ef495a1152561572949784c16bf23abb28057" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/fe5dbbcea5ce7e2988b8c69bcfdfde8904aabc1f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/ff8fb34603c7f772768d61504954553e6bed173c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/test1.json" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/test2.json" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/test3.json" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/test4.json" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/test5.json" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/test6.json" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/test7.json" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/test8.json" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/json/corpus/test9.json" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "json_fuzzer_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/0c35544f40d428d103e9c5b969ad9cd16767b110" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/0c60ee9ed55c9af6190b132ef6636c1d2abe4540" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/0ecb3e69889c036a86d21eb942077dc9abd649be" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/1324c95dafe597fe05f9babe92fe6fbf181c1897" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/14eb42f7423081b455820daa2c02b358315dc0fa" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/23121c5f633db5d7c1a9f2225240754246fee513" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/235548307ee9f2b0855fded42a871990d9ade956" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/28ed3a797da3c48c309a4ef792147f3c56cfec40" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/2bf123dbfa1d37a04493b5662a4b3b9c147485fc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/2d4c0908ecc0310ea234d10b6bdb4f4ca3c41dd1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/304e8cdc9122b709ec2c063a5c8c38489a788033" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/324d4a2aed8bc1840fee212fd38dadec80a72ea2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/33353a0b011901a13d010c6b165074ccdaa717ac" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/37dfead09389fcd9b9d24ef817a0fed13d8ff2b0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/47879cc364be304754f6af15563ad6f9a538da41" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/49a5cef4c730ecab22712b156ddba5106f165afd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/4bbbbb794a098deeacff73b774c30f12c54ceacb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/4c498ce69c8476f745693deb23272930e05cad60" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/4fb5e3085c32e9bccac9e18343cca07017d037de" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/4fe5e46c1299e7f3e8a41dde3ae1bf1b60b4a43c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/670cc6bae958cb4f15e7297fe63959ac5799aa42" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/675f3263af7d1bbb084872f2b23f6d363227e85d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/67fe0d2acc727c8a39a707b92c6cebda9bd20986" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/6d15065785eb8f4b5f17357a520cb4815a2cb355" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/73285d7a70d73b517648067520d921e4477dbbfa" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/747d1ed8bee4c6f0438beaf88ae76d8ef9f63da2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/763878a34b3adeb99a03b54d09768a4451617016" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/7b4b0c2555178333ba15203a930c88ef7e7500e7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/7b8a91aa46e370eb61307b4998889dc89775462f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/7cd11836c64f98742fa7beccec5c981ef4dd62ae" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/7d8f4f045e70e8a2cb45dc3c001504f5c2614b16" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/7e9848558fb004e14795b3ebd3e1488dcde1db8c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/89734c37ee267e69a6950c6d60ee541c1be5ccff" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/9034aaf45143996a2b14465c352ab0c6fa26b221" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/91e3b6a3484ab4b95cdeecc5aefe1291824060e8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/95cd94c858e5e97f7df4a5eb7552e5e0d5ce1ec4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/971f42d5a4d9816145ebc9dd28ba33ed3f5860b0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/9db3a1854de87fd643b910aeab50553afc73e667" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/a147873135c6c52d4da03c260a0165bc0ab1b979" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/a710eead945dabbbffa213a980c75f9463a27398" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/a72406e3ca06d941fe8e168bbf67da88a81c947b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/a8a62a7ebb7d68b211ae319e082575935c07d188" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/a8abd012eb59b862bf9bc1ea443d2f35a1a2e222" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/aab56035a3533b5d83a32a439f179eb678250113" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/ac174acef2c5da26fadc7270bab9c8c4e938c463" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/acbbd60eeb76e41ce254d0fef353b92abe69c831" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/c1eed32e1e353737987da851ad760312ea8e557c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/c4214ace2c4bab24bb356f71aedca08544baad70" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/c4f87a6290aee1acfc1f26083974ce94621fca64" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/d285d78d3ba966b4b199453d38ead1aa36a7484f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/df5200f371cff3cae0e1595cd86d641725f5d1ba" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/dfc66cb172919102f3ba14f6816228aa46f78154" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/e53e789a4c175c6a2c468472f1047d0fe8db1177" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/e67fe6794e755ea801272980f2c272edb027f6dc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/ead61e86fedf118df8e44ed70ce002be651cf291" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/eced8b29efbdc82eb8a1d0865c5f382f0ff78446" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/f58a9135d07ea9a5e3e710f6b3bf6d48d5942dfd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/f8c2c4ddd2f474b4839f13a9be862c00ab0ece77" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/faa1781e1444bba5b8c677bc5e2a38d023a1ec65" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_response/fccda587af845f0685275960649d8f4a45272a95" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_response_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/000def12957806bb0d40005cb651d35b4cde7b4e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0068af2acc3020f344ee84b2c8adfb90492354c3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/009132022c3a1660b701728ac92e26baf82e8eac" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/00bf0233aa1155b34a3081e4a2b7a1c9cdf8ea1e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/013197cfb12b59755b807501c6d6615859f9cd3f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/018a4332eb19f2398162317cb6ad2e8cf700dfd6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0273d3496bf5f4594e59083ac319f8f863a15be0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0355002521e74dcdb3a0c633338bd02ab1d85312" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/053d8d6ceeba9453c97d0ee5374db863e6f77ad4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0628c29e3ae264f8fa08652435bb3e61afe60883" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/065e91578e5359b70a668164310af6f0dd40e922" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/06b4b617d5937da8a7b58aed5341dc5ef6d1bcd7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/07216a4f5934890b89d845f6256546c2681350ce" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/08584e8308b7f52f0fe380358800d7f585cba89c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/085a37568e99ec5855bd96affd259921515479e8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0903d1e9297179c18de6a3707b16f27d0d54ed67" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0aa20a75bff4e8af10330c66d288e900146f1a39" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0ae76e2b24ca999bd5e09e517aa4d88f5b5f58a4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0c3025fdfb008a6563ea2a2bb6cbc79b8ccbf8f3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0d219165cd317142afa36b8b5476cc022c95c4e6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0e053123dd6256de5aff55b0731f913de250c18e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0e065f98325849ac05eed515865b33dba0264cd4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0e4ff715d491c9f0b471c400b71804739b6d400a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0ec94942046cd7e00bc058204c1d046075ca9531" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0f0e8da530eb8c924cee6985d9c3dfd93274ef8c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/0ff365225c981d74b89499d1e708684ed4d0b570" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/113b1efff1677c1b9a24f89aec0c3ecc228ddf62" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/11697d621eab6743ba22715722d5b23830b79075" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/12463318b795c756f389bc0fb1cca9645eafef28" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/12784250cf16ec999529f601ae5c5798e853d34a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/13122d08c1cee0dae6434605917d4cc6d8ea8cc5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/148a1118649dd8aa9b4ed778efdf7c1611aa5d27" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/15dea2bb5fb36a3dd5172796da66a821a32918e7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/16488fe15a7e33cb41f2b7c159c99154464b3fd3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/1870a48a3c9c1dd9027cbd85beb503b43cff6e89" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/1900b6a9123667a79020319aa7fd54d230bc7073" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/1a000f1cbccd2ab6f7e623e015ed2e84284c9dbf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/1c1d403f6175d52ac4430d1ef2401b549761707e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/1c2ae0e1915e18dffc2215e9121f1afe0e4335c4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/1c5d2eef52426db9d0842f3d57b27a219434c512" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/1d0676867c1ebce84531035fa7eb86ed00762df5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/1d92b263fa70450b0d0aeb81bf5d2f69eefbbd99" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/1e843ed4864d6a808b671dd6769ae191ac8a13ad" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/1eb06a34ee568d584c4b33472788889bc68af3f5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/2169c2b4d560d74a5487df68b56f3af1d648f544" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/21f8f7583e58c1c81a3ac8237b5fa58071edf8a4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/231e348407fdcb14412c691b0b20982940160ccd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/27b8f060e3296eaef77dcdd4c2cd11d5650604ac" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/28ed3a797da3c48c309a4ef792147f3c56cfec40" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/291fcc6e043942638fa3c865c0a1be5e4dcc0e70" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/2a7f6c1f8fdc090b24ceb90ab4f3a7b331c06c86" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/2b85f180fe56f84925b274819ce10a8972a594e7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/2dea73d7d10ba0dcfd103f7542bdf7458e772b2b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/2e9c19f98ef88b83ec2dea8b1b7f92b8337f757b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/2fbd59ffb74aba392b86f4fe2ff8067b6d45cce8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/31059c32ea28d37b7442f51b20e966665662783c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/31f78e35feb36037864df5f8f47136f8e6e4768a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/326d322d1aa31696a14518830e544770f12146ee" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/337df26552e0884ff133cc1be8e72020be38f457" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/33a2a0aa86956097e034b5ee16aeceacee7efc34" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/33d175d1ecb3a85be7dd93d24efc3ddda0a85ad6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/3718a1b790db16bcfc4ec30691fab24ea7bb0b74" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/37aa3946054035b712102a62b71c94747dfd1491" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/37b697adc0708ad12e4ed7355f3f8fdf1b7919ca" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/37bf4642c5e5a806e2042cdf5ead9bf3c97b9ac1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/37d94ca6a20303389b35404f3dfd20aaa9ff0851" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/39278604f6a1102366464bbe769ae846e542bc56" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/396b57d9a11a1b135e36ad266e155cc0c3b77d21" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/39a49db120a807fe4e80c502254a5009625c7599" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/39f04d1c6d4beefa3e3d6eae3a5317d969787055" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/3b199b80209fa0b8ffedba4381019f8729cc09d6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/3ccf7ffb96c3e4789409db33cc12bfd8ddc24c1a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/3d04382d1fe11ff3b717100aece7f9eff2d04b9b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/3d4eb9f836bb40cf4c734073bcba8b73e4cc93ae" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/41dc8c55e41d32c30865f9761931ddd4c5b740f8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/41ef7b74d212f8f7f6681edcffd0db719030d31d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/431187b5926fa7d0823305a9f87635616ea3ef27" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/44c6da04b8378986721f7225e70a1514695c176c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/450161236e37a1dfc0da6398c4876df82ff640ac" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/45257a176ca6a05ec65a6df430bbb6b85d0a676f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/46d1c2f2edcc9cdc0d1698fa0c8853cb19a6e7d9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/4764bd4297bf0c405348d2bb87b8fbc02beadcb8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/48199bfd0e2c160f56d03e881bb5dfe276eec462" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/48e865c56e8db13640d6ecbfc0f2486eb77e07d1" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/499b003b8b98edd9dbe2668c8c6af948769d7e87" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/4a55591c4b390c5a36cecc6f1b6f5105300b546b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/4d33f97ec69c64e14dcf205be36a6319ddb8a20d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/4dbfb08904739928e19c2f459040b35ac410f699" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/501bd6fe1de2719cf8d2c517a071e5d883fbe766" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/5208871ea8948223b64b304336cea41ac3240244" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/5348c71be34967458403bd4b58bb2a8a744d35ee" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/54362c2f6965268d0835a992c3ba656171b8f044" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/54411aa13f6d9118028171935322bbbc74c15329" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/54c50af22d147f192918499b4b3819eb389468a4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/55441aac903d96b36bf8a11bc804234bcf0c04da" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/56e1a7c279482a57fcbca43468df96a791ee22b4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/57cbea7c563d5c4b6b290271b0009c3f348d92da" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/57e11c7a62f0fc807d7b51bb1ef0f0e22f43795b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/585183c1a240df6926689fe1bd8cb434664db4d8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/5b2ee8ca40508bf108a729dcb228191670ec34d6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/5b47eabaf74479348fd0318f174d649dbe96e7d2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/5ba93c9db0cff93f52b521d7420e43f6eda2784f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/5cc827e33932ccf8c72c6a839074e856d93463d8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/5cc89bbf687f94ff87241a8f935905e1c441de33" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/5ec6596f12462fe9f36924c262f97408b54bbba8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/5f8f3af69295223fb04c37d28035bb75b4cbd705" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/5fd76d48b9fefecbdabd4511decc161b25db79dd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/614cf839ccac2d896d61a0ba0ab1f42b2fabafea" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/618305cc2d3d3814d78b77ffbf421b769bd862cf" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/61dfcd913c4f0a8d005bd089c34e95d8dbbf1897" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/65a89e10aab00039680e1f7d014737b634c74d8d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/66a273dbf5e37410efd45518a42b06a65cffe1f0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/673ff0de0702e8098892060a5365c175d8ef18fc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/68465c782c37bfdd98ac493b0458444bb94336e5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/688451dee13d0be420598c6e205a3bc419173e18" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/68a1d9150e1380c219e0a1deb3993f321e000ecd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/69f49bf7ae8886f5b4c6296fdb1c570256919604" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/6a425f414cd69ffffdbaa34d03eb43841b432e11" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/6ca9e6e85f9b007a0920b0112decbd1403d506da" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/6cd62e3d67b4154639adbe753115bfdd770edddb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/6d4f2de4cc427417d6335ff5396ea2588509bb5b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/6ea84030dd0b5b03e4720c244ea8b4ec65e1f236" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/710c1fc8cf7dc1386312c34de5057933fcf868b3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/720e81dcaf83f867288a90293c5de3b088d5c556" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/72cdc8f78ab5237f96ed354264c726ac79ec429c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/73535a4f7af7e4c6aa23556cacd63f6929ac33fe" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/73d7b933a5673a4d6f5905006ef6266dda1e4fba" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/753aea13c82d1f8841c2bd4309b1b55d0ae2ba8d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/754428e00e8a1d0471e00bd9e8f060ab88ab640e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/761c29151b23b4d14ce6261626641df1182f7a96" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/7658451dd805f277a5b1c3d4065d752d2d8de5f4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/767e91cedcd9bc1bdac882acc34a53cc23cf4d02" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/77d3754bdd4ea358369c936ed36b974b4181f6ab" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/7a95295bebe6237f65deb15ffeccab22716d574d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/7ad88b82e87fbfb3d4bddaa2f6e201a151e3a007" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/7b1010cc012e34af1d03e8845868ff0e1db3a601" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/7d3ddbd11e82807321c9a53835ea897cf43aa7f2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/7da9c5ab5f049da297b0f4c1322edd696202d02a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/7e265a019c02e5d089152849ac00bb005fa644f5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/7f33bff4f740eb898b908374b0c1badd47566947" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/81f13b9b65891f2bfce77cb183a06045c461fee6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/846a14a480ffa1ad0f6333f3ecf2be3057ce6aed" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/87373a7f89feba2d50591b433f69877044155af2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/8833ba4c780c94fc6c3c466f849c0387acefdb20" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/8c23a5ecd20db4da2c061f3463254e9de104c8b9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/8d883f1577ca8c334b7c6d75ccb71209d71ced13" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/8dc80bd5f5d1fea64412203e304432edcf5f52c4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/8fc9a9ea6ad7d6d51e770076eaddacad9f970c6f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/8fd167de17534776ef57aba2f27675789a11b8db" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/9117d3e51560813b3ce4615dced18fa0e4d0a25a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/921c68eaa8776f7544e195ae52224355d08a2d4d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/9293945411fca2dc81fc34b36b575a384e6d489e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/933287d66c3ff3f0a21f2c583c763f2f65872ef8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/933d1d91283403f0a56571f533f482e9744eb735" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/93855fc41b3e3004ca6ba85f34b985042d4c9869" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/9544f445c39470f05785b52cfc31bb73bda22659" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/97757217fde05ff4fc15c864bf29e9f560fd1c62" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/9877c0f2d40dd43878bb0209bbc4b5fa93bec55a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/98bc5065f79dd9d20cdac14ba28f0cf39908cb5f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/992860817f7fb0e49423607355dab973aa7ab815" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/995ee3d74bc6042fd6a8908c9df5a4cb530378d8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/9a38c24a6e87e99a72a3a4f007b117ec191a1705" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/9aa97a0ffcdc37a8ef487355fb7271eb6891deaa" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/9b9fddc17ed7bc05a81c18f01e800a4e9efd0c8d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a0d4cb9a5a30bb01e8e4f68d636fb173632ed29d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a1e070288ec564d10a8c59779aa07fa771fa1d4f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a23d10723415d20f4ef1ed9b14d9dc24494856a0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a245750cfe4212dca7bfde918de85f64eb053232" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a24bbe3600f4dfd61bb8415c6a291e0521e4f267" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a25104d039a549c8d457ecea3b55369ed312f086" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a33c4fcabe6aebe012cd01c8cb851a9ab0a12098" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a393e1727b0decca9f193179765c3a83d7096437" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a5507f06be4735a3a9e416ea986d52c1a6a20909" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a5adf028c902d17dd6a7ddeadabbed2b36420313" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a6aa1237a282ee3a93f2544bb6bb7704e565209e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a871185cabce7b96c9e2f6ffb40d9901c774b335" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a89d0e67bf53e22533a635f103d1fd400969ad56" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/a8d1b4e5672a501d7a6cd14b2929297f3a82e035" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/aa614cc8d05a3a58c30a890c10b9a0c1d609b228" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/aa65320376f63805cc82b247612b2e05b87bdbee" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/abd3f6e2cc8887942de20e1c257427b825aed0ad" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ad0653a3a63675a7ce797e69b4673866b88ace33" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ae2ce27806f67312e0d0e29a492db9ab9cb9bf4e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ae4c0e671bd004165a1e7877d9c67249a165d2df" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/af75c24dff7e22948ed141c763a1309e6f540bcc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/b0f228c6d0cbbc9f10117f344d5aae6f001d00fa" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/b2c6eab05580b85cda591093d3f05c44bf453fce" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/b35281c0aae174d1ddc8999d97b9713f8004f285" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/b484ae40795cf9730ba94d5a4ca40aa47b88eacb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/b49c2fed1417a981ba29b32be73ee1700bea7ec9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/b68542373c05c0ed25231d09955b2c699d37c45b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/b6d42cbe913f7275b574a71f0768781bdb6f45b7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/b80b6c2cae83c2097c7e4c1fb181d47cb8fd0519" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/b90ab62d8591182fd90cd21cdb893178d97f7e0e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ba45c93ee6b8b286798d8791ec049207c448f7cd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ba67e81ef0f9a14bf5a1ca228bff87c681e83a44" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/bbd1f06ddee4fbbd0e5c9c915889862e5df34f9c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/bd982feb5dd4362e6bd9746ed216c25ce2749df4" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/be77053335e6496288fcf8b6c4d0b4abf86493ff" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/bfb53203499969fac4f4be48e1bcd9235c2fa101" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c143576bdb5b34ad89fa3319507ae382a721f587" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c1ac502a15c53a90a1934f4a31d30f93db36dc8a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c1b29883768551fa5aadc38ba6eaad8007b9b85b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c2331fe0660ab5e411f6d38968c706aed390d8f6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c32647119c244cc018bb1863853d5c7bd37090df" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c4098733900c27861bbf74a71afcbbd93d62f8ee" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c4f5769bf3b4f2a55c006b4cf5a3bba44b347241" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c6ea7b2d47402a458d5d03235bb042b61e05b2e8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c7255dc48b42d44f6c0676d6009051b7e1aa885b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c7d77af55176ae0ae5e59f46e48e1e6ea108d799" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c80827341dcdf1c21b303b82ec7e6df7eaf63f3d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c9501031a75c067b6602e2831f03421b87be4496" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/c98f88d962dfbc2a83e08bfbd8a87b0cc5a8b330" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ccd33fa22b2983978f9617b3cde76ea05b683c2c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/cd0e7701fd79879c56f680817a0d2705751b1f44" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/cd1c2b5c2684d831aab5265e9cd6f1ee045dab9b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/cf98e8b01e7a759f28a9c5f59c896317d74ac47c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/d1d171589e035be85dc347278f0735151a342d68" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/d243143bf9b8adf6be92a157428ec6cbfd785423" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/d2cd278979f2842ebd890f1d84712750273ad0fc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/d2e96eb2699c7dd4a183f13d3a063a1aa9c192fd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/d3178f8b0d26275667c27bb8533a61643213e4d8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/d46f536ea4b601c0ff313a5eb5b47e2b55aa9eb0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/d4be3038631eac422022ee23f43b47905a15b2b5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/d56b30a2d1b5a2a13ae00392bcb4ca72085310d9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/d67f85948143218d11e2fb7936a119741036045d" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/d6930ea81dfd91856a06a0c16483e47616642b4b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/d737c10038a92add90e2ebea5c174ed249de8018" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/d758a67f018b176dfc7d29630cf8cb587f5b2a6b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/dc7139105787f3ba67d7971d80796e9cf5786a91" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/dc8ec35f43e994b9c4ac61275d6b934990d42181" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/dd2694fe12a018bc6af6f288b5c22a030eec8049" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/de7424f44508582a953f137195533b7a0191eda7" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/de91a02040d792dfcb71a4cb5aa4c1c006201273" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/deb576067b11f6e2a3a39b0f2ef38ddae5c67b18" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/df58248c414f342c81e056b40bee12d17a08bf61" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/e076020b2826abd3a4b960fb33a35fd7d0606dd8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/e0bcf682342967c002621acd2563a2157826d156" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/e1edca08a7654b42a64647abb0e773eddddb580b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/e2fa528289b5971f5b40b3687a2a6f0d17348de6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/e52af0ba8750572b98f3a8968de77811ddff0893" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/e5a0f40647f805b5001645ce2d94505e72fa64f3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/e69762f0c6a2750c0b03503a6aec90ffc94bcb72" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/e7064f0b80f61dbc65915311032d27baa569ae2a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/e863a4420854c36168d2b8dd39ce474ebe11cd26" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/e8993f97bb9c83f87c64cfc429095eeaccf32953" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/e9875d9a54b3ebc57df4da886cd30a39252ac666" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/e98a9d92bbbac9b1e64c0641e967adebd681b2aa" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/eb7c31f48c77b742fa29126ac78a2c06c41208e8" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ec174492517f988010ed3ddbd003cb388f477bb6" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ec4d6a393be7ec80ccb8c531337a7fc3ef140e66" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ecd40909ab5e2c61841d9fb95b8aacc87651100c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ed17c8ddb6cc8a0b653dc87aca999d31e80c781a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ee0b476126bb1c2249b299323718ecef1250645e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ee1fb6a0b4139c07f1cf6bce850eaac9a2db29ba" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/eeac145c017ed35305f0ae69f820fc41e26e7997" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/efac7390c6e3a653d3ce93c3d6902f2f1c281ce0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/f0f0dace93d51cd8e045aeacca89424fc836eebc" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/f3341b8cc55c0bb6e2d0a1f7f06d68e4f04057f5" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/f59ff56e341b94f2bddfd718b48ae9ab1692d720" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/f5a1824b9fd9f124df8097017607bcfa00eccfce" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_after_client_done" + "test/core/nanopb/corpus_serverlist/f5b92b69853a5d123bffdc6b0ab093f767ec30ad" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_after_invoke" + "test/core/nanopb/corpus_serverlist/f6aea4c380e41ddef2489ee581ab35e17fa3e8dd" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_before_invoke" + "test/core/nanopb/corpus_serverlist/f7b7254a3af7c41cb86e4b23bb93c5a6d55e2583" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_in_a_vacuum" + "test/core/nanopb/corpus_serverlist/f7bdc1b174f53a49c6ef8f8cdb9b8e74e0a5d4ab" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/f98c78c028baf22f39c77faf6e70edb86ac1d927" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/fb440171bca6ff922727e9ff2a4ac40d8d7905ff" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/fc76cc4030b422e4cb5c145c3e8ed122e242acf0" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/fcab3b80624b431e464dc12d3b6da1cf538bd15e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/fdb3a9b59798d7e851d9074db69422b1d2df38dd" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/fe5de5f387e31b029d589d9b1777fd0d6b3e47b3" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/nanopb/corpus_serverlist/ff52d938aaa10c08b2eb0830fc0066c3b57e040f" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "nanopb_fuzzer_serverlist_test_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/01c008fa.bin" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/021ec59f.bin" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/02918e4ad9e8928845f232c0cb043057add3c9a9" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/0336e1ff71939de9e2007fdb4aba891e35a37488" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/033dd2f6.bin" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/0384345c.bin" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/03b9be1fa172dff5d1543be079b9c64fa2c9a278" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/05c3a0390d0f52d241728926fa901599a47e4606" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/06bd2f82fefb9943787d63ea359f9b77072380c2" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/0766afc7c27c06ea18d896083470d587a380de3c" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/07c96c06eddbed5a3ce050436bc805f6821cbc9b" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/081e56ce6f6b1c57adb806fbc5baa9f93f87513a" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/08492d3d0994005206d1d3213b8747d1026ae1eb" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/09938e3256d06a8e168eb038d8a58b8462f7f697" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/0aa599e20761777c2cb9b41cd89e5c2e18f82d9e" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" + ] + }, + { + "args": [ + "test/core/end2end/fuzzers/server_fuzzer_corpus/0aa7b949.bin" + ], + "ci_platforms": [ + "linux", + "mac", + "windows", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "server_fuzzer_one_entry", + "platforms": [ + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_with_status" + "test/core/end2end/fuzzers/server_fuzzer_corpus/0abd533e.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "compressed_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/0b275a7f.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "connectivity" + "test/core/end2end/fuzzers/server_fuzzer_corpus/0d10bb63.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "default_host" + "test/core/end2end/fuzzers/server_fuzzer_corpus/0e349b8762703d080b3a696600e21d64c23a2ed3" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "disappearing_server" + "test/core/end2end/fuzzers/server_fuzzer_corpus/0f700e05.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "empty_batch" + "test/core/end2end/fuzzers/server_fuzzer_corpus/0ff4d220.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "graceful_server_shutdown" + "test/core/end2end/fuzzers/server_fuzzer_corpus/10724098.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "high_initial_seqno" + "test/core/end2end/fuzzers/server_fuzzer_corpus/108e270a272e312fc97ec23004b80fdc7bad3906" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "hpack_size" + "test/core/end2end/fuzzers/server_fuzzer_corpus/11516d58.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "invoke_large_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/11cda3f70be4b507ea936bca93af9ce5aaab3be7" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "large_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/13501419f349b7855d2e94060bd08b28923d1f37" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "max_concurrent_streams" + "test/core/end2end/fuzzers/server_fuzzer_corpus/146b7d66ad932c4b623eec8004e286d3705697d3" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "max_message_length" + "test/core/end2end/fuzzers/server_fuzzer_corpus/14f9a0cda0d64590430218aaf6dedd9be2a3533f" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "negative_deadline" + "test/core/end2end/fuzzers/server_fuzzer_corpus/15ae78a8543a4794a27e6c79b0d34540322b97fd" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "no_op" + "test/core/end2end/fuzzers/server_fuzzer_corpus/1650b19093c56a1e86ee192bd9cd8d2266a9e353" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/16753235697083ecc45c117287f1d8ce6ad1ad1a" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "ping" + "test/core/end2end/fuzzers/server_fuzzer_corpus/17d7c718ec2597353a5dd2c78d6717a3d6aabfae" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "ping_pong_streaming" + "test/core/end2end/fuzzers/server_fuzzer_corpus/18d8d274aa7c163fd6d0084d5c25c8623e10c541" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "registered_call" + "test/core/end2end/fuzzers/server_fuzzer_corpus/18f00b5f.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "request_with_flags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/1939a9021aba59ea2e49d3d0909e6fdf86ac3f9e" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "request_with_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/1a69d5fc.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "server_finishes_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/1aa6897b6eebb8c68c972cc5025b39c7e60c17fe" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "shutdown_finishes_calls" + "test/core/end2end/fuzzers/server_fuzzer_corpus/1cf17783de9e662f3720847f2d83d86dcdcab500" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "shutdown_finishes_tags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/1cfdde7a.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "simple_delayed_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/1e92aaa5.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "simple_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/1ea5651f.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "simple_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/1f992057.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "trailing_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/20fd12d3670571283dc0c5dbb3fc139a8e943790" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "bad_hostname" + "test/core/end2end/fuzzers/server_fuzzer_corpus/21475569.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "binary_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/218c1b123428a07622570947e9b7cdb48c310ca5" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_after_accept" + "test/core/end2end/fuzzers/server_fuzzer_corpus/21a2dcda.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_after_client_done" + "test/core/end2end/fuzzers/server_fuzzer_corpus/22ad891a.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_after_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2463aea879c5ab49f8409d0e5c062c7e086b034b" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_before_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/24ed80095e58199c52997f174046272f61ce4a8d" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_in_a_vacuum" + "test/core/end2end/fuzzers/server_fuzzer_corpus/25ab638f.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_with_status" + "test/core/end2end/fuzzers/server_fuzzer_corpus/26048c58bd5f2a94843f6fd1e4ab0be04b232636" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "compressed_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/26870785fd0564f552af4e0ca418738a85b21086" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "connectivity" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2701d1669c2996c097a74c5255d569615357b916" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "default_host" + "test/core/end2end/fuzzers/server_fuzzer_corpus/27ac2ae2.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "disappearing_server" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2814d70c.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "empty_batch" + "test/core/end2end/fuzzers/server_fuzzer_corpus/282b6585.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "graceful_server_shutdown" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2abe64b96e5e72adcf2dcc43444a69d0fb664b66" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "high_initial_seqno" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2ad6cedd32cd646ba8e25226c7c13a107c1d6447" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "hpack_size" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2b14c6e618ec95754ea7e24fe6bc5a3a97df6897" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "invoke_large_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2b40aa21723c7e67e92e74a3083df008461d591c" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "large_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2bf69fe6b40734cc3f0abdd765757809b14b0b88" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "max_concurrent_streams" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2c6660ba.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "max_message_length" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2cc6d1f3ee8933518e91b8410781fa6e105b3a15" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "negative_deadline" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2e4805c3.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "no_op" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2f20e2decd09b6f211a5469c67efbada355e6c04" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2f3b1cd6780fe475f76f17e9e36541963d993165" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "ping" + "test/core/end2end/fuzzers/server_fuzzer_corpus/2fb017cd4c34f4af183d03c4a219d2bb36ee2dd6" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "ping_pong_streaming" + "test/core/end2end/fuzzers/server_fuzzer_corpus/30bba77d0f420c4f454011476f3c94e31c50c161" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "registered_call" + "test/core/end2end/fuzzers/server_fuzzer_corpus/3224e6cd.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "request_with_flags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/326ec4d5.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "request_with_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/32b11997.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "server_finishes_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/32cecacca27b249bd764f852168036c5f962bd16" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "shutdown_finishes_calls" + "test/core/end2end/fuzzers/server_fuzzer_corpus/330ad4b6.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "shutdown_finishes_tags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/33b4cf1ac251f0ba0c014005ef8207afe1dea623" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "simple_delayed_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/33e2ecd5c9bbc1f1dcab29d00195e0ab6d04642d" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "simple_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/340b032d39e2b212828a2bd1a97e2b6b81dcd41b" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "simple_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/34bba9e4.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "trailing_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/374262a5acf9cde1f480e7b7254c788e1936a4de" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "bad_hostname" + "test/core/end2end/fuzzers/server_fuzzer_corpus/37ec9df8.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "binary_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/39ea47bb.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_after_accept" + "test/core/end2end/fuzzers/server_fuzzer_corpus/3aa82376296ab5a33f2921d7705b75b78b683c2d" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_after_client_done" + "test/core/end2end/fuzzers/server_fuzzer_corpus/3ca5da2f.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_after_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/3dc665f93db294b9ccb8fcec94bcc2a91f3a04e7" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_before_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/3de41f3f.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_in_a_vacuum" + "test/core/end2end/fuzzers/server_fuzzer_corpus/3e2077a4fd2def7b11e618d46245d0aa85824317" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_with_status" + "test/core/end2end/fuzzers/server_fuzzer_corpus/3e3ae35a.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "compressed_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/3e787760.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "connectivity" + "test/core/end2end/fuzzers/server_fuzzer_corpus/3f3069cf26f761366f947e025f7049254d555e7f" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "default_host" + "test/core/end2end/fuzzers/server_fuzzer_corpus/407607d2.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "disappearing_server" + "test/core/end2end/fuzzers/server_fuzzer_corpus/40af8d589c76d7912bec06c2ae1f2466065018e7" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "empty_batch" + "test/core/end2end/fuzzers/server_fuzzer_corpus/418f392319c44d06a018ce4c62569d527829177a" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "graceful_server_shutdown" + "test/core/end2end/fuzzers/server_fuzzer_corpus/41b31ef0.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "high_initial_seqno" + "test/core/end2end/fuzzers/server_fuzzer_corpus/422708b4.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "hpack_size" + "test/core/end2end/fuzzers/server_fuzzer_corpus/422fa704.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "invoke_large_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/42b0afca.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "large_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/43fc6abab9840be5ee614211f17395b5966f6070" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "max_concurrent_streams" + "test/core/end2end/fuzzers/server_fuzzer_corpus/44f342a6.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "max_message_length" + "test/core/end2end/fuzzers/server_fuzzer_corpus/4558ddeb.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "negative_deadline" + "test/core/end2end/fuzzers/server_fuzzer_corpus/459c0bf6.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "no_op" + "test/core/end2end/fuzzers/server_fuzzer_corpus/468cf8bf3e31e1013c7c6d2288baac47ff90aa63" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/4aa883d0.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "ping" + "test/core/end2end/fuzzers/server_fuzzer_corpus/4b7bcb4ae6c0222a1a24d1fb1a5d96519750ca5e" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "ping_pong_streaming" + "test/core/end2end/fuzzers/server_fuzzer_corpus/4c412cc1a775cea041fa270483d610afb72f463b" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "registered_call" + "test/core/end2end/fuzzers/server_fuzzer_corpus/4d55d5ae.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "request_with_flags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/4db3d4075ed27f2a2311f85dd1d6df028cc5d083" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "request_with_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/4eb269c3.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "server_finishes_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/4ecfe1be695df0d2489dddb52da8bcdeb6ed779d" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "shutdown_finishes_calls" + "test/core/end2end/fuzzers/server_fuzzer_corpus/4f97bd97ab5dc6b4c0f62f8459be8a9593dc83b3" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "shutdown_finishes_tags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/4ff50e49865768323f94116bd98d2314455273cc" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "simple_delayed_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/508def44e4d60f237f18a40d7058e58a752a74e1" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "simple_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/51a1abd1.bin" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "simple_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/52b5478161de7b2eba0f7bfbc29aea985c8d9ee7" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "trailing_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/52ecfedca3b2b26e6999b6afc846f3dbd5d35130" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+poll+pipe_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "bad_hostname" + "test/core/end2end/fuzzers/server_fuzzer_corpus/53d18398c0d484de00afd8d583fe802d55d4da44" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "binary_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/53de507f.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_accept" + "test/core/end2end/fuzzers/server_fuzzer_corpus/540ada69.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_client_done" + "test/core/end2end/fuzzers/server_fuzzer_corpus/5413b531fe06923ddf2c9e3eb958769374bc2445" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/5429f0da.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_before_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/5435005f.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_in_a_vacuum" + "test/core/end2end/fuzzers/server_fuzzer_corpus/54d0fc6c.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_with_status" + "test/core/end2end/fuzzers/server_fuzzer_corpus/55af20415ead0ddd417f37fa91a4c767b749ee34" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "compressed_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/55f6fb1a.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "connectivity" + "test/core/end2end/fuzzers/server_fuzzer_corpus/5780565e.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "default_host" + "test/core/end2end/fuzzers/server_fuzzer_corpus/57918260.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "disappearing_server" + "test/core/end2end/fuzzers/server_fuzzer_corpus/58b88a24.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "empty_batch" + "test/core/end2end/fuzzers/server_fuzzer_corpus/597fdab5.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "graceful_server_shutdown" + "test/core/end2end/fuzzers/server_fuzzer_corpus/59ce7091c00075943d79e857c01ad1af5f38c78e" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "high_initial_seqno" + "test/core/end2end/fuzzers/server_fuzzer_corpus/59dcfde4.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "invoke_large_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/5ac92c4a7fb476393f8275fe4b79a2b13e3bcad9" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "large_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/5d43ac923d7607a16e3d7bf8b838f52622871251" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "max_concurrent_streams" + "test/core/end2end/fuzzers/server_fuzzer_corpus/5d817877.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "max_message_length" + "test/core/end2end/fuzzers/server_fuzzer_corpus/5e2508e15c79fbe9c2e6c1a393b490356a17efbc" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "negative_deadline" + "test/core/end2end/fuzzers/server_fuzzer_corpus/5f758756.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "no_op" + "test/core/end2end/fuzzers/server_fuzzer_corpus/5f820fa8d44229219d0b7c4724e3e40a2ace97f4" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/62d05f336176a10a2c339c04d818f23b6e9a2637" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "ping" + "test/core/end2end/fuzzers/server_fuzzer_corpus/6499e2db.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "ping_pong_streaming" + "test/core/end2end/fuzzers/server_fuzzer_corpus/64cdbb31d5eda779d07885fa7881812db7800c05" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "registered_call" + "test/core/end2end/fuzzers/server_fuzzer_corpus/65077d2946cfb822cf92c9dfc44517a34589f277" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "request_with_flags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/65099066.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "request_with_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/652bfdce.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "server_finishes_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/65d5ae42e6acb429459a1e1a5fb35f09c0f95de2" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "shutdown_finishes_calls" + "test/core/end2end/fuzzers/server_fuzzer_corpus/65fd6cb3058ee0baae854cc7859b7c0c1e1c1166" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "shutdown_finishes_tags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/6652f7be83a876214affc3f230040757f7db4ea8" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_delayed_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/67b04816.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/67ebf074c7f928c4fe32fef44e5c958cf441c93c" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/68f564fd8064233897ff704b5955b33a2e29293a" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "trailing_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/69891e9f.bin" ], "ci_platforms": [ - "windows", "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_full+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "bad_hostname" + "test/core/end2end/fuzzers/server_fuzzer_corpus/6dc4455c.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "binary_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/6e050e98.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_accept" + "test/core/end2end/fuzzers/server_fuzzer_corpus/6f9d75e1af7ae7010d32872da888a582a25fddb4" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_client_done" + "test/core/end2end/fuzzers/server_fuzzer_corpus/70ebe7f32c63ca8940017eb83e6db4d8b39ee03c" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/712300b98afdb5f0d15c657c13cea76841164b13" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_before_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/71ab07577909ca4b766f8ea0c6b8ec2bc395fc66" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_in_a_vacuum" + "test/core/end2end/fuzzers/server_fuzzer_corpus/72296cf9e1052ced4b60e2053aba9f1a569144e9" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_with_status" + "test/core/end2end/fuzzers/server_fuzzer_corpus/7342b3febb07521e39abdf4ee976d16199d51239" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "default_host" + "test/core/end2end/fuzzers/server_fuzzer_corpus/746715fe.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "disappearing_server" + "test/core/end2end/fuzzers/server_fuzzer_corpus/76294f12a5974e9f87d8f092d0df5429cf6c0466" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "empty_batch" + "test/core/end2end/fuzzers/server_fuzzer_corpus/769f5d079151d1b5cab388c47a74f3c297c18d58" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "graceful_server_shutdown" + "test/core/end2end/fuzzers/server_fuzzer_corpus/7b453adcb9c4bf31dbc448ff32c2bc90ebcbdf0f" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "high_initial_seqno" + "test/core/end2end/fuzzers/server_fuzzer_corpus/7f15bbce.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "invoke_large_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/7ffd05db.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "large_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/81fb19dfcb3c3a18fd9e7c177356479503e75e6f" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "max_message_length" + "test/core/end2end/fuzzers/server_fuzzer_corpus/82dda42ddde662192ebaa96788945b7673bb486b" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "negative_deadline" + "test/core/end2end/fuzzers/server_fuzzer_corpus/8338ebee.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "no_op" + "test/core/end2end/fuzzers/server_fuzzer_corpus/86a19d13cc65790696299c819cac17b14e337647" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/86e6dbf2.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "ping_pong_streaming" + "test/core/end2end/fuzzers/server_fuzzer_corpus/88e1329b.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "registered_call" + "test/core/end2end/fuzzers/server_fuzzer_corpus/8b186384.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "request_with_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/8c04817a75fddd71f13779f2ad5b994f45c333a2" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "server_finishes_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/8c72c3f35e9b9fd168ad9024c953a703f33ae3c1" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "shutdown_finishes_calls" + "test/core/end2end/fuzzers/server_fuzzer_corpus/8c760938a2a72fa92b27e00e05005e2e4c429359" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "shutdown_finishes_tags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/8da521d9.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_delayed_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/8de81717.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/90224b8e.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/90240c7c.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "trailing_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/9099ac4e83f6460c80b5557c87f653e4c65aa091" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_proxy_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "bad_hostname" + "test/core/end2end/fuzzers/server_fuzzer_corpus/914ed07570b6441365a3636d05850f7316c7f2a8" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "binary_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/916b825da0ffc46fdb6120b1044e98ae158fce70" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_accept" + "test/core/end2end/fuzzers/server_fuzzer_corpus/93beeba2.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_client_done" + "test/core/end2end/fuzzers/server_fuzzer_corpus/93c3ffcb7e3bcb5ed7e37a5b3dfb97b43ca42718" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/9540d3ad3fa75bfb95c0d57cefd737611c7069a5" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_before_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/954337ef.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_in_a_vacuum" + "test/core/end2end/fuzzers/server_fuzzer_corpus/95d25ba2e190fafa2b3ca1e1c467b9ef64868962" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_with_status" + "test/core/end2end/fuzzers/server_fuzzer_corpus/9764015f89a0b7a59f3b5359b0a037b38d6e39d7" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "compressed_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/97aed4bd.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "empty_batch" + "test/core/end2end/fuzzers/server_fuzzer_corpus/9953eb28aa1ed661612a4710a9d16a15de4ae353" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "graceful_server_shutdown" + "test/core/end2end/fuzzers/server_fuzzer_corpus/9a6963b0d0fcb0e91a31748c47c6f0e1e842fea9" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "high_initial_seqno" + "test/core/end2end/fuzzers/server_fuzzer_corpus/9bf7553a.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "hpack_size" + "test/core/end2end/fuzzers/server_fuzzer_corpus/9d2d18fce18c790035d8f67ed798703bdda0a949" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "invoke_large_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a112d484b70e778835fcd478fd651828720791e5" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "large_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a24bf2dc.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "max_concurrent_streams" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a32be0653ccc65463445b4aaf24a7a1164d5c642" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "max_message_length" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a357658d.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "negative_deadline" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a3a2b1af.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "no_op" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a5348197.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a5cc3762cb2b2cac316c60ddee794016057fb4ff" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "ping_pong_streaming" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a7e64803.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "registered_call" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a8d229374635fa6f2a75ca1669892e1bc244e719" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "request_with_flags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a8f2345b2c949e9e32a434c99accf771f405eb65" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "request_with_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a9463428cdc47d37efb6e3c5633d1e5e78911f16" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "server_finishes_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a9966f7181d08f6a9ff8158736ad77a285d743a6" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "shutdown_finishes_calls" + "test/core/end2end/fuzzers/server_fuzzer_corpus/a9e22d93.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "shutdown_finishes_tags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/aa3c8974.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/aa825693.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/aa8729d7.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "trailing_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/ad810f7f.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "bad_hostname" + "test/core/end2end/fuzzers/server_fuzzer_corpus/aedefcd9bd7fc10b7bf60372da54c43e953523bd" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "binary_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/b06ce623.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_accept" + "test/core/end2end/fuzzers/server_fuzzer_corpus/b1128694.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_client_done" + "test/core/end2end/fuzzers/server_fuzzer_corpus/b220d23a13d98d4815b1f7a3e4fe7dd8672b1c83" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/b28959dd.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_before_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/b431df13.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_in_a_vacuum" + "test/core/end2end/fuzzers/server_fuzzer_corpus/b5acaa52.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_with_status" + "test/core/end2end/fuzzers/server_fuzzer_corpus/b7ce4a4f6eea20c0b83d9f7fa8406a0730ee0040" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "compressed_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/b829143b.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "empty_batch" + "test/core/end2end/fuzzers/server_fuzzer_corpus/b887097732b9c30719f6c7ea7a7cbac531512a31" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "graceful_server_shutdown" + "test/core/end2end/fuzzers/server_fuzzer_corpus/b924c842.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "high_initial_seqno" + "test/core/end2end/fuzzers/server_fuzzer_corpus/bad4f467.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "invoke_large_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/bd63e44a3b004e7ed471c2367c3efae2c58a676d" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "large_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/be9b6e78.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "max_concurrent_streams" + "test/core/end2end/fuzzers/server_fuzzer_corpus/bf5e21c32becb5839deeb81e9174cf6478a25473" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "max_message_length" + "test/core/end2end/fuzzers/server_fuzzer_corpus/bfb55acd5b66521eb5bd8ce6b57b3b6895883675" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "negative_deadline" + "test/core/end2end/fuzzers/server_fuzzer_corpus/bfcbffa9.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "no_op" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c004455e9d60bc2fff094e79cd0b38507023e018" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c039ac9a5a570f8fd9064df9320890b885edf9c3" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "ping_pong_streaming" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c1188b44.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "registered_call" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c12835aa9f3513d3f7179ee4f9976292713f7cb9" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "request_with_flags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c13188118af1634061b6a3947b81618891aeb6a3" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "request_with_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c35968bf.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "server_finishes_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c43d97f2.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "shutdown_finishes_calls" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c4534867.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "shutdown_finishes_tags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c559f565.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c56fada76f5c198232201a608072a1a63e3d3785" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c66e84d1.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "trailing_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c6a1d2cc8935808b6e317a69baec1c3cb87cac94" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair+trace_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "bad_hostname" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c7c44b98faa21c8f0645a818a65b60d956d15952" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "binary_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c8073f5f41970fab4738215e42ec97a4383855e5" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_accept" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c81dec02.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_client_done" + "test/core/end2end/fuzzers/server_fuzzer_corpus/c8812dc8a1ab1592a2d7b71300e1a0a5da6a6382" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/ca843c66c4c4807ccb1615b472c79bc459e5c6cb" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_before_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/cbb04be69714f81f5cd09e36e8ea4e69ea73d618" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_in_a_vacuum" + "test/core/end2end/fuzzers/server_fuzzer_corpus/cca29902.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_with_status" + "test/core/end2end/fuzzers/server_fuzzer_corpus/cdba6c45.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "compressed_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/crash-0f4b135c0242669ce425d2662168e9440f8a628d" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "empty_batch" + "test/core/end2end/fuzzers/server_fuzzer_corpus/crash-239cc27a23827ea53b60ccbaee0ecc64dad2bff0" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "graceful_server_shutdown" + "test/core/end2end/fuzzers/server_fuzzer_corpus/crash-41ab0e868e84612275f77118f9e832bc94ff45c5" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "high_initial_seqno" + "test/core/end2end/fuzzers/server_fuzzer_corpus/crash-7e121dd3be057176369bea160d873040b32a03dc" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "hpack_size" + "test/core/end2end/fuzzers/server_fuzzer_corpus/crash-e34b0a9a428001cb4094a9ebca76329f578811a4" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "invoke_large_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/d0f7eebc.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "large_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/d2031009d3783fcf083963fa30bb493f7f935541" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "max_concurrent_streams" + "test/core/end2end/fuzzers/server_fuzzer_corpus/d28155c6c92642c61dfb097f7b2eb1d6ced272c0" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "max_message_length" + "test/core/end2end/fuzzers/server_fuzzer_corpus/d6979f0f.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "negative_deadline" + "test/core/end2end/fuzzers/server_fuzzer_corpus/d9074e68.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "no_op" + "test/core/end2end/fuzzers/server_fuzzer_corpus/d95556cac07e720909aaf2ac09d876106420463f" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/da7e44a9.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "ping_pong_streaming" + "test/core/end2end/fuzzers/server_fuzzer_corpus/dab172ff.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "registered_call" + "test/core/end2end/fuzzers/server_fuzzer_corpus/db33559d4afb4c32e68525c000fde16a4c3300f5" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "request_with_flags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/dcabac1ef8b197ef39b188bcf5dc470f9749e903" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "request_with_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/e0d9a9a7.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "server_finishes_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/e2652fbb.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "shutdown_finishes_calls" + "test/core/end2end/fuzzers/server_fuzzer_corpus/e2c954e1.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "shutdown_finishes_tags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/e3bab014.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/e9d96662.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/eb66106b.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "trailing_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/eba8472a.bin" ], "ci_platforms": [ - "windows", "linux", + "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_sockpair_1byte_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ - "windows", "linux", "mac", + "windows", "posix" ] }, { "args": [ - "bad_hostname" + "test/core/end2end/fuzzers/server_fuzzer_corpus/ed8da77f.bin" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "binary_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f0387dfdd6b8c925d958113e669ec4a1897034b4" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_accept" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f1121b952e75463cc71137683dc2528f9cbc19b7" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_client_done" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f3220426.bin" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_after_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f3d084cf20b92a5f026fe7cc6e5af49bde28693d" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_before_invoke" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f4024b01.bin" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_in_a_vacuum" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f541d27e.bin" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "cancel_with_status" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f5424a9d7bd14317b6de7b15587df28bfde8362d" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "compressed_payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f5c877c4.bin" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "connectivity" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f74b9428.bin" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "disappearing_server" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f7bf0d7bb0dd6e1866ccef9fafc3cb295db2f07f" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "empty_batch" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f826100f.bin" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "graceful_server_shutdown" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f88ffb7f3066f2706cfcd9be077595e07834cc15" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "high_initial_seqno" + "test/core/end2end/fuzzers/server_fuzzer_corpus/f8b46e92c7ceb4c2f2cdcb3452a6d8c58768eaa2" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "hpack_size" + "test/core/end2end/fuzzers/server_fuzzer_corpus/fa36b4280d9e28edd81c5e4d192d1a5c2765e5e4" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "invoke_large_request" + "test/core/end2end/fuzzers/server_fuzzer_corpus/fb3b0d80.bin" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "large_metadata" + "test/core/end2end/fuzzers/server_fuzzer_corpus/fb84edfa9e8cbddba26a7184e7fdc219bde556c0" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "max_concurrent_streams" + "test/core/end2end/fuzzers/server_fuzzer_corpus/fd14bea45ecaf13af0053900edb2f17b71a0bf09" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "max_message_length" + "test/core/end2end/fuzzers/server_fuzzer_corpus/fd26e0a6.bin" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "negative_deadline" + "test/core/end2end/fuzzers/server_fuzzer_corpus/fd943e69304dffebf47e1e40b0849e12abeee287" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "no_op" + "test/core/end2end/fuzzers/server_fuzzer_corpus/fdf67df81857577361d319e76559c5e85a257b07" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "payload" + "test/core/end2end/fuzzers/server_fuzzer_corpus/fe1957b9bc7c6bf9d8b6089c422d72a0f444da6e" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "ping" + "test/core/end2end/fuzzers/server_fuzzer_corpus/fe66893c.bin" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "ping_pong_streaming" + "test/core/end2end/fuzzers/server_fuzzer_corpus/fe69ddfa5827dd560bb0b5d4da7d982273f17ef9" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "registered_call" + "test/core/end2end/fuzzers/server_fuzzer_corpus/ff227015.bin" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "request_with_flags" + "test/core/end2end/fuzzers/server_fuzzer_corpus/ff898c08.bin" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "server_fuzzer_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "request_with_payload" + "test/core/client_config/uri_corpus/042dc4512fa3d391c5170cf3aa61e6a638f84342" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "server_finishes_request" + "test/core/client_config/uri_corpus/0e9bbe975f2027e8c39c89f85f667530368e7d11" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "shutdown_finishes_calls" + "test/core/client_config/uri_corpus/14b57bcbf1e17b1db1de491ef2ba3768f704b7dc" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "shutdown_finishes_tags" + "test/core/client_config/uri_corpus/1794310671a060eead6e5ee66ac978a18ec7e84f" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_delayed_request" + "test/core/client_config/uri_corpus/1d30b2a79afbaf2828ff42b9a9647e942ba1ab80" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_metadata" + "test/core/client_config/uri_corpus/1fcf5d9c333b70596cf5ba04d1f7affdf445b971" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "simple_request" + "test/core/client_config/uri_corpus/23162c8a8936e20b195404c21337ee734d02a6bc" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "trailing_metadata" + "test/core/client_config/uri_corpus/23f3198b815ca60bdadcaae682b9f965dda387f1" ], "ci_platforms": [ "linux", "mac", + "windows", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux", "mac", + "windows", "posix" ] }, { "args": [ - "bad_hostname" + "test/core/client_config/uri_corpus/2ef3893b43f1f60b77b59ce06a6bce9815d78eaf" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "binary_metadata" + "test/core/client_config/uri_corpus/356c3c129e203b5c74550b4209764d74b9caefce" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_after_accept" + "test/core/client_config/uri_corpus/3b58860f3451d3e7aad99690a8d39782ca5116fc" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_after_client_done" + "test/core/client_config/uri_corpus/47b5228404451fc9d4071fa69192514bb4ce33c1" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_after_invoke" + "test/core/client_config/uri_corpus/636c5606fc23713a1bae88c8899c0541cfad4fd8" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_before_invoke" + "test/core/client_config/uri_corpus/63fe493b270b17426d77a27cbf3abac5b2c2794a" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_in_a_vacuum" + "test/core/client_config/uri_corpus/655300a902b62662296a8e46bfb04fbcb07182cb" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "cancel_with_status" + "test/core/client_config/uri_corpus/6b70979a70a038ff6607d6cf85485ee95baf58e6" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "compressed_payload" + "test/core/client_config/uri_corpus/7314ab3545a7535a26e0e8aad67caea5534d68b1" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "connectivity" + "test/core/client_config/uri_corpus/884dcaee2908ffe5f12b65b8eba81016099c4266" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "disappearing_server" + "test/core/client_config/uri_corpus/96c8d266b7dc037288ef305c996608270f72e7fb" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "empty_batch" + "test/core/client_config/uri_corpus/975536c71ade4800415a7e9c2f1b45c35a6d5ea8" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "graceful_server_shutdown" + "test/core/client_config/uri_corpus/99750aa67d30beaea8af565c829d4999aa8cb91b" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "high_initial_seqno" + "test/core/client_config/uri_corpus/a1f0f9b75bb354eb063d7cba4fcfa2d0b88d63de" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "hpack_size" + "test/core/client_config/uri_corpus/a296eb3d1d436ed7df7195b10aa3c4de3896f98d" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "invoke_large_request" + "test/core/client_config/uri_corpus/a8b8e66050b424f1b8c07d46f868199fb7f60e38" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "large_metadata" + "test/core/client_config/uri_corpus/af55baf8c8855e563befdf1eefbcbd46c5ddb8d2" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "max_concurrent_streams" + "test/core/client_config/uri_corpus/b3c0bf66c2bf5d24ef1daf4cc5a9d6d5bd0e8bfd" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "max_message_length" + "test/core/client_config/uri_corpus/ceb4e2264ba7a8d5be47d276b37ec09489e00245" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "negative_deadline" + "test/core/client_config/uri_corpus/cf4395958f5bfb46fd6f535a39657d016c75114c" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "no_op" + "test/core/client_config/uri_corpus/d46668372b7e20154a89409a7430a28e642afdca" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "payload" + "test/core/client_config/uri_corpus/d6fe7412a0a1d1c733160246f3fa425f4f97682a" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "ping" + "test/core/client_config/uri_corpus/dns.txt" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "ping_pong_streaming" + "test/core/client_config/uri_corpus/ea02d9fea9bad5b89cf353a0169238f584177e71" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "registered_call" + "test/core/client_config/uri_corpus/ec4731dddf94ed3ea92ae4d5a71f145ab6e3f6ee" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "request_with_flags" + "test/core/client_config/uri_corpus/ed2f78646f19fc47dd85ff0877c232b71913ece2" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "request_with_payload" + "test/core/client_config/uri_corpus/f6889f4a6350fea1596a3adea5cdac02bd5d1ff3" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "server_finishes_request" + "test/core/client_config/uri_corpus/f6f3bd030f0d321efe7c51ca3f057de23509af67" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "shutdown_finishes_calls" + "test/core/client_config/uri_corpus/f97598cff03306af3c70400608fec47268b5075d" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "shutdown_finishes_tags" + "test/core/client_config/uri_corpus/f9e1ec1fc642b575bc9955618b7065747f56b101" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "simple_delayed_request" + "test/core/client_config/uri_corpus/fe0630a3aeed2ec6f474f362e4c839478290d5c4" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "simple_metadata" + "test/core/client_config/uri_corpus/ipv4.txt" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "simple_request" + "test/core/client_config/uri_corpus/ipv6.txt" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] }, { "args": [ - "trailing_metadata" + "test/core/client_config/uri_corpus/unix.txt" ], "ci_platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", - "name": "h2_uds+poll_nosec_test", + "name": "uri_fuzzer_test_one_entry", "platforms": [ - "linux" + "linux", + "mac", + "windows", + "posix" ] } ] diff --git a/vsprojects/build_vs2010.bat b/vsprojects/build_vs2010.bat index 64b0ed5d3f51262996bf14945493183d373b7325..1bc3c86a92f4bd9c6a16bb1cad4ed0d7cdf42b0e 100644 --- a/vsprojects/build_vs2010.bat +++ b/vsprojects/build_vs2010.bat @@ -1,5 +1,5 @@ @rem Convenience wrapper that runs specified gRPC target using msbuild -@rem Usage: build.bat TARGET_NAME +@rem Usage: build_vs2010.bat TARGET_NAME setlocal @rem Set VS variables (uses Visual Studio 2010) diff --git a/vsprojects/build_vs2013.bat b/vsprojects/build_vs2013.bat index be3caa9298c81eb45b4d68faabd17343b0be4f45..82c0a3ad824d91966dd43464f3eb505bfe09ca12 100644 --- a/vsprojects/build_vs2013.bat +++ b/vsprojects/build_vs2013.bat @@ -1,5 +1,5 @@ @rem Convenience wrapper that runs specified gRPC target using msbuild -@rem Usage: build.bat TARGET_NAME +@rem Usage: build_vs2013.bat TARGET_NAME setlocal @rem Set VS variables (uses Visual Studio 2013) diff --git a/vsprojects/build_vs2015.bat b/vsprojects/build_vs2015.bat index 50485a30f3070a9b5816548fa647f267ee4a9137..c6e1b433a3e9fcf1526332d58ec52d41b807b925 100644 --- a/vsprojects/build_vs2015.bat +++ b/vsprojects/build_vs2015.bat @@ -1,5 +1,5 @@ @rem Convenience wrapper that runs specified gRPC target using msbuild -@rem Usage: build.bat TARGET_NAME +@rem Usage: build_vs2015.bat TARGET_NAME setlocal @rem Set VS variables (uses Visual Studio 2015) diff --git a/vsprojects/buildtests_c.sln b/vsprojects/buildtests_c.sln index 96dc4eb10740fd3776d24b9af95a06f464fec5c9..d26c1f8dfc10413d462d00ee69882fdc25417f38 100644 --- a/vsprojects/buildtests_c.sln +++ b/vsprojects/buildtests_c.sln @@ -51,6 +51,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util_unsecure", " {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_unsecure", "vcxproj\.\grpc_unsecure\grpc_unsecure.vcxproj", "{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}" @@ -61,6 +62,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_unsecure", "vcxproj\.\ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "one_input_fuzzer", "vcxproj\.\one_input_fuzzer\one_input_fuzzer.vcxproj", "{3589BCA3-CB0E-58FE-2F67-C4475D5CA517}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reconnect_server", "vcxproj\.\reconnect_server\reconnect_server.vcxproj", "{929C90AE-483F-AC80-EF93-226199F9E428}" ProjectSection(myProperties) = preProject lib = "True" @@ -696,6 +705,39 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "init_test", "vcxproj\test\i {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "internal_api_canary_iomgr_test", "vcxproj\test\internal_api_canary_iomgr_test\internal_api_canary_iomgr_test.vcxproj", "{28AE726B-1BFB-202B-48D2-41AF9D09B9EA}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "internal_api_canary_support_test", "vcxproj\test\internal_api_canary_support_test\internal_api_canary_support_test.vcxproj", "{D53575C6-713C-E6E3-FD74-E65F20916498}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "internal_api_canary_transport_test", "vcxproj\test\internal_api_canary_transport_test\internal_api_canary_transport_test.vcxproj", "{ED24E700-964E-B426-6A6A-1944E2EF7BCB}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "invalid_call_argument_test", "vcxproj\test\invalid_call_argument_test\invalid_call_argument_test.vcxproj", "{C32CA8A3-58E6-8EB9-B72F-C295547D36A6}" ProjectSection(myProperties) = preProject lib = "False" @@ -1025,6 +1067,18 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "connection_prefix_bad_clien {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "head_of_line_blocking_bad_client_test", "vcxproj\test\head_of_line_blocking_bad_client_test\head_of_line_blocking_bad_client_test.vcxproj", "{23DF0572-DBF1-08DA-8EAD-8508354C90A4}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "headers_bad_client_test", "vcxproj\test\headers_bad_client_test\headers_bad_client_test.vcxproj", "{7819A11E-607E-F0C0-FC47-C704CF7D818C}" ProjectSection(myProperties) = preProject lib = "False" @@ -1461,6 +1515,22 @@ Global {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|Win32.Build.0 = Release-DLL|Win32 {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|x64.ActiveCfg = Release-DLL|x64 {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|x64.Build.0 = Release-DLL|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug|Win32.ActiveCfg = Debug|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug|x64.ActiveCfg = Debug|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release|Win32.ActiveCfg = Release|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release|x64.ActiveCfg = Release|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug|Win32.Build.0 = Debug|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug|x64.Build.0 = Debug|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release|Win32.Build.0 = Release|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release|x64.Build.0 = Release|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug-DLL|x64.Build.0 = Debug|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release-DLL|Win32.Build.0 = Release|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release-DLL|x64.ActiveCfg = Release|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release-DLL|x64.Build.0 = Release|x64 {929C90AE-483F-AC80-EF93-226199F9E428}.Debug|Win32.ActiveCfg = Debug|Win32 {929C90AE-483F-AC80-EF93-226199F9E428}.Debug|x64.ActiveCfg = Debug|x64 {929C90AE-483F-AC80-EF93-226199F9E428}.Release|Win32.ActiveCfg = Release|Win32 @@ -2453,6 +2523,54 @@ Global {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release-DLL|Win32.Build.0 = Release|Win32 {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release-DLL|x64.ActiveCfg = Release|x64 {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release-DLL|x64.Build.0 = Release|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug|Win32.ActiveCfg = Debug|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug|x64.ActiveCfg = Debug|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release|Win32.ActiveCfg = Release|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release|x64.ActiveCfg = Release|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug|Win32.Build.0 = Debug|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug|x64.Build.0 = Debug|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release|Win32.Build.0 = Release|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release|x64.Build.0 = Release|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug-DLL|x64.Build.0 = Debug|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release-DLL|Win32.Build.0 = Release|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release-DLL|x64.ActiveCfg = Release|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release-DLL|x64.Build.0 = Release|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug|Win32.ActiveCfg = Debug|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug|x64.ActiveCfg = Debug|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release|Win32.ActiveCfg = Release|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release|x64.ActiveCfg = Release|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug|Win32.Build.0 = Debug|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug|x64.Build.0 = Debug|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release|Win32.Build.0 = Release|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release|x64.Build.0 = Release|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug-DLL|x64.Build.0 = Debug|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release-DLL|Win32.Build.0 = Release|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release-DLL|x64.ActiveCfg = Release|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release-DLL|x64.Build.0 = Release|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug|Win32.ActiveCfg = Debug|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug|x64.ActiveCfg = Debug|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release|Win32.ActiveCfg = Release|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release|x64.ActiveCfg = Release|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug|Win32.Build.0 = Debug|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug|x64.Build.0 = Debug|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release|Win32.Build.0 = Release|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release|x64.Build.0 = Release|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug-DLL|x64.Build.0 = Debug|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release-DLL|Win32.Build.0 = Release|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release-DLL|x64.ActiveCfg = Release|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release-DLL|x64.Build.0 = Release|x64 {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug|Win32.ActiveCfg = Debug|Win32 {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug|x64.ActiveCfg = Debug|x64 {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release|Win32.ActiveCfg = Release|Win32 @@ -2933,6 +3051,22 @@ Global {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|Win32.Build.0 = Release|Win32 {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|x64.ActiveCfg = Release|x64 {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|x64.Build.0 = Release|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug|Win32.ActiveCfg = Debug|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug|x64.ActiveCfg = Debug|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release|Win32.ActiveCfg = Release|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release|x64.ActiveCfg = Release|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug|Win32.Build.0 = Debug|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug|x64.Build.0 = Debug|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release|Win32.Build.0 = Release|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release|x64.Build.0 = Release|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug-DLL|x64.Build.0 = Debug|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release-DLL|Win32.Build.0 = Release|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release-DLL|x64.ActiveCfg = Release|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release-DLL|x64.Build.0 = Release|x64 {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|Win32.ActiveCfg = Debug|Win32 {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|x64.ActiveCfg = Debug|x64 {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|Win32.ActiveCfg = Release|Win32 diff --git a/vsprojects/grpc.sln b/vsprojects/grpc.sln index 851bca0d1c1606a9201b05050e794749b115fca9..b46dee7543f1ed502620d98fe3b6f3ce39a29fa6 100644 --- a/vsprojects/grpc.sln +++ b/vsprojects/grpc.sln @@ -51,6 +51,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util_unsecure", " {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_unsecure", "vcxproj\.\grpc_unsecure\grpc_unsecure.vcxproj", "{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}" @@ -61,6 +62,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_unsecure", "vcxproj\.\ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "one_input_fuzzer", "vcxproj\.\one_input_fuzzer\one_input_fuzzer.vcxproj", "{3589BCA3-CB0E-58FE-2F67-C4475D5CA517}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reconnect_server", "vcxproj\.\reconnect_server\reconnect_server.vcxproj", "{929C90AE-483F-AC80-EF93-226199F9E428}" ProjectSection(myProperties) = preProject lib = "True" @@ -92,11 +101,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc++", "vcxproj\.\grpc++\ {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc++_codegen_lib", "vcxproj\.\grpc++_codegen_lib\grpc++_codegen_lib.vcxproj", "{AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}" - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc++_unsecure", "vcxproj\.\grpc++_unsecure\grpc++_unsecure.vcxproj", "{6EE56155-DF7C-4F6E-BFC4-F6F776BEB211}" ProjectSection(myProperties) = preProject lib = "True" @@ -104,6 +108,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc++_unsecure", "vcxproj\ ProjectSection(ProjectDependencies) = postProject {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boringssl", "vcxproj\.\boringssl\boringssl.vcxproj", "{9FD9A3EF-C4A3-8390-D8F4-6F86C22A58CE}" @@ -298,6 +303,22 @@ Global {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|Win32.Build.0 = Release-DLL|Win32 {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|x64.ActiveCfg = Release-DLL|x64 {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|x64.Build.0 = Release-DLL|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug|Win32.ActiveCfg = Debug|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug|x64.ActiveCfg = Debug|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release|Win32.ActiveCfg = Release|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release|x64.ActiveCfg = Release|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug|Win32.Build.0 = Debug|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug|x64.Build.0 = Debug|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release|Win32.Build.0 = Release|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release|x64.Build.0 = Release|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Debug-DLL|x64.Build.0 = Debug|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release-DLL|Win32.Build.0 = Release|Win32 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release-DLL|x64.ActiveCfg = Release|x64 + {3589BCA3-CB0E-58FE-2F67-C4475D5CA517}.Release-DLL|x64.Build.0 = Release|x64 {929C90AE-483F-AC80-EF93-226199F9E428}.Debug|Win32.ActiveCfg = Debug|Win32 {929C90AE-483F-AC80-EF93-226199F9E428}.Debug|x64.ActiveCfg = Debug|x64 {929C90AE-483F-AC80-EF93-226199F9E428}.Release|Win32.ActiveCfg = Release|Win32 @@ -346,22 +367,6 @@ Global {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Release-DLL|Win32.Build.0 = Release-DLL|Win32 {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Release-DLL|x64.ActiveCfg = Release-DLL|x64 {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Release-DLL|x64.Build.0 = Release-DLL|x64 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Debug|Win32.ActiveCfg = Debug|Win32 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Debug|x64.ActiveCfg = Debug|x64 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Release|Win32.ActiveCfg = Release|Win32 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Release|x64.ActiveCfg = Release|x64 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Debug|Win32.Build.0 = Debug|Win32 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Debug|x64.Build.0 = Debug|x64 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Release|Win32.Build.0 = Release|Win32 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Release|x64.Build.0 = Release|x64 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Debug-DLL|x64.Build.0 = Debug|x64 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Release-DLL|Win32.Build.0 = Release|Win32 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Release-DLL|x64.ActiveCfg = Release|x64 - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}.Release-DLL|x64.Build.0 = Release|x64 {6EE56155-DF7C-4F6E-BFC4-F6F776BEB211}.Debug|Win32.ActiveCfg = Debug|Win32 {6EE56155-DF7C-4F6E-BFC4-F6F776BEB211}.Debug|x64.ActiveCfg = Debug|x64 {6EE56155-DF7C-4F6E-BFC4-F6F776BEB211}.Release|Win32.ActiveCfg = Release|Win32 diff --git a/vsprojects/grpc_protoc_plugins.sln b/vsprojects/grpc_protoc_plugins.sln index 444cb268d0901c17ab20df017c67928194ce32a9..ef1cbb8e572a5177c7cb5539dadc768db84ab510 100644 --- a/vsprojects/grpc_protoc_plugins.sln +++ b/vsprojects/grpc_protoc_plugins.sln @@ -3,18 +3,10 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 VisualStudioVersion = 12.0.21005.1 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_codegen_lib", "vcxproj\.\grpc_codegen_lib\grpc_codegen_lib.vcxproj", "{A828FD72-44CE-4EA5-8966-6E4624458D58}" - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_plugin_support", "vcxproj\.\grpc_plugin_support\grpc_plugin_support.vcxproj", "{B6E81D84-2ACB-41B8-8781-493A944C7817}" ProjectSection(myProperties) = preProject lib = "True" EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500} = {AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500} - EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_cpp_plugin", "vcxproj\.\grpc_cpp_plugin\grpc_cpp_plugin.vcxproj", "{7E51A25F-AC59-488F-906C-C60FAAE706AA}" ProjectSection(myProperties) = preProject @@ -64,14 +56,6 @@ Global Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A828FD72-44CE-4EA5-8966-6E4624458D58}.Debug|Win32.ActiveCfg = Debug|Win32 - {A828FD72-44CE-4EA5-8966-6E4624458D58}.Debug|x64.ActiveCfg = Debug|x64 - {A828FD72-44CE-4EA5-8966-6E4624458D58}.Release|Win32.ActiveCfg = Release|Win32 - {A828FD72-44CE-4EA5-8966-6E4624458D58}.Release|x64.ActiveCfg = Release|x64 - {A828FD72-44CE-4EA5-8966-6E4624458D58}.Debug|Win32.Build.0 = Debug|Win32 - {A828FD72-44CE-4EA5-8966-6E4624458D58}.Debug|x64.Build.0 = Debug|x64 - {A828FD72-44CE-4EA5-8966-6E4624458D58}.Release|Win32.Build.0 = Release|Win32 - {A828FD72-44CE-4EA5-8966-6E4624458D58}.Release|x64.Build.0 = Release|x64 {B6E81D84-2ACB-41B8-8781-493A944C7817}.Debug|Win32.ActiveCfg = Debug|Win32 {B6E81D84-2ACB-41B8-8781-493A944C7817}.Debug|x64.ActiveCfg = Debug|x64 {B6E81D84-2ACB-41B8-8781-493A944C7817}.Release|Win32.ActiveCfg = Release|Win32 diff --git a/vsprojects/vcxproj/gpr/gpr.vcxproj b/vsprojects/vcxproj/gpr/gpr.vcxproj index 870246cbe184a8450999bbcdaf8af273b1df0e4e..cdb128e48effa89f1b597e814a0cb580ff8aa9fc 100644 --- a/vsprojects/vcxproj/gpr/gpr.vcxproj +++ b/vsprojects/vcxproj/gpr/gpr.vcxproj @@ -147,20 +147,6 @@ </ItemDefinitionGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\support\alloc.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_gcc_atomic.h" /> @@ -189,6 +175,20 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_msvc.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_pthread.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\support\useful.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h" /> </ItemGroup> <ItemGroup> <ClInclude Include="$(SolutionDir)\..\src\core\lib\profiling\timers.h" /> diff --git a/vsprojects/vcxproj/gpr/gpr.vcxproj.filters b/vsprojects/vcxproj/gpr/gpr.vcxproj.filters index b932420d98b1ade12e3dd82ffcc1f22c790b07bd..8af6fdd44cb474aee5883074c2846620a5568135 100644 --- a/vsprojects/vcxproj/gpr/gpr.vcxproj.filters +++ b/vsprojects/vcxproj/gpr/gpr.vcxproj.filters @@ -135,48 +135,6 @@ </ClCompile> </ItemGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc\support\alloc.h"> <Filter>include\grpc\support</Filter> </ClInclude> @@ -261,6 +219,48 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc\support\useful.h"> <Filter>include\grpc\support</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <ClInclude Include="$(SolutionDir)\..\src\core\lib\profiling\timers.h"> diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj b/vsprojects/vcxproj/grpc++/grpc++.vcxproj index 2c644215def61681a35872a6fc69c0c9ac6967f8..f739dc6633e54d6b98a9efd737a40a5bf3fd55db 100644 --- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj +++ b/vsprojects/vcxproj/grpc++/grpc++.vcxproj @@ -268,37 +268,6 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\grpc++.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\call.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\client_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call_hook.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\channel_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\grpc_library.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\method_handler_impl.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\proto_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_service_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\security\auth_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\serialization_traits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\service_type.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status_code_enum.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\string_ref.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\stub_options.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_cxx11.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_no_cxx11.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\grpc_library.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\method_handler_impl.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\proto_utils.h" /> @@ -324,8 +293,6 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_unary_call.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\byte_buffer.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\channel_arguments.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config_protobuf.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\slice.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status_code_enum.h" /> @@ -333,18 +300,83 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\stub_options.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\sync_stream.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\time.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_unary_call.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call_hook.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\channel_interface.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_context.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_unary_call.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\grpc_library.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\method_handler_impl.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\proto_utils.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_method.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_service_method.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\security\auth_context.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\serialization_traits.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_context.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_interface.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\service_type.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status_code_enum.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\string_ref.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\stub_options.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_cxx11.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_no_cxx11.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_stream.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config_protobuf.h" /> </ItemGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.h" /> <ClInclude Include="$(SolutionDir)\..\src\cpp\client\secure_credentials.h" /> <ClInclude Include="$(SolutionDir)\..\src\cpp\common\core_codegen.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\common\create_auth_context.h" /> <ClInclude Include="$(SolutionDir)\..\src\cpp\common\secure_auth_context.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\dynamic_thread_pool.h" /> <ClInclude Include="$(SolutionDir)\..\src\cpp\server\secure_server_credentials.h" /> + <ClInclude Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.h" /> + <ClInclude Include="$(SolutionDir)\..\src\cpp\common\create_auth_context.h" /> + <ClInclude Include="$(SolutionDir)\..\src\cpp\server\dynamic_thread_pool.h" /> <ClInclude Include="$(SolutionDir)\..\src\cpp\server\thread_pool_interface.h" /> </ItemGroup> <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\src\cpp\client\secure_credentials.cc"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\common\auth_property_iterator.cc"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_auth_context.cc"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_channel_arguments.cc"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_create_auth_context.cc"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\server\secure_server_credentials.cc"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\client\channel.cc"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\client\client_context.cc"> @@ -359,12 +391,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\client\insecure_credentials.cc"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\secure_credentials.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\auth_property_iterator.cc"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\common\channel_arguments.cc"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\common\completion_queue.cc"> @@ -373,12 +399,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\common\rpc_method.cc"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_auth_context.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_channel_arguments.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_create_auth_context.cc"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\server\async_generic_service.cc"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\server\create_default_thread_pool.cc"> @@ -387,8 +407,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\server\insecure_server_credentials.cc"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\secure_server_credentials.cc"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server.cc"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_builder.cc"> @@ -407,6 +425,8 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\util\time.cc"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> + </ClCompile> </ItemGroup> <ItemGroup> <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters index 35468ea34c5301b77aa92220b9c1aee6744b1e1b..a0323be96e2a2995013767658100c3ebc856fb84 100644 --- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters +++ b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters @@ -1,6 +1,24 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\src\cpp\client\secure_credentials.cc"> + <Filter>src\cpp\client</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\common\auth_property_iterator.cc"> + <Filter>src\cpp\common</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_auth_context.cc"> + <Filter>src\cpp\common</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_channel_arguments.cc"> + <Filter>src\cpp\common</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_create_auth_context.cc"> + <Filter>src\cpp\common</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\server\secure_server_credentials.cc"> + <Filter>src\cpp\server</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\client\channel.cc"> <Filter>src\cpp\client</Filter> </ClCompile> @@ -22,15 +40,6 @@ <ClCompile Include="$(SolutionDir)\..\src\cpp\client\insecure_credentials.cc"> <Filter>src\cpp\client</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\secure_credentials.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> - <Filter>src\cpp\codegen</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\auth_property_iterator.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\common\channel_arguments.cc"> <Filter>src\cpp\common</Filter> </ClCompile> @@ -43,15 +52,6 @@ <ClCompile Include="$(SolutionDir)\..\src\cpp\common\rpc_method.cc"> <Filter>src\cpp\common</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_auth_context.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_channel_arguments.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_create_auth_context.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\server\async_generic_service.cc"> <Filter>src\cpp\server</Filter> </ClCompile> @@ -64,9 +64,6 @@ <ClCompile Include="$(SolutionDir)\..\src\cpp\server\insecure_server_credentials.cc"> <Filter>src\cpp\server</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\secure_server_credentials.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server.cc"> <Filter>src\cpp\server</Filter> </ClCompile> @@ -94,6 +91,9 @@ <ClCompile Include="$(SolutionDir)\..\src\cpp\util\time.cc"> <Filter>src\cpp\util</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> + <Filter>src\cpp\codegen</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="$(SolutionDir)\..\include\grpc++\alarm.h"> @@ -126,6 +126,102 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\client_unary_call.h"> <Filter>include\grpc++\impl</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\grpc_library.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\method_handler_impl.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\proto_utils.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_method.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_service_method.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\serialization_traits.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_builder_option.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\service_type.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\sync.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\sync_cxx11.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\sync_no_cxx11.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\thd.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\thd_cxx11.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\thd_no_cxx11.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_context.h"> + <Filter>include\grpc++\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_metadata_processor.h"> + <Filter>include\grpc++\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\credentials.h"> + <Filter>include\grpc++\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\server_credentials.h"> + <Filter>include\grpc++\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\server.h"> + <Filter>include\grpc++</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_builder.h"> + <Filter>include\grpc++</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_context.h"> + <Filter>include\grpc++</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_stream.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_unary_call.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\byte_buffer.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\channel_arguments.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\slice.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status_code_enum.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\string_ref.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\stub_options.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\sync_stream.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\time.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h"> <Filter>include\grpc++\impl\codegen</Filter> </ClInclude> @@ -153,12 +249,6 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h"> <Filter>include\grpc++\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h"> <Filter>include\grpc++\impl\codegen</Filter> </ClInclude> @@ -219,80 +309,71 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h"> <Filter>include\grpc++\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\grpc_library.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\method_handler_impl.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\proto_utils.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_method.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_service_method.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\serialization_traits.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_builder_option.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\service_type.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\sync.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\sync_cxx11.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\sync_no_cxx11.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\thd.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\thd_cxx11.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\thd_no_cxx11.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_context.h"> - <Filter>include\grpc++\security</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_metadata_processor.h"> - <Filter>include\grpc++\security</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\credentials.h"> - <Filter>include\grpc++\security</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\server_credentials.h"> - <Filter>include\grpc++\security</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server.h"> - <Filter>include\grpc++</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_builder.h"> - <Filter>include\grpc++</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_context.h"> - <Filter>include\grpc++</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_stream.h"> - <Filter>include\grpc++\support</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_unary_call.h"> - <Filter>include\grpc++\support</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\byte_buffer.h"> - <Filter>include\grpc++\support</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h"> + <Filter>include\grpc++\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\channel_arguments.h"> - <Filter>include\grpc++\support</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h"> + <Filter>include\grpc++\impl\codegen</Filter> </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config.h"> <Filter>include\grpc++\support</Filter> @@ -300,48 +381,27 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config_protobuf.h"> <Filter>include\grpc++\support</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\slice.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status_code_enum.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\string_ref.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\stub_options.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\sync_stream.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\time.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> </ItemGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.h"> - <Filter>src\cpp\client</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\cpp\client\secure_credentials.h"> <Filter>src\cpp\client</Filter> </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\cpp\common\core_codegen.h"> <Filter>src\cpp\common</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\common\create_auth_context.h"> - <Filter>src\cpp\common</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\cpp\common\secure_auth_context.h"> <Filter>src\cpp\common</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\dynamic_thread_pool.h"> + <ClInclude Include="$(SolutionDir)\..\src\cpp\server\secure_server_credentials.h"> <Filter>src\cpp\server</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\secure_server_credentials.h"> + <ClInclude Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.h"> + <Filter>src\cpp\client</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\cpp\common\create_auth_context.h"> + <Filter>src\cpp\common</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\cpp\server\dynamic_thread_pool.h"> <Filter>src\cpp\server</Filter> </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\cpp\server\thread_pool_interface.h"> @@ -353,6 +413,9 @@ <Filter Include="include"> <UniqueIdentifier>{82445414-24cd-8198-1fe1-4267c3f3df00}</UniqueIdentifier> </Filter> + <Filter Include="include\grpc"> + <UniqueIdentifier>{16946104-53ac-ac76-68b9-f9ec77ea6fae}</UniqueIdentifier> + </Filter> <Filter Include="include\grpc++"> <UniqueIdentifier>{784a0281-f547-aeb0-9f55-b26b7de9c769}</UniqueIdentifier> </Filter> @@ -374,6 +437,12 @@ <Filter Include="include\grpc++\support"> <UniqueIdentifier>{a5c10dae-f715-2a30-1066-d22f8bc94cb2}</UniqueIdentifier> </Filter> + <Filter Include="include\grpc\impl"> + <UniqueIdentifier>{48c3b0ae-c00f-fa20-6965-b73da65d71cb}</UniqueIdentifier> + </Filter> + <Filter Include="include\grpc\impl\codegen"> + <UniqueIdentifier>{dc8bfccd-341f-26f0-8ee4-47dde62a6dd1}</UniqueIdentifier> + </Filter> <Filter Include="src"> <UniqueIdentifier>{328ff211-2886-406e-56f9-18ba1686f363}</UniqueIdentifier> </Filter> diff --git a/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj.filters b/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj.filters deleted file mode 100644 index 3259e98707f3bcf7e968e9e78d32719ffd65ff29..0000000000000000000000000000000000000000 --- a/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj.filters +++ /dev/null @@ -1,200 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> - <Filter>src\cpp\codegen</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_unary_call.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call_hook.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\channel_interface.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_context.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_unary_call.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\grpc_library.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\method_handler_impl.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\proto_utils.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_method.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_service_method.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\security\auth_context.h"> - <Filter>include\grpc++\impl\codegen\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\serialization_traits.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_context.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_interface.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\service_type.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status_code_enum.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\string_ref.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\stub_options.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_cxx11.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_no_cxx11.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_stream.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - </ItemGroup> - - <ItemGroup> - <Filter Include="include"> - <UniqueIdentifier>{cf409044-341b-37b5-03f3-0b09c3c474c4}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc"> - <UniqueIdentifier>{cddccffd-da89-18ad-da57-0c9d704a4633}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++"> - <UniqueIdentifier>{cb8cb5ad-cf23-a491-046c-1c0688be53ac}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\impl"> - <UniqueIdentifier>{a734ff7f-2489-0c04-3fc6-35e361240cf1}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\impl\codegen"> - <UniqueIdentifier>{ffc473f2-ece4-fedf-238f-f161e5c3d5e7}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\impl\codegen\security"> - <UniqueIdentifier>{89065a9e-e4a0-e5e4-32e9-51cd4cadab46}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl"> - <UniqueIdentifier>{45ab28cb-74e7-1a53-77c1-bbf2ec383fa2}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl\codegen"> - <UniqueIdentifier>{311586c5-1a08-e1ba-8dd8-d1cbe10156b3}</UniqueIdentifier> - </Filter> - <Filter Include="src"> - <UniqueIdentifier>{e9bdb195-1cf9-a0f4-231c-fcee59eb54ca}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp"> - <UniqueIdentifier>{d2e57ea3-c758-0f7c-3bc9-e71dd87bd654}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\codegen"> - <UniqueIdentifier>{f93ade18-7c50-7ed9-b8e7-383b11f077c2}</UniqueIdentifier> - </Filter> - </ItemGroup> -</Project> - diff --git a/vsprojects/vcxproj/grpc++_test_util/grpc++_test_util.vcxproj b/vsprojects/vcxproj/grpc++_test_util/grpc++_test_util.vcxproj index 0b4498f22e95724c6d6a241bd409ec7c7d0d941f..33860af620b65f742a630a59991d927321e2cc8f 100644 --- a/vsprojects/vcxproj/grpc++_test_util/grpc++_test_util.vcxproj +++ b/vsprojects/vcxproj/grpc++_test_util/grpc++_test_util.vcxproj @@ -156,13 +156,13 @@ <ClInclude Include="$(SolutionDir)\..\test\cpp\util\test_credentials_provider.h" /> </ItemGroup> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\duplicate\echo_duplicate.pb.cc"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\echo_messages.pb.cc"> </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\duplicate\echo_duplicate.pb.h"> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\echo_messages.pb.h"> </ClInclude> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\duplicate\echo_duplicate.grpc.pb.cc"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\echo_messages.grpc.pb.cc"> </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\duplicate\echo_duplicate.grpc.pb.h"> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\echo_messages.grpc.pb.h"> </ClInclude> <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\echo.pb.cc"> </ClCompile> @@ -172,13 +172,13 @@ </ClCompile> <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\echo.grpc.pb.h"> </ClInclude> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\echo_messages.pb.cc"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\duplicate\echo_duplicate.pb.cc"> </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\echo_messages.pb.h"> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\duplicate\echo_duplicate.pb.h"> </ClInclude> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\echo_messages.grpc.pb.cc"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\duplicate\echo_duplicate.grpc.pb.cc"> </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\echo_messages.grpc.pb.h"> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\duplicate\echo_duplicate.grpc.pb.h"> </ClInclude> <ClCompile Include="$(SolutionDir)\..\test\cpp\end2end\test_service_impl.cc"> </ClCompile> diff --git a/vsprojects/vcxproj/grpc++_test_util/grpc++_test_util.vcxproj.filters b/vsprojects/vcxproj/grpc++_test_util/grpc++_test_util.vcxproj.filters index 3a16c6574707af662d339db4190cd54fcf386e17..b35ba1fd91c8dd8d4988d9e738d1f829630b680f 100644 --- a/vsprojects/vcxproj/grpc++_test_util/grpc++_test_util.vcxproj.filters +++ b/vsprojects/vcxproj/grpc++_test_util/grpc++_test_util.vcxproj.filters @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\duplicate\echo_duplicate.proto"> - <Filter>src\proto\grpc\testing\duplicate</Filter> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\echo_messages.proto"> + <Filter>src\proto\grpc\testing</Filter> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\echo.proto"> <Filter>src\proto\grpc\testing</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\echo_messages.proto"> - <Filter>src\proto\grpc\testing</Filter> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\duplicate\echo_duplicate.proto"> + <Filter>src\proto\grpc\testing\duplicate</Filter> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\cpp\end2end\test_service_impl.cc"> <Filter>test\cpp\end2end</Filter> diff --git a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj index 7455e88b282705f40ed238379e8e111d10387a14..a7aba28e100807f5b757fd4a20a385435bce005a 100644 --- a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj +++ b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj @@ -268,37 +268,6 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\grpc++.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\call.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\client_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call_hook.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\channel_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\grpc_library.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\method_handler_impl.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\proto_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_service_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\security\auth_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\serialization_traits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\service_type.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status_code_enum.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\string_ref.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\stub_options.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_cxx11.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_no_cxx11.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\grpc_library.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\method_handler_impl.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\proto_utils.h" /> @@ -324,8 +293,6 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_unary_call.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\byte_buffer.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\channel_arguments.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config_protobuf.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\slice.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status_code_enum.h" /> @@ -333,6 +300,59 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\stub_options.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\sync_stream.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\time.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_unary_call.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call_hook.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\channel_interface.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_context.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_unary_call.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\grpc_library.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\method_handler_impl.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\proto_utils.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_method.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_service_method.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\security\auth_context.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\serialization_traits.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_context.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_interface.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\service_type.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status_code_enum.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\string_ref.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\stub_options.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_cxx11.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_no_cxx11.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_stream.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config_protobuf.h" /> </ItemGroup> <ItemGroup> <ClInclude Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.h" /> @@ -342,6 +362,8 @@ <ClInclude Include="$(SolutionDir)\..\src\cpp\server\thread_pool_interface.h" /> </ItemGroup> <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\src\cpp\common\insecure_create_auth_context.cc"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\client\channel.cc"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\client\client_context.cc"> @@ -356,16 +378,12 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\client\insecure_credentials.cc"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\common\channel_arguments.cc"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\common\completion_queue.cc"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\common\core_codegen.cc"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\insecure_create_auth_context.cc"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\common\rpc_method.cc"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\server\async_generic_service.cc"> @@ -394,6 +412,8 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\util\time.cc"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> + </ClCompile> </ItemGroup> <ItemGroup> <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> @@ -402,6 +422,9 @@ <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_unsecure\grpc_unsecure.vcxproj"> <Project>{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}</Project> </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> + <Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project> + </ProjectReference> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters index dda90b109483c4b346db3b6d09809f0d93a84fe2..b29e4cd3da5dcd7bd3bd30a6f7b53aaebb63a6fc 100644 --- a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters +++ b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters @@ -1,6 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\src\cpp\common\insecure_create_auth_context.cc"> + <Filter>src\cpp\common</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\client\channel.cc"> <Filter>src\cpp\client</Filter> </ClCompile> @@ -22,9 +25,6 @@ <ClCompile Include="$(SolutionDir)\..\src\cpp\client\insecure_credentials.cc"> <Filter>src\cpp\client</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> - <Filter>src\cpp\codegen</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\common\channel_arguments.cc"> <Filter>src\cpp\common</Filter> </ClCompile> @@ -34,9 +34,6 @@ <ClCompile Include="$(SolutionDir)\..\src\cpp\common\core_codegen.cc"> <Filter>src\cpp\common</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\insecure_create_auth_context.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\cpp\common\rpc_method.cc"> <Filter>src\cpp\common</Filter> </ClCompile> @@ -79,6 +76,9 @@ <ClCompile Include="$(SolutionDir)\..\src\cpp\util\time.cc"> <Filter>src\cpp\util</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> + <Filter>src\cpp\codegen</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="$(SolutionDir)\..\include\grpc++\alarm.h"> @@ -111,6 +111,102 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\client_unary_call.h"> <Filter>include\grpc++\impl</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\grpc_library.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\method_handler_impl.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\proto_utils.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_method.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_service_method.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\serialization_traits.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_builder_option.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\service_type.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\sync.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\sync_cxx11.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\sync_no_cxx11.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\thd.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\thd_cxx11.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\thd_no_cxx11.h"> + <Filter>include\grpc++\impl</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_context.h"> + <Filter>include\grpc++\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_metadata_processor.h"> + <Filter>include\grpc++\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\credentials.h"> + <Filter>include\grpc++\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\server_credentials.h"> + <Filter>include\grpc++\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\server.h"> + <Filter>include\grpc++</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_builder.h"> + <Filter>include\grpc++</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_context.h"> + <Filter>include\grpc++</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_stream.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_unary_call.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\byte_buffer.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\channel_arguments.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\slice.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status_code_enum.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\string_ref.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\stub_options.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\sync_stream.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\time.h"> + <Filter>include\grpc++\support</Filter> + </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h"> <Filter>include\grpc++\impl\codegen</Filter> </ClInclude> @@ -138,12 +234,6 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h"> <Filter>include\grpc++\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h"> <Filter>include\grpc++\impl\codegen</Filter> </ClInclude> @@ -204,80 +294,71 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h"> <Filter>include\grpc++\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\grpc_library.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\method_handler_impl.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\proto_utils.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_method.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_service_method.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\serialization_traits.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_builder_option.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\service_type.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\sync.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\sync_cxx11.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\sync_no_cxx11.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\thd.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\thd_cxx11.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\thd_no_cxx11.h"> - <Filter>include\grpc++\impl</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_context.h"> - <Filter>include\grpc++\security</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_metadata_processor.h"> - <Filter>include\grpc++\security</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\credentials.h"> - <Filter>include\grpc++\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\server_credentials.h"> - <Filter>include\grpc++\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_builder.h"> - <Filter>include\grpc++</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_context.h"> - <Filter>include\grpc++</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_stream.h"> - <Filter>include\grpc++\support</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_unary_call.h"> - <Filter>include\grpc++\support</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\byte_buffer.h"> - <Filter>include\grpc++\support</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h"> + <Filter>include\grpc++\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\channel_arguments.h"> - <Filter>include\grpc++\support</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h"> + <Filter>include\grpc++\impl\codegen</Filter> </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config.h"> <Filter>include\grpc++\support</Filter> @@ -285,27 +366,6 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config_protobuf.h"> <Filter>include\grpc++\support</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\slice.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status_code_enum.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\string_ref.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\stub_options.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\sync_stream.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\time.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> </ItemGroup> <ItemGroup> <ClInclude Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.h"> @@ -329,6 +389,9 @@ <Filter Include="include"> <UniqueIdentifier>{5c4eb19f-d511-e8fd-e1d6-c377cdc7d3b1}</UniqueIdentifier> </Filter> + <Filter Include="include\grpc"> + <UniqueIdentifier>{f3dd91a8-058b-becf-9e41-eb42c7bc6e55}</UniqueIdentifier> + </Filter> <Filter Include="include\grpc++"> <UniqueIdentifier>{eceb50c0-bb49-3812-b6bd-b0af6df81da7}</UniqueIdentifier> </Filter> @@ -350,6 +413,12 @@ <Filter Include="include\grpc++\support"> <UniqueIdentifier>{0ebf8008-80b9-d6da-e1dc-854bf1ec2195}</UniqueIdentifier> </Filter> + <Filter Include="include\grpc\impl"> + <UniqueIdentifier>{c1049250-64f6-f900-d2e5-1718e148f1f0}</UniqueIdentifier> + </Filter> + <Filter Include="include\grpc\impl\codegen"> + <UniqueIdentifier>{adf6b8e3-4a4b-cb35-bb3d-568af97b58d1}</UniqueIdentifier> + </Filter> <Filter Include="src"> <UniqueIdentifier>{cce6a85d-1111-3834-6825-31e170d93cff}</UniqueIdentifier> </Filter> diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj b/vsprojects/vcxproj/grpc/grpc.vcxproj index c20f8d707083a3968f3deb5b0e5c3e22f5ce9801..f695468254cfa69411c8032f129e118b4dd85aad 100644 --- a/vsprojects/vcxproj/grpc/grpc.vcxproj +++ b/vsprojects/vcxproj/grpc/grpc.vcxproj @@ -269,73 +269,41 @@ <ItemGroup> <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h" /> </ItemGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\alpn.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_errors.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\aggregation.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\mlog.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\rpc_metric_id.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_client_filter.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\connector.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h" /> @@ -345,17 +313,16 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_and_epoll_posix.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h" /> @@ -383,18 +350,6 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\auth_filters.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\b64.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\handshake.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\json_token.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\jwt_verifier.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\secure_endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\security_connector.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\security_context.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_rpc_stats.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h" /> @@ -414,93 +369,76 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_errors.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\auth_filters.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\b64.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\handshake.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\json_token.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\jwt_verifier.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\secure_endpoint.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\security_connector.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\security_context.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\fake_transport_security.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\ssl_transport_security.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\ssl_types.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\transport_security.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\transport_security_interface.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel_factory.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\client_config.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\connector.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\initial_connect_string.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_factory.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_registry.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\resolver.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_factory.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_registry.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_call_holder.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_index.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\uri_parser.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\load_balancer_api.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0\load_balancer.pb.h" /> <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h" /> <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_common.h" /> <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.h" /> <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\aggregation.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_interface.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_rpc_stats.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\mlog.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\rpc_metric_id.h" /> </ItemGroup> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\secure\secure_channel_create.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\secure\server_secure_chttp2.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\alpn.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\context.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_context.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\initialize.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\mlog.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\operation.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\placeholders.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\tracing.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c"> @@ -509,46 +447,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\connector.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\default_initial_connect_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression_algorithm.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c"> @@ -559,8 +457,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli_security_connector.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c"> @@ -571,12 +467,14 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_and_epoll_posix.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c"> @@ -585,14 +483,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_epoll.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_poll_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c"> @@ -655,36 +545,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\b64.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\client_auth_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_win32.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\google_default_credentials.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\handshake.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\json_token.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\jwt_verifier.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\secure_endpoint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\security_connector.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\security_context.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\server_auth_filter.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c"> @@ -701,8 +561,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_connectivity.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c"> @@ -715,8 +573,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_secure.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c"> @@ -741,18 +597,170 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\secure\server_secure_chttp2.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_plugin.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli_security_connector.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\b64.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\client_auth_filter.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_metadata.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_posix.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_win32.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\google_default_credentials.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\handshake.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\json_token.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\jwt_verifier.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\secure_endpoint.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\security_connector.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\security_context.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\server_auth_filter.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_secure.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\tsi\fake_transport_security.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\tsi\ssl_transport_security.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\tsi\transport_security.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\secure\secure_channel_create.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\channel_connectivity.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel_factory.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_config.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_config_plugin.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\connector.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\default_initial_connect_string.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\initial_connect_string.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_factory.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_registry.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\resolver.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_factory.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_registry.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_call_holder.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_index.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\uri_parser.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\load_balancer_api.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0\load_balancer.pb.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_common.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\pick_first\pick_first.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\round_robin\round_robin.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\native\dns_resolver.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\sockaddr\sockaddr_resolver.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\context.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_context.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_plugin.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\initialize.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\mlog.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\operation.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\placeholders.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\tracing.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\plugin_registry\grpc_plugin_registry.c"> + </ClCompile> </ItemGroup> <ItemGroup> <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters index f03b20703f706a158b7690f791d7a678dd5b1401..37bd1e6645b4de1b67a19ec0b16451b491f20f0a 100644 --- a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters +++ b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters @@ -1,108 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create.c"> - <Filter>src\core\ext\transport\chttp2\client\insecure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\secure\secure_channel_create.c"> - <Filter>src\core\ext\transport\chttp2\client\secure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2.c"> - <Filter>src\core\ext\transport\chttp2\server\insecure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\secure\server_secure_chttp2.c"> - <Filter>src\core\ext\transport\chttp2\server\secure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\alpn.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\context.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_context.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\initialize.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\mlog.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\operation.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\placeholders.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\tracing.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c"> <Filter>src\core\lib\channel</Filter> </ClCompile> @@ -112,9 +10,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c"> <Filter>src\core\lib\channel</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.c"> <Filter>src\core\lib\channel</Filter> </ClCompile> @@ -127,66 +22,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.c"> <Filter>src\core\lib\channel</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\connector.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\default_initial_connect_string.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.c"> - <Filter>src\core\lib\client_config\lb_policies</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.c"> - <Filter>src\core\lib\client_config\lb_policies</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.c"> - <Filter>src\core\lib\client_config\lb_policies</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.c"> - <Filter>src\core\lib\client_config\resolvers</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.c"> - <Filter>src\core\lib\client_config\resolvers</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression_algorithm.c"> <Filter>src\core\lib\compression</Filter> </ClCompile> @@ -202,9 +37,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c"> <Filter>src\core\lib\http</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli_security_connector.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c"> <Filter>src\core\lib\http</Filter> </ClCompile> @@ -220,13 +52,16 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c"> <Filter>src\core\lib\iomgr</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_and_epoll_posix.c"> <Filter>src\core\lib\iomgr</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.c"> <Filter>src\core\lib\iomgr</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.c"> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> + <Filter>src\core\lib\iomgr</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> <Filter>src\core\lib\iomgr</Filter> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c"> @@ -241,18 +76,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c"> <Filter>src\core\lib\iomgr</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_epoll.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_poll_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c"> <Filter>src\core\lib\iomgr</Filter> </ClCompile> @@ -346,51 +169,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c"> <Filter>src\core\lib\json</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.c"> - <Filter>src\core\lib\proto\grpc\lb\v0</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\b64.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\client_auth_filter.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_metadata.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_posix.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_win32.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\google_default_credentials.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\handshake.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\json_token.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\jwt_verifier.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\secure_endpoint.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\security_connector.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\security_context.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\server_auth_filter.c"> - <Filter>src\core\lib\security</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c"> <Filter>src\core\lib\surface</Filter> </ClCompile> @@ -415,9 +193,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c"> <Filter>src\core\lib\surface</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_connectivity.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c"> <Filter>src\core\lib\surface</Filter> </ClCompile> @@ -436,9 +211,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init.c"> <Filter>src\core\lib\surface</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_secure.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.c"> <Filter>src\core\lib\surface</Filter> </ClCompile> @@ -475,6 +247,123 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c"> <Filter>src\core\lib\transport</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\secure\server_secure_chttp2.c"> + <Filter>src\core\ext\transport\chttp2\server\secure</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_plugin.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.c"> + <Filter>src\core\ext\transport\chttp2\alpn</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli_security_connector.c"> + <Filter>src\core\lib\http</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\b64.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\client_auth_filter.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_metadata.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_posix.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_win32.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\google_default_credentials.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\handshake.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\json_token.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\jwt_verifier.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\secure_endpoint.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\security_connector.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\security_context.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\server_auth_filter.c"> + <Filter>src\core\lib\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_secure.c"> + <Filter>src\core\lib\surface</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\tsi\fake_transport_security.c"> <Filter>src\core\lib\tsi</Filter> </ClCompile> @@ -484,6 +373,75 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\tsi\transport_security.c"> <Filter>src\core\lib\tsi</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\secure\secure_channel_create.c"> + <Filter>src\core\ext\transport\chttp2\client\secure</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\channel_connectivity.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel_factory.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_config.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_config_plugin.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\connector.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\default_initial_connect_string.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\initial_connect_string.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_factory.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_registry.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\resolver.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_factory.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_registry.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_call_holder.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_index.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\uri_parser.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2.c"> + <Filter>src\core\ext\transport\chttp2\server\insecure</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create.c"> + <Filter>src\core\ext\transport\chttp2\client\insecure</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\load_balancer_api.c"> + <Filter>src\core\ext\lb_policy\grpclb</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0\load_balancer.pb.c"> + <Filter>src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_common.c"> <Filter>third_party\nanopb</Filter> </ClCompile> @@ -493,6 +451,48 @@ <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.c"> <Filter>third_party\nanopb</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\pick_first\pick_first.c"> + <Filter>src\core\ext\lb_policy\pick_first</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\round_robin\round_robin.c"> + <Filter>src\core\ext\lb_policy\round_robin</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\native\dns_resolver.c"> + <Filter>src\core\ext\resolver\dns\native</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\sockaddr\sockaddr_resolver.c"> + <Filter>src\core\ext\resolver\sockaddr</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\context.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_context.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_plugin.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\initialize.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\mlog.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\operation.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\placeholders.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\tracing.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\plugin_registry\grpc_plugin_registry.c"> + <Filter>src\core\plugin_registry</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h"> @@ -501,16 +501,13 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h"> <Filter>include\grpc</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h"> - <Filter>include\grpc</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h"> <Filter>include\grpc</Filter> </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h"> <Filter>include\grpc</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security.h"> + <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h"> <Filter>include\grpc</Filter> </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h"> @@ -519,101 +516,68 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h"> <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h"> - <Filter>include\grpc</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\alpn.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_errors.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\aggregation.h"> - <Filter>src\core\lib\census</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.h"> - <Filter>src\core\lib\census</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.h"> - <Filter>src\core\lib\census</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\mlog.h"> - <Filter>src\core\lib\census</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security.h"> + <Filter>include\grpc</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\rpc_metric_id.h"> - <Filter>src\core\lib\census</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h"> + <Filter>include\grpc</Filter> </ClInclude> + </ItemGroup> + <ItemGroup> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h"> <Filter>src\core\lib\channel</Filter> </ClInclude> @@ -623,9 +587,6 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h"> <Filter>src\core\lib\channel</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.h"> <Filter>src\core\lib\channel</Filter> </ClInclude> @@ -641,63 +602,6 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.h"> <Filter>src\core\lib\channel</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\connector.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.h"> - <Filter>src\core\lib\client_config\lb_policies</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.h"> - <Filter>src\core\lib\client_config\lb_policies</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.h"> - <Filter>src\core\lib\client_config\lb_policies</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.h"> - <Filter>src\core\lib\client_config\resolvers</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.h"> - <Filter>src\core\lib\client_config\resolvers</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h"> <Filter>src\core\lib\compression</Filter> </ClInclude> @@ -725,13 +629,16 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h"> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_and_epoll_posix.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h"> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h"> + <Filter>src\core\lib\iomgr</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.h"> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h"> @@ -749,15 +656,9 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> @@ -839,42 +740,6 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h"> <Filter>src\core\lib\json</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.h"> - <Filter>src\core\lib\proto\grpc\lb\v0</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\auth_filters.h"> - <Filter>src\core\lib\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\b64.h"> - <Filter>src\core\lib\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials.h"> - <Filter>src\core\lib\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\handshake.h"> - <Filter>src\core\lib\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\json_token.h"> - <Filter>src\core\lib\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\jwt_verifier.h"> - <Filter>src\core\lib\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\secure_endpoint.h"> - <Filter>src\core\lib\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\security_connector.h"> - <Filter>src\core\lib\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\security_context.h"> - <Filter>src\core\lib\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_interface.h"> - <Filter>src\core\lib\statistics</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_rpc_stats.h"> - <Filter>src\core\lib\statistics</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h"> <Filter>src\core\lib\surface</Filter> </ClInclude> @@ -932,6 +797,96 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h"> <Filter>src\core\lib\transport</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_errors.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.h"> + <Filter>src\core\ext\transport\chttp2\alpn</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\auth_filters.h"> + <Filter>src\core\lib\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\b64.h"> + <Filter>src\core\lib\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials.h"> + <Filter>src\core\lib\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\handshake.h"> + <Filter>src\core\lib\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\json_token.h"> + <Filter>src\core\lib\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\jwt_verifier.h"> + <Filter>src\core\lib\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\secure_endpoint.h"> + <Filter>src\core\lib\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\security_connector.h"> + <Filter>src\core\lib\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\security_context.h"> + <Filter>src\core\lib\security</Filter> + </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\fake_transport_security.h"> <Filter>src\core\lib\tsi</Filter> </ClInclude> @@ -947,6 +902,57 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\transport_security_interface.h"> <Filter>src\core\lib\tsi</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel_factory.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\client_config.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\connector.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\initial_connect_string.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_factory.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_registry.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\resolver.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_factory.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_registry.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_call_holder.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_index.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\uri_parser.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\load_balancer_api.h"> + <Filter>src\core\ext\lb_policy\grpclb</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0\load_balancer.pb.h"> + <Filter>src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0</Filter> + </ClInclude> <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h"> <Filter>third_party\nanopb</Filter> </ClInclude> @@ -959,6 +965,24 @@ <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h"> <Filter>third_party\nanopb</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\aggregation.h"> + <Filter>src\core\ext\census</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_interface.h"> + <Filter>src\core\ext\census</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_rpc_stats.h"> + <Filter>src\core\ext\census</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.h"> + <Filter>src\core\ext\census</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\mlog.h"> + <Filter>src\core\ext\census</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\rpc_metric_id.h"> + <Filter>src\core\ext\census</Filter> + </ClInclude> </ItemGroup> <ItemGroup> @@ -983,12 +1007,57 @@ <Filter Include="src\core\ext"> <UniqueIdentifier>{3f32a58f-394f-5f13-06aa-6cc52cc2daaf}</UniqueIdentifier> </Filter> + <Filter Include="src\core\ext\census"> + <UniqueIdentifier>{9bf70bd2-f553-11b2-c237-abd148971eea}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\client_config"> + <UniqueIdentifier>{003725f8-37fc-80b5-deba-baae32caf915}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy"> + <UniqueIdentifier>{030f00ff-6c54-76c8-12df-37e3008335d1}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\grpclb"> + <UniqueIdentifier>{fe41339e-53fb-39b3-7457-7a0fbb238dbe}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\grpclb\proto"> + <UniqueIdentifier>{a7c27f6b-6d15-01cf-76d9-c30dddea0990}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\grpclb\proto\grpc"> + <UniqueIdentifier>{bc714e6d-8aba-91df-7db9-7f189f05a6ff}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\grpclb\proto\grpc\lb"> + <UniqueIdentifier>{adf7e553-94ef-14fd-e845-03104f00a06f}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0"> + <UniqueIdentifier>{0406d191-8817-38c3-a562-e3541201f424}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\pick_first"> + <UniqueIdentifier>{b63ded00-b24f-708e-333f-ce199e421875}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\round_robin"> + <UniqueIdentifier>{2472d352-cf94-f317-646e-72b769cea846}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\resolver"> + <UniqueIdentifier>{6bfa6808-9dcb-8990-deed-5cf58a149dda}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\resolver\dns"> + <UniqueIdentifier>{e8fe6413-ab8c-48d5-2c7b-aa79e3db4ab2}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\resolver\dns\native"> + <UniqueIdentifier>{94e34be0-29d2-1731-3c1e-617ec4986acb}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\resolver\sockaddr"> + <UniqueIdentifier>{98c1ccc2-2c91-a3d2-6040-a2e15993d51a}</UniqueIdentifier> + </Filter> <Filter Include="src\core\ext\transport"> <UniqueIdentifier>{e3abfd0a-064e-0f2f-c8e8-7c5a7e98142a}</UniqueIdentifier> </Filter> <Filter Include="src\core\ext\transport\chttp2"> <UniqueIdentifier>{ac42667b-bbba-3571-20bc-7a4240ef26ca}</UniqueIdentifier> </Filter> + <Filter Include="src\core\ext\transport\chttp2\alpn"> + <UniqueIdentifier>{ef2aa344-783f-7fbd-c83a-47e2d38db14d}</UniqueIdentifier> + </Filter> <Filter Include="src\core\ext\transport\chttp2\client"> <UniqueIdentifier>{dbffebe0-eebb-577d-1860-ef6837f4cf50}</UniqueIdentifier> </Filter> @@ -1013,21 +1082,9 @@ <Filter Include="src\core\lib"> <UniqueIdentifier>{5b2ded3f-84a5-f6b4-2060-286c7d1dc945}</UniqueIdentifier> </Filter> - <Filter Include="src\core\lib\census"> - <UniqueIdentifier>{f4108884-98c3-ac2e-c669-83cd41343975}</UniqueIdentifier> - </Filter> <Filter Include="src\core\lib\channel"> <UniqueIdentifier>{1931b044-90f3-cd68-b5f8-23be77ca8efc}</UniqueIdentifier> </Filter> - <Filter Include="src\core\lib\client_config"> - <UniqueIdentifier>{2f3260de-be57-d18d-6882-61d115baa159}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\client_config\lb_policies"> - <UniqueIdentifier>{118d2bb5-086f-54f3-11de-26d7d7f73f9d}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\client_config\resolvers"> - <UniqueIdentifier>{b9d8db6c-2c68-1c90-fe5e-37da90f47ae6}</UniqueIdentifier> - </Filter> <Filter Include="src\core\lib\compression"> <UniqueIdentifier>{dadf7fe9-3f15-d431-e4f6-f987b090536c}</UniqueIdentifier> </Filter> @@ -1043,24 +1100,9 @@ <Filter Include="src\core\lib\json"> <UniqueIdentifier>{cb2b0073-f2a7-5c63-d182-8874b24bdf36}</UniqueIdentifier> </Filter> - <Filter Include="src\core\lib\proto"> - <UniqueIdentifier>{b4b19f9a-1575-8a21-0bca-537746f858b7}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\proto\grpc"> - <UniqueIdentifier>{cbc8ce67-4a97-d533-8dc3-f949c63e2771}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\proto\grpc\lb"> - <UniqueIdentifier>{933530ae-447b-ea8d-3531-98f0556960b0}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\proto\grpc\lb\v0"> - <UniqueIdentifier>{c33f944f-37d4-42fd-abc3-61f0d4400462}</UniqueIdentifier> - </Filter> <Filter Include="src\core\lib\security"> <UniqueIdentifier>{c4661d64-349f-01c1-1ba8-0602f9047595}</UniqueIdentifier> </Filter> - <Filter Include="src\core\lib\statistics"> - <UniqueIdentifier>{4dc3c48b-e931-ed47-ffa2-b4ea3a7956ec}</UniqueIdentifier> - </Filter> <Filter Include="src\core\lib\surface"> <UniqueIdentifier>{a21971fb-304f-da08-b1b2-7bd8df8ac373}</UniqueIdentifier> </Filter> @@ -1070,6 +1112,9 @@ <Filter Include="src\core\lib\tsi"> <UniqueIdentifier>{95ad2811-c8d0-7a42-2a73-baf03fcbf699}</UniqueIdentifier> </Filter> + <Filter Include="src\core\plugin_registry"> + <UniqueIdentifier>{02bec99b-ff39-88d7-9dea-e0ff9f4a2701}</UniqueIdentifier> + </Filter> <Filter Include="third_party"> <UniqueIdentifier>{aaab30a4-2a15-732e-c141-3fbc0f0f5a7a}</UniqueIdentifier> </Filter> diff --git a/vsprojects/vcxproj/grpc_codegen_lib/grpc_codegen_lib.vcxproj.filters b/vsprojects/vcxproj/grpc_codegen_lib/grpc_codegen_lib.vcxproj.filters deleted file mode 100644 index 891dff031f773d02d2c41fe45b9320d6b1f81a11..0000000000000000000000000000000000000000 --- a/vsprojects/vcxproj/grpc_codegen_lib/grpc_codegen_lib.vcxproj.filters +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - </ItemGroup> - - <ItemGroup> - <Filter Include="include"> - <UniqueIdentifier>{1fe03afe-0c52-a706-2c50-4ea691805d81}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc"> - <UniqueIdentifier>{386f8a29-15ac-1f26-30ee-d9a605a802be}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl"> - <UniqueIdentifier>{9828c5d3-4dc2-f116-97bf-015089243c94}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl\codegen"> - <UniqueIdentifier>{0e88ed03-ed1e-49c0-15d7-69934b433494}</UniqueIdentifier> - </Filter> - </ItemGroup> -</Project> - diff --git a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj index 058ae4fcb519a6dc76579509b31758da113c3290..4c80226cbaf4f58e60e114d3c82c3a946b0d8fdf 100644 --- a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj +++ b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj @@ -147,25 +147,13 @@ </Link> </ItemDefinitionGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h" /> - </ItemGroup> <ItemGroup> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config_protobuf.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h" /> + </ItemGroup> + <ItemGroup> <ClInclude Include="$(SolutionDir)\..\src\compiler\config.h" /> <ClInclude Include="$(SolutionDir)\..\src\compiler\cpp_generator.h" /> <ClInclude Include="$(SolutionDir)\..\src\compiler\cpp_generator_helpers.h" /> @@ -192,11 +180,6 @@ <ClCompile Include="$(SolutionDir)\..\src\compiler\ruby_generator.cc"> </ClCompile> </ItemGroup> - <ItemGroup> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc++_codegen_lib\grpc++_codegen_lib.vcxproj"> - <Project>{AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}</Project> - </ProjectReference> - </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> diff --git a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters index b1a63eb41f80a6bdb814ffac05d73e898c9742dc..fc125d911efc4ad476ca2d26eeda64a71d92c143 100644 --- a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters +++ b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters @@ -17,50 +17,6 @@ <Filter>src\compiler</Filter> </ClCompile> </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - </ItemGroup> <ItemGroup> <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config.h"> <Filter>include\grpc++\support</Filter> @@ -68,6 +24,14 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config_protobuf.h"> <Filter>include\grpc++\support</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> <ClInclude Include="$(SolutionDir)\..\src\compiler\config.h"> <Filter>src\compiler</Filter> </ClInclude> @@ -113,20 +77,17 @@ <Filter Include="include"> <UniqueIdentifier>{93ed419d-4540-7fa4-814d-3392745b77ff}</UniqueIdentifier> </Filter> - <Filter Include="include\grpc"> - <UniqueIdentifier>{ae5560ea-77fe-ab95-c7a3-4538c66591a8}</UniqueIdentifier> - </Filter> <Filter Include="include\grpc++"> <UniqueIdentifier>{893c09ee-e315-e763-9d9d-37522ba2f51c}</UniqueIdentifier> </Filter> - <Filter Include="include\grpc++\support"> - <UniqueIdentifier>{1c34d005-1ffb-8a31-881a-c6bb431cda69}</UniqueIdentifier> + <Filter Include="include\grpc++\impl"> + <UniqueIdentifier>{3e8c71a4-8a06-a577-2799-2224a1ad1f1b}</UniqueIdentifier> </Filter> - <Filter Include="include\grpc\impl"> - <UniqueIdentifier>{3c047248-00c2-4c59-fffd-9e313353e390}</UniqueIdentifier> + <Filter Include="include\grpc++\impl\codegen"> + <UniqueIdentifier>{ec2a6e26-915b-ba1b-4f59-f361dc01105c}</UniqueIdentifier> </Filter> - <Filter Include="include\grpc\impl\codegen"> - <UniqueIdentifier>{749ae941-63f0-c623-8b4b-a3114ec81bb7}</UniqueIdentifier> + <Filter Include="include\grpc++\support"> + <UniqueIdentifier>{1c34d005-1ffb-8a31-881a-c6bb431cda69}</UniqueIdentifier> </Filter> <Filter Include="src"> <UniqueIdentifier>{94c9769a-a6cd-49fd-2b30-e52d2d02ed91}</UniqueIdentifier> diff --git a/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj b/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj index 668f8a560741ebda330369f6ea43d145510ac5e7..cb033a5aa4ab8c34a262863962999c31109ff2c9 100644 --- a/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj +++ b/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj @@ -147,34 +147,37 @@ </ItemDefinitionGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\end2end\data\ssl_test_data.h" /> + <ClInclude Include="$(SolutionDir)\..\test\core\security\oauth2_utils.h" /> + <ClInclude Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\security\oauth2_utils.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\util\grpc_profiler.h" /> + <ClInclude Include="$(SolutionDir)\..\test\core\util\mock_endpoint.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\util\parse_hexstring.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\util\port.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\util\port_server_client.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\util\slice_splitter.h" /> </ItemGroup> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\server1_cert.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\server1_key.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\test_root_cert.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\security\oauth2_utils.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\security\oauth2_utils.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\util\grpc_profiler.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\util\mock_endpoint.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\util\parse_hexstring.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\util\port_posix.c"> diff --git a/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj.filters b/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj.filters index 7f2876d5e41b480c78d80aa9b55ce196be163b00..81b2a8105307d87505ece42483c8a382ee1873f1 100644 --- a/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj.filters +++ b/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj.filters @@ -1,9 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.c"> - <Filter>test\core\end2end</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\server1_cert.c"> <Filter>test\core\end2end\data</Filter> </ClCompile> @@ -13,18 +10,24 @@ <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\test_root_cert.c"> <Filter>test\core\end2end\data</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\security\oauth2_utils.c"> + <Filter>test\core\security</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.c"> + <Filter>test\core\end2end</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.c"> <Filter>test\core\end2end\fixtures</Filter> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.c"> <Filter>test\core\iomgr</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\security\oauth2_utils.c"> - <Filter>test\core\security</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\util\grpc_profiler.c"> <Filter>test\core\util</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\util\mock_endpoint.c"> + <Filter>test\core\util</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\util\parse_hexstring.c"> <Filter>test\core\util</Filter> </ClCompile> @@ -42,24 +45,27 @@ </ClCompile> </ItemGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.h"> - <Filter>test\core\end2end</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\test\core\end2end\data\ssl_test_data.h"> <Filter>test\core\end2end\data</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\test\core\security\oauth2_utils.h"> + <Filter>test\core\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.h"> + <Filter>test\core\end2end</Filter> + </ClInclude> <ClInclude Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.h"> <Filter>test\core\end2end\fixtures</Filter> </ClInclude> <ClInclude Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.h"> <Filter>test\core\iomgr</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\security\oauth2_utils.h"> - <Filter>test\core\security</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\test\core\util\grpc_profiler.h"> <Filter>test\core\util</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\test\core\util\mock_endpoint.h"> + <Filter>test\core\util</Filter> + </ClInclude> <ClInclude Include="$(SolutionDir)\..\test\core\util\parse_hexstring.h"> <Filter>test\core\util</Filter> </ClInclude> diff --git a/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj b/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj index 2a3c50e85c95f275ae598961bec0e4f28165613d..bb93b2c6f35838f50a80bd4bc5f8cfa98134a207 100644 --- a/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj +++ b/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj @@ -151,6 +151,7 @@ <ClInclude Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\util\grpc_profiler.h" /> + <ClInclude Include="$(SolutionDir)\..\test\core\util\mock_endpoint.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\util\parse_hexstring.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\util\port.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\util\port_server_client.h" /> @@ -165,6 +166,8 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\util\grpc_profiler.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\util\mock_endpoint.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\util\parse_hexstring.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\util\port_posix.c"> @@ -186,6 +189,9 @@ <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_unsecure\grpc_unsecure.vcxproj"> <Project>{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}</Project> </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> + <Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project> + </ProjectReference> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj.filters index cdb19e1b467901d03350684df980162c96a8c422..4c4620a288d1832ed315430369ba5bb38a9ae4b0 100644 --- a/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj.filters +++ b/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj.filters @@ -13,6 +13,9 @@ <ClCompile Include="$(SolutionDir)\..\test\core\util\grpc_profiler.c"> <Filter>test\core\util</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\util\mock_endpoint.c"> + <Filter>test\core\util</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\util\parse_hexstring.c"> <Filter>test\core\util</Filter> </ClCompile> @@ -42,6 +45,9 @@ <ClInclude Include="$(SolutionDir)\..\test\core\util\grpc_profiler.h"> <Filter>test\core\util</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\test\core\util\mock_endpoint.h"> + <Filter>test\core\util</Filter> + </ClInclude> <ClInclude Include="$(SolutionDir)\..\test\core\util\parse_hexstring.h"> <Filter>test\core\util</Filter> </ClInclude> diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj index e89cc8a1257d451684675f08537a7de7ad4ac090..a866ddc3336bca4b84228fae1142c127db568d21 100644 --- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj +++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj @@ -260,72 +260,40 @@ <ItemGroup> <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h" /> </ItemGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\alpn.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_errors.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\aggregation.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\mlog.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\rpc_metric_id.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_client_filter.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\connector.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h" /> @@ -335,17 +303,16 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_and_epoll_posix.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h" /> @@ -373,9 +340,6 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_rpc_stats.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h" /> @@ -395,75 +359,57 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h" /> <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_errors.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel_factory.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\client_config.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\connector.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\initial_connect_string.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_factory.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_registry.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\resolver.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_factory.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_registry.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_call_holder.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_index.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\uri_parser.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\load_balancer_api.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0\load_balancer.pb.h" /> <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h" /> <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_common.h" /> <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.h" /> <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\aggregation.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_interface.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_rpc_stats.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\mlog.h" /> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\rpc_metric_id.h" /> </ItemGroup> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\alpn.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\context.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_context.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\initialize.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\mlog.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\operation.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\placeholders.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\tracing.c"> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_unsecure.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c"> </ClCompile> @@ -471,8 +417,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c"> @@ -481,46 +425,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\connector.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\default_initial_connect_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression_algorithm.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c"> @@ -541,12 +445,14 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_and_epoll_posix.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c"> @@ -555,14 +461,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_epoll.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_poll_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c"> @@ -625,8 +523,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c"> @@ -643,8 +539,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_connectivity.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c"> @@ -657,8 +551,6 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init.c"> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_unsecure.c"> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c"> @@ -683,12 +575,128 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_plugin.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\channel_connectivity.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel_factory.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_config.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_config_plugin.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\connector.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\default_initial_connect_string.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\initial_connect_string.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_factory.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_registry.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\resolver.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_factory.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_registry.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_call_holder.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_index.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\uri_parser.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\native\dns_resolver.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\sockaddr\sockaddr_resolver.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\load_balancer_api.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0\load_balancer.pb.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_common.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\pick_first\pick_first.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\round_robin\round_robin.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\context.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_context.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_plugin.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\initialize.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\mlog.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\operation.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\placeholders.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\tracing.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\plugin_registry\grpc_unsecure_plugin_registry.c"> + </ClCompile> </ItemGroup> <ItemGroup> <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters index c9f1ad69433102a5139f07b3cb40d33fd5350e69..bc4e06e9489654582d5eae4ef858d77d4cff866f 100644 --- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters @@ -1,101 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create.c"> - <Filter>src\core\ext\transport\chttp2\client\insecure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2.c"> - <Filter>src\core\ext\transport\chttp2\server\insecure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\alpn.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\context.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_context.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\initialize.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\mlog.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\operation.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\placeholders.c"> - <Filter>src\core\lib\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\tracing.c"> - <Filter>src\core\lib\census</Filter> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_unsecure.c"> + <Filter>src\core\lib\surface</Filter> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c"> <Filter>src\core\lib\channel</Filter> @@ -106,9 +13,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c"> <Filter>src\core\lib\channel</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.c"> <Filter>src\core\lib\channel</Filter> </ClCompile> @@ -121,66 +25,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.c"> <Filter>src\core\lib\channel</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\connector.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\default_initial_connect_string.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.c"> - <Filter>src\core\lib\client_config\lb_policies</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.c"> - <Filter>src\core\lib\client_config\lb_policies</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.c"> - <Filter>src\core\lib\client_config\lb_policies</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.c"> - <Filter>src\core\lib\client_config\resolvers</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.c"> - <Filter>src\core\lib\client_config\resolvers</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.c"> - <Filter>src\core\lib\client_config</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression_algorithm.c"> <Filter>src\core\lib\compression</Filter> </ClCompile> @@ -211,13 +55,16 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c"> <Filter>src\core\lib\iomgr</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_and_epoll_posix.c"> <Filter>src\core\lib\iomgr</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.c"> + <Filter>src\core\lib\iomgr</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> <Filter>src\core\lib\iomgr</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.c"> + <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> <Filter>src\core\lib\iomgr</Filter> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c"> @@ -232,18 +79,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c"> <Filter>src\core\lib\iomgr</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_epoll.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_poll_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c"> <Filter>src\core\lib\iomgr</Filter> </ClCompile> @@ -337,9 +172,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c"> <Filter>src\core\lib\json</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.c"> - <Filter>src\core\lib\proto\grpc\lb\v0</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c"> <Filter>src\core\lib\surface</Filter> </ClCompile> @@ -364,9 +196,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c"> <Filter>src\core\lib\surface</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_connectivity.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c"> <Filter>src\core\lib\surface</Filter> </ClCompile> @@ -385,9 +214,6 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init.c"> <Filter>src\core\lib\surface</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_unsecure.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.c"> <Filter>src\core\lib\surface</Filter> </ClCompile> @@ -424,6 +250,144 @@ <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c"> <Filter>src\core\lib\transport</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2.c"> + <Filter>src\core\ext\transport\chttp2\server\insecure</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_plugin.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.c"> + <Filter>src\core\ext\transport\chttp2\alpn</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create.c"> + <Filter>src\core\ext\transport\chttp2\client\insecure</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\channel_connectivity.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel_factory.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_config.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\client_config_plugin.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\connector.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\default_initial_connect_string.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\initial_connect_string.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_factory.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_registry.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\resolver.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_factory.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_registry.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_call_holder.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_index.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\client_config\uri_parser.c"> + <Filter>src\core\ext\client_config</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\dns\native\dns_resolver.c"> + <Filter>src\core\ext\resolver\dns\native</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\resolver\sockaddr\sockaddr_resolver.c"> + <Filter>src\core\ext\resolver\sockaddr</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\load_balancer_api.c"> + <Filter>src\core\ext\lb_policy\grpclb</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0\load_balancer.pb.c"> + <Filter>src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_common.c"> <Filter>third_party\nanopb</Filter> </ClCompile> @@ -433,6 +397,42 @@ <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.c"> <Filter>third_party\nanopb</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\pick_first\pick_first.c"> + <Filter>src\core\ext\lb_policy\pick_first</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\lb_policy\round_robin\round_robin.c"> + <Filter>src\core\ext\lb_policy\round_robin</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\context.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_context.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_plugin.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\initialize.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\mlog.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\operation.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\placeholders.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\tracing.c"> + <Filter>src\core\ext\census</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\plugin_registry\grpc_unsecure_plugin_registry.c"> + <Filter>src\core\plugin_registry</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h"> @@ -441,15 +441,15 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h"> <Filter>include\grpc</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h"> - <Filter>include\grpc</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h"> <Filter>include\grpc</Filter> </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h"> <Filter>include\grpc</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h"> + <Filter>include\grpc</Filter> + </ClInclude> <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h"> <Filter>include\grpc\impl\codegen</Filter> </ClInclude> @@ -468,89 +468,53 @@ <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h"> - <Filter>include\grpc</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\alpn.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_errors.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\aggregation.h"> - <Filter>src\core\lib\census</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.h"> - <Filter>src\core\lib\census</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.h"> - <Filter>src\core\lib\census</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\mlog.h"> - <Filter>src\core\lib\census</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h"> + <Filter>include\grpc\impl\codegen</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\rpc_metric_id.h"> - <Filter>src\core\lib\census</Filter> + <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h"> + <Filter>include\grpc</Filter> </ClInclude> + </ItemGroup> + <ItemGroup> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h"> <Filter>src\core\lib\channel</Filter> </ClInclude> @@ -560,9 +524,6 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h"> <Filter>src\core\lib\channel</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.h"> <Filter>src\core\lib\channel</Filter> </ClInclude> @@ -578,63 +539,6 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.h"> <Filter>src\core\lib\channel</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\connector.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.h"> - <Filter>src\core\lib\client_config\lb_policies</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.h"> - <Filter>src\core\lib\client_config\lb_policies</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.h"> - <Filter>src\core\lib\client_config\lb_policies</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.h"> - <Filter>src\core\lib\client_config\resolvers</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.h"> - <Filter>src\core\lib\client_config\resolvers</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.h"> - <Filter>src\core\lib\client_config</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h"> <Filter>src\core\lib\compression</Filter> </ClInclude> @@ -662,13 +566,16 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h"> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_and_epoll_posix.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h"> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h"> + <Filter>src\core\lib\iomgr</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.h"> + <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h"> @@ -686,15 +593,9 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h"> <Filter>src\core\lib\iomgr</Filter> </ClInclude> @@ -776,15 +677,6 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h"> <Filter>src\core\lib\json</Filter> </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.h"> - <Filter>src\core\lib\proto\grpc\lb\v0</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_interface.h"> - <Filter>src\core\lib\statistics</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_rpc_stats.h"> - <Filter>src\core\lib\statistics</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h"> <Filter>src\core\lib\surface</Filter> </ClInclude> @@ -842,6 +734,120 @@ <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h"> <Filter>src\core\lib\transport</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_errors.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\status_conversion.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\timeout_encoding.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h"> + <Filter>src\core\ext\transport\chttp2\transport</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.h"> + <Filter>src\core\ext\transport\chttp2\alpn</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\client_channel_factory.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\client_config.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\connector.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\initial_connect_string.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_factory.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\lb_policy_registry.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\resolver.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_factory.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\resolver_registry.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_call_holder.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\subchannel_index.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\client_config\uri_parser.h"> + <Filter>src\core\ext\client_config</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\load_balancer_api.h"> + <Filter>src\core\ext\lb_policy\grpclb</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0\load_balancer.pb.h"> + <Filter>src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0</Filter> + </ClInclude> <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h"> <Filter>third_party\nanopb</Filter> </ClInclude> @@ -854,6 +860,24 @@ <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h"> <Filter>third_party\nanopb</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\aggregation.h"> + <Filter>src\core\ext\census</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_interface.h"> + <Filter>src\core\ext\census</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_rpc_stats.h"> + <Filter>src\core\ext\census</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.h"> + <Filter>src\core\ext\census</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\mlog.h"> + <Filter>src\core\ext\census</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\rpc_metric_id.h"> + <Filter>src\core\ext\census</Filter> + </ClInclude> </ItemGroup> <ItemGroup> @@ -878,12 +902,57 @@ <Filter Include="src\core\ext"> <UniqueIdentifier>{82f86e8c-00a4-f566-d235-670fc629798d}</UniqueIdentifier> </Filter> + <Filter Include="src\core\ext\census"> + <UniqueIdentifier>{3f21cd12-b8b9-18f8-8780-e21bbe2285d0}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\client_config"> + <UniqueIdentifier>{25fa8af3-0a05-987c-741f-fa8ff9d65d51}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy"> + <UniqueIdentifier>{a23781d2-27e4-7cb0-12cd-59782ecb21ce}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\grpclb"> + <UniqueIdentifier>{25a465c8-d1e8-6248-c005-bb2062206472}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\grpclb\proto"> + <UniqueIdentifier>{40fc2615-d244-0d36-4486-ba6f0fa468bb}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\grpclb\proto\grpc"> + <UniqueIdentifier>{1d129f24-a399-12ef-68de-023aff7dde52}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\grpclb\proto\grpc\lb"> + <UniqueIdentifier>{21858d9d-30b5-8847-5882-6b47df0fa293}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\grpclb\proto\grpc\lb\v0"> + <UniqueIdentifier>{1795a20b-3e7c-e27d-eae1-96582fa9a958}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\pick_first"> + <UniqueIdentifier>{e27f9ecf-97bb-1a2e-3135-a41f732dcf55}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\lb_policy\round_robin"> + <UniqueIdentifier>{e5fc1091-5d60-404f-775b-686ef4b3266f}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\resolver"> + <UniqueIdentifier>{88c78e27-267a-95df-07c5-50e5fbc2f40c}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\resolver\dns"> + <UniqueIdentifier>{2e0a9b4f-6394-7c0e-6e5a-0f8b3ee29b41}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\resolver\dns\native"> + <UniqueIdentifier>{3d5398c8-928b-9096-8eb7-f8c40ee68c4d}</UniqueIdentifier> + </Filter> + <Filter Include="src\core\ext\resolver\sockaddr"> + <UniqueIdentifier>{71686ed0-fbf9-02a4-d65a-a73f7dc4e2be}</UniqueIdentifier> + </Filter> <Filter Include="src\core\ext\transport"> <UniqueIdentifier>{967c89fe-c97c-27e2-aac0-9ba5854cb5fa}</UniqueIdentifier> </Filter> <Filter Include="src\core\ext\transport\chttp2"> <UniqueIdentifier>{702829f0-099e-2ab7-6b44-ed7cff3ec083}</UniqueIdentifier> </Filter> + <Filter Include="src\core\ext\transport\chttp2\alpn"> + <UniqueIdentifier>{7d4830f7-20db-07d3-c3a9-ecfe63ae1992}</UniqueIdentifier> + </Filter> <Filter Include="src\core\ext\transport\chttp2\client"> <UniqueIdentifier>{0d589e16-e470-4968-318c-796af5a33637}</UniqueIdentifier> </Filter> @@ -902,21 +971,9 @@ <Filter Include="src\core\lib"> <UniqueIdentifier>{8bd5b461-bff8-6aa8-b5a6-85da2834eb8a}</UniqueIdentifier> </Filter> - <Filter Include="src\core\lib\census"> - <UniqueIdentifier>{19582d5a-dab7-9dc1-c7e9-cc147fd52e5f}</UniqueIdentifier> - </Filter> <Filter Include="src\core\lib\channel"> <UniqueIdentifier>{fb964f3d-a59c-a7ba-fee5-6072dbb94a7b}</UniqueIdentifier> </Filter> - <Filter Include="src\core\lib\client_config"> - <UniqueIdentifier>{29ca2974-89e4-1a74-3e4d-0d63e2f77566}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\client_config\lb_policies"> - <UniqueIdentifier>{6c7e36d4-6117-e0cd-c886-b9eb3c994927}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\client_config\resolvers"> - <UniqueIdentifier>{2d959ef9-9703-dc92-a56f-9fe136dadfb9}</UniqueIdentifier> - </Filter> <Filter Include="src\core\lib\compression"> <UniqueIdentifier>{b88002e9-185e-4e64-49f5-2d8989ce87f6}</UniqueIdentifier> </Filter> @@ -932,27 +989,15 @@ <Filter Include="src\core\lib\json"> <UniqueIdentifier>{681cdaeb-c47f-8853-d985-bf13c2873947}</UniqueIdentifier> </Filter> - <Filter Include="src\core\lib\proto"> - <UniqueIdentifier>{4bfbd6c6-f6a8-c6b3-5186-b788f4e11e23}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\proto\grpc"> - <UniqueIdentifier>{60f3ab7d-ea44-348f-671e-77fdebbd18bb}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\proto\grpc\lb"> - <UniqueIdentifier>{bcd33510-32e7-c2fb-e11d-a3655f97bc84}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\proto\grpc\lb\v0"> - <UniqueIdentifier>{bb9b8c80-9eff-5ab6-5b29-c2d54f0fc192}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\statistics"> - <UniqueIdentifier>{d0ab6d54-ae25-fc49-3656-91d9db57366a}</UniqueIdentifier> - </Filter> <Filter Include="src\core\lib\surface"> <UniqueIdentifier>{506dc3b3-d884-2b59-0dfa-57ed6affa2d3}</UniqueIdentifier> </Filter> <Filter Include="src\core\lib\transport"> <UniqueIdentifier>{6c3394d1-27e9-003e-19ed-8116d210f7cc}</UniqueIdentifier> </Filter> + <Filter Include="src\core\plugin_registry"> + <UniqueIdentifier>{babf0a90-e934-f599-5475-e6937d9580fe}</UniqueIdentifier> + </Filter> <Filter Include="third_party"> <UniqueIdentifier>{025c051e-8eba-125b-67f9-173f95176eb2}</UniqueIdentifier> </Filter> diff --git a/vsprojects/vcxproj/grpc_codegen_lib/grpc_codegen_lib.vcxproj b/vsprojects/vcxproj/one_input_fuzzer/one_input_fuzzer.vcxproj similarity index 79% rename from vsprojects/vcxproj/grpc_codegen_lib/grpc_codegen_lib.vcxproj rename to vsprojects/vcxproj/one_input_fuzzer/one_input_fuzzer.vcxproj index 7d7a60915f7e53da25e2615134d86dad4da81e56..ad343e0b4df526a9b227842ebc5134970bba5405 100644 --- a/vsprojects/vcxproj/grpc_codegen_lib/grpc_codegen_lib.vcxproj +++ b/vsprojects/vcxproj/one_input_fuzzer/one_input_fuzzer.vcxproj @@ -19,7 +19,7 @@ </ProjectConfiguration> </ItemGroup> <PropertyGroup Label="Globals"> - <ProjectGuid>{A828FD72-44CE-4EA5-8966-6E4624458D58}</ProjectGuid> + <ProjectGuid>{3589BCA3-CB0E-58FE-2F67-C4475D5CA517}</ProjectGuid> <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> </PropertyGroup> @@ -57,10 +57,10 @@ </ImportGroup> <PropertyGroup Label="UserMacros" /> <PropertyGroup Condition="'$(Configuration)'=='Debug'"> - <TargetName>grpc_codegen_lib</TargetName> + <TargetName>one_input_fuzzer</TargetName> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)'=='Release'"> - <TargetName>grpc_codegen_lib</TargetName> + <TargetName>one_input_fuzzer</TargetName> </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> @@ -147,30 +147,13 @@ </ItemDefinitionGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h" /> + <ClCompile Include="$(SolutionDir)\..\test\core\util\one_corpus_entry_fuzzer.c"> + </ClCompile> </ItemGroup> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\vsprojects\dummy.c"> - </ClCompile> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> + <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> + </ProjectReference> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/vsprojects/vcxproj/one_input_fuzzer/one_input_fuzzer.vcxproj.filters b/vsprojects/vcxproj/one_input_fuzzer/one_input_fuzzer.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..8935dfab0f81223576297a7dbbf203deb2ec5e82 --- /dev/null +++ b/vsprojects/vcxproj/one_input_fuzzer/one_input_fuzzer.vcxproj.filters @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\core\util\one_corpus_entry_fuzzer.c"> + <Filter>test\core\util</Filter> + </ClCompile> + </ItemGroup> + + <ItemGroup> + <Filter Include="test"> + <UniqueIdentifier>{178c17dc-766b-aa84-e928-d6bd0e456ff9}</UniqueIdentifier> + </Filter> + <Filter Include="test\core"> + <UniqueIdentifier>{f08c2f86-ff65-4ce8-1ae6-e40fae0cef67}</UniqueIdentifier> + </Filter> + <Filter Include="test\core\util"> + <UniqueIdentifier>{17c672ec-2cce-5636-14c8-4812cd2e1b9a}</UniqueIdentifier> + </Filter> + </ItemGroup> +</Project> + diff --git a/vsprojects/vcxproj/qps/qps.vcxproj b/vsprojects/vcxproj/qps/qps.vcxproj index d458664c8d0e93ec275ad9735867ba87e732ffe6..a57b7409b69098d22d8c99d59865a29a4d42faa8 100644 --- a/vsprojects/vcxproj/qps/qps.vcxproj +++ b/vsprojects/vcxproj/qps/qps.vcxproj @@ -161,14 +161,6 @@ <ClInclude Include="$(SolutionDir)\..\test\cpp\util\benchmark_config.h" /> </ItemGroup> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.pb.cc"> - </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\control.pb.h"> - </ClInclude> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.grpc.pb.cc"> - </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\control.grpc.pb.h"> - </ClInclude> <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\messages.pb.cc"> </ClCompile> <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\messages.pb.h"> @@ -185,13 +177,21 @@ </ClCompile> <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\payloads.grpc.pb.h"> </ClInclude> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.pb.cc"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.pb.cc"> </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.pb.h"> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.pb.h"> </ClInclude> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.grpc.pb.cc"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.grpc.pb.cc"> </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.grpc.pb.h"> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.grpc.pb.h"> + </ClInclude> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.pb.cc"> + </ClCompile> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\control.pb.h"> + </ClInclude> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.grpc.pb.cc"> + </ClCompile> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\control.grpc.pb.h"> </ClInclude> <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\services.pb.cc"> </ClCompile> @@ -201,13 +201,13 @@ </ClCompile> <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\services.grpc.pb.h"> </ClInclude> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.pb.cc"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.pb.cc"> </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.pb.h"> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.pb.h"> </ClInclude> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.grpc.pb.cc"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.grpc.pb.cc"> </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.grpc.pb.h"> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.grpc.pb.h"> </ClInclude> <ClCompile Include="$(SolutionDir)\..\test\cpp\qps\client_async.cc"> </ClCompile> diff --git a/vsprojects/vcxproj/qps/qps.vcxproj.filters b/vsprojects/vcxproj/qps/qps.vcxproj.filters index c3ea63d04ee6c64bad473b87239af30a0fd73e27..eeb9555a6af9b17afb2dbebfc38e274fa2ffb079 100644 --- a/vsprojects/vcxproj/qps/qps.vcxproj.filters +++ b/vsprojects/vcxproj/qps/qps.vcxproj.filters @@ -1,22 +1,22 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.proto"> - <Filter>src\proto\grpc\testing</Filter> - </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\messages.proto"> <Filter>src\proto\grpc\testing</Filter> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\payloads.proto"> <Filter>src\proto\grpc\testing</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.proto"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.proto"> + <Filter>src\proto\grpc\testing</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.proto"> <Filter>src\proto\grpc\testing</Filter> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\services.proto"> <Filter>src\proto\grpc\testing</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.proto"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.proto"> <Filter>src\proto\grpc\testing</Filter> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\cpp\qps\client_async.cc"> diff --git a/vsprojects/vcxproj/test/codegen_test/codegen_test.vcxproj b/vsprojects/vcxproj/test/codegen_test/codegen_test.vcxproj index 7ba2a56133067eb808a6776747f9f9b95589d308..9a39b36de3a5e129687a4219be8f9371ee4c812f 100644 --- a/vsprojects/vcxproj/test/codegen_test/codegen_test.vcxproj +++ b/vsprojects/vcxproj/test/codegen_test/codegen_test.vcxproj @@ -159,6 +159,59 @@ </Link> </ItemDefinitionGroup> + <ItemGroup> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_unary_call.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call_hook.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\channel_interface.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_context.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_unary_call.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\grpc_library.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\method_handler_impl.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\proto_utils.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_method.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_service_method.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\security\auth_context.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\serialization_traits.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_context.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_interface.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\service_type.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status_code_enum.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\string_ref.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\stub_options.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_cxx11.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_no_cxx11.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_stream.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h" /> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h" /> + </ItemGroup> <ItemGroup> <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.pb.cc"> </ClCompile> @@ -210,11 +263,8 @@ </ClInclude> <ClCompile Include="$(SolutionDir)\..\test\cpp\codegen\codegen_test.cc"> </ClCompile> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc++_codegen_lib\grpc++_codegen_lib.vcxproj"> - <Project>{AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}</Project> - </ProjectReference> + <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> + </ClCompile> </ItemGroup> <ItemGroup> <None Include="packages.config" /> diff --git a/vsprojects/vcxproj/test/codegen_test/codegen_test.vcxproj.filters b/vsprojects/vcxproj/test/codegen_test/codegen_test.vcxproj.filters index 980cf76052bf546602ac27d2133799cdd7f5e99e..74ab62f6ad0d9c92a88b711f6e4695598cf5d5e4 100644 --- a/vsprojects/vcxproj/test/codegen_test/codegen_test.vcxproj.filters +++ b/vsprojects/vcxproj/test/codegen_test/codegen_test.vcxproj.filters @@ -22,12 +22,200 @@ <ClCompile Include="$(SolutionDir)\..\test\cpp\codegen\codegen_test.cc"> <Filter>test\cpp\codegen</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> + <Filter>src\cpp\codegen</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_unary_call.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call_hook.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\channel_interface.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_context.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_unary_call.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\grpc_library.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\method_handler_impl.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\proto_utils.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_method.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_service_method.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\security\auth_context.h"> + <Filter>include\grpc++\impl\codegen\security</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\serialization_traits.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_context.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_interface.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\service_type.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status_code_enum.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\string_ref.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\stub_options.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_cxx11.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_no_cxx11.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_stream.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h"> + <Filter>include\grpc\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h"> + <Filter>include\grpc++\impl\codegen</Filter> + </ClInclude> </ItemGroup> <ItemGroup> + <Filter Include="include"> + <UniqueIdentifier>{13c5bcf2-9f21-cea2-fe65-0fdd0d878f3b}</UniqueIdentifier> + </Filter> + <Filter Include="include\grpc"> + <UniqueIdentifier>{a07dcaf5-9cff-8966-b36e-b36212a0ae8c}</UniqueIdentifier> + </Filter> + <Filter Include="include\grpc++"> + <UniqueIdentifier>{fe62c3e7-82ea-42a2-b120-48dda3b5363a}</UniqueIdentifier> + </Filter> + <Filter Include="include\grpc++\impl"> + <UniqueIdentifier>{09f48d38-2bf5-0a60-84c7-c1e7d40a172d}</UniqueIdentifier> + </Filter> + <Filter Include="include\grpc++\impl\codegen"> + <UniqueIdentifier>{7128d5bb-3cf6-7b16-cef6-f5da3ebe2d71}</UniqueIdentifier> + </Filter> + <Filter Include="include\grpc++\impl\codegen\security"> + <UniqueIdentifier>{7185b8d5-c403-7dc7-ae81-ee9094a8b370}</UniqueIdentifier> + </Filter> + <Filter Include="include\grpc\impl"> + <UniqueIdentifier>{040206e3-3ace-35c0-f0a3-2cdccfbc4880}</UniqueIdentifier> + </Filter> + <Filter Include="include\grpc\impl\codegen"> + <UniqueIdentifier>{9da834d8-f637-4be5-77e2-58bc7335a804}</UniqueIdentifier> + </Filter> <Filter Include="src"> <UniqueIdentifier>{a37f6960-8f92-51ed-9b99-d24970584bb2}</UniqueIdentifier> </Filter> + <Filter Include="src\cpp"> + <UniqueIdentifier>{9a190463-de6d-b761-2b2b-c093888f3c7a}</UniqueIdentifier> + </Filter> + <Filter Include="src\cpp\codegen"> + <UniqueIdentifier>{47b68e80-0053-216a-26a5-bbc63a4fef70}</UniqueIdentifier> + </Filter> <Filter Include="src\proto"> <UniqueIdentifier>{dc3f4032-f0dc-f8f0-e07a-78c0f628e9f5}</UniqueIdentifier> </Filter> diff --git a/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj b/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj index 568a0515aaea163ac5b9217557ea0e13740fa0cf..22cd102d116e14e7aec8c6ac5cc470e4edd59b0f 100644 --- a/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj +++ b/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj @@ -147,8 +147,8 @@ </ItemDefinitionGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\end2end_tests.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\end2end\tests\cancel_test_helpers.h" /> + <ClInclude Include="$(SolutionDir)\..\test\core\end2end\end2end_tests.h" /> </ItemGroup> <ItemGroup> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\end2end_nosec_tests.c"> @@ -179,12 +179,16 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\empty_batch.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\filter_causes_close.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\graceful_server_shutdown.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\high_initial_seqno.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\hpack_size.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\idempotent_request.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\invoke_large_request.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\large_metadata.c"> diff --git a/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj.filters b/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj.filters index ecc23e868dac58ff82c7db37e01bcff88fd85ee4..1bb208bba8e77f1d45dae6f09915b61f7010e370 100644 --- a/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj.filters +++ b/vsprojects/vcxproj/test/end2end/tests/end2end_nosec_tests/end2end_nosec_tests.vcxproj.filters @@ -43,6 +43,9 @@ <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\empty_batch.c"> <Filter>test\core\end2end\tests</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\filter_causes_close.c"> + <Filter>test\core\end2end\tests</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\graceful_server_shutdown.c"> <Filter>test\core\end2end\tests</Filter> </ClCompile> @@ -52,6 +55,9 @@ <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\hpack_size.c"> <Filter>test\core\end2end\tests</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\idempotent_request.c"> + <Filter>test\core\end2end\tests</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\invoke_large_request.c"> <Filter>test\core\end2end\tests</Filter> </ClCompile> @@ -111,12 +117,12 @@ </ClCompile> </ItemGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\end2end_tests.h"> - <Filter>test\core\end2end</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\test\core\end2end\tests\cancel_test_helpers.h"> <Filter>test\core\end2end\tests</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\test\core\end2end\end2end_tests.h"> + <Filter>test\core\end2end</Filter> + </ClInclude> </ItemGroup> <ItemGroup> diff --git a/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj b/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj index 3e0092ef87476951c71dc5c351d1486241399a3c..bfd437e871726ecfe207f9c0d37bac65713b1b35 100644 --- a/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj +++ b/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj @@ -147,8 +147,8 @@ </ItemDefinitionGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\end2end_tests.h" /> <ClInclude Include="$(SolutionDir)\..\test\core\end2end\tests\cancel_test_helpers.h" /> + <ClInclude Include="$(SolutionDir)\..\test\core\end2end\end2end_tests.h" /> </ItemGroup> <ItemGroup> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\end2end_tests.c"> @@ -181,12 +181,16 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\empty_batch.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\filter_causes_close.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\graceful_server_shutdown.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\high_initial_seqno.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\hpack_size.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\idempotent_request.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\invoke_large_request.c"> </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\large_metadata.c"> diff --git a/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj.filters b/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj.filters index c3aabc48a03f3dd743311f2fb80702070ee70725..61c065f77ca721d09654378dee0fe8dc4ba87a58 100644 --- a/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj.filters +++ b/vsprojects/vcxproj/test/end2end/tests/end2end_tests/end2end_tests.vcxproj.filters @@ -46,6 +46,9 @@ <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\empty_batch.c"> <Filter>test\core\end2end\tests</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\filter_causes_close.c"> + <Filter>test\core\end2end\tests</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\graceful_server_shutdown.c"> <Filter>test\core\end2end\tests</Filter> </ClCompile> @@ -55,6 +58,9 @@ <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\hpack_size.c"> <Filter>test\core\end2end\tests</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\idempotent_request.c"> + <Filter>test\core\end2end\tests</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\test\core\end2end\tests\invoke_large_request.c"> <Filter>test\core\end2end\tests</Filter> </ClCompile> @@ -114,12 +120,12 @@ </ClCompile> </ItemGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\end2end_tests.h"> - <Filter>test\core\end2end</Filter> - </ClInclude> <ClInclude Include="$(SolutionDir)\..\test\core\end2end\tests\cancel_test_helpers.h"> <Filter>test\core\end2end\tests</Filter> </ClInclude> + <ClInclude Include="$(SolutionDir)\..\test\core\end2end\end2end_tests.h"> + <Filter>test\core\end2end</Filter> + </ClInclude> </ItemGroup> <ItemGroup> diff --git a/vsprojects/vcxproj/test/head_of_line_blocking_bad_client_test/head_of_line_blocking_bad_client_test.vcxproj b/vsprojects/vcxproj/test/head_of_line_blocking_bad_client_test/head_of_line_blocking_bad_client_test.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..fb10f95574c8bc9947e381ef84127abca0cecebf --- /dev/null +++ b/vsprojects/vcxproj/test/head_of_line_blocking_bad_client_test/head_of_line_blocking_bad_client_test.vcxproj @@ -0,0 +1,202 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" /> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{23DF0572-DBF1-08DA-8EAD-8508354C90A4}</ProjectGuid> + <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> + <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> + <PlatformToolset>v100</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> + <PlatformToolset>v140</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\openssl.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\zlib.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)'=='Debug'"> + <TargetName>head_of_line_blocking_bad_client_test</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'"> + <TargetName>head_of_line_blocking_bad_client_test</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\core\bad_client\tests\head_of_line_blocking.c"> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\test/bad_client\bad_client_test\bad_client_test.vcxproj"> + <Project>{BA67B418-B699-E41A-9CC4-0279C49481A5}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util_unsecure\grpc_test_util_unsecure.vcxproj"> + <Project>{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_unsecure\grpc_unsecure.vcxproj"> + <Project>{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj"> + <Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> + <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="packages.config" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + </ImportGroup> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" /> + </Target> +</Project> + diff --git a/vsprojects/vcxproj/test/head_of_line_blocking_bad_client_test/head_of_line_blocking_bad_client_test.vcxproj.filters b/vsprojects/vcxproj/test/head_of_line_blocking_bad_client_test/head_of_line_blocking_bad_client_test.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..c3609f0de428a6a1743d64903a51cf72bc7e5a1a --- /dev/null +++ b/vsprojects/vcxproj/test/head_of_line_blocking_bad_client_test/head_of_line_blocking_bad_client_test.vcxproj.filters @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\core\bad_client\tests\head_of_line_blocking.c"> + <Filter>test\core\bad_client\tests</Filter> + </ClCompile> + </ItemGroup> + + <ItemGroup> + <Filter Include="test"> + <UniqueIdentifier>{c7d7f2b5-9afd-5668-b11f-ceb3a3503569}</UniqueIdentifier> + </Filter> + <Filter Include="test\core"> + <UniqueIdentifier>{3175d310-96bd-0c78-72e3-b5985873fa82}</UniqueIdentifier> + </Filter> + <Filter Include="test\core\bad_client"> + <UniqueIdentifier>{d7e592e2-acda-4572-59b7-20845fb05bd5}</UniqueIdentifier> + </Filter> + <Filter Include="test\core\bad_client\tests"> + <UniqueIdentifier>{1fa3207b-dc88-d316-7c13-9ac70ddc850e}</UniqueIdentifier> + </Filter> + </ItemGroup> +</Project> + diff --git a/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj b/vsprojects/vcxproj/test/internal_api_canary_iomgr_test/internal_api_canary_iomgr_test.vcxproj similarity index 57% rename from vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj rename to vsprojects/vcxproj/test/internal_api_canary_iomgr_test/internal_api_canary_iomgr_test.vcxproj index fa56d2a09958646a4a63d5e51ddc6b222a08f025..11d89a01c15d7dc7817bee49bc3d1db44a7f98d9 100644 --- a/vsprojects/vcxproj/grpc++_codegen_lib/grpc++_codegen_lib.vcxproj +++ b/vsprojects/vcxproj/test/internal_api_canary_iomgr_test/internal_api_canary_iomgr_test.vcxproj @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" /> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|Win32"> <Configuration>Debug</Configuration> @@ -19,7 +20,7 @@ </ProjectConfiguration> </ItemGroup> <PropertyGroup Label="Globals"> - <ProjectGuid>{AAC6AF12-94C8-4A3C-A1BF-DAA4738F4500}</ProjectGuid> + <ProjectGuid>{28AE726B-1BFB-202B-48D2-41AF9D09B9EA}</ProjectGuid> <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> </PropertyGroup> @@ -37,12 +38,12 @@ <PlatformToolset>v140</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> + <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> <CharacterSet>Unicode</CharacterSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> + <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> <CharacterSet>Unicode</CharacterSet> @@ -53,14 +54,24 @@ <ImportGroup Label="PropertySheets"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\openssl.props" /> <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\zlib.props" /> </ImportGroup> <PropertyGroup Label="UserMacros" /> <PropertyGroup Condition="'$(Configuration)'=='Debug'"> - <TargetName>grpc++_codegen_lib</TargetName> + <TargetName>internal_api_canary_iomgr_test</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)'=='Release'"> - <TargetName>grpc++_codegen_lib</TargetName> + <TargetName>internal_api_canary_iomgr_test</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl> </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> @@ -75,7 +86,7 @@ <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> </ClCompile> <Link> - <SubSystem>Windows</SubSystem> + <SubSystem>Console</SubSystem> <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> </Link> @@ -94,7 +105,7 @@ <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> </ClCompile> <Link> - <SubSystem>Windows</SubSystem> + <SubSystem>Console</SubSystem> <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> </Link> @@ -115,7 +126,7 @@ <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> </ClCompile> <Link> - <SubSystem>Windows</SubSystem> + <SubSystem>Console</SubSystem> <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> <EnableCOMDATFolding>true</EnableCOMDATFolding> @@ -138,7 +149,7 @@ <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> </ClCompile> <Link> - <SubSystem>Windows</SubSystem> + <SubSystem>Console</SubSystem> <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> <EnableCOMDATFolding>true</EnableCOMDATFolding> @@ -147,69 +158,42 @@ </ItemDefinitionGroup> <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call_hook.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\channel_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\grpc_library.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\method_handler_impl.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\proto_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_service_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\security\auth_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\serialization_traits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\service_type.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status_code_enum.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\string_ref.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\stub_options.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_cxx11.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_no_cxx11.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\alloc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_win32.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\log.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_win32.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h" /> + <ClCompile Include="$(SolutionDir)\..\test\core\internal_api_canaries\iomgr.c"> + </ClCompile> </ItemGroup> <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> - </ClCompile> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util\grpc_test_util.vcxproj"> + <Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> + <Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj"> + <Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> + <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="packages.config" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> </ImportGroup> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" /> </Target> </Project> diff --git a/vsprojects/vcxproj/test/internal_api_canary_iomgr_test/internal_api_canary_iomgr_test.vcxproj.filters b/vsprojects/vcxproj/test/internal_api_canary_iomgr_test/internal_api_canary_iomgr_test.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..f1ee82d1f4c80bb08d8f68ac7a2b86a14463bd20 --- /dev/null +++ b/vsprojects/vcxproj/test/internal_api_canary_iomgr_test/internal_api_canary_iomgr_test.vcxproj.filters @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\core\internal_api_canaries\iomgr.c"> + <Filter>test\core\internal_api_canaries</Filter> + </ClCompile> + </ItemGroup> + + <ItemGroup> + <Filter Include="test"> + <UniqueIdentifier>{881986d1-d1fe-b377-cf26-b3377af95009}</UniqueIdentifier> + </Filter> + <Filter Include="test\core"> + <UniqueIdentifier>{4f9a544e-5680-18ee-30d7-38179bf82cee}</UniqueIdentifier> + </Filter> + <Filter Include="test\core\internal_api_canaries"> + <UniqueIdentifier>{6ab29f78-ec9d-d63a-8e8f-0d7552b3edd4}</UniqueIdentifier> + </Filter> + </ItemGroup> +</Project> + diff --git a/vsprojects/vcxproj/test/internal_api_canary_support_test/internal_api_canary_support_test.vcxproj b/vsprojects/vcxproj/test/internal_api_canary_support_test/internal_api_canary_support_test.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..59092dc2b3c9e902c489a884ac0d0e44177cee64 --- /dev/null +++ b/vsprojects/vcxproj/test/internal_api_canary_support_test/internal_api_canary_support_test.vcxproj @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" /> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{D53575C6-713C-E6E3-FD74-E65F20916498}</ProjectGuid> + <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> + <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> + <PlatformToolset>v100</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> + <PlatformToolset>v140</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\openssl.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\zlib.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)'=='Debug'"> + <TargetName>internal_api_canary_support_test</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'"> + <TargetName>internal_api_canary_support_test</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\core\internal_api_canaries\iomgr.c"> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util\grpc_test_util.vcxproj"> + <Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> + <Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj"> + <Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> + <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="packages.config" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + </ImportGroup> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" /> + </Target> +</Project> + diff --git a/vsprojects/vcxproj/test/internal_api_canary_support_test/internal_api_canary_support_test.vcxproj.filters b/vsprojects/vcxproj/test/internal_api_canary_support_test/internal_api_canary_support_test.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..f7f4e3200ed25fa847db1a6d640efb30cedd2b4e --- /dev/null +++ b/vsprojects/vcxproj/test/internal_api_canary_support_test/internal_api_canary_support_test.vcxproj.filters @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\core\internal_api_canaries\iomgr.c"> + <Filter>test\core\internal_api_canaries</Filter> + </ClCompile> + </ItemGroup> + + <ItemGroup> + <Filter Include="test"> + <UniqueIdentifier>{a6c31cba-af9d-78ea-8980-8b77c9fc4485}</UniqueIdentifier> + </Filter> + <Filter Include="test\core"> + <UniqueIdentifier>{d84283b8-4529-6c09-18bf-20a69f14f7ab}</UniqueIdentifier> + </Filter> + <Filter Include="test\core\internal_api_canaries"> + <UniqueIdentifier>{ea379f93-9285-7180-0d69-24a56da2b201}</UniqueIdentifier> + </Filter> + </ItemGroup> +</Project> + diff --git a/vsprojects/vcxproj/test/internal_api_canary_transport_test/internal_api_canary_transport_test.vcxproj b/vsprojects/vcxproj/test/internal_api_canary_transport_test/internal_api_canary_transport_test.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..110f7e3b048c0ff4e3eddd7ff8c528e7519c659a --- /dev/null +++ b/vsprojects/vcxproj/test/internal_api_canary_transport_test/internal_api_canary_transport_test.vcxproj @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" /> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{ED24E700-964E-B426-6A6A-1944E2EF7BCB}</ProjectGuid> + <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> + <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> + <PlatformToolset>v100</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> + <PlatformToolset>v140</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\openssl.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\zlib.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)'=='Debug'"> + <TargetName>internal_api_canary_transport_test</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'"> + <TargetName>internal_api_canary_transport_test</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\core\internal_api_canaries\iomgr.c"> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util\grpc_test_util.vcxproj"> + <Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> + <Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj"> + <Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> + <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="packages.config" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + </ImportGroup> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" /> + </Target> +</Project> + diff --git a/vsprojects/vcxproj/test/internal_api_canary_transport_test/internal_api_canary_transport_test.vcxproj.filters b/vsprojects/vcxproj/test/internal_api_canary_transport_test/internal_api_canary_transport_test.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..1e0b4c5557e4b4c67929eeeb3b3d09c8bdcfab93 --- /dev/null +++ b/vsprojects/vcxproj/test/internal_api_canary_transport_test/internal_api_canary_transport_test.vcxproj.filters @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\core\internal_api_canaries\iomgr.c"> + <Filter>test\core\internal_api_canaries</Filter> + </ClCompile> + </ItemGroup> + + <ItemGroup> + <Filter Include="test"> + <UniqueIdentifier>{38e59e26-aad9-60fd-a1a7-c8fd9b606e2f}</UniqueIdentifier> + </Filter> + <Filter Include="test\core"> + <UniqueIdentifier>{79aad60f-59b8-09e2-2cad-5b5e083ac008}</UniqueIdentifier> + </Filter> + <Filter Include="test\core\internal_api_canaries"> + <UniqueIdentifier>{e4f0214e-e3ec-b5b8-c00b-2932b5ec2422}</UniqueIdentifier> + </Filter> + </ItemGroup> +</Project> + diff --git a/vsprojects/vcxproj/test/json_run_localhost/json_run_localhost.vcxproj b/vsprojects/vcxproj/test/json_run_localhost/json_run_localhost.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..34507b656ea127f9cce15a8c7058e1cfd93087db --- /dev/null +++ b/vsprojects/vcxproj/test/json_run_localhost/json_run_localhost.vcxproj @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" /> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{91678827-DAEF-2E2F-9CD1-1F5E5DD54842}</ProjectGuid> + <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> + <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> + <PlatformToolset>v100</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> + <PlatformToolset>v140</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(SolutionDir)\..\vsprojects\cpptest.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\openssl.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\protobuf.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\zlib.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)'=='Debug'"> + <TargetName>json_run_localhost</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'"> + <TargetName>json_run_localhost</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\cpp\qps\json_run_localhost.cc"> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc++_test_util\grpc++_test_util.vcxproj"> + <Project>{0BE77741-552A-929B-A497-4EF7ECE17A64}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util\grpc_test_util.vcxproj"> + <Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc++\grpc++.vcxproj"> + <Project>{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> + <Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj"> + <Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> + <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc++_test_config\grpc++_test_config.vcxproj"> + <Project>{3F7D093D-11F9-C4BC-BEB7-18EB28E3F290}</Project> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="packages.config" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + </ImportGroup> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" /> + </Target> +</Project> + diff --git a/vsprojects/vcxproj/test/json_run_localhost/json_run_localhost.vcxproj.filters b/vsprojects/vcxproj/test/json_run_localhost/json_run_localhost.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..84c5d1e377d7748fed302bf95b0e5974f5094ff6 --- /dev/null +++ b/vsprojects/vcxproj/test/json_run_localhost/json_run_localhost.vcxproj.filters @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\cpp\qps\json_run_localhost.cc"> + <Filter>test\cpp\qps</Filter> + </ClCompile> + </ItemGroup> + + <ItemGroup> + <Filter Include="test"> + <UniqueIdentifier>{6a0e8372-94ed-67cd-edda-56ba97debf76}</UniqueIdentifier> + </Filter> + <Filter Include="test\cpp"> + <UniqueIdentifier>{2a065f28-e35d-1a75-6e12-fd86e7b99443}</UniqueIdentifier> + </Filter> + <Filter Include="test\cpp\qps"> + <UniqueIdentifier>{6eec400a-a3a2-2904-8b49-92aeb69c4448}</UniqueIdentifier> + </Filter> + </ItemGroup> +</Project> + diff --git a/vsprojects/vcxproj/test/qps_json_driver/qps_json_driver.vcxproj b/vsprojects/vcxproj/test/qps_json_driver/qps_json_driver.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..d1dea3ec4aef767c80e22b0fdd45ae7a8d647ad3 --- /dev/null +++ b/vsprojects/vcxproj/test/qps_json_driver/qps_json_driver.vcxproj @@ -0,0 +1,213 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" /> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{79B45023-E5EB-4DF4-BBED-525CC0ACD832}</ProjectGuid> + <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> + <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> + <PlatformToolset>v100</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> + <PlatformToolset>v140</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(SolutionDir)\..\vsprojects\cpptest.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\openssl.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\protobuf.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\zlib.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)'=='Debug'"> + <TargetName>qps_json_driver</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'"> + <TargetName>qps_json_driver</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\cpp\qps\qps_json_driver.cc"> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\qps\qps.vcxproj"> + <Project>{8423B0C5-2428-CA10-82EF-7B5C1F3D8011}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc++_test_util\grpc++_test_util.vcxproj"> + <Project>{0BE77741-552A-929B-A497-4EF7ECE17A64}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util\grpc_test_util.vcxproj"> + <Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc++\grpc++.vcxproj"> + <Project>{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> + <Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj"> + <Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> + <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc++_test_config\grpc++_test_config.vcxproj"> + <Project>{3F7D093D-11F9-C4BC-BEB7-18EB28E3F290}</Project> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="packages.config" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + </ImportGroup> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" /> + </Target> +</Project> + diff --git a/vsprojects/vcxproj/test/qps_json_driver/qps_json_driver.vcxproj.filters b/vsprojects/vcxproj/test/qps_json_driver/qps_json_driver.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..62b9be85cc374ef5fe4541ad993c916ea6e5554a --- /dev/null +++ b/vsprojects/vcxproj/test/qps_json_driver/qps_json_driver.vcxproj.filters @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\cpp\qps\qps_json_driver.cc"> + <Filter>test\cpp\qps</Filter> + </ClCompile> + </ItemGroup> + + <ItemGroup> + <Filter Include="test"> + <UniqueIdentifier>{51cad99a-2bf1-0e37-a1be-0c9ad02355d3}</UniqueIdentifier> + </Filter> + <Filter Include="test\cpp"> + <UniqueIdentifier>{f8692949-7450-0a31-11fc-a17ea63b6357}</UniqueIdentifier> + </Filter> + <Filter Include="test\cpp\qps"> + <UniqueIdentifier>{73b4c157-7352-ba56-4790-66e27fa90451}</UniqueIdentifier> + </Filter> + </ItemGroup> +</Project> + diff --git a/vsprojects/vcxproj/test/qps_worker/qps_worker.vcxproj b/vsprojects/vcxproj/test/qps_worker/qps_worker.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..0ed96fcf8f32a349b4c0a4e2fd5eedabc914a276 --- /dev/null +++ b/vsprojects/vcxproj/test/qps_worker/qps_worker.vcxproj @@ -0,0 +1,217 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" /> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{89ACCD5A-8411-634E-BF28-7115F46A807D}</ProjectGuid> + <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> + <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> + <PlatformToolset>v100</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> + <PlatformToolset>v140</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(SolutionDir)\..\vsprojects\cpptest.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\openssl.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\protobuf.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\zlib.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)'=='Debug'"> + <TargetName>qps_worker</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'"> + <TargetName>qps_worker</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemGroup> + <ClInclude Include="$(SolutionDir)\..\test\cpp\qps\client.h" /> + <ClInclude Include="$(SolutionDir)\..\test\cpp\qps\server.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\cpp\qps\worker.cc"> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\qps\qps.vcxproj"> + <Project>{8423B0C5-2428-CA10-82EF-7B5C1F3D8011}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc++_test_util\grpc++_test_util.vcxproj"> + <Project>{0BE77741-552A-929B-A497-4EF7ECE17A64}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util\grpc_test_util.vcxproj"> + <Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc++\grpc++.vcxproj"> + <Project>{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> + <Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj"> + <Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> + <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc++_test_config\grpc++_test_config.vcxproj"> + <Project>{3F7D093D-11F9-C4BC-BEB7-18EB28E3F290}</Project> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="packages.config" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + </ImportGroup> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" /> + </Target> +</Project> + diff --git a/vsprojects/vcxproj/test/qps_worker/qps_worker.vcxproj.filters b/vsprojects/vcxproj/test/qps_worker/qps_worker.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..a1f239082717e456e846d344e56c1f254912cd0d --- /dev/null +++ b/vsprojects/vcxproj/test/qps_worker/qps_worker.vcxproj.filters @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\cpp\qps\worker.cc"> + <Filter>test\cpp\qps</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="$(SolutionDir)\..\test\cpp\qps\client.h"> + <Filter>test\cpp\qps</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\test\cpp\qps\server.h"> + <Filter>test\cpp\qps</Filter> + </ClInclude> + </ItemGroup> + + <ItemGroup> + <Filter Include="test"> + <UniqueIdentifier>{bc4b8555-fcc7-4f70-96d9-581f535382e1}</UniqueIdentifier> + </Filter> + <Filter Include="test\cpp"> + <UniqueIdentifier>{79b85b26-c29a-b8a0-06a4-d4e44f2350aa}</UniqueIdentifier> + </Filter> + <Filter Include="test\cpp\qps"> + <UniqueIdentifier>{1c2b326f-ab54-97da-d40e-b0e99dd76de6}</UniqueIdentifier> + </Filter> + </ItemGroup> +</Project> +