grpc 1.41.1 → 1.42.0.pre1

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 (416) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +55 -43
  3. data/include/grpc/event_engine/event_engine.h +82 -42
  4. data/include/grpc/event_engine/internal/memory_allocator_impl.h +98 -0
  5. data/include/grpc/event_engine/memory_allocator.h +210 -0
  6. data/include/grpc/grpc.h +4 -0
  7. data/include/grpc/grpc_security.h +18 -0
  8. data/include/grpc/grpc_security_constants.h +1 -0
  9. data/include/grpc/impl/codegen/port_platform.h +7 -0
  10. data/src/core/ext/filters/client_channel/backend_metric.cc +18 -19
  11. data/src/core/ext/filters/client_channel/backup_poller.cc +2 -1
  12. data/src/core/ext/filters/client_channel/channel_connectivity.cc +71 -89
  13. data/src/core/ext/filters/client_channel/client_channel.cc +187 -252
  14. data/src/core/ext/filters/client_channel/client_channel.h +74 -27
  15. data/src/core/ext/filters/client_channel/client_channel_factory.cc +1 -1
  16. data/src/core/ext/filters/client_channel/client_channel_factory.h +17 -19
  17. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +8 -14
  18. data/src/core/ext/filters/client_channel/config_selector.cc +1 -1
  19. data/src/core/ext/filters/client_channel/config_selector.h +4 -5
  20. data/src/core/ext/filters/client_channel/connector.h +18 -18
  21. data/src/core/ext/filters/client_channel/dynamic_filters.cc +1 -1
  22. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +0 -1
  23. data/src/core/ext/filters/client_channel/health/health_check_client.cc +12 -11
  24. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +1 -1
  25. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +4 -0
  26. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -15
  27. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +166 -82
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +4 -0
  29. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +1 -1
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +2 -4
  31. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +23 -7
  32. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +15 -10
  33. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +2 -3
  34. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +2502 -0
  35. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +6 -1
  36. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +7 -1
  37. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +6 -2
  38. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +1 -1
  39. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +5 -0
  40. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +8 -1
  41. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +7 -16
  42. data/src/core/ext/filters/client_channel/lb_policy.h +11 -1
  43. data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -0
  44. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +139 -0
  45. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +11 -5
  46. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +3 -3
  47. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +12 -39
  48. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +21 -1
  49. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +6 -2
  50. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +3 -1
  51. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +77 -68
  52. data/src/core/ext/filters/client_channel/resolver.h +1 -1
  53. data/src/core/ext/filters/client_channel/resolver_factory.h +2 -0
  54. data/src/core/ext/filters/client_channel/resolver_registry.cc +6 -8
  55. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +1 -1
  56. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +1 -1
  57. data/src/core/ext/filters/client_channel/retry_filter.cc +48 -86
  58. data/src/core/ext/filters/client_channel/retry_service_config.h +1 -1
  59. data/src/core/ext/filters/client_channel/retry_throttle.cc +17 -48
  60. data/src/core/ext/filters/client_channel/server_address.h +1 -1
  61. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +49 -36
  62. data/src/core/ext/filters/client_channel/subchannel.cc +85 -143
  63. data/src/core/ext/filters/client_channel/subchannel.h +29 -49
  64. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +22 -7
  65. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +11 -2
  66. data/src/core/ext/filters/client_idle/client_idle_filter.cc +27 -210
  67. data/src/core/ext/filters/client_idle/idle_filter_state.cc +96 -0
  68. data/src/core/ext/filters/client_idle/idle_filter_state.h +66 -0
  69. data/src/core/ext/filters/deadline/deadline_filter.cc +23 -26
  70. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -19
  71. data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -1
  72. data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
  73. data/src/core/ext/filters/http/client/http_client_filter.cc +41 -44
  74. data/src/core/ext/filters/http/client_authority_filter.cc +14 -15
  75. data/src/core/ext/filters/http/http_filters_plugin.cc +53 -71
  76. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +17 -12
  77. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +1 -1
  78. data/src/core/ext/filters/http/server/http_server_filter.cc +72 -69
  79. data/src/core/ext/filters/max_age/max_age_filter.cc +24 -26
  80. data/src/core/ext/filters/message_size/message_size_filter.cc +19 -16
  81. data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
  82. data/src/core/ext/{filters/client_channel → service_config}/service_config.cc +2 -2
  83. data/src/core/ext/{filters/client_channel → service_config}/service_config.h +4 -4
  84. data/src/core/ext/service_config/service_config_call_data.h +72 -0
  85. data/src/core/ext/{filters/client_channel → service_config}/service_config_parser.cc +3 -3
  86. data/src/core/ext/{filters/client_channel → service_config}/service_config_parser.h +8 -6
  87. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +2 -5
  88. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +19 -24
  89. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +27 -50
  90. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +14 -16
  91. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +59 -58
  92. data/src/core/ext/transport/chttp2/transport/flow_control.cc +19 -16
  93. data/src/core/ext/transport/chttp2/transport/flow_control.h +4 -4
  94. data/src/core/ext/transport/chttp2/transport/frame_data.cc +4 -4
  95. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +2 -1
  96. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -1
  97. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -3
  98. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -2
  99. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +1 -1
  100. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +41 -1
  101. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -4
  102. data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +1 -1
  103. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +136 -98
  104. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +27 -8
  105. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +12 -25
  106. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +37 -30
  107. data/src/core/ext/transport/chttp2/transport/internal.h +4 -3
  108. data/src/core/ext/transport/chttp2/transport/parsing.cc +30 -173
  109. data/src/core/ext/transport/chttp2/transport/popularity_count.h +1 -1
  110. data/src/core/ext/transport/chttp2/transport/writing.cc +29 -22
  111. data/src/core/ext/transport/inproc/inproc_transport.cc +105 -109
  112. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +68 -34
  113. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +139 -1
  114. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +16 -4
  115. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +53 -4
  116. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +3 -2
  117. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +15 -0
  118. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +13 -8
  119. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +23 -0
  120. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +0 -1
  121. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +14 -11
  122. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +17 -0
  123. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +15 -12
  124. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +49 -19
  125. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +55 -0
  126. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +154 -0
  127. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +0 -2
  128. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +58 -0
  129. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +182 -0
  130. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +1 -1
  131. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +1 -1
  132. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +1 -1
  133. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +1 -1
  134. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +1 -1
  135. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +1 -1
  136. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +58 -0
  137. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +130 -0
  138. data/src/core/ext/upb-generated/{udpa/type/v1 → xds/type/v3}/typed_struct.upb.c +7 -7
  139. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +83 -0
  140. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +310 -286
  141. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +10 -0
  142. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +101 -88
  143. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +5 -0
  144. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +59 -56
  145. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +59 -46
  146. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +78 -82
  147. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +323 -316
  148. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +5 -4
  149. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +19 -23
  150. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +4 -3
  151. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +5 -3
  152. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +5 -4
  153. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +75 -0
  154. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +50 -0
  155. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +13 -12
  156. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +25 -24
  157. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +16 -15
  158. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +17 -16
  159. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +33 -32
  160. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +19 -18
  161. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +45 -0
  162. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +35 -0
  163. data/src/core/ext/xds/xds_api.cc +325 -362
  164. data/src/core/ext/xds/xds_api.h +134 -82
  165. data/src/core/ext/xds/xds_bootstrap.h +10 -0
  166. data/src/core/ext/xds/xds_certificate_provider.cc +3 -3
  167. data/src/core/ext/xds/xds_channel_stack_modifier.cc +113 -0
  168. data/src/core/ext/xds/xds_channel_stack_modifier.h +52 -0
  169. data/src/core/ext/xds/xds_client.cc +527 -314
  170. data/src/core/ext/xds/xds_client.h +42 -37
  171. data/src/core/ext/xds/xds_client_stats.h +1 -1
  172. data/src/core/ext/xds/xds_server_config_fetcher.cc +5 -7
  173. data/src/core/lib/address_utils/parse_address.cc +2 -0
  174. data/src/core/lib/avl/avl.cc +5 -5
  175. data/src/core/lib/backoff/backoff.cc +1 -1
  176. data/src/core/lib/channel/channel_args.cc +24 -6
  177. data/src/core/lib/channel/channel_args.h +9 -0
  178. data/src/core/lib/channel/channel_stack_builder.cc +3 -3
  179. data/src/core/lib/channel/channel_trace.cc +1 -1
  180. data/src/core/lib/channel/channel_trace.h +1 -1
  181. data/src/core/lib/channel/channelz.cc +3 -3
  182. data/src/core/lib/channel/channelz.h +2 -2
  183. data/src/core/lib/channel/channelz_registry.cc +1 -1
  184. data/src/core/lib/channel/channelz_registry.h +1 -1
  185. data/src/core/lib/channel/connected_channel.cc +1 -3
  186. data/src/core/lib/channel/connected_channel.h +1 -2
  187. data/src/core/lib/compression/compression.cc +2 -2
  188. data/src/core/lib/compression/compression_args.cc +6 -4
  189. data/src/core/lib/compression/compression_internal.cc +2 -2
  190. data/src/core/lib/compression/compression_internal.h +1 -1
  191. data/src/core/lib/config/core_configuration.cc +44 -2
  192. data/src/core/lib/config/core_configuration.h +39 -1
  193. data/src/core/lib/debug/stats.cc +1 -1
  194. data/src/core/lib/debug/stats_data.cc +13 -13
  195. data/src/core/lib/gpr/atm.cc +1 -1
  196. data/src/core/lib/gpr/cpu_posix.cc +1 -1
  197. data/src/core/lib/gpr/string.cc +2 -2
  198. data/src/core/lib/gpr/tls.h +1 -1
  199. data/src/core/lib/gpr/useful.h +79 -32
  200. data/src/core/lib/gprpp/arena.h +10 -0
  201. data/src/core/lib/gprpp/bitset.h +38 -16
  202. data/src/core/lib/gprpp/chunked_vector.h +211 -0
  203. data/src/core/lib/gprpp/construct_destruct.h +1 -1
  204. data/src/core/lib/gprpp/match.h +1 -1
  205. data/src/core/lib/gprpp/memory.h +6 -0
  206. data/src/core/lib/gprpp/overload.h +1 -1
  207. data/src/core/lib/gprpp/status_helper.cc +23 -3
  208. data/src/core/lib/gprpp/status_helper.h +12 -1
  209. data/src/core/lib/gprpp/table.h +411 -0
  210. data/src/core/lib/http/httpcli.cc +200 -182
  211. data/src/core/lib/http/parser.cc +2 -2
  212. data/src/core/lib/iomgr/call_combiner.cc +28 -10
  213. data/src/core/lib/iomgr/combiner.cc +6 -21
  214. data/src/core/lib/iomgr/endpoint_cfstream.cc +7 -6
  215. data/src/core/lib/iomgr/error.cc +113 -52
  216. data/src/core/lib/iomgr/error.h +50 -9
  217. data/src/core/lib/iomgr/error_cfstream.cc +5 -0
  218. data/src/core/lib/iomgr/ev_epoll1_linux.cc +3 -2
  219. data/src/core/lib/iomgr/ev_epollex_linux.cc +7 -7
  220. data/src/core/lib/iomgr/ev_poll_posix.cc +29 -20
  221. data/src/core/lib/iomgr/event_engine/closure.cc +41 -18
  222. data/src/core/lib/iomgr/event_engine/closure.h +10 -1
  223. data/src/core/lib/iomgr/event_engine/endpoint.cc +3 -3
  224. data/src/core/lib/iomgr/event_engine/iomgr.cc +1 -1
  225. data/src/core/lib/iomgr/event_engine/pollset.cc +5 -4
  226. data/src/core/lib/iomgr/event_engine/resolver.cc +10 -7
  227. data/src/core/lib/iomgr/event_engine/tcp.cc +9 -8
  228. data/src/core/lib/iomgr/event_engine/timer.cc +7 -2
  229. data/src/core/lib/iomgr/exec_ctx.cc +1 -9
  230. data/src/core/lib/iomgr/executor/mpmcqueue.cc +5 -7
  231. data/src/core/lib/iomgr/executor/mpmcqueue.h +3 -8
  232. data/src/core/lib/iomgr/executor.cc +6 -20
  233. data/src/core/lib/iomgr/iomgr.cc +3 -1
  234. data/src/core/lib/iomgr/iomgr_internal.cc +4 -9
  235. data/src/core/lib/iomgr/iomgr_internal.h +3 -2
  236. data/src/core/lib/iomgr/load_file.cc +2 -2
  237. data/src/core/lib/iomgr/lockfree_event.cc +18 -0
  238. data/src/core/lib/iomgr/pollset_custom.cc +1 -1
  239. data/src/core/lib/iomgr/pollset_custom.h +1 -1
  240. data/src/core/lib/iomgr/resolve_address_posix.cc +5 -7
  241. data/src/core/lib/iomgr/resource_quota.cc +13 -11
  242. data/src/core/lib/iomgr/socket_factory_posix.cc +2 -2
  243. data/src/core/lib/iomgr/socket_mutator.cc +2 -2
  244. data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -2
  245. data/src/core/lib/iomgr/tcp_client_cfstream.cc +5 -3
  246. data/src/core/lib/iomgr/tcp_client_custom.cc +1 -1
  247. data/src/core/lib/iomgr/tcp_client_posix.cc +9 -18
  248. data/src/core/lib/iomgr/tcp_client_windows.cc +2 -3
  249. data/src/core/lib/iomgr/tcp_posix.cc +4 -5
  250. data/src/core/lib/iomgr/tcp_server_custom.cc +2 -1
  251. data/src/core/lib/iomgr/tcp_server_posix.cc +3 -4
  252. data/src/core/lib/iomgr/tcp_server_windows.cc +4 -5
  253. data/src/core/lib/iomgr/tcp_windows.cc +2 -2
  254. data/src/core/lib/iomgr/timer_generic.cc +13 -13
  255. data/src/core/lib/iomgr/timer_heap.cc +1 -1
  256. data/src/core/lib/json/json_util.cc +68 -0
  257. data/src/core/lib/json/json_util.h +57 -99
  258. data/src/core/lib/json/json_writer.cc +0 -3
  259. data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
  260. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
  261. data/src/core/lib/security/authorization/evaluate_args.cc +14 -12
  262. data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +13 -1
  263. data/src/core/lib/security/context/security_context.cc +4 -2
  264. data/src/core/lib/security/credentials/composite/composite_credentials.cc +1 -1
  265. data/src/core/lib/security/credentials/credentials.cc +4 -2
  266. data/src/core/lib/security/credentials/credentials.h +6 -1
  267. data/src/core/lib/security/credentials/external/external_account_credentials.cc +47 -11
  268. data/src/core/lib/security/credentials/external/external_account_credentials.h +1 -0
  269. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +1 -1
  270. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +5 -9
  271. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +2 -2
  272. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +2 -2
  273. data/src/core/lib/security/security_connector/security_connector.cc +9 -4
  274. data/src/core/lib/security/security_connector/security_connector.h +1 -1
  275. data/src/core/lib/security/security_connector/ssl_utils.cc +1 -1
  276. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +1 -0
  277. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +0 -2
  278. data/src/core/lib/security/transport/client_auth_filter.cc +5 -5
  279. data/src/core/lib/security/transport/security_handshaker.cc +73 -43
  280. data/src/core/lib/security/transport/server_auth_filter.cc +3 -5
  281. data/src/core/lib/security/transport/tsi_error.cc +3 -5
  282. data/src/core/lib/slice/slice.cc +0 -16
  283. data/src/core/lib/slice/slice_api.cc +39 -0
  284. data/src/core/lib/slice/slice_buffer.cc +5 -5
  285. data/src/core/lib/slice/slice_intern.cc +8 -13
  286. data/src/core/lib/slice/slice_internal.h +1 -244
  287. data/src/core/lib/slice/slice_refcount.cc +17 -0
  288. data/src/core/lib/slice/slice_refcount.h +121 -0
  289. data/src/core/lib/slice/slice_refcount_base.h +173 -0
  290. data/src/core/lib/slice/slice_split.cc +100 -0
  291. data/src/core/lib/slice/slice_split.h +40 -0
  292. data/src/core/lib/slice/slice_string_helpers.cc +0 -83
  293. data/src/core/lib/slice/slice_string_helpers.h +0 -11
  294. data/src/core/lib/slice/static_slice.cc +529 -0
  295. data/src/core/lib/slice/static_slice.h +331 -0
  296. data/src/core/lib/surface/builtins.cc +49 -0
  297. data/src/core/{ext/filters/workarounds/workaround_cronet_compression_filter.h → lib/surface/builtins.h} +8 -9
  298. data/src/core/lib/surface/call.cc +103 -120
  299. data/src/core/lib/surface/call.h +0 -6
  300. data/src/core/lib/surface/channel.cc +19 -32
  301. data/src/core/lib/surface/channel.h +0 -9
  302. data/src/core/lib/surface/channel_init.cc +23 -76
  303. data/src/core/lib/surface/channel_init.h +52 -44
  304. data/src/core/lib/surface/completion_queue.cc +6 -5
  305. data/src/core/lib/surface/init.cc +0 -39
  306. data/src/core/lib/surface/init_secure.cc +17 -14
  307. data/src/core/lib/surface/lame_client.cc +18 -11
  308. data/src/core/lib/surface/lame_client.h +1 -1
  309. data/src/core/lib/surface/server.cc +25 -17
  310. data/src/core/lib/surface/server.h +17 -10
  311. data/src/core/lib/surface/validate_metadata.cc +5 -2
  312. data/src/core/lib/surface/version.cc +2 -2
  313. data/src/core/lib/transport/bdp_estimator.cc +1 -1
  314. data/src/core/lib/transport/error_utils.cc +42 -17
  315. data/src/core/lib/transport/error_utils.h +1 -1
  316. data/src/core/lib/transport/metadata.cc +31 -10
  317. data/src/core/lib/transport/metadata.h +2 -1
  318. data/src/core/lib/transport/metadata_batch.cc +35 -371
  319. data/src/core/lib/transport/metadata_batch.h +905 -71
  320. data/src/core/lib/transport/parsed_metadata.h +263 -0
  321. data/src/core/lib/transport/pid_controller.cc +4 -4
  322. data/src/core/lib/transport/static_metadata.cc +714 -846
  323. data/src/core/lib/transport/static_metadata.h +115 -379
  324. data/src/core/lib/transport/status_metadata.cc +1 -0
  325. data/src/core/lib/transport/transport.cc +4 -5
  326. data/src/core/lib/transport/transport_op_string.cc +40 -20
  327. data/src/core/plugin_registry/grpc_plugin_registry.cc +64 -43
  328. data/src/core/tsi/alts/crypt/aes_gcm.cc +3 -1
  329. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +13 -12
  330. data/src/core/tsi/alts/frame_protector/frame_handler.cc +10 -11
  331. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -2
  332. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +12 -2
  333. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
  334. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +2 -2
  335. data/src/core/tsi/fake_transport_security.cc +15 -7
  336. data/src/core/tsi/local_transport_security.cc +36 -73
  337. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +16 -50
  338. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +4 -3
  339. data/src/core/tsi/ssl_transport_security.cc +10 -2
  340. data/src/core/tsi/transport_security.cc +12 -0
  341. data/src/core/tsi/transport_security.h +16 -1
  342. data/src/core/tsi/transport_security_interface.h +26 -0
  343. data/src/ruby/ext/grpc/extconf.rb +12 -9
  344. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -0
  345. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -0
  346. data/src/ruby/lib/grpc/version.rb +1 -1
  347. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +2 -2
  348. data/src/ruby/spec/client_server_spec.rb +1 -1
  349. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +4 -4
  350. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +11 -6
  351. data/third_party/address_sorting/address_sorting_posix.c +1 -0
  352. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +20 -21
  353. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +104 -114
  354. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +13 -0
  355. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +4 -6
  356. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +38 -47
  357. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +32 -34
  358. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +5 -9
  359. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c +10 -11
  360. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h +1 -3
  361. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +3 -6
  362. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +4 -7
  363. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +35 -35
  364. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +11 -10
  365. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +10 -37
  366. data/third_party/boringssl-with-bazel/src/crypto/internal.h +39 -0
  367. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +6 -6
  368. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +0 -1
  369. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +72 -45
  370. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +5 -1
  371. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +2 -2
  372. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +479 -15
  373. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +16 -564
  374. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +0 -1
  375. data/third_party/re2/re2/compile.cc +91 -109
  376. data/third_party/re2/re2/dfa.cc +27 -39
  377. data/third_party/re2/re2/filtered_re2.cc +18 -2
  378. data/third_party/re2/re2/filtered_re2.h +10 -5
  379. data/third_party/re2/re2/nfa.cc +1 -1
  380. data/third_party/re2/re2/parse.cc +42 -23
  381. data/third_party/re2/re2/perl_groups.cc +34 -34
  382. data/third_party/re2/re2/prefilter.cc +3 -2
  383. data/third_party/re2/re2/prog.cc +182 -4
  384. data/third_party/re2/re2/prog.h +28 -9
  385. data/third_party/re2/re2/re2.cc +87 -118
  386. data/third_party/re2/re2/re2.h +156 -141
  387. data/third_party/re2/re2/regexp.cc +12 -5
  388. data/third_party/re2/re2/regexp.h +8 -2
  389. data/third_party/re2/re2/set.cc +31 -9
  390. data/third_party/re2/re2/set.h +9 -4
  391. data/third_party/re2/re2/simplify.cc +11 -3
  392. data/third_party/re2/re2/tostring.cc +1 -1
  393. data/third_party/re2/re2/walker-inl.h +1 -1
  394. data/third_party/re2/util/mutex.h +2 -2
  395. data/third_party/re2/util/pcre.h +3 -3
  396. metadata +78 -66
  397. data/include/grpc/event_engine/slice_allocator.h +0 -71
  398. data/src/core/ext/filters/client_channel/service_config_call_data.h +0 -126
  399. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +0 -211
  400. data/src/core/ext/filters/workarounds/workaround_utils.cc +0 -53
  401. data/src/core/ext/filters/workarounds/workaround_utils.h +0 -39
  402. data/src/core/ext/transport/chttp2/client/authority.cc +0 -42
  403. data/src/core/ext/transport/chttp2/client/authority.h +0 -36
  404. data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.cc +0 -67
  405. data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.h +0 -74
  406. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +0 -66
  407. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +0 -58
  408. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +0 -58
  409. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +0 -130
  410. data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +0 -83
  411. data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +0 -44
  412. data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +0 -35
  413. data/src/core/lib/iomgr/udp_server.cc +0 -747
  414. data/src/core/lib/iomgr/udp_server.h +0 -103
  415. data/src/core/lib/transport/authority_override.cc +0 -40
  416. data/src/core/lib/transport/authority_override.h +0 -37
@@ -0,0 +1,331 @@
1
+ /*
2
+ * Copyright 2015 gRPC authors.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ /*
18
+ * WARNING: Auto-generated code.
19
+ *
20
+ * To make changes to this file, change
21
+ * tools/codegen/core/gen_static_metadata.py, and then re-run it.
22
+ *
23
+ * See metadata.h for an explanation of the interface here, and metadata.cc for
24
+ * an explanation of what's going on.
25
+ */
26
+
27
+ #ifndef GRPC_CORE_LIB_SLICE_STATIC_SLICE_H
28
+ #define GRPC_CORE_LIB_SLICE_STATIC_SLICE_H
29
+
30
+ #include <grpc/support/port_platform.h>
31
+
32
+ #include <cstdint>
33
+ #include <type_traits>
34
+
35
+ #include "src/core/lib/slice/slice_refcount_base.h"
36
+ #include "src/core/lib/slice/slice_utils.h"
37
+
38
+ static_assert(
39
+ std::is_trivially_destructible<grpc_core::StaticMetadataSlice>::value,
40
+ "grpc_core::StaticMetadataSlice must be trivially destructible.");
41
+ #define GRPC_STATIC_MDSTR_COUNT 110
42
+ /* ":path" */
43
+ #define GRPC_MDSTR_PATH (::grpc_core::g_static_metadata_slice_table[0])
44
+ /* ":method" */
45
+ #define GRPC_MDSTR_METHOD (::grpc_core::g_static_metadata_slice_table[1])
46
+ /* ":status" */
47
+ #define GRPC_MDSTR_STATUS (::grpc_core::g_static_metadata_slice_table[2])
48
+ /* ":authority" */
49
+ #define GRPC_MDSTR_AUTHORITY (::grpc_core::g_static_metadata_slice_table[3])
50
+ /* ":scheme" */
51
+ #define GRPC_MDSTR_SCHEME (::grpc_core::g_static_metadata_slice_table[4])
52
+ /* "grpc-message" */
53
+ #define GRPC_MDSTR_GRPC_MESSAGE (::grpc_core::g_static_metadata_slice_table[5])
54
+ /* "grpc-status" */
55
+ #define GRPC_MDSTR_GRPC_STATUS (::grpc_core::g_static_metadata_slice_table[6])
56
+ /* "grpc-payload-bin" */
57
+ #define GRPC_MDSTR_GRPC_PAYLOAD_BIN \
58
+ (::grpc_core::g_static_metadata_slice_table[7])
59
+ /* "grpc-encoding" */
60
+ #define GRPC_MDSTR_GRPC_ENCODING (::grpc_core::g_static_metadata_slice_table[8])
61
+ /* "grpc-accept-encoding" */
62
+ #define GRPC_MDSTR_GRPC_ACCEPT_ENCODING \
63
+ (::grpc_core::g_static_metadata_slice_table[9])
64
+ /* "grpc-server-stats-bin" */
65
+ #define GRPC_MDSTR_GRPC_SERVER_STATS_BIN \
66
+ (::grpc_core::g_static_metadata_slice_table[10])
67
+ /* "grpc-tags-bin" */
68
+ #define GRPC_MDSTR_GRPC_TAGS_BIN \
69
+ (::grpc_core::g_static_metadata_slice_table[11])
70
+ /* "grpc-trace-bin" */
71
+ #define GRPC_MDSTR_GRPC_TRACE_BIN \
72
+ (::grpc_core::g_static_metadata_slice_table[12])
73
+ /* "content-type" */
74
+ #define GRPC_MDSTR_CONTENT_TYPE (::grpc_core::g_static_metadata_slice_table[13])
75
+ /* "content-encoding" */
76
+ #define GRPC_MDSTR_CONTENT_ENCODING \
77
+ (::grpc_core::g_static_metadata_slice_table[14])
78
+ /* "accept-encoding" */
79
+ #define GRPC_MDSTR_ACCEPT_ENCODING \
80
+ (::grpc_core::g_static_metadata_slice_table[15])
81
+ /* "grpc-internal-encoding-request" */
82
+ #define GRPC_MDSTR_GRPC_INTERNAL_ENCODING_REQUEST \
83
+ (::grpc_core::g_static_metadata_slice_table[16])
84
+ /* "grpc-internal-stream-encoding-request" */
85
+ #define GRPC_MDSTR_GRPC_INTERNAL_STREAM_ENCODING_REQUEST \
86
+ (::grpc_core::g_static_metadata_slice_table[17])
87
+ /* "user-agent" */
88
+ #define GRPC_MDSTR_USER_AGENT (::grpc_core::g_static_metadata_slice_table[18])
89
+ /* "host" */
90
+ #define GRPC_MDSTR_HOST (::grpc_core::g_static_metadata_slice_table[19])
91
+ /* "grpc-previous-rpc-attempts" */
92
+ #define GRPC_MDSTR_GRPC_PREVIOUS_RPC_ATTEMPTS \
93
+ (::grpc_core::g_static_metadata_slice_table[20])
94
+ /* "grpc-retry-pushback-ms" */
95
+ #define GRPC_MDSTR_GRPC_RETRY_PUSHBACK_MS \
96
+ (::grpc_core::g_static_metadata_slice_table[21])
97
+ /* "x-endpoint-load-metrics-bin" */
98
+ #define GRPC_MDSTR_X_ENDPOINT_LOAD_METRICS_BIN \
99
+ (::grpc_core::g_static_metadata_slice_table[22])
100
+ /* "grpc-timeout" */
101
+ #define GRPC_MDSTR_GRPC_TIMEOUT (::grpc_core::g_static_metadata_slice_table[23])
102
+ /* "1" */
103
+ #define GRPC_MDSTR_1 (::grpc_core::g_static_metadata_slice_table[24])
104
+ /* "2" */
105
+ #define GRPC_MDSTR_2 (::grpc_core::g_static_metadata_slice_table[25])
106
+ /* "3" */
107
+ #define GRPC_MDSTR_3 (::grpc_core::g_static_metadata_slice_table[26])
108
+ /* "4" */
109
+ #define GRPC_MDSTR_4 (::grpc_core::g_static_metadata_slice_table[27])
110
+ /* "" */
111
+ #define GRPC_MDSTR_EMPTY (::grpc_core::g_static_metadata_slice_table[28])
112
+ /* "grpc.wait_for_ready" */
113
+ #define GRPC_MDSTR_GRPC_DOT_WAIT_FOR_READY \
114
+ (::grpc_core::g_static_metadata_slice_table[29])
115
+ /* "grpc.timeout" */
116
+ #define GRPC_MDSTR_GRPC_DOT_TIMEOUT \
117
+ (::grpc_core::g_static_metadata_slice_table[30])
118
+ /* "grpc.max_request_message_bytes" */
119
+ #define GRPC_MDSTR_GRPC_DOT_MAX_REQUEST_MESSAGE_BYTES \
120
+ (::grpc_core::g_static_metadata_slice_table[31])
121
+ /* "grpc.max_response_message_bytes" */
122
+ #define GRPC_MDSTR_GRPC_DOT_MAX_RESPONSE_MESSAGE_BYTES \
123
+ (::grpc_core::g_static_metadata_slice_table[32])
124
+ /* "/grpc.lb.v1.LoadBalancer/BalanceLoad" */
125
+ #define GRPC_MDSTR_SLASH_GRPC_DOT_LB_DOT_V1_DOT_LOADBALANCER_SLASH_BALANCELOAD \
126
+ (::grpc_core::g_static_metadata_slice_table[33])
127
+ /* "/envoy.service.load_stats.v2.LoadReportingService/StreamLoadStats" */
128
+ #define GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_LOAD_STATS_DOT_V2_DOT_LOADREPORTINGSERVICE_SLASH_STREAMLOADSTATS \
129
+ (::grpc_core::g_static_metadata_slice_table[34])
130
+ /* "/envoy.service.load_stats.v3.LoadReportingService/StreamLoadStats" */
131
+ #define GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_LOAD_STATS_DOT_V3_DOT_LOADREPORTINGSERVICE_SLASH_STREAMLOADSTATS \
132
+ (::grpc_core::g_static_metadata_slice_table[35])
133
+ /* "/grpc.health.v1.Health/Watch" */
134
+ #define GRPC_MDSTR_SLASH_GRPC_DOT_HEALTH_DOT_V1_DOT_HEALTH_SLASH_WATCH \
135
+ (::grpc_core::g_static_metadata_slice_table[36])
136
+ /* "/envoy.service.discovery.v2.AggregatedDiscoveryService/StreamAggregatedResources"
137
+ */
138
+ #define GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_DISCOVERY_DOT_V2_DOT_AGGREGATEDDISCOVERYSERVICE_SLASH_STREAMAGGREGATEDRESOURCES \
139
+ (::grpc_core::g_static_metadata_slice_table[37])
140
+ /* "/envoy.service.discovery.v3.AggregatedDiscoveryService/StreamAggregatedResources"
141
+ */
142
+ #define GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_DISCOVERY_DOT_V3_DOT_AGGREGATEDDISCOVERYSERVICE_SLASH_STREAMAGGREGATEDRESOURCES \
143
+ (::grpc_core::g_static_metadata_slice_table[38])
144
+ /* "deflate" */
145
+ #define GRPC_MDSTR_DEFLATE (::grpc_core::g_static_metadata_slice_table[39])
146
+ /* "gzip" */
147
+ #define GRPC_MDSTR_GZIP (::grpc_core::g_static_metadata_slice_table[40])
148
+ /* "stream/gzip" */
149
+ #define GRPC_MDSTR_STREAM_SLASH_GZIP \
150
+ (::grpc_core::g_static_metadata_slice_table[41])
151
+ /* "te" */
152
+ #define GRPC_MDSTR_TE (::grpc_core::g_static_metadata_slice_table[42])
153
+ /* "trailers" */
154
+ #define GRPC_MDSTR_TRAILERS (::grpc_core::g_static_metadata_slice_table[43])
155
+ /* "GET" */
156
+ #define GRPC_MDSTR_GET (::grpc_core::g_static_metadata_slice_table[44])
157
+ /* "POST" */
158
+ #define GRPC_MDSTR_POST (::grpc_core::g_static_metadata_slice_table[45])
159
+ /* "/" */
160
+ #define GRPC_MDSTR_SLASH (::grpc_core::g_static_metadata_slice_table[46])
161
+ /* "/index.html" */
162
+ #define GRPC_MDSTR_SLASH_INDEX_DOT_HTML \
163
+ (::grpc_core::g_static_metadata_slice_table[47])
164
+ /* "http" */
165
+ #define GRPC_MDSTR_HTTP (::grpc_core::g_static_metadata_slice_table[48])
166
+ /* "https" */
167
+ #define GRPC_MDSTR_HTTPS (::grpc_core::g_static_metadata_slice_table[49])
168
+ /* "200" */
169
+ #define GRPC_MDSTR_200 (::grpc_core::g_static_metadata_slice_table[50])
170
+ /* "204" */
171
+ #define GRPC_MDSTR_204 (::grpc_core::g_static_metadata_slice_table[51])
172
+ /* "206" */
173
+ #define GRPC_MDSTR_206 (::grpc_core::g_static_metadata_slice_table[52])
174
+ /* "304" */
175
+ #define GRPC_MDSTR_304 (::grpc_core::g_static_metadata_slice_table[53])
176
+ /* "400" */
177
+ #define GRPC_MDSTR_400 (::grpc_core::g_static_metadata_slice_table[54])
178
+ /* "404" */
179
+ #define GRPC_MDSTR_404 (::grpc_core::g_static_metadata_slice_table[55])
180
+ /* "500" */
181
+ #define GRPC_MDSTR_500 (::grpc_core::g_static_metadata_slice_table[56])
182
+ /* "accept-charset" */
183
+ #define GRPC_MDSTR_ACCEPT_CHARSET \
184
+ (::grpc_core::g_static_metadata_slice_table[57])
185
+ /* "gzip, deflate" */
186
+ #define GRPC_MDSTR_GZIP_COMMA_DEFLATE \
187
+ (::grpc_core::g_static_metadata_slice_table[58])
188
+ /* "accept-language" */
189
+ #define GRPC_MDSTR_ACCEPT_LANGUAGE \
190
+ (::grpc_core::g_static_metadata_slice_table[59])
191
+ /* "accept-ranges" */
192
+ #define GRPC_MDSTR_ACCEPT_RANGES \
193
+ (::grpc_core::g_static_metadata_slice_table[60])
194
+ /* "accept" */
195
+ #define GRPC_MDSTR_ACCEPT (::grpc_core::g_static_metadata_slice_table[61])
196
+ /* "access-control-allow-origin" */
197
+ #define GRPC_MDSTR_ACCESS_CONTROL_ALLOW_ORIGIN \
198
+ (::grpc_core::g_static_metadata_slice_table[62])
199
+ /* "age" */
200
+ #define GRPC_MDSTR_AGE (::grpc_core::g_static_metadata_slice_table[63])
201
+ /* "allow" */
202
+ #define GRPC_MDSTR_ALLOW (::grpc_core::g_static_metadata_slice_table[64])
203
+ /* "authorization" */
204
+ #define GRPC_MDSTR_AUTHORIZATION \
205
+ (::grpc_core::g_static_metadata_slice_table[65])
206
+ /* "cache-control" */
207
+ #define GRPC_MDSTR_CACHE_CONTROL \
208
+ (::grpc_core::g_static_metadata_slice_table[66])
209
+ /* "content-disposition" */
210
+ #define GRPC_MDSTR_CONTENT_DISPOSITION \
211
+ (::grpc_core::g_static_metadata_slice_table[67])
212
+ /* "content-language" */
213
+ #define GRPC_MDSTR_CONTENT_LANGUAGE \
214
+ (::grpc_core::g_static_metadata_slice_table[68])
215
+ /* "content-length" */
216
+ #define GRPC_MDSTR_CONTENT_LENGTH \
217
+ (::grpc_core::g_static_metadata_slice_table[69])
218
+ /* "content-location" */
219
+ #define GRPC_MDSTR_CONTENT_LOCATION \
220
+ (::grpc_core::g_static_metadata_slice_table[70])
221
+ /* "content-range" */
222
+ #define GRPC_MDSTR_CONTENT_RANGE \
223
+ (::grpc_core::g_static_metadata_slice_table[71])
224
+ /* "cookie" */
225
+ #define GRPC_MDSTR_COOKIE (::grpc_core::g_static_metadata_slice_table[72])
226
+ /* "date" */
227
+ #define GRPC_MDSTR_DATE (::grpc_core::g_static_metadata_slice_table[73])
228
+ /* "etag" */
229
+ #define GRPC_MDSTR_ETAG (::grpc_core::g_static_metadata_slice_table[74])
230
+ /* "expect" */
231
+ #define GRPC_MDSTR_EXPECT (::grpc_core::g_static_metadata_slice_table[75])
232
+ /* "expires" */
233
+ #define GRPC_MDSTR_EXPIRES (::grpc_core::g_static_metadata_slice_table[76])
234
+ /* "from" */
235
+ #define GRPC_MDSTR_FROM (::grpc_core::g_static_metadata_slice_table[77])
236
+ /* "if-match" */
237
+ #define GRPC_MDSTR_IF_MATCH (::grpc_core::g_static_metadata_slice_table[78])
238
+ /* "if-modified-since" */
239
+ #define GRPC_MDSTR_IF_MODIFIED_SINCE \
240
+ (::grpc_core::g_static_metadata_slice_table[79])
241
+ /* "if-none-match" */
242
+ #define GRPC_MDSTR_IF_NONE_MATCH \
243
+ (::grpc_core::g_static_metadata_slice_table[80])
244
+ /* "if-range" */
245
+ #define GRPC_MDSTR_IF_RANGE (::grpc_core::g_static_metadata_slice_table[81])
246
+ /* "if-unmodified-since" */
247
+ #define GRPC_MDSTR_IF_UNMODIFIED_SINCE \
248
+ (::grpc_core::g_static_metadata_slice_table[82])
249
+ /* "last-modified" */
250
+ #define GRPC_MDSTR_LAST_MODIFIED \
251
+ (::grpc_core::g_static_metadata_slice_table[83])
252
+ /* "link" */
253
+ #define GRPC_MDSTR_LINK (::grpc_core::g_static_metadata_slice_table[84])
254
+ /* "location" */
255
+ #define GRPC_MDSTR_LOCATION (::grpc_core::g_static_metadata_slice_table[85])
256
+ /* "max-forwards" */
257
+ #define GRPC_MDSTR_MAX_FORWARDS (::grpc_core::g_static_metadata_slice_table[86])
258
+ /* "proxy-authenticate" */
259
+ #define GRPC_MDSTR_PROXY_AUTHENTICATE \
260
+ (::grpc_core::g_static_metadata_slice_table[87])
261
+ /* "proxy-authorization" */
262
+ #define GRPC_MDSTR_PROXY_AUTHORIZATION \
263
+ (::grpc_core::g_static_metadata_slice_table[88])
264
+ /* "range" */
265
+ #define GRPC_MDSTR_RANGE (::grpc_core::g_static_metadata_slice_table[89])
266
+ /* "referer" */
267
+ #define GRPC_MDSTR_REFERER (::grpc_core::g_static_metadata_slice_table[90])
268
+ /* "refresh" */
269
+ #define GRPC_MDSTR_REFRESH (::grpc_core::g_static_metadata_slice_table[91])
270
+ /* "retry-after" */
271
+ #define GRPC_MDSTR_RETRY_AFTER (::grpc_core::g_static_metadata_slice_table[92])
272
+ /* "server" */
273
+ #define GRPC_MDSTR_SERVER (::grpc_core::g_static_metadata_slice_table[93])
274
+ /* "set-cookie" */
275
+ #define GRPC_MDSTR_SET_COOKIE (::grpc_core::g_static_metadata_slice_table[94])
276
+ /* "strict-transport-security" */
277
+ #define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY \
278
+ (::grpc_core::g_static_metadata_slice_table[95])
279
+ /* "transfer-encoding" */
280
+ #define GRPC_MDSTR_TRANSFER_ENCODING \
281
+ (::grpc_core::g_static_metadata_slice_table[96])
282
+ /* "vary" */
283
+ #define GRPC_MDSTR_VARY (::grpc_core::g_static_metadata_slice_table[97])
284
+ /* "via" */
285
+ #define GRPC_MDSTR_VIA (::grpc_core::g_static_metadata_slice_table[98])
286
+ /* "www-authenticate" */
287
+ #define GRPC_MDSTR_WWW_AUTHENTICATE \
288
+ (::grpc_core::g_static_metadata_slice_table[99])
289
+ /* "0" */
290
+ #define GRPC_MDSTR_0 (::grpc_core::g_static_metadata_slice_table[100])
291
+ /* "identity" */
292
+ #define GRPC_MDSTR_IDENTITY (::grpc_core::g_static_metadata_slice_table[101])
293
+ /* "application/grpc" */
294
+ #define GRPC_MDSTR_APPLICATION_SLASH_GRPC \
295
+ (::grpc_core::g_static_metadata_slice_table[102])
296
+ /* "grpc" */
297
+ #define GRPC_MDSTR_GRPC (::grpc_core::g_static_metadata_slice_table[103])
298
+ /* "PUT" */
299
+ #define GRPC_MDSTR_PUT (::grpc_core::g_static_metadata_slice_table[104])
300
+ /* "lb-cost-bin" */
301
+ #define GRPC_MDSTR_LB_COST_BIN (::grpc_core::g_static_metadata_slice_table[105])
302
+ /* "identity,deflate" */
303
+ #define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE \
304
+ (::grpc_core::g_static_metadata_slice_table[106])
305
+ /* "identity,gzip" */
306
+ #define GRPC_MDSTR_IDENTITY_COMMA_GZIP \
307
+ (::grpc_core::g_static_metadata_slice_table[107])
308
+ /* "deflate,gzip" */
309
+ #define GRPC_MDSTR_DEFLATE_COMMA_GZIP \
310
+ (::grpc_core::g_static_metadata_slice_table[108])
311
+ /* "identity,deflate,gzip" */
312
+ #define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE_COMMA_GZIP \
313
+ (::grpc_core::g_static_metadata_slice_table[109])
314
+
315
+ namespace grpc_core {
316
+ extern StaticSliceRefcount
317
+ g_static_metadata_slice_refcounts[GRPC_STATIC_MDSTR_COUNT];
318
+ extern const StaticMetadataSlice
319
+ g_static_metadata_slice_table[GRPC_STATIC_MDSTR_COUNT];
320
+ extern const uint8_t g_static_metadata_bytes[];
321
+ } // namespace grpc_core
322
+
323
+ #define GRPC_IS_STATIC_METADATA_STRING(slice) \
324
+ ((slice).refcount != NULL && \
325
+ (slice).refcount->GetType() == grpc_slice_refcount::Type::STATIC)
326
+
327
+ #define GRPC_STATIC_METADATA_INDEX(static_slice) \
328
+ (reinterpret_cast<grpc_core::StaticSliceRefcount*>((static_slice).refcount) \
329
+ ->index)
330
+
331
+ #endif /* GRPC_CORE_LIB_SLICE_STATIC_SLICE_H */
@@ -0,0 +1,49 @@
1
+ // Copyright 2021 gRPC authors.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ #include <grpc/support/port_platform.h>
16
+
17
+ #include "src/core/lib/surface/builtins.h"
18
+
19
+ #include "src/core/lib/channel/connected_channel.h"
20
+ #include "src/core/lib/config/core_configuration.h"
21
+ #include "src/core/lib/surface/lame_client.h"
22
+ #include "src/core/lib/surface/server.h"
23
+
24
+ namespace grpc_core {
25
+
26
+ void RegisterBuiltins(CoreConfiguration::Builder* builder) {
27
+ builder->channel_init()->RegisterStage(GRPC_CLIENT_SUBCHANNEL,
28
+ GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
29
+ grpc_add_connected_filter);
30
+ builder->channel_init()->RegisterStage(GRPC_CLIENT_DIRECT_CHANNEL,
31
+ GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
32
+ grpc_add_connected_filter);
33
+ builder->channel_init()->RegisterStage(GRPC_SERVER_CHANNEL,
34
+ GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
35
+ grpc_add_connected_filter);
36
+ builder->channel_init()->RegisterStage(
37
+ GRPC_CLIENT_LAME_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
38
+ [](grpc_channel_stack_builder* builder) {
39
+ return grpc_channel_stack_builder_append_filter(
40
+ builder, &grpc_lame_filter, nullptr, nullptr);
41
+ });
42
+ builder->channel_init()->RegisterStage(
43
+ GRPC_SERVER_CHANNEL, INT_MAX, [](grpc_channel_stack_builder* builder) {
44
+ return grpc_channel_stack_builder_prepend_filter(
45
+ builder, &grpc_core::Server::kServerTopFilter, nullptr, nullptr);
46
+ });
47
+ }
48
+
49
+ } // namespace grpc_core
@@ -1,5 +1,4 @@
1
- //
2
- // Copyright 2017 gRPC authors.
1
+ // Copyright 2021 gRPC authors.
3
2
  //
4
3
  // Licensed under the Apache License, Version 2.0 (the "License");
5
4
  // you may not use this file except in compliance with the License.
@@ -12,16 +11,16 @@
12
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
12
  // See the License for the specific language governing permissions and
14
13
  // limitations under the License.
15
- //
16
14
 
17
- #ifndef GRPC_CORE_EXT_FILTERS_WORKAROUNDS_WORKAROUND_CRONET_COMPRESSION_FILTER_H
18
- #define GRPC_CORE_EXT_FILTERS_WORKAROUNDS_WORKAROUND_CRONET_COMPRESSION_FILTER_H
15
+ #ifndef GRPC_CORE_LIB_SURFACE_BUILTINS_H
16
+ #define GRPC_CORE_LIB_SURFACE_BUILTINS_H
19
17
 
20
18
  #include <grpc/support/port_platform.h>
21
19
 
22
- #include "src/core/lib/channel/channel_stack.h"
20
+ #include "src/core/lib/config/core_configuration.h"
23
21
 
24
- extern const grpc_channel_filter grpc_workaround_cronet_compression_filter;
22
+ namespace grpc_core {
23
+ void RegisterBuiltins(CoreConfiguration::Builder* builder);
24
+ } // namespace grpc_core
25
25
 
26
- #endif /* GRPC_CORE_EXT_FILTERS_WORKAROUNDS_WORKAROUND_CRONET_COMPRESSION_FILTER_H \
27
- */
26
+ #endif // GRPC_CORE_LIB_SURFACE_BUILTINS_H