grpc 1.21.0 → 1.22.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +422 -62
  3. data/include/grpc/grpc_security.h +61 -5
  4. data/include/grpc/grpc_security_constants.h +1 -1
  5. data/include/grpc/impl/codegen/gpr_types.h +1 -1
  6. data/include/grpc/slice.h +2 -2
  7. data/src/core/ext/filters/client_channel/backup_poller.cc +2 -3
  8. data/src/core/ext/filters/client_channel/backup_poller.h +5 -2
  9. data/src/core/ext/filters/client_channel/client_channel.cc +260 -122
  10. data/src/core/ext/filters/client_channel/client_channel.h +0 -8
  11. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +3 -84
  12. data/src/core/ext/filters/client_channel/client_channel_channelz.h +2 -28
  13. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +2 -8
  14. data/src/core/ext/filters/client_channel/health/health_check_client.cc +5 -4
  15. data/src/core/ext/filters/client_channel/lb_policy.cc +16 -2
  16. data/src/core/ext/filters/client_channel/lb_policy.h +92 -98
  17. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +63 -87
  18. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +6 -2
  19. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +35 -87
  20. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +18 -74
  21. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +167 -217
  22. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.cc +216 -190
  23. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.cc +6 -2
  24. data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
  25. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +1 -1
  26. data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
  27. data/src/core/ext/filters/client_channel/resolver.h +1 -1
  28. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +6 -3
  29. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +0 -1
  30. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +2 -0
  31. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +8 -8
  32. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +7 -7
  33. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +28 -64
  34. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +4 -12
  35. data/src/core/ext/filters/client_channel/server_address.cc +4 -6
  36. data/src/core/ext/filters/client_channel/server_address.h +1 -3
  37. data/src/core/ext/filters/client_channel/service_config.cc +20 -22
  38. data/src/core/ext/filters/client_channel/service_config.h +26 -28
  39. data/src/core/ext/filters/client_channel/subchannel.cc +261 -160
  40. data/src/core/ext/filters/client_channel/subchannel.h +97 -23
  41. data/src/core/ext/filters/client_channel/subchannel_interface.h +113 -0
  42. data/src/core/ext/filters/message_size/message_size_filter.cc +12 -12
  43. data/src/core/ext/filters/message_size/message_size_filter.h +2 -2
  44. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +50 -2
  45. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +2 -2
  46. data/src/core/ext/transport/chttp2/transport/frame_data.cc +31 -36
  47. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +3 -2
  48. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +71 -52
  49. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +18 -3
  50. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +5 -12
  51. data/src/core/ext/transport/chttp2/transport/hpack_table.h +10 -1
  52. data/src/core/ext/transport/chttp2/transport/internal.h +3 -3
  53. data/src/core/ext/transport/chttp2/transport/parsing.cc +39 -57
  54. data/src/core/lib/channel/channelz.cc +136 -19
  55. data/src/core/lib/channel/channelz.h +36 -40
  56. data/src/core/lib/channel/channelz_registry.cc +74 -106
  57. data/src/core/lib/channel/channelz_registry.h +10 -28
  58. data/src/core/lib/channel/context.h +1 -1
  59. data/src/core/lib/channel/handshaker.cc +6 -0
  60. data/src/core/lib/compression/compression.cc +13 -8
  61. data/src/core/lib/compression/compression_internal.cc +14 -10
  62. data/src/core/lib/compression/compression_internal.h +1 -1
  63. data/src/core/lib/compression/stream_compression.cc +3 -2
  64. data/src/core/lib/compression/stream_compression.h +2 -2
  65. data/src/core/lib/compression/stream_compression_gzip.cc +9 -9
  66. data/src/core/lib/gpr/env.h +1 -1
  67. data/src/core/lib/gpr/string.cc +8 -1
  68. data/src/core/lib/gpr/string.h +6 -1
  69. data/src/core/lib/gprpp/fork.cc +1 -1
  70. data/src/core/lib/gprpp/fork.h +5 -1
  71. data/src/core/lib/gprpp/global_config.h +9 -0
  72. data/src/core/lib/gprpp/global_config_custom.h +1 -1
  73. data/src/core/lib/gprpp/inlined_vector.h +8 -0
  74. data/src/core/lib/gprpp/map.h +38 -21
  75. data/src/core/lib/gprpp/memory.h +2 -2
  76. data/src/core/lib/gprpp/orphanable.h +1 -1
  77. data/src/core/lib/gprpp/ref_counted.h +9 -4
  78. data/src/core/lib/http/httpcli.cc +3 -3
  79. data/src/core/lib/iomgr/buffer_list.h +1 -1
  80. data/src/core/lib/iomgr/call_combiner.cc +1 -1
  81. data/src/core/lib/iomgr/call_combiner.h +1 -1
  82. data/src/core/lib/iomgr/cfstream_handle.cc +3 -2
  83. data/src/core/lib/iomgr/cfstream_handle.h +4 -0
  84. data/src/core/lib/iomgr/error.cc +3 -3
  85. data/src/core/lib/iomgr/error.h +9 -3
  86. data/src/core/lib/iomgr/error_internal.h +1 -1
  87. data/src/core/lib/iomgr/ev_epoll1_linux.cc +1 -1
  88. data/src/core/lib/iomgr/ev_posix.cc +3 -3
  89. data/src/core/lib/iomgr/ev_posix.h +3 -2
  90. data/src/core/lib/iomgr/ev_windows.cc +2 -2
  91. data/src/core/lib/iomgr/iomgr.cc +4 -4
  92. data/src/core/lib/iomgr/lockfree_event.cc +1 -1
  93. data/src/core/lib/iomgr/port.h +5 -1
  94. data/src/core/lib/iomgr/tcp_posix.cc +1 -3
  95. data/src/core/lib/iomgr/tcp_server.cc +5 -0
  96. data/src/core/lib/iomgr/tcp_server.h +24 -0
  97. data/src/core/lib/iomgr/tcp_server_custom.cc +11 -9
  98. data/src/core/lib/iomgr/tcp_server_posix.cc +72 -11
  99. data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -0
  100. data/src/core/lib/iomgr/tcp_server_windows.cc +11 -9
  101. data/src/core/lib/iomgr/tcp_uv.cc +5 -6
  102. data/src/core/lib/iomgr/timer.h +2 -1
  103. data/src/core/lib/iomgr/udp_server.cc +2 -2
  104. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +1 -1
  105. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +20 -2
  106. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +2 -2
  107. data/src/core/lib/security/security_connector/security_connector.h +1 -1
  108. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +1 -1
  109. data/src/core/lib/security/transport/auth_filters.h +3 -0
  110. data/src/core/lib/security/transport/client_auth_filter.cc +13 -0
  111. data/src/core/lib/security/transport/security_handshaker.cc +7 -7
  112. data/src/core/lib/slice/b64.h +2 -2
  113. data/src/core/lib/slice/slice.cc +82 -10
  114. data/src/core/lib/slice/slice_buffer.cc +49 -21
  115. data/src/core/lib/slice/slice_hash_table.h +2 -2
  116. data/src/core/lib/slice/slice_intern.cc +15 -16
  117. data/src/core/lib/slice/slice_internal.h +52 -0
  118. data/src/core/lib/slice/slice_string_helpers.cc +10 -1
  119. data/src/core/lib/slice/slice_string_helpers.h +3 -1
  120. data/src/core/lib/slice/slice_utils.h +50 -0
  121. data/src/core/lib/slice/slice_weak_hash_table.h +2 -2
  122. data/src/core/lib/surface/call.cc +14 -8
  123. data/src/core/lib/surface/channel.cc +89 -97
  124. data/src/core/lib/surface/channel.h +60 -6
  125. data/src/core/lib/surface/completion_queue.cc +49 -36
  126. data/src/core/lib/surface/completion_queue.h +2 -1
  127. data/src/core/lib/surface/server.cc +8 -8
  128. data/src/core/lib/surface/validate_metadata.cc +14 -8
  129. data/src/core/lib/surface/validate_metadata.h +13 -2
  130. data/src/core/lib/surface/version.cc +1 -1
  131. data/src/core/lib/transport/metadata.cc +56 -26
  132. data/src/core/lib/transport/metadata.h +91 -75
  133. data/src/core/lib/transport/static_metadata.cc +262 -176
  134. data/src/core/lib/transport/static_metadata.h +272 -180
  135. data/src/core/lib/transport/transport.cc +1 -1
  136. data/src/core/lib/transport/transport.h +8 -2
  137. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +1 -1
  138. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
  139. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +5 -2
  140. data/src/ruby/lib/grpc/version.rb +1 -1
  141. metadata +33 -31
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f912293c78e5a29d2477565cc9f5047f08096bf7359a2ce3bdbd8d9806a3ca2
4
- data.tar.gz: 69d3ae47781426fde883337219d1d6c7d328ab3aaa22e3d2ae2c022f5e300162
3
+ metadata.gz: 6a2f7166a040e398aa494db46829ce9aafec84f97936e8de954a310e177509cd
4
+ data.tar.gz: 39b0dbdc11865fe94ac5f4a57dcbb29da141e29beef5c7432d12c035e9516d3f
5
5
  SHA512:
6
- metadata.gz: 6ea1bd23e9ae7390b81a6a9282e451a149e52076ce1009d2b7cc3ee7b7b8c3a6c6610991afe211c5f78777dfad22a0bfffaf307ebfba9360eed10b4f528fa4a6
7
- data.tar.gz: 6408dc010db6b05214c91f471986b3eaa34c78e248b4bed0b2ea84570526f89b39537b5596da298b1e90a78c4a9360e52b38d2e221a6e08c59e4020ef04a6b5b
6
+ metadata.gz: 4d7e62c1c28fd7e18896b286af756cec2b8b80aac5dd1c92a9ba5c5c26175e1955714bda5ad9347677ffd40c4a3517ca646f8b5fbc156999969ef716dd558521
7
+ data.tar.gz: ac8bc19476eab20e036291d94eaf802c073b650672fcd1856c6f139d94db9a993c3aba1a9c8907a99a5732dbd39f1bb0cac9eca9cef6f4a04766f246c0cfaa7d
data/Makefile CHANGED
@@ -460,8 +460,8 @@ Q = @
460
460
  endif
461
461
 
462
462
  CORE_VERSION = 7.0.0
463
- CPP_VERSION = 1.21.0
464
- CSHARP_VERSION = 1.21.0
463
+ CPP_VERSION = 1.22.0
464
+ CSHARP_VERSION = 1.22.0
465
465
 
466
466
  CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
467
467
  CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
@@ -1162,6 +1162,8 @@ bm_alarm: $(BINDIR)/$(CONFIG)/bm_alarm
1162
1162
  bm_arena: $(BINDIR)/$(CONFIG)/bm_arena
1163
1163
  bm_byte_buffer: $(BINDIR)/$(CONFIG)/bm_byte_buffer
1164
1164
  bm_call_create: $(BINDIR)/$(CONFIG)/bm_call_create
1165
+ bm_callback_streaming_ping_pong: $(BINDIR)/$(CONFIG)/bm_callback_streaming_ping_pong
1166
+ bm_callback_unary_ping_pong: $(BINDIR)/$(CONFIG)/bm_callback_unary_ping_pong
1165
1167
  bm_channel: $(BINDIR)/$(CONFIG)/bm_channel
1166
1168
  bm_chttp2_hpack: $(BINDIR)/$(CONFIG)/bm_chttp2_hpack
1167
1169
  bm_chttp2_transport: $(BINDIR)/$(CONFIG)/bm_chttp2_transport
@@ -1242,6 +1244,7 @@ nonblocking_test: $(BINDIR)/$(CONFIG)/nonblocking_test
1242
1244
  noop-benchmark: $(BINDIR)/$(CONFIG)/noop-benchmark
1243
1245
  optional_test: $(BINDIR)/$(CONFIG)/optional_test
1244
1246
  orphanable_test: $(BINDIR)/$(CONFIG)/orphanable_test
1247
+ port_sharing_end2end_test: $(BINDIR)/$(CONFIG)/port_sharing_end2end_test
1245
1248
  proto_server_reflection_test: $(BINDIR)/$(CONFIG)/proto_server_reflection_test
1246
1249
  proto_utils_test: $(BINDIR)/$(CONFIG)/proto_utils_test
1247
1250
  qps_interarrival_test: $(BINDIR)/$(CONFIG)/qps_interarrival_test
@@ -1402,7 +1405,7 @@ plugins: $(PROTOC_PLUGINS)
1402
1405
 
1403
1406
  privatelibs: privatelibs_c privatelibs_cxx
1404
1407
 
1405
- privatelibs_c: $(LIBDIR)/$(CONFIG)/libalts_test_util.a $(LIBDIR)/$(CONFIG)/libcxxabi.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)/libupb.a $(LIBDIR)/$(CONFIG)/libz.a $(LIBDIR)/$(CONFIG)/libares.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
1408
+ privatelibs_c: $(LIBDIR)/$(CONFIG)/libalts_test_util.a $(LIBDIR)/$(CONFIG)/libcxxabi.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)/libupb.a $(LIBDIR)/$(CONFIG)/libz.a $(LIBDIR)/$(CONFIG)/libares.a $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a
1406
1409
  pc_c: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc $(LIBDIR)/$(CONFIG)/pkgconfig/gpr.pc
1407
1410
 
1408
1411
  pc_c_unsecure: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc $(LIBDIR)/$(CONFIG)/pkgconfig/gpr.pc
@@ -1412,9 +1415,9 @@ pc_cxx: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++.pc
1412
1415
  pc_cxx_unsecure: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++_unsecure.pc
1413
1416
 
1414
1417
  ifeq ($(EMBED_OPENSSL),true)
1415
- privatelibs_cxx: $(LIBDIR)/$(CONFIG)/libdns_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++_core_stats.a $(LIBDIR)/$(CONFIG)/libgrpc++_proto_reflection_desc_db.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libhttp2_client_main.a $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a $(LIBDIR)/$(CONFIG)/libinterop_client_main.a $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a $(LIBDIR)/$(CONFIG)/libinterop_server_main.a $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libboringssl_test_util.a $(LIBDIR)/$(CONFIG)/libbenchmark.a
1418
+ privatelibs_cxx: $(LIBDIR)/$(CONFIG)/libdns_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++_core_stats.a $(LIBDIR)/$(CONFIG)/libgrpc++_proto_reflection_desc_db.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libhttp2_client_main.a $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a $(LIBDIR)/$(CONFIG)/libinterop_client_main.a $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a $(LIBDIR)/$(CONFIG)/libinterop_server_main.a $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libboringssl_test_util.a $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libbad_client_test.a
1416
1419
  else
1417
- privatelibs_cxx: $(LIBDIR)/$(CONFIG)/libdns_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++_core_stats.a $(LIBDIR)/$(CONFIG)/libgrpc++_proto_reflection_desc_db.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libhttp2_client_main.a $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a $(LIBDIR)/$(CONFIG)/libinterop_client_main.a $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a $(LIBDIR)/$(CONFIG)/libinterop_server_main.a $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libbenchmark.a
1420
+ privatelibs_cxx: $(LIBDIR)/$(CONFIG)/libdns_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++_core_stats.a $(LIBDIR)/$(CONFIG)/libgrpc++_proto_reflection_desc_db.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libhttp2_client_main.a $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a $(LIBDIR)/$(CONFIG)/libinterop_client_main.a $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a $(LIBDIR)/$(CONFIG)/libinterop_server_main.a $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libbad_client_test.a
1418
1421
  endif
1419
1422
 
1420
1423
 
@@ -1552,17 +1555,6 @@ buildtests_c: privatelibs_c \
1552
1555
  $(BINDIR)/$(CONFIG)/udp_server_test \
1553
1556
  $(BINDIR)/$(CONFIG)/uri_parser_test \
1554
1557
  $(BINDIR)/$(CONFIG)/public_headers_must_be_c89 \
1555
- $(BINDIR)/$(CONFIG)/badreq_bad_client_test \
1556
- $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test \
1557
- $(BINDIR)/$(CONFIG)/duplicate_header_bad_client_test \
1558
- $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test \
1559
- $(BINDIR)/$(CONFIG)/headers_bad_client_test \
1560
- $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test \
1561
- $(BINDIR)/$(CONFIG)/large_metadata_bad_client_test \
1562
- $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test \
1563
- $(BINDIR)/$(CONFIG)/simple_request_bad_client_test \
1564
- $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test \
1565
- $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test \
1566
1558
  $(BINDIR)/$(CONFIG)/bad_ssl_cert_server \
1567
1559
  $(BINDIR)/$(CONFIG)/bad_ssl_cert_test \
1568
1560
  $(BINDIR)/$(CONFIG)/h2_census_test \
@@ -1641,6 +1633,8 @@ buildtests_cxx: privatelibs_cxx \
1641
1633
  $(BINDIR)/$(CONFIG)/bm_arena \
1642
1634
  $(BINDIR)/$(CONFIG)/bm_byte_buffer \
1643
1635
  $(BINDIR)/$(CONFIG)/bm_call_create \
1636
+ $(BINDIR)/$(CONFIG)/bm_callback_streaming_ping_pong \
1637
+ $(BINDIR)/$(CONFIG)/bm_callback_unary_ping_pong \
1644
1638
  $(BINDIR)/$(CONFIG)/bm_channel \
1645
1639
  $(BINDIR)/$(CONFIG)/bm_chttp2_hpack \
1646
1640
  $(BINDIR)/$(CONFIG)/bm_chttp2_transport \
@@ -1714,6 +1708,7 @@ buildtests_cxx: privatelibs_cxx \
1714
1708
  $(BINDIR)/$(CONFIG)/noop-benchmark \
1715
1709
  $(BINDIR)/$(CONFIG)/optional_test \
1716
1710
  $(BINDIR)/$(CONFIG)/orphanable_test \
1711
+ $(BINDIR)/$(CONFIG)/port_sharing_end2end_test \
1717
1712
  $(BINDIR)/$(CONFIG)/proto_server_reflection_test \
1718
1713
  $(BINDIR)/$(CONFIG)/proto_utils_test \
1719
1714
  $(BINDIR)/$(CONFIG)/qps_interarrival_test \
@@ -1756,6 +1751,17 @@ buildtests_cxx: privatelibs_cxx \
1756
1751
  $(BINDIR)/$(CONFIG)/xds_end2end_test \
1757
1752
  $(BINDIR)/$(CONFIG)/boringssl_ssl_test \
1758
1753
  $(BINDIR)/$(CONFIG)/boringssl_crypto_test \
1754
+ $(BINDIR)/$(CONFIG)/badreq_bad_client_test \
1755
+ $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test \
1756
+ $(BINDIR)/$(CONFIG)/duplicate_header_bad_client_test \
1757
+ $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test \
1758
+ $(BINDIR)/$(CONFIG)/headers_bad_client_test \
1759
+ $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test \
1760
+ $(BINDIR)/$(CONFIG)/large_metadata_bad_client_test \
1761
+ $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test \
1762
+ $(BINDIR)/$(CONFIG)/simple_request_bad_client_test \
1763
+ $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test \
1764
+ $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test \
1759
1765
  $(BINDIR)/$(CONFIG)/resolver_component_test_unsecure \
1760
1766
  $(BINDIR)/$(CONFIG)/resolver_component_test \
1761
1767
  $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker_unsecure \
@@ -1788,6 +1794,8 @@ buildtests_cxx: privatelibs_cxx \
1788
1794
  $(BINDIR)/$(CONFIG)/bm_arena \
1789
1795
  $(BINDIR)/$(CONFIG)/bm_byte_buffer \
1790
1796
  $(BINDIR)/$(CONFIG)/bm_call_create \
1797
+ $(BINDIR)/$(CONFIG)/bm_callback_streaming_ping_pong \
1798
+ $(BINDIR)/$(CONFIG)/bm_callback_unary_ping_pong \
1791
1799
  $(BINDIR)/$(CONFIG)/bm_channel \
1792
1800
  $(BINDIR)/$(CONFIG)/bm_chttp2_hpack \
1793
1801
  $(BINDIR)/$(CONFIG)/bm_chttp2_transport \
@@ -1861,6 +1869,7 @@ buildtests_cxx: privatelibs_cxx \
1861
1869
  $(BINDIR)/$(CONFIG)/noop-benchmark \
1862
1870
  $(BINDIR)/$(CONFIG)/optional_test \
1863
1871
  $(BINDIR)/$(CONFIG)/orphanable_test \
1872
+ $(BINDIR)/$(CONFIG)/port_sharing_end2end_test \
1864
1873
  $(BINDIR)/$(CONFIG)/proto_server_reflection_test \
1865
1874
  $(BINDIR)/$(CONFIG)/proto_utils_test \
1866
1875
  $(BINDIR)/$(CONFIG)/qps_interarrival_test \
@@ -1901,6 +1910,17 @@ buildtests_cxx: privatelibs_cxx \
1901
1910
  $(BINDIR)/$(CONFIG)/transport_security_common_api_test \
1902
1911
  $(BINDIR)/$(CONFIG)/writes_per_rpc_test \
1903
1912
  $(BINDIR)/$(CONFIG)/xds_end2end_test \
1913
+ $(BINDIR)/$(CONFIG)/badreq_bad_client_test \
1914
+ $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test \
1915
+ $(BINDIR)/$(CONFIG)/duplicate_header_bad_client_test \
1916
+ $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test \
1917
+ $(BINDIR)/$(CONFIG)/headers_bad_client_test \
1918
+ $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test \
1919
+ $(BINDIR)/$(CONFIG)/large_metadata_bad_client_test \
1920
+ $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test \
1921
+ $(BINDIR)/$(CONFIG)/simple_request_bad_client_test \
1922
+ $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test \
1923
+ $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test \
1904
1924
  $(BINDIR)/$(CONFIG)/resolver_component_test_unsecure \
1905
1925
  $(BINDIR)/$(CONFIG)/resolver_component_test \
1906
1926
  $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker_unsecure \
@@ -2167,28 +2187,6 @@ test_c: buildtests_c
2167
2187
  $(Q) $(BINDIR)/$(CONFIG)/uri_parser_test || ( echo test uri_parser_test failed ; exit 1 )
2168
2188
  $(E) "[RUN] Testing public_headers_must_be_c89"
2169
2189
  $(Q) $(BINDIR)/$(CONFIG)/public_headers_must_be_c89 || ( echo test public_headers_must_be_c89 failed ; exit 1 )
2170
- $(E) "[RUN] Testing badreq_bad_client_test"
2171
- $(Q) $(BINDIR)/$(CONFIG)/badreq_bad_client_test || ( echo test badreq_bad_client_test failed ; exit 1 )
2172
- $(E) "[RUN] Testing connection_prefix_bad_client_test"
2173
- $(Q) $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test || ( echo test connection_prefix_bad_client_test failed ; exit 1 )
2174
- $(E) "[RUN] Testing duplicate_header_bad_client_test"
2175
- $(Q) $(BINDIR)/$(CONFIG)/duplicate_header_bad_client_test || ( echo test duplicate_header_bad_client_test failed ; exit 1 )
2176
- $(E) "[RUN] Testing head_of_line_blocking_bad_client_test"
2177
- $(Q) $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test || ( echo test head_of_line_blocking_bad_client_test failed ; exit 1 )
2178
- $(E) "[RUN] Testing headers_bad_client_test"
2179
- $(Q) $(BINDIR)/$(CONFIG)/headers_bad_client_test || ( echo test headers_bad_client_test failed ; exit 1 )
2180
- $(E) "[RUN] Testing initial_settings_frame_bad_client_test"
2181
- $(Q) $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test || ( echo test initial_settings_frame_bad_client_test failed ; exit 1 )
2182
- $(E) "[RUN] Testing large_metadata_bad_client_test"
2183
- $(Q) $(BINDIR)/$(CONFIG)/large_metadata_bad_client_test || ( echo test large_metadata_bad_client_test failed ; exit 1 )
2184
- $(E) "[RUN] Testing server_registered_method_bad_client_test"
2185
- $(Q) $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test || ( echo test server_registered_method_bad_client_test failed ; exit 1 )
2186
- $(E) "[RUN] Testing simple_request_bad_client_test"
2187
- $(Q) $(BINDIR)/$(CONFIG)/simple_request_bad_client_test || ( echo test simple_request_bad_client_test failed ; exit 1 )
2188
- $(E) "[RUN] Testing unknown_frame_bad_client_test"
2189
- $(Q) $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test || ( echo test unknown_frame_bad_client_test failed ; exit 1 )
2190
- $(E) "[RUN] Testing window_overflow_bad_client_test"
2191
- $(Q) $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test || ( echo test window_overflow_bad_client_test failed ; exit 1 )
2192
2190
  $(E) "[RUN] Testing bad_ssl_cert_test"
2193
2191
  $(Q) $(BINDIR)/$(CONFIG)/bad_ssl_cert_test || ( echo test bad_ssl_cert_test failed ; exit 1 )
2194
2192
 
@@ -2241,6 +2239,10 @@ test_cxx: buildtests_cxx
2241
2239
  $(Q) $(BINDIR)/$(CONFIG)/bm_byte_buffer || ( echo test bm_byte_buffer failed ; exit 1 )
2242
2240
  $(E) "[RUN] Testing bm_call_create"
2243
2241
  $(Q) $(BINDIR)/$(CONFIG)/bm_call_create || ( echo test bm_call_create failed ; exit 1 )
2242
+ $(E) "[RUN] Testing bm_callback_streaming_ping_pong"
2243
+ $(Q) $(BINDIR)/$(CONFIG)/bm_callback_streaming_ping_pong || ( echo test bm_callback_streaming_ping_pong failed ; exit 1 )
2244
+ $(E) "[RUN] Testing bm_callback_unary_ping_pong"
2245
+ $(Q) $(BINDIR)/$(CONFIG)/bm_callback_unary_ping_pong || ( echo test bm_callback_unary_ping_pong failed ; exit 1 )
2244
2246
  $(E) "[RUN] Testing bm_channel"
2245
2247
  $(Q) $(BINDIR)/$(CONFIG)/bm_channel || ( echo test bm_channel failed ; exit 1 )
2246
2248
  $(E) "[RUN] Testing bm_chttp2_hpack"
@@ -2371,6 +2373,8 @@ test_cxx: buildtests_cxx
2371
2373
  $(Q) $(BINDIR)/$(CONFIG)/optional_test || ( echo test optional_test failed ; exit 1 )
2372
2374
  $(E) "[RUN] Testing orphanable_test"
2373
2375
  $(Q) $(BINDIR)/$(CONFIG)/orphanable_test || ( echo test orphanable_test failed ; exit 1 )
2376
+ $(E) "[RUN] Testing port_sharing_end2end_test"
2377
+ $(Q) $(BINDIR)/$(CONFIG)/port_sharing_end2end_test || ( echo test port_sharing_end2end_test failed ; exit 1 )
2374
2378
  $(E) "[RUN] Testing proto_server_reflection_test"
2375
2379
  $(Q) $(BINDIR)/$(CONFIG)/proto_server_reflection_test || ( echo test proto_server_reflection_test failed ; exit 1 )
2376
2380
  $(E) "[RUN] Testing proto_utils_test"
@@ -2437,6 +2441,28 @@ test_cxx: buildtests_cxx
2437
2441
  $(Q) $(BINDIR)/$(CONFIG)/writes_per_rpc_test || ( echo test writes_per_rpc_test failed ; exit 1 )
2438
2442
  $(E) "[RUN] Testing xds_end2end_test"
2439
2443
  $(Q) $(BINDIR)/$(CONFIG)/xds_end2end_test || ( echo test xds_end2end_test failed ; exit 1 )
2444
+ $(E) "[RUN] Testing badreq_bad_client_test"
2445
+ $(Q) $(BINDIR)/$(CONFIG)/badreq_bad_client_test || ( echo test badreq_bad_client_test failed ; exit 1 )
2446
+ $(E) "[RUN] Testing connection_prefix_bad_client_test"
2447
+ $(Q) $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test || ( echo test connection_prefix_bad_client_test failed ; exit 1 )
2448
+ $(E) "[RUN] Testing duplicate_header_bad_client_test"
2449
+ $(Q) $(BINDIR)/$(CONFIG)/duplicate_header_bad_client_test || ( echo test duplicate_header_bad_client_test failed ; exit 1 )
2450
+ $(E) "[RUN] Testing head_of_line_blocking_bad_client_test"
2451
+ $(Q) $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test || ( echo test head_of_line_blocking_bad_client_test failed ; exit 1 )
2452
+ $(E) "[RUN] Testing headers_bad_client_test"
2453
+ $(Q) $(BINDIR)/$(CONFIG)/headers_bad_client_test || ( echo test headers_bad_client_test failed ; exit 1 )
2454
+ $(E) "[RUN] Testing initial_settings_frame_bad_client_test"
2455
+ $(Q) $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test || ( echo test initial_settings_frame_bad_client_test failed ; exit 1 )
2456
+ $(E) "[RUN] Testing large_metadata_bad_client_test"
2457
+ $(Q) $(BINDIR)/$(CONFIG)/large_metadata_bad_client_test || ( echo test large_metadata_bad_client_test failed ; exit 1 )
2458
+ $(E) "[RUN] Testing server_registered_method_bad_client_test"
2459
+ $(Q) $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test || ( echo test server_registered_method_bad_client_test failed ; exit 1 )
2460
+ $(E) "[RUN] Testing simple_request_bad_client_test"
2461
+ $(Q) $(BINDIR)/$(CONFIG)/simple_request_bad_client_test || ( echo test simple_request_bad_client_test failed ; exit 1 )
2462
+ $(E) "[RUN] Testing unknown_frame_bad_client_test"
2463
+ $(Q) $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test || ( echo test unknown_frame_bad_client_test failed ; exit 1 )
2464
+ $(E) "[RUN] Testing window_overflow_bad_client_test"
2465
+ $(Q) $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test || ( echo test window_overflow_bad_client_test failed ; exit 1 )
2440
2466
  $(E) "[RUN] Testing resolver_component_tests_runner_invoker_unsecure"
2441
2467
  $(Q) $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker_unsecure || ( echo test resolver_component_tests_runner_invoker_unsecure failed ; exit 1 )
2442
2468
  $(E) "[RUN] Testing resolver_component_tests_runner_invoker"
@@ -5295,6 +5321,58 @@ endif
5295
5321
  endif
5296
5322
 
5297
5323
 
5324
+ LIBBM_CALLBACK_TEST_SERVICE_IMPL_SRC = \
5325
+ $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc \
5326
+ test/cpp/microbenchmarks/callback_test_service.cc \
5327
+
5328
+ PUBLIC_HEADERS_CXX += \
5329
+
5330
+ LIBBM_CALLBACK_TEST_SERVICE_IMPL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBM_CALLBACK_TEST_SERVICE_IMPL_SRC))))
5331
+
5332
+ $(LIBBM_CALLBACK_TEST_SERVICE_IMPL_OBJS): CPPFLAGS += -Ithird_party/benchmark/include -DHAVE_POSIX_REGEX
5333
+
5334
+ ifeq ($(NO_SECURE),true)
5335
+
5336
+ # You can't build secure libraries if you don't have OpenSSL.
5337
+
5338
+ $(LIBDIR)/$(CONFIG)/libbm_callback_test_service_impl.a: openssl_dep_error
5339
+
5340
+
5341
+ else
5342
+
5343
+ ifeq ($(NO_PROTOBUF),true)
5344
+
5345
+ # You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay.
5346
+
5347
+ $(LIBDIR)/$(CONFIG)/libbm_callback_test_service_impl.a: protobuf_dep_error
5348
+
5349
+
5350
+ else
5351
+
5352
+ $(LIBDIR)/$(CONFIG)/libbm_callback_test_service_impl.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBM_CALLBACK_TEST_SERVICE_IMPL_OBJS)
5353
+ $(E) "[AR] Creating $@"
5354
+ $(Q) mkdir -p `dirname $@`
5355
+ $(Q) rm -f $(LIBDIR)/$(CONFIG)/libbm_callback_test_service_impl.a
5356
+ $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libbm_callback_test_service_impl.a $(LIBBM_CALLBACK_TEST_SERVICE_IMPL_OBJS)
5357
+ ifeq ($(SYSTEM),Darwin)
5358
+ $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libbm_callback_test_service_impl.a
5359
+ endif
5360
+
5361
+
5362
+
5363
+
5364
+ endif
5365
+
5366
+ endif
5367
+
5368
+ ifneq ($(NO_SECURE),true)
5369
+ ifneq ($(NO_DEPS),true)
5370
+ -include $(LIBBM_CALLBACK_TEST_SERVICE_IMPL_OBJS:.o=.dep)
5371
+ endif
5372
+ endif
5373
+ $(OBJDIR)/$(CONFIG)/test/cpp/microbenchmarks/callback_test_service.o: $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc
5374
+
5375
+
5298
5376
  LIBDNS_TEST_UTIL_SRC = \
5299
5377
  test/cpp/naming/dns_test_util.cc \
5300
5378
 
@@ -5368,11 +5446,13 @@ LIBGRPC++_SRC = \
5368
5446
  src/cpp/common/core_codegen.cc \
5369
5447
  src/cpp/common/resource_quota_cc.cc \
5370
5448
  src/cpp/common/rpc_method.cc \
5449
+ src/cpp/common/validate_service_config.cc \
5371
5450
  src/cpp/common/version_cc.cc \
5372
5451
  src/cpp/server/async_generic_service.cc \
5373
5452
  src/cpp/server/channel_argument_option.cc \
5374
5453
  src/cpp/server/create_default_thread_pool.cc \
5375
5454
  src/cpp/server/dynamic_thread_pool.cc \
5455
+ src/cpp/server/external_connection_acceptor_impl.cc \
5376
5456
  src/cpp/server/health/default_health_check_service.cc \
5377
5457
  src/cpp/server/health/health_check_service.cc \
5378
5458
  src/cpp/server/health/health_check_service_server_builder_option.cc \
@@ -5507,6 +5587,7 @@ PUBLIC_HEADERS_CXX += \
5507
5587
  include/grpcpp/support/stub_options.h \
5508
5588
  include/grpcpp/support/sync_stream.h \
5509
5589
  include/grpcpp/support/time.h \
5590
+ include/grpcpp/support/validate_service_config.h \
5510
5591
  include/grpc/support/alloc.h \
5511
5592
  include/grpc/support/atm.h \
5512
5593
  include/grpc/support/atm_gcc_atomic.h \
@@ -5600,6 +5681,7 @@ PUBLIC_HEADERS_CXX += \
5600
5681
  include/grpcpp/impl/codegen/channel_interface.h \
5601
5682
  include/grpcpp/impl/codegen/client_callback.h \
5602
5683
  include/grpcpp/impl/codegen/client_context.h \
5684
+ include/grpcpp/impl/codegen/client_context_impl.h \
5603
5685
  include/grpcpp/impl/codegen/client_interceptor.h \
5604
5686
  include/grpcpp/impl/codegen/client_unary_call.h \
5605
5687
  include/grpcpp/impl/codegen/completion_queue.h \
@@ -5621,6 +5703,7 @@ PUBLIC_HEADERS_CXX += \
5621
5703
  include/grpcpp/impl/codegen/serialization_traits.h \
5622
5704
  include/grpcpp/impl/codegen/server_callback.h \
5623
5705
  include/grpcpp/impl/codegen/server_context.h \
5706
+ include/grpcpp/impl/codegen/server_context_impl.h \
5624
5707
  include/grpcpp/impl/codegen/server_interceptor.h \
5625
5708
  include/grpcpp/impl/codegen/server_interface.h \
5626
5709
  include/grpcpp/impl/codegen/service_type.h \
@@ -5773,11 +5856,13 @@ LIBGRPC++_CRONET_SRC = \
5773
5856
  src/cpp/common/core_codegen.cc \
5774
5857
  src/cpp/common/resource_quota_cc.cc \
5775
5858
  src/cpp/common/rpc_method.cc \
5859
+ src/cpp/common/validate_service_config.cc \
5776
5860
  src/cpp/common/version_cc.cc \
5777
5861
  src/cpp/server/async_generic_service.cc \
5778
5862
  src/cpp/server/channel_argument_option.cc \
5779
5863
  src/cpp/server/create_default_thread_pool.cc \
5780
5864
  src/cpp/server/dynamic_thread_pool.cc \
5865
+ src/cpp/server/external_connection_acceptor_impl.cc \
5781
5866
  src/cpp/server/health/default_health_check_service.cc \
5782
5867
  src/cpp/server/health/health_check_service.cc \
5783
5868
  src/cpp/server/health/health_check_service_server_builder_option.cc \
@@ -6131,6 +6216,7 @@ PUBLIC_HEADERS_CXX += \
6131
6216
  include/grpcpp/support/stub_options.h \
6132
6217
  include/grpcpp/support/sync_stream.h \
6133
6218
  include/grpcpp/support/time.h \
6219
+ include/grpcpp/support/validate_service_config.h \
6134
6220
  include/grpc/support/alloc.h \
6135
6221
  include/grpc/support/atm.h \
6136
6222
  include/grpc/support/atm_gcc_atomic.h \
@@ -6224,6 +6310,7 @@ PUBLIC_HEADERS_CXX += \
6224
6310
  include/grpcpp/impl/codegen/channel_interface.h \
6225
6311
  include/grpcpp/impl/codegen/client_callback.h \
6226
6312
  include/grpcpp/impl/codegen/client_context.h \
6313
+ include/grpcpp/impl/codegen/client_context_impl.h \
6227
6314
  include/grpcpp/impl/codegen/client_interceptor.h \
6228
6315
  include/grpcpp/impl/codegen/client_unary_call.h \
6229
6316
  include/grpcpp/impl/codegen/completion_queue.h \
@@ -6245,6 +6332,7 @@ PUBLIC_HEADERS_CXX += \
6245
6332
  include/grpcpp/impl/codegen/serialization_traits.h \
6246
6333
  include/grpcpp/impl/codegen/server_callback.h \
6247
6334
  include/grpcpp/impl/codegen/server_context.h \
6335
+ include/grpcpp/impl/codegen/server_context_impl.h \
6248
6336
  include/grpcpp/impl/codegen/server_interceptor.h \
6249
6337
  include/grpcpp/impl/codegen/server_interface.h \
6250
6338
  include/grpcpp/impl/codegen/service_type.h \
@@ -6631,6 +6719,7 @@ PUBLIC_HEADERS_CXX += \
6631
6719
  include/grpcpp/impl/codegen/channel_interface.h \
6632
6720
  include/grpcpp/impl/codegen/client_callback.h \
6633
6721
  include/grpcpp/impl/codegen/client_context.h \
6722
+ include/grpcpp/impl/codegen/client_context_impl.h \
6634
6723
  include/grpcpp/impl/codegen/client_interceptor.h \
6635
6724
  include/grpcpp/impl/codegen/client_unary_call.h \
6636
6725
  include/grpcpp/impl/codegen/completion_queue.h \
@@ -6652,6 +6741,7 @@ PUBLIC_HEADERS_CXX += \
6652
6741
  include/grpcpp/impl/codegen/serialization_traits.h \
6653
6742
  include/grpcpp/impl/codegen/server_callback.h \
6654
6743
  include/grpcpp/impl/codegen/server_context.h \
6744
+ include/grpcpp/impl/codegen/server_context_impl.h \
6655
6745
  include/grpcpp/impl/codegen/server_interceptor.h \
6656
6746
  include/grpcpp/impl/codegen/server_interface.h \
6657
6747
  include/grpcpp/impl/codegen/service_type.h \
@@ -6801,6 +6891,7 @@ PUBLIC_HEADERS_CXX += \
6801
6891
  include/grpcpp/impl/codegen/channel_interface.h \
6802
6892
  include/grpcpp/impl/codegen/client_callback.h \
6803
6893
  include/grpcpp/impl/codegen/client_context.h \
6894
+ include/grpcpp/impl/codegen/client_context_impl.h \
6804
6895
  include/grpcpp/impl/codegen/client_interceptor.h \
6805
6896
  include/grpcpp/impl/codegen/client_unary_call.h \
6806
6897
  include/grpcpp/impl/codegen/completion_queue.h \
@@ -6822,6 +6913,7 @@ PUBLIC_HEADERS_CXX += \
6822
6913
  include/grpcpp/impl/codegen/serialization_traits.h \
6823
6914
  include/grpcpp/impl/codegen/server_callback.h \
6824
6915
  include/grpcpp/impl/codegen/server_context.h \
6916
+ include/grpcpp/impl/codegen/server_context_impl.h \
6825
6917
  include/grpcpp/impl/codegen/server_interceptor.h \
6826
6918
  include/grpcpp/impl/codegen/server_interface.h \
6827
6919
  include/grpcpp/impl/codegen/service_type.h \
@@ -6931,11 +7023,13 @@ LIBGRPC++_UNSECURE_SRC = \
6931
7023
  src/cpp/common/core_codegen.cc \
6932
7024
  src/cpp/common/resource_quota_cc.cc \
6933
7025
  src/cpp/common/rpc_method.cc \
7026
+ src/cpp/common/validate_service_config.cc \
6934
7027
  src/cpp/common/version_cc.cc \
6935
7028
  src/cpp/server/async_generic_service.cc \
6936
7029
  src/cpp/server/channel_argument_option.cc \
6937
7030
  src/cpp/server/create_default_thread_pool.cc \
6938
7031
  src/cpp/server/dynamic_thread_pool.cc \
7032
+ src/cpp/server/external_connection_acceptor_impl.cc \
6939
7033
  src/cpp/server/health/default_health_check_service.cc \
6940
7034
  src/cpp/server/health/health_check_service.cc \
6941
7035
  src/cpp/server/health/health_check_service_server_builder_option.cc \
@@ -7070,6 +7164,7 @@ PUBLIC_HEADERS_CXX += \
7070
7164
  include/grpcpp/support/stub_options.h \
7071
7165
  include/grpcpp/support/sync_stream.h \
7072
7166
  include/grpcpp/support/time.h \
7167
+ include/grpcpp/support/validate_service_config.h \
7073
7168
  include/grpc/support/alloc.h \
7074
7169
  include/grpc/support/atm.h \
7075
7170
  include/grpc/support/atm_gcc_atomic.h \
@@ -7163,6 +7258,7 @@ PUBLIC_HEADERS_CXX += \
7163
7258
  include/grpcpp/impl/codegen/channel_interface.h \
7164
7259
  include/grpcpp/impl/codegen/client_callback.h \
7165
7260
  include/grpcpp/impl/codegen/client_context.h \
7261
+ include/grpcpp/impl/codegen/client_context_impl.h \
7166
7262
  include/grpcpp/impl/codegen/client_interceptor.h \
7167
7263
  include/grpcpp/impl/codegen/client_unary_call.h \
7168
7264
  include/grpcpp/impl/codegen/completion_queue.h \
@@ -7184,6 +7280,7 @@ PUBLIC_HEADERS_CXX += \
7184
7280
  include/grpcpp/impl/codegen/serialization_traits.h \
7185
7281
  include/grpcpp/impl/codegen/server_callback.h \
7186
7282
  include/grpcpp/impl/codegen/server_context.h \
7283
+ include/grpcpp/impl/codegen/server_context_impl.h \
7187
7284
  include/grpcpp/impl/codegen/server_interceptor.h \
7188
7285
  include/grpcpp/impl/codegen/server_interface.h \
7189
7286
  include/grpcpp/impl/codegen/service_type.h \
@@ -8453,7 +8550,7 @@ endif
8453
8550
  LIBBAD_CLIENT_TEST_SRC = \
8454
8551
  test/core/bad_client/bad_client.cc \
8455
8552
 
8456
- PUBLIC_HEADERS_C += \
8553
+ PUBLIC_HEADERS_CXX += \
8457
8554
 
8458
8555
  LIBBAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBAD_CLIENT_TEST_SRC))))
8459
8556
 
@@ -8467,8 +8564,16 @@ $(LIBDIR)/$(CONFIG)/libbad_client_test.a: openssl_dep_error
8467
8564
 
8468
8565
  else
8469
8566
 
8567
+ ifeq ($(NO_PROTOBUF),true)
8568
+
8569
+ # You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay.
8570
+
8571
+ $(LIBDIR)/$(CONFIG)/libbad_client_test.a: protobuf_dep_error
8572
+
8470
8573
 
8471
- $(LIBDIR)/$(CONFIG)/libbad_client_test.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBBAD_CLIENT_TEST_OBJS)
8574
+ else
8575
+
8576
+ $(LIBDIR)/$(CONFIG)/libbad_client_test.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBAD_CLIENT_TEST_OBJS)
8472
8577
  $(E) "[AR] Creating $@"
8473
8578
  $(Q) mkdir -p `dirname $@`
8474
8579
  $(Q) rm -f $(LIBDIR)/$(CONFIG)/libbad_client_test.a
@@ -8480,6 +8585,8 @@ endif
8480
8585
 
8481
8586
 
8482
8587
 
8588
+ endif
8589
+
8483
8590
  endif
8484
8591
 
8485
8592
  ifneq ($(NO_SECURE),true)
@@ -14495,6 +14602,94 @@ endif
14495
14602
  endif
14496
14603
 
14497
14604
 
14605
+ BM_CALLBACK_STREAMING_PING_PONG_SRC = \
14606
+ test/cpp/microbenchmarks/bm_callback_streaming_ping_pong.cc \
14607
+
14608
+ BM_CALLBACK_STREAMING_PING_PONG_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BM_CALLBACK_STREAMING_PING_PONG_SRC))))
14609
+ ifeq ($(NO_SECURE),true)
14610
+
14611
+ # You can't build secure targets if you don't have OpenSSL.
14612
+
14613
+ $(BINDIR)/$(CONFIG)/bm_callback_streaming_ping_pong: openssl_dep_error
14614
+
14615
+ else
14616
+
14617
+
14618
+
14619
+
14620
+ ifeq ($(NO_PROTOBUF),true)
14621
+
14622
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
14623
+
14624
+ $(BINDIR)/$(CONFIG)/bm_callback_streaming_ping_pong: protobuf_dep_error
14625
+
14626
+ else
14627
+
14628
+ $(BINDIR)/$(CONFIG)/bm_callback_streaming_ping_pong: $(PROTOBUF_DEP) $(BM_CALLBACK_STREAMING_PING_PONG_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_benchmark.a $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBDIR)/$(CONFIG)/libbm_callback_test_service_impl.a
14629
+ $(E) "[LD] Linking $@"
14630
+ $(Q) mkdir -p `dirname $@`
14631
+ $(Q) $(LDXX) $(LDFLAGS) $(BM_CALLBACK_STREAMING_PING_PONG_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_benchmark.a $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBDIR)/$(CONFIG)/libbm_callback_test_service_impl.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/bm_callback_streaming_ping_pong
14632
+
14633
+ endif
14634
+
14635
+ endif
14636
+
14637
+ $(BM_CALLBACK_STREAMING_PING_PONG_OBJS): CPPFLAGS += -Ithird_party/benchmark/include -DHAVE_POSIX_REGEX
14638
+ $(OBJDIR)/$(CONFIG)/test/cpp/microbenchmarks/bm_callback_streaming_ping_pong.o: $(LIBDIR)/$(CONFIG)/libgrpc_benchmark.a $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBDIR)/$(CONFIG)/libbm_callback_test_service_impl.a
14639
+
14640
+ deps_bm_callback_streaming_ping_pong: $(BM_CALLBACK_STREAMING_PING_PONG_OBJS:.o=.dep)
14641
+
14642
+ ifneq ($(NO_SECURE),true)
14643
+ ifneq ($(NO_DEPS),true)
14644
+ -include $(BM_CALLBACK_STREAMING_PING_PONG_OBJS:.o=.dep)
14645
+ endif
14646
+ endif
14647
+
14648
+
14649
+ BM_CALLBACK_UNARY_PING_PONG_SRC = \
14650
+ test/cpp/microbenchmarks/bm_callback_unary_ping_pong.cc \
14651
+
14652
+ BM_CALLBACK_UNARY_PING_PONG_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BM_CALLBACK_UNARY_PING_PONG_SRC))))
14653
+ ifeq ($(NO_SECURE),true)
14654
+
14655
+ # You can't build secure targets if you don't have OpenSSL.
14656
+
14657
+ $(BINDIR)/$(CONFIG)/bm_callback_unary_ping_pong: openssl_dep_error
14658
+
14659
+ else
14660
+
14661
+
14662
+
14663
+
14664
+ ifeq ($(NO_PROTOBUF),true)
14665
+
14666
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
14667
+
14668
+ $(BINDIR)/$(CONFIG)/bm_callback_unary_ping_pong: protobuf_dep_error
14669
+
14670
+ else
14671
+
14672
+ $(BINDIR)/$(CONFIG)/bm_callback_unary_ping_pong: $(PROTOBUF_DEP) $(BM_CALLBACK_UNARY_PING_PONG_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_benchmark.a $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBDIR)/$(CONFIG)/libbm_callback_test_service_impl.a
14673
+ $(E) "[LD] Linking $@"
14674
+ $(Q) mkdir -p `dirname $@`
14675
+ $(Q) $(LDXX) $(LDFLAGS) $(BM_CALLBACK_UNARY_PING_PONG_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_benchmark.a $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBDIR)/$(CONFIG)/libbm_callback_test_service_impl.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/bm_callback_unary_ping_pong
14676
+
14677
+ endif
14678
+
14679
+ endif
14680
+
14681
+ $(BM_CALLBACK_UNARY_PING_PONG_OBJS): CPPFLAGS += -Ithird_party/benchmark/include -DHAVE_POSIX_REGEX
14682
+ $(OBJDIR)/$(CONFIG)/test/cpp/microbenchmarks/bm_callback_unary_ping_pong.o: $(LIBDIR)/$(CONFIG)/libgrpc_benchmark.a $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBDIR)/$(CONFIG)/libbm_callback_test_service_impl.a
14683
+
14684
+ deps_bm_callback_unary_ping_pong: $(BM_CALLBACK_UNARY_PING_PONG_OBJS:.o=.dep)
14685
+
14686
+ ifneq ($(NO_SECURE),true)
14687
+ ifneq ($(NO_DEPS),true)
14688
+ -include $(BM_CALLBACK_UNARY_PING_PONG_OBJS:.o=.dep)
14689
+ endif
14690
+ endif
14691
+
14692
+
14498
14693
  BM_CHANNEL_SRC = \
14499
14694
  test/cpp/microbenchmarks/bm_channel.cc \
14500
14695
 
@@ -17930,6 +18125,49 @@ endif
17930
18125
  endif
17931
18126
 
17932
18127
 
18128
+ PORT_SHARING_END2END_TEST_SRC = \
18129
+ test/cpp/end2end/port_sharing_end2end_test.cc \
18130
+
18131
+ PORT_SHARING_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(PORT_SHARING_END2END_TEST_SRC))))
18132
+ ifeq ($(NO_SECURE),true)
18133
+
18134
+ # You can't build secure targets if you don't have OpenSSL.
18135
+
18136
+ $(BINDIR)/$(CONFIG)/port_sharing_end2end_test: openssl_dep_error
18137
+
18138
+ else
18139
+
18140
+
18141
+
18142
+
18143
+ ifeq ($(NO_PROTOBUF),true)
18144
+
18145
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
18146
+
18147
+ $(BINDIR)/$(CONFIG)/port_sharing_end2end_test: protobuf_dep_error
18148
+
18149
+ else
18150
+
18151
+ $(BINDIR)/$(CONFIG)/port_sharing_end2end_test: $(PROTOBUF_DEP) $(PORT_SHARING_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a
18152
+ $(E) "[LD] Linking $@"
18153
+ $(Q) mkdir -p `dirname $@`
18154
+ $(Q) $(LDXX) $(LDFLAGS) $(PORT_SHARING_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/port_sharing_end2end_test
18155
+
18156
+ endif
18157
+
18158
+ endif
18159
+
18160
+ $(OBJDIR)/$(CONFIG)/test/cpp/end2end/port_sharing_end2end_test.o: $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a
18161
+
18162
+ deps_port_sharing_end2end_test: $(PORT_SHARING_END2END_TEST_OBJS:.o=.dep)
18163
+
18164
+ ifneq ($(NO_SECURE),true)
18165
+ ifneq ($(NO_DEPS),true)
18166
+ -include $(PORT_SHARING_END2END_TEST_OBJS:.o=.dep)
18167
+ endif
18168
+ endif
18169
+
18170
+
17933
18171
  PROTO_SERVER_REFLECTION_TEST_SRC = \
17934
18172
  test/cpp/end2end/proto_server_reflection_test.cc \
17935
18173
 
@@ -20091,10 +20329,21 @@ BADREQ_BAD_CLIENT_TEST_SRC = \
20091
20329
  BADREQ_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BADREQ_BAD_CLIENT_TEST_SRC))))
20092
20330
 
20093
20331
 
20094
- $(BINDIR)/$(CONFIG)/badreq_bad_client_test: $(BADREQ_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.a
20332
+
20333
+ ifeq ($(NO_PROTOBUF),true)
20334
+
20335
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
20336
+
20337
+ $(BINDIR)/$(CONFIG)/badreq_bad_client_test: protobuf_dep_error
20338
+
20339
+ else
20340
+
20341
+ $(BINDIR)/$(CONFIG)/badreq_bad_client_test: $(PROTOBUF_DEP) $(BADREQ_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.a
20095
20342
  $(E) "[LD] Linking $@"
20096
20343
  $(Q) mkdir -p `dirname $@`
20097
- $(Q) $(LD) $(LDFLAGS) $(BADREQ_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.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/badreq_bad_client_test
20344
+ $(Q) $(LDXX) $(LDFLAGS) $(BADREQ_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.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/badreq_bad_client_test
20345
+
20346
+ endif
20098
20347
 
20099
20348
  $(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/badreq.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a
20100
20349
 
@@ -20111,10 +20360,21 @@ CONNECTION_PREFIX_BAD_CLIENT_TEST_SRC = \
20111
20360
  CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CONNECTION_PREFIX_BAD_CLIENT_TEST_SRC))))
20112
20361
 
20113
20362
 
20114
- $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test: $(CONNECTION_PREFIX_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.a
20363
+
20364
+ ifeq ($(NO_PROTOBUF),true)
20365
+
20366
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
20367
+
20368
+ $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test: protobuf_dep_error
20369
+
20370
+ else
20371
+
20372
+ $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test: $(PROTOBUF_DEP) $(CONNECTION_PREFIX_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.a
20115
20373
  $(E) "[LD] Linking $@"
20116
20374
  $(Q) mkdir -p `dirname $@`
20117
- $(Q) $(LD) $(LDFLAGS) $(CONNECTION_PREFIX_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.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test
20375
+ $(Q) $(LDXX) $(LDFLAGS) $(CONNECTION_PREFIX_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.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test
20376
+
20377
+ endif
20118
20378
 
20119
20379
  $(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/connection_prefix.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a
20120
20380
 
@@ -20131,10 +20391,21 @@ DUPLICATE_HEADER_BAD_CLIENT_TEST_SRC = \
20131
20391
  DUPLICATE_HEADER_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(DUPLICATE_HEADER_BAD_CLIENT_TEST_SRC))))
20132
20392
 
20133
20393
 
20134
- $(BINDIR)/$(CONFIG)/duplicate_header_bad_client_test: $(DUPLICATE_HEADER_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.a
20394
+
20395
+ ifeq ($(NO_PROTOBUF),true)
20396
+
20397
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
20398
+
20399
+ $(BINDIR)/$(CONFIG)/duplicate_header_bad_client_test: protobuf_dep_error
20400
+
20401
+ else
20402
+
20403
+ $(BINDIR)/$(CONFIG)/duplicate_header_bad_client_test: $(PROTOBUF_DEP) $(DUPLICATE_HEADER_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.a
20135
20404
  $(E) "[LD] Linking $@"
20136
20405
  $(Q) mkdir -p `dirname $@`
20137
- $(Q) $(LD) $(LDFLAGS) $(DUPLICATE_HEADER_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.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/duplicate_header_bad_client_test
20406
+ $(Q) $(LDXX) $(LDFLAGS) $(DUPLICATE_HEADER_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.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/duplicate_header_bad_client_test
20407
+
20408
+ endif
20138
20409
 
20139
20410
  $(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/duplicate_header.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a
20140
20411
 
@@ -20151,10 +20422,21 @@ HEAD_OF_LINE_BLOCKING_BAD_CLIENT_TEST_SRC = \
20151
20422
  HEAD_OF_LINE_BLOCKING_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HEAD_OF_LINE_BLOCKING_BAD_CLIENT_TEST_SRC))))
20152
20423
 
20153
20424
 
20154
- $(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.a
20425
+
20426
+ ifeq ($(NO_PROTOBUF),true)
20427
+
20428
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
20429
+
20430
+ $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test: protobuf_dep_error
20431
+
20432
+ else
20433
+
20434
+ $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test: $(PROTOBUF_DEP) $(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.a
20155
20435
  $(E) "[LD] Linking $@"
20156
20436
  $(Q) mkdir -p `dirname $@`
20157
- $(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.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test
20437
+ $(Q) $(LDXX) $(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.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test
20438
+
20439
+ endif
20158
20440
 
20159
20441
  $(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.a
20160
20442
 
@@ -20171,10 +20453,21 @@ HEADERS_BAD_CLIENT_TEST_SRC = \
20171
20453
  HEADERS_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HEADERS_BAD_CLIENT_TEST_SRC))))
20172
20454
 
20173
20455
 
20174
- $(BINDIR)/$(CONFIG)/headers_bad_client_test: $(HEADERS_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.a
20456
+
20457
+ ifeq ($(NO_PROTOBUF),true)
20458
+
20459
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
20460
+
20461
+ $(BINDIR)/$(CONFIG)/headers_bad_client_test: protobuf_dep_error
20462
+
20463
+ else
20464
+
20465
+ $(BINDIR)/$(CONFIG)/headers_bad_client_test: $(PROTOBUF_DEP) $(HEADERS_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.a
20175
20466
  $(E) "[LD] Linking $@"
20176
20467
  $(Q) mkdir -p `dirname $@`
20177
- $(Q) $(LD) $(LDFLAGS) $(HEADERS_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.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/headers_bad_client_test
20468
+ $(Q) $(LDXX) $(LDFLAGS) $(HEADERS_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.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/headers_bad_client_test
20469
+
20470
+ endif
20178
20471
 
20179
20472
  $(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/headers.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a
20180
20473
 
@@ -20191,10 +20484,21 @@ INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_SRC = \
20191
20484
  INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_SRC))))
20192
20485
 
20193
20486
 
20194
- $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test: $(INITIAL_SETTINGS_FRAME_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.a
20487
+
20488
+ ifeq ($(NO_PROTOBUF),true)
20489
+
20490
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
20491
+
20492
+ $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test: protobuf_dep_error
20493
+
20494
+ else
20495
+
20496
+ $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test: $(PROTOBUF_DEP) $(INITIAL_SETTINGS_FRAME_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.a
20195
20497
  $(E) "[LD] Linking $@"
20196
20498
  $(Q) mkdir -p `dirname $@`
20197
- $(Q) $(LD) $(LDFLAGS) $(INITIAL_SETTINGS_FRAME_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.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test
20499
+ $(Q) $(LDXX) $(LDFLAGS) $(INITIAL_SETTINGS_FRAME_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.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test
20500
+
20501
+ endif
20198
20502
 
20199
20503
  $(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/initial_settings_frame.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a
20200
20504
 
@@ -20211,10 +20515,21 @@ LARGE_METADATA_BAD_CLIENT_TEST_SRC = \
20211
20515
  LARGE_METADATA_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LARGE_METADATA_BAD_CLIENT_TEST_SRC))))
20212
20516
 
20213
20517
 
20214
- $(BINDIR)/$(CONFIG)/large_metadata_bad_client_test: $(LARGE_METADATA_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.a
20518
+
20519
+ ifeq ($(NO_PROTOBUF),true)
20520
+
20521
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
20522
+
20523
+ $(BINDIR)/$(CONFIG)/large_metadata_bad_client_test: protobuf_dep_error
20524
+
20525
+ else
20526
+
20527
+ $(BINDIR)/$(CONFIG)/large_metadata_bad_client_test: $(PROTOBUF_DEP) $(LARGE_METADATA_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.a
20215
20528
  $(E) "[LD] Linking $@"
20216
20529
  $(Q) mkdir -p `dirname $@`
20217
- $(Q) $(LD) $(LDFLAGS) $(LARGE_METADATA_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.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/large_metadata_bad_client_test
20530
+ $(Q) $(LDXX) $(LDFLAGS) $(LARGE_METADATA_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.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/large_metadata_bad_client_test
20531
+
20532
+ endif
20218
20533
 
20219
20534
  $(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/large_metadata.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a
20220
20535
 
@@ -20231,10 +20546,21 @@ SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_SRC = \
20231
20546
  SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_SRC))))
20232
20547
 
20233
20548
 
20234
- $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test: $(SERVER_REGISTERED_METHOD_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.a
20549
+
20550
+ ifeq ($(NO_PROTOBUF),true)
20551
+
20552
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
20553
+
20554
+ $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test: protobuf_dep_error
20555
+
20556
+ else
20557
+
20558
+ $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test: $(PROTOBUF_DEP) $(SERVER_REGISTERED_METHOD_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.a
20235
20559
  $(E) "[LD] Linking $@"
20236
20560
  $(Q) mkdir -p `dirname $@`
20237
- $(Q) $(LD) $(LDFLAGS) $(SERVER_REGISTERED_METHOD_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.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test
20561
+ $(Q) $(LDXX) $(LDFLAGS) $(SERVER_REGISTERED_METHOD_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.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test
20562
+
20563
+ endif
20238
20564
 
20239
20565
  $(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/server_registered_method.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a
20240
20566
 
@@ -20251,10 +20577,21 @@ SIMPLE_REQUEST_BAD_CLIENT_TEST_SRC = \
20251
20577
  SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SIMPLE_REQUEST_BAD_CLIENT_TEST_SRC))))
20252
20578
 
20253
20579
 
20254
- $(BINDIR)/$(CONFIG)/simple_request_bad_client_test: $(SIMPLE_REQUEST_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.a
20580
+
20581
+ ifeq ($(NO_PROTOBUF),true)
20582
+
20583
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
20584
+
20585
+ $(BINDIR)/$(CONFIG)/simple_request_bad_client_test: protobuf_dep_error
20586
+
20587
+ else
20588
+
20589
+ $(BINDIR)/$(CONFIG)/simple_request_bad_client_test: $(PROTOBUF_DEP) $(SIMPLE_REQUEST_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.a
20255
20590
  $(E) "[LD] Linking $@"
20256
20591
  $(Q) mkdir -p `dirname $@`
20257
- $(Q) $(LD) $(LDFLAGS) $(SIMPLE_REQUEST_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.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/simple_request_bad_client_test
20592
+ $(Q) $(LDXX) $(LDFLAGS) $(SIMPLE_REQUEST_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.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/simple_request_bad_client_test
20593
+
20594
+ endif
20258
20595
 
20259
20596
  $(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/simple_request.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a
20260
20597
 
@@ -20271,10 +20608,21 @@ UNKNOWN_FRAME_BAD_CLIENT_TEST_SRC = \
20271
20608
  UNKNOWN_FRAME_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(UNKNOWN_FRAME_BAD_CLIENT_TEST_SRC))))
20272
20609
 
20273
20610
 
20274
- $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test: $(UNKNOWN_FRAME_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.a
20611
+
20612
+ ifeq ($(NO_PROTOBUF),true)
20613
+
20614
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
20615
+
20616
+ $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test: protobuf_dep_error
20617
+
20618
+ else
20619
+
20620
+ $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test: $(PROTOBUF_DEP) $(UNKNOWN_FRAME_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.a
20275
20621
  $(E) "[LD] Linking $@"
20276
20622
  $(Q) mkdir -p `dirname $@`
20277
- $(Q) $(LD) $(LDFLAGS) $(UNKNOWN_FRAME_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.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test
20623
+ $(Q) $(LDXX) $(LDFLAGS) $(UNKNOWN_FRAME_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.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test
20624
+
20625
+ endif
20278
20626
 
20279
20627
  $(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/unknown_frame.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a
20280
20628
 
@@ -20291,10 +20639,21 @@ WINDOW_OVERFLOW_BAD_CLIENT_TEST_SRC = \
20291
20639
  WINDOW_OVERFLOW_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(WINDOW_OVERFLOW_BAD_CLIENT_TEST_SRC))))
20292
20640
 
20293
20641
 
20294
- $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test: $(WINDOW_OVERFLOW_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.a
20642
+
20643
+ ifeq ($(NO_PROTOBUF),true)
20644
+
20645
+ # You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
20646
+
20647
+ $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test: protobuf_dep_error
20648
+
20649
+ else
20650
+
20651
+ $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test: $(PROTOBUF_DEP) $(WINDOW_OVERFLOW_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.a
20295
20652
  $(E) "[LD] Linking $@"
20296
20653
  $(Q) mkdir -p `dirname $@`
20297
- $(Q) $(LD) $(LDFLAGS) $(WINDOW_OVERFLOW_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.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test
20654
+ $(Q) $(LDXX) $(LDFLAGS) $(WINDOW_OVERFLOW_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.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test
20655
+
20656
+ endif
20298
20657
 
20299
20658
  $(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/window_overflow.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a
20300
20659
 
@@ -22284,6 +22643,7 @@ test/cpp/interop/interop_client.cc: $(OPENSSL_DEP)
22284
22643
  test/cpp/interop/interop_server.cc: $(OPENSSL_DEP)
22285
22644
  test/cpp/interop/interop_server_bootstrap.cc: $(OPENSSL_DEP)
22286
22645
  test/cpp/interop/server_helper.cc: $(OPENSSL_DEP)
22646
+ test/cpp/microbenchmarks/callback_test_service.cc: $(OPENSSL_DEP)
22287
22647
  test/cpp/microbenchmarks/helpers.cc: $(OPENSSL_DEP)
22288
22648
  test/cpp/naming/dns_test_util.cc: $(OPENSSL_DEP)
22289
22649
  test/cpp/qps/benchmark_config.cc: $(OPENSSL_DEP)