grpc 1.43.1 → 1.44.0.pre2

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 (382) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +84 -64
  3. data/include/grpc/grpc_security.h +10 -0
  4. data/include/grpc/impl/codegen/compression_types.h +0 -2
  5. data/include/grpc/impl/codegen/grpc_types.h +6 -0
  6. data/src/core/ext/filters/client_channel/backend_metric.h +1 -1
  7. data/src/core/ext/filters/client_channel/client_channel.cc +62 -68
  8. data/src/core/ext/filters/client_channel/client_channel.h +8 -8
  9. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
  10. data/src/core/ext/filters/client_channel/config_selector.h +4 -4
  11. data/src/core/ext/filters/client_channel/dynamic_filters.h +1 -1
  12. data/src/core/ext/filters/client_channel/health/health_check_client.cc +16 -14
  13. data/src/core/ext/filters/client_channel/health/health_check_client.h +3 -3
  14. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +1 -1
  15. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +4 -3
  16. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +6 -5
  17. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +3 -7
  18. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +31 -32
  19. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -7
  20. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +1 -1
  21. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -1
  22. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
  23. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +43 -29
  24. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +6 -2
  25. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +120 -68
  26. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +60 -48
  27. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +62 -61
  28. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +16 -11
  29. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +11 -5
  30. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +19 -15
  31. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +1 -1
  32. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +14 -12
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +3 -2
  34. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +50 -105
  35. data/src/core/ext/filters/client_channel/lb_policy.cc +15 -14
  36. data/src/core/ext/filters/client_channel/lb_policy.h +19 -3
  37. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +3 -3
  38. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +207 -81
  39. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +22 -12
  40. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +19 -15
  41. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +23 -38
  42. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +118 -207
  43. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +25 -32
  44. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  45. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +82 -73
  46. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +10 -10
  47. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +2 -1
  48. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +2 -5
  49. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +5 -5
  50. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +157 -67
  51. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +1 -1
  52. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +2 -2
  53. data/src/core/ext/filters/client_channel/retry_filter.cc +37 -64
  54. data/src/core/ext/filters/client_channel/retry_service_config.cc +1 -1
  55. data/src/core/ext/filters/client_channel/retry_service_config.h +1 -1
  56. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +1 -1
  57. data/src/core/ext/filters/client_channel/subchannel.cc +12 -16
  58. data/src/core/ext/filters/client_channel/subchannel.h +2 -3
  59. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +37 -48
  60. data/src/core/ext/filters/fault_injection/service_config_parser.cc +6 -8
  61. data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
  62. data/src/core/ext/filters/http/client/http_client_filter.cc +51 -122
  63. data/src/core/ext/filters/http/client_authority_filter.cc +8 -24
  64. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +42 -140
  65. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +5 -25
  66. data/src/core/ext/filters/http/server/http_server_filter.cc +50 -135
  67. data/src/core/ext/filters/message_size/message_size_filter.cc +1 -1
  68. data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
  69. data/src/core/ext/filters/rbac/rbac_filter.cc +157 -0
  70. data/src/core/ext/filters/rbac/rbac_filter.h +74 -0
  71. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +605 -0
  72. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +70 -0
  73. data/src/core/ext/filters/server_config_selector/server_config_selector.h +3 -2
  74. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +11 -6
  75. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +1 -1
  76. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +1 -1
  77. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +89 -29
  78. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -1
  79. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +45 -186
  80. data/src/core/ext/transport/chttp2/transport/frame_data.cc +0 -1
  81. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +341 -279
  82. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +69 -159
  83. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +1 -1
  84. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +2 -0
  85. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +19 -32
  86. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +0 -1
  87. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +94 -1
  88. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +2 -24
  89. data/src/core/ext/transport/chttp2/transport/internal.h +0 -33
  90. data/src/core/ext/transport/chttp2/transport/parsing.cc +0 -6
  91. data/src/core/ext/transport/chttp2/transport/writing.cc +47 -116
  92. data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -4
  93. data/src/core/ext/transport/inproc/inproc_transport.cc +11 -63
  94. data/src/core/ext/transport/inproc/inproc_transport.h +0 -3
  95. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +61 -0
  96. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +146 -0
  97. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +188 -0
  98. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +70 -0
  99. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +56 -0
  100. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +40 -0
  101. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +154 -0
  102. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +95 -0
  103. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.c +58 -0
  104. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.h +55 -0
  105. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.c +44 -0
  106. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.h +40 -0
  107. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +153 -0
  108. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +100 -0
  109. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.c +75 -0
  110. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.h +55 -0
  111. data/src/core/ext/xds/upb_utils.h +65 -0
  112. data/src/core/ext/xds/xds_api.cc +81 -3458
  113. data/src/core/ext/xds/xds_api.h +56 -611
  114. data/src/core/ext/xds/xds_bootstrap.cc +189 -125
  115. data/src/core/ext/xds/xds_bootstrap.h +20 -15
  116. data/src/core/ext/xds/xds_certificate_provider.h +1 -0
  117. data/src/core/ext/xds/xds_channel_creds.cc +108 -0
  118. data/src/core/ext/xds/xds_channel_creds.h +50 -0
  119. data/src/core/ext/xds/xds_client.cc +584 -994
  120. data/src/core/ext/xds/xds_client.h +78 -135
  121. data/src/core/ext/xds/xds_cluster.cc +451 -0
  122. data/src/core/ext/xds/xds_cluster.h +111 -0
  123. data/src/core/ext/xds/xds_common_types.cc +388 -0
  124. data/src/core/ext/xds/xds_common_types.h +110 -0
  125. data/src/core/ext/xds/xds_endpoint.cc +364 -0
  126. data/src/core/ext/xds/xds_endpoint.h +135 -0
  127. data/src/core/ext/xds/xds_http_filters.cc +5 -0
  128. data/src/core/ext/xds/xds_http_rbac_filter.cc +563 -0
  129. data/src/core/ext/xds/xds_http_rbac_filter.h +54 -0
  130. data/src/core/ext/xds/xds_listener.cc +1036 -0
  131. data/src/core/ext/xds/xds_listener.h +220 -0
  132. data/src/core/ext/{transport/chttp2/transport/hpack_utils.h → xds/xds_resource_type.cc} +12 -9
  133. data/src/core/ext/xds/xds_resource_type.h +98 -0
  134. data/src/core/ext/xds/xds_resource_type_impl.h +87 -0
  135. data/src/core/ext/xds/xds_route_config.cc +993 -0
  136. data/src/core/ext/xds/xds_route_config.h +215 -0
  137. data/src/core/ext/xds/xds_routing.cc +11 -8
  138. data/src/core/ext/xds/xds_routing.h +8 -5
  139. data/src/core/ext/xds/xds_server_config_fetcher.cc +159 -99
  140. data/src/core/lib/address_utils/parse_address.cc +20 -0
  141. data/src/core/lib/address_utils/parse_address.h +5 -0
  142. data/src/core/lib/address_utils/sockaddr_utils.cc +33 -36
  143. data/src/core/lib/address_utils/sockaddr_utils.h +1 -16
  144. data/src/core/lib/backoff/backoff.cc +4 -30
  145. data/src/core/lib/backoff/backoff.h +3 -3
  146. data/src/core/lib/channel/channel_args.cc +0 -1
  147. data/src/core/lib/channel/channel_stack.cc +8 -0
  148. data/src/core/lib/channel/channel_stack.h +1 -1
  149. data/src/core/lib/channel/channel_stack_builder.cc +5 -9
  150. data/src/core/lib/channel/channel_stack_builder.h +4 -7
  151. data/src/core/lib/channel/channelz.cc +1 -0
  152. data/src/core/lib/compression/compression.cc +19 -111
  153. data/src/core/lib/compression/compression_internal.cc +142 -202
  154. data/src/core/lib/compression/compression_internal.h +64 -69
  155. data/src/core/lib/compression/message_compress.cc +11 -11
  156. data/src/core/lib/compression/message_compress.h +2 -2
  157. data/src/core/lib/gpr/useful.h +4 -0
  158. data/src/core/lib/gprpp/bitset.h +7 -0
  159. data/src/core/lib/gprpp/chunked_vector.h +45 -3
  160. data/src/core/lib/gprpp/status_helper.cc +20 -28
  161. data/src/core/lib/gprpp/status_helper.h +6 -19
  162. data/src/core/lib/gprpp/table.h +11 -0
  163. data/src/core/lib/http/httpcli.cc +37 -46
  164. data/src/core/lib/http/httpcli.h +3 -15
  165. data/src/core/lib/iomgr/call_combiner.cc +15 -4
  166. data/src/core/lib/iomgr/closure.h +29 -9
  167. data/src/core/lib/iomgr/combiner.cc +25 -3
  168. data/src/core/lib/iomgr/error.cc +2 -0
  169. data/src/core/lib/iomgr/error.h +3 -0
  170. data/src/core/lib/iomgr/event_engine/iomgr.cc +3 -2
  171. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +6 -0
  172. data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +2 -0
  173. data/src/core/lib/iomgr/event_engine/resolver.cc +66 -48
  174. data/src/core/lib/iomgr/event_engine/resolver.h +56 -0
  175. data/src/core/lib/iomgr/exec_ctx.cc +22 -9
  176. data/src/core/lib/iomgr/executor.cc +10 -1
  177. data/src/core/lib/iomgr/fork_posix.cc +3 -2
  178. data/src/core/lib/iomgr/iomgr_custom.cc +4 -1
  179. data/src/core/lib/iomgr/iomgr_posix.cc +2 -2
  180. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
  181. data/src/core/lib/iomgr/iomgr_windows.cc +2 -2
  182. data/src/core/lib/iomgr/port.h +2 -2
  183. data/src/core/lib/iomgr/resolve_address.cc +5 -24
  184. data/src/core/lib/iomgr/resolve_address.h +47 -44
  185. data/src/core/lib/iomgr/resolve_address_custom.cc +131 -109
  186. data/src/core/lib/iomgr/resolve_address_custom.h +101 -19
  187. data/src/core/lib/iomgr/resolve_address_impl.h +59 -0
  188. data/src/core/lib/iomgr/resolve_address_posix.cc +82 -66
  189. data/src/core/lib/iomgr/resolve_address_posix.h +47 -0
  190. data/src/core/lib/iomgr/resolve_address_windows.cc +93 -74
  191. data/src/core/lib/iomgr/resolve_address_windows.h +47 -0
  192. data/src/core/lib/iomgr/resolved_address.h +39 -0
  193. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -0
  194. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +1 -0
  195. data/src/core/lib/iomgr/unix_sockets_posix.cc +22 -34
  196. data/src/core/lib/iomgr/unix_sockets_posix.h +4 -7
  197. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +6 -15
  198. data/src/core/lib/matchers/matchers.cc +1 -1
  199. data/src/core/lib/promise/activity.h +49 -20
  200. data/src/core/lib/promise/detail/status.h +5 -0
  201. data/src/core/{ext/filters/client_channel → lib/resolver}/resolver.cc +17 -25
  202. data/src/core/{ext/filters/client_channel → lib/resolver}/resolver.h +43 -44
  203. data/src/core/{ext/filters/client_channel → lib/resolver}/resolver_factory.h +10 -5
  204. data/src/core/{ext/filters/client_channel → lib/resolver}/resolver_registry.cc +3 -2
  205. data/src/core/{ext/filters/client_channel → lib/resolver}/resolver_registry.h +4 -5
  206. data/src/core/{ext/filters/client_channel → lib/resolver}/server_address.cc +1 -1
  207. data/src/core/{ext/filters/client_channel → lib/resolver}/server_address.h +4 -4
  208. data/src/core/lib/resource_quota/api.h +0 -1
  209. data/src/core/lib/{gprpp → resource_quota}/arena.cc +16 -13
  210. data/src/core/lib/{gprpp → resource_quota}/arena.h +24 -13
  211. data/src/core/lib/security/authorization/evaluate_args.cc +30 -15
  212. data/src/core/lib/security/authorization/evaluate_args.h +1 -0
  213. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +60 -0
  214. data/src/core/lib/security/authorization/grpc_authorization_engine.h +62 -0
  215. data/src/core/lib/security/authorization/matchers.cc +227 -0
  216. data/src/core/lib/security/authorization/matchers.h +211 -0
  217. data/src/core/lib/security/authorization/rbac_policy.cc +442 -0
  218. data/src/core/lib/security/authorization/rbac_policy.h +170 -0
  219. data/src/core/lib/security/context/security_context.cc +4 -2
  220. data/src/core/lib/security/context/security_context.h +1 -1
  221. data/src/core/lib/security/credentials/composite/composite_credentials.cc +5 -5
  222. data/src/core/lib/security/credentials/composite/composite_credentials.h +4 -3
  223. data/src/core/lib/security/credentials/credentials.h +10 -20
  224. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +6 -9
  225. data/src/core/lib/security/credentials/external/external_account_credentials.cc +7 -9
  226. data/src/core/lib/security/credentials/external/external_account_credentials.h +2 -7
  227. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +2 -3
  228. data/src/core/lib/security/credentials/fake/fake_credentials.cc +5 -4
  229. data/src/core/lib/security/credentials/fake/fake_credentials.h +8 -7
  230. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +2 -5
  231. data/src/core/lib/security/credentials/iam/iam_credentials.cc +16 -19
  232. data/src/core/lib/security/credentials/iam/iam_credentials.h +6 -5
  233. data/src/core/lib/security/credentials/jwt/json_token.cc +4 -6
  234. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +16 -28
  235. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +8 -8
  236. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +6 -13
  237. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +44 -57
  238. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +13 -15
  239. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -7
  240. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +5 -4
  241. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +1 -10
  242. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +6 -0
  243. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +7 -0
  244. data/src/core/lib/security/credentials/xds/xds_credentials.h +1 -1
  245. data/src/core/lib/security/security_connector/security_connector.cc +0 -4
  246. data/src/core/lib/security/security_connector/security_connector.h +5 -1
  247. data/src/core/lib/security/security_connector/ssl_utils.cc +14 -24
  248. data/src/core/lib/security/security_connector/ssl_utils.h +5 -14
  249. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +2 -3
  250. data/src/core/lib/security/transport/auth_filters.h +7 -0
  251. data/src/core/lib/security/transport/client_auth_filter.cc +53 -33
  252. data/src/core/lib/security/transport/server_auth_filter.cc +40 -35
  253. data/src/core/{ext → lib}/service_config/service_config.cc +2 -2
  254. data/src/core/{ext → lib}/service_config/service_config.h +4 -4
  255. data/src/core/{ext → lib}/service_config/service_config_call_data.h +5 -5
  256. data/src/core/{ext → lib}/service_config/service_config_parser.cc +1 -1
  257. data/src/core/{ext → lib}/service_config/service_config_parser.h +3 -3
  258. data/src/core/lib/slice/slice.cc +3 -1
  259. data/src/core/lib/slice/slice.h +43 -13
  260. data/src/core/lib/slice/slice_intern.cc +3 -101
  261. data/src/core/lib/slice/slice_internal.h +1 -2
  262. data/src/core/lib/slice/slice_refcount.h +4 -13
  263. data/src/core/lib/slice/slice_refcount_base.h +0 -16
  264. data/src/core/lib/surface/call.cc +140 -382
  265. data/src/core/lib/surface/call.h +4 -4
  266. data/src/core/lib/surface/channel.cc +42 -44
  267. data/src/core/lib/surface/channel.h +4 -4
  268. data/src/core/lib/surface/init.cc +0 -2
  269. data/src/core/lib/surface/lame_client.cc +0 -1
  270. data/src/core/lib/surface/server.cc +12 -29
  271. data/src/core/lib/surface/server.h +2 -2
  272. data/src/core/lib/surface/version.cc +2 -2
  273. data/src/core/lib/transport/error_utils.h +14 -0
  274. data/src/core/lib/transport/metadata_batch.h +799 -717
  275. data/src/core/lib/transport/parsed_metadata.cc +2 -0
  276. data/src/core/lib/transport/parsed_metadata.h +95 -92
  277. data/src/core/lib/transport/timeout_encoding.cc +200 -66
  278. data/src/core/lib/transport/timeout_encoding.h +40 -10
  279. data/src/core/lib/transport/transport.h +1 -1
  280. data/src/core/lib/transport/transport_op_string.cc +6 -39
  281. data/src/core/lib/uri/uri_parser.cc +223 -53
  282. data/src/core/lib/uri/uri_parser.h +36 -23
  283. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -3
  284. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
  285. data/src/core/tsi/ssl/session_cache/ssl_session.h +2 -4
  286. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +3 -5
  287. data/src/core/tsi/ssl_transport_security.cc +53 -13
  288. data/src/core/tsi/ssl_transport_security.h +18 -6
  289. data/src/ruby/ext/grpc/extconf.rb +10 -3
  290. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
  291. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +3 -0
  292. data/src/ruby/lib/grpc/version.rb +1 -1
  293. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +2 -1
  294. data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +48 -0
  295. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +200 -0
  296. data/third_party/abseil-cpp/absl/random/beta_distribution.h +427 -0
  297. data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +98 -0
  298. data/third_party/abseil-cpp/absl/random/discrete_distribution.h +247 -0
  299. data/third_party/abseil-cpp/absl/random/distributions.h +452 -0
  300. data/third_party/abseil-cpp/absl/random/exponential_distribution.h +165 -0
  301. data/third_party/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
  302. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +275 -0
  303. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +92 -0
  304. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +268 -0
  305. data/third_party/abseil-cpp/absl/random/internal/fastmath.h +57 -0
  306. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +144 -0
  307. data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +245 -0
  308. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +150 -0
  309. data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +308 -0
  310. data/third_party/abseil-cpp/absl/random/internal/platform.h +171 -0
  311. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +253 -0
  312. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +131 -0
  313. data/third_party/abseil-cpp/absl/random/internal/randen.cc +91 -0
  314. data/third_party/abseil-cpp/absl/random/internal/randen.h +102 -0
  315. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +221 -0
  316. data/third_party/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
  317. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +239 -0
  318. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
  319. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
  320. data/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
  321. data/third_party/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
  322. data/third_party/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
  323. data/third_party/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
  324. data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +167 -0
  325. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +267 -0
  326. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +104 -0
  327. data/third_party/abseil-cpp/absl/random/internal/traits.h +101 -0
  328. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
  329. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +111 -0
  330. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +257 -0
  331. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +258 -0
  332. data/third_party/abseil-cpp/absl/random/random.h +189 -0
  333. data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +46 -0
  334. data/third_party/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
  335. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +29 -0
  336. data/third_party/abseil-cpp/absl/random/seed_sequences.h +110 -0
  337. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +275 -0
  338. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +202 -0
  339. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +271 -0
  340. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -0
  341. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +13 -0
  342. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +21 -0
  343. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +12 -0
  344. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +1 -2
  345. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +2 -2
  346. data/third_party/boringssl-with-bazel/src/crypto/mem.c +1 -1
  347. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +29 -0
  348. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +0 -1
  349. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +1 -1
  350. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +1 -1
  351. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +8 -0
  352. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +13 -1
  353. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +10 -0
  354. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +1 -1
  355. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +9 -4
  356. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +6 -1
  357. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +23 -2
  358. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +4 -0
  359. data/third_party/xxhash/xxhash.h +607 -352
  360. metadata +149 -77
  361. data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +0 -107
  362. data/src/core/ext/transport/chttp2/transport/hpack_utils.cc +0 -46
  363. data/src/core/ext/transport/chttp2/transport/popularity_count.h +0 -60
  364. data/src/core/lib/compression/algorithm_metadata.h +0 -62
  365. data/src/core/lib/compression/compression_args.cc +0 -140
  366. data/src/core/lib/compression/compression_args.h +0 -58
  367. data/src/core/lib/compression/stream_compression.cc +0 -81
  368. data/src/core/lib/compression/stream_compression.h +0 -117
  369. data/src/core/lib/compression/stream_compression_gzip.cc +0 -231
  370. data/src/core/lib/compression/stream_compression_gzip.h +0 -28
  371. data/src/core/lib/compression/stream_compression_identity.cc +0 -91
  372. data/src/core/lib/compression/stream_compression_identity.h +0 -29
  373. data/src/core/lib/security/credentials/credentials_metadata.cc +0 -61
  374. data/src/core/lib/slice/static_slice.cc +0 -377
  375. data/src/core/lib/slice/static_slice.h +0 -300
  376. data/src/core/lib/transport/metadata.cc +0 -714
  377. data/src/core/lib/transport/metadata.h +0 -449
  378. data/src/core/lib/transport/metadata_batch.cc +0 -99
  379. data/src/core/lib/transport/static_metadata.cc +0 -1032
  380. data/src/core/lib/transport/static_metadata.h +0 -322
  381. data/src/core/lib/transport/status_metadata.cc +0 -63
  382. data/src/core/lib/transport/status_metadata.h +0 -48
@@ -1,322 +0,0 @@
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_TRANSPORT_STATIC_METADATA_H
28
- #define GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H
29
-
30
- #include <grpc/support/port_platform.h>
31
-
32
- #include <cstdint>
33
-
34
- #include "src/core/lib/slice/static_slice.h"
35
- #include "src/core/lib/transport/metadata.h"
36
-
37
- #define GRPC_STATIC_MDELEM_COUNT 84
38
-
39
- namespace grpc_core {
40
- extern StaticMetadata g_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT];
41
- extern grpc_mdelem g_static_mdelem_manifested[GRPC_STATIC_MDELEM_COUNT];
42
- } // namespace grpc_core
43
-
44
- extern uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT];
45
- /* ":authority": "" */
46
- #define GRPC_MDELEM_AUTHORITY_EMPTY (::grpc_core::g_static_mdelem_manifested[0])
47
- /* ":method": "GET" */
48
- #define GRPC_MDELEM_METHOD_GET (::grpc_core::g_static_mdelem_manifested[1])
49
- /* ":method": "POST" */
50
- #define GRPC_MDELEM_METHOD_POST (::grpc_core::g_static_mdelem_manifested[2])
51
- /* ":path": "/" */
52
- #define GRPC_MDELEM_PATH_SLASH (::grpc_core::g_static_mdelem_manifested[3])
53
- /* ":path": "/index.html" */
54
- #define GRPC_MDELEM_PATH_SLASH_INDEX_DOT_HTML \
55
- (::grpc_core::g_static_mdelem_manifested[4])
56
- /* ":scheme": "http" */
57
- #define GRPC_MDELEM_SCHEME_HTTP (::grpc_core::g_static_mdelem_manifested[5])
58
- /* ":scheme": "https" */
59
- #define GRPC_MDELEM_SCHEME_HTTPS (::grpc_core::g_static_mdelem_manifested[6])
60
- /* ":status": "200" */
61
- #define GRPC_MDELEM_STATUS_200 (::grpc_core::g_static_mdelem_manifested[7])
62
- /* ":status": "204" */
63
- #define GRPC_MDELEM_STATUS_204 (::grpc_core::g_static_mdelem_manifested[8])
64
- /* ":status": "206" */
65
- #define GRPC_MDELEM_STATUS_206 (::grpc_core::g_static_mdelem_manifested[9])
66
- /* ":status": "304" */
67
- #define GRPC_MDELEM_STATUS_304 (::grpc_core::g_static_mdelem_manifested[10])
68
- /* ":status": "400" */
69
- #define GRPC_MDELEM_STATUS_400 (::grpc_core::g_static_mdelem_manifested[11])
70
- /* ":status": "404" */
71
- #define GRPC_MDELEM_STATUS_404 (::grpc_core::g_static_mdelem_manifested[12])
72
- /* ":status": "500" */
73
- #define GRPC_MDELEM_STATUS_500 (::grpc_core::g_static_mdelem_manifested[13])
74
- /* "accept-charset": "" */
75
- #define GRPC_MDELEM_ACCEPT_CHARSET_EMPTY \
76
- (::grpc_core::g_static_mdelem_manifested[14])
77
- /* "accept-encoding": "gzip, deflate" */
78
- #define GRPC_MDELEM_ACCEPT_ENCODING_GZIP_COMMA_DEFLATE \
79
- (::grpc_core::g_static_mdelem_manifested[15])
80
- /* "accept-language": "" */
81
- #define GRPC_MDELEM_ACCEPT_LANGUAGE_EMPTY \
82
- (::grpc_core::g_static_mdelem_manifested[16])
83
- /* "accept-ranges": "" */
84
- #define GRPC_MDELEM_ACCEPT_RANGES_EMPTY \
85
- (::grpc_core::g_static_mdelem_manifested[17])
86
- /* "accept": "" */
87
- #define GRPC_MDELEM_ACCEPT_EMPTY (::grpc_core::g_static_mdelem_manifested[18])
88
- /* "access-control-allow-origin": "" */
89
- #define GRPC_MDELEM_ACCESS_CONTROL_ALLOW_ORIGIN_EMPTY \
90
- (::grpc_core::g_static_mdelem_manifested[19])
91
- /* "age": "" */
92
- #define GRPC_MDELEM_AGE_EMPTY (::grpc_core::g_static_mdelem_manifested[20])
93
- /* "allow": "" */
94
- #define GRPC_MDELEM_ALLOW_EMPTY (::grpc_core::g_static_mdelem_manifested[21])
95
- /* "authorization": "" */
96
- #define GRPC_MDELEM_AUTHORIZATION_EMPTY \
97
- (::grpc_core::g_static_mdelem_manifested[22])
98
- /* "cache-control": "" */
99
- #define GRPC_MDELEM_CACHE_CONTROL_EMPTY \
100
- (::grpc_core::g_static_mdelem_manifested[23])
101
- /* "content-disposition": "" */
102
- #define GRPC_MDELEM_CONTENT_DISPOSITION_EMPTY \
103
- (::grpc_core::g_static_mdelem_manifested[24])
104
- /* "content-encoding": "" */
105
- #define GRPC_MDELEM_CONTENT_ENCODING_EMPTY \
106
- (::grpc_core::g_static_mdelem_manifested[25])
107
- /* "content-language": "" */
108
- #define GRPC_MDELEM_CONTENT_LANGUAGE_EMPTY \
109
- (::grpc_core::g_static_mdelem_manifested[26])
110
- /* "content-length": "" */
111
- #define GRPC_MDELEM_CONTENT_LENGTH_EMPTY \
112
- (::grpc_core::g_static_mdelem_manifested[27])
113
- /* "content-location": "" */
114
- #define GRPC_MDELEM_CONTENT_LOCATION_EMPTY \
115
- (::grpc_core::g_static_mdelem_manifested[28])
116
- /* "content-range": "" */
117
- #define GRPC_MDELEM_CONTENT_RANGE_EMPTY \
118
- (::grpc_core::g_static_mdelem_manifested[29])
119
- /* "content-type": "" */
120
- #define GRPC_MDELEM_CONTENT_TYPE_EMPTY \
121
- (::grpc_core::g_static_mdelem_manifested[30])
122
- /* "cookie": "" */
123
- #define GRPC_MDELEM_COOKIE_EMPTY (::grpc_core::g_static_mdelem_manifested[31])
124
- /* "date": "" */
125
- #define GRPC_MDELEM_DATE_EMPTY (::grpc_core::g_static_mdelem_manifested[32])
126
- /* "etag": "" */
127
- #define GRPC_MDELEM_ETAG_EMPTY (::grpc_core::g_static_mdelem_manifested[33])
128
- /* "expect": "" */
129
- #define GRPC_MDELEM_EXPECT_EMPTY (::grpc_core::g_static_mdelem_manifested[34])
130
- /* "expires": "" */
131
- #define GRPC_MDELEM_EXPIRES_EMPTY (::grpc_core::g_static_mdelem_manifested[35])
132
- /* "from": "" */
133
- #define GRPC_MDELEM_FROM_EMPTY (::grpc_core::g_static_mdelem_manifested[36])
134
- /* "host": "" */
135
- #define GRPC_MDELEM_HOST_EMPTY (::grpc_core::g_static_mdelem_manifested[37])
136
- /* "if-match": "" */
137
- #define GRPC_MDELEM_IF_MATCH_EMPTY (::grpc_core::g_static_mdelem_manifested[38])
138
- /* "if-modified-since": "" */
139
- #define GRPC_MDELEM_IF_MODIFIED_SINCE_EMPTY \
140
- (::grpc_core::g_static_mdelem_manifested[39])
141
- /* "if-none-match": "" */
142
- #define GRPC_MDELEM_IF_NONE_MATCH_EMPTY \
143
- (::grpc_core::g_static_mdelem_manifested[40])
144
- /* "if-range": "" */
145
- #define GRPC_MDELEM_IF_RANGE_EMPTY (::grpc_core::g_static_mdelem_manifested[41])
146
- /* "if-unmodified-since": "" */
147
- #define GRPC_MDELEM_IF_UNMODIFIED_SINCE_EMPTY \
148
- (::grpc_core::g_static_mdelem_manifested[42])
149
- /* "last-modified": "" */
150
- #define GRPC_MDELEM_LAST_MODIFIED_EMPTY \
151
- (::grpc_core::g_static_mdelem_manifested[43])
152
- /* "link": "" */
153
- #define GRPC_MDELEM_LINK_EMPTY (::grpc_core::g_static_mdelem_manifested[44])
154
- /* "location": "" */
155
- #define GRPC_MDELEM_LOCATION_EMPTY (::grpc_core::g_static_mdelem_manifested[45])
156
- /* "max-forwards": "" */
157
- #define GRPC_MDELEM_MAX_FORWARDS_EMPTY \
158
- (::grpc_core::g_static_mdelem_manifested[46])
159
- /* "proxy-authenticate": "" */
160
- #define GRPC_MDELEM_PROXY_AUTHENTICATE_EMPTY \
161
- (::grpc_core::g_static_mdelem_manifested[47])
162
- /* "proxy-authorization": "" */
163
- #define GRPC_MDELEM_PROXY_AUTHORIZATION_EMPTY \
164
- (::grpc_core::g_static_mdelem_manifested[48])
165
- /* "range": "" */
166
- #define GRPC_MDELEM_RANGE_EMPTY (::grpc_core::g_static_mdelem_manifested[49])
167
- /* "referer": "" */
168
- #define GRPC_MDELEM_REFERER_EMPTY (::grpc_core::g_static_mdelem_manifested[50])
169
- /* "refresh": "" */
170
- #define GRPC_MDELEM_REFRESH_EMPTY (::grpc_core::g_static_mdelem_manifested[51])
171
- /* "retry-after": "" */
172
- #define GRPC_MDELEM_RETRY_AFTER_EMPTY \
173
- (::grpc_core::g_static_mdelem_manifested[52])
174
- /* "server": "" */
175
- #define GRPC_MDELEM_SERVER_EMPTY (::grpc_core::g_static_mdelem_manifested[53])
176
- /* "set-cookie": "" */
177
- #define GRPC_MDELEM_SET_COOKIE_EMPTY \
178
- (::grpc_core::g_static_mdelem_manifested[54])
179
- /* "strict-transport-security": "" */
180
- #define GRPC_MDELEM_STRICT_TRANSPORT_SECURITY_EMPTY \
181
- (::grpc_core::g_static_mdelem_manifested[55])
182
- /* "transfer-encoding": "" */
183
- #define GRPC_MDELEM_TRANSFER_ENCODING_EMPTY \
184
- (::grpc_core::g_static_mdelem_manifested[56])
185
- /* "user-agent": "" */
186
- #define GRPC_MDELEM_USER_AGENT_EMPTY \
187
- (::grpc_core::g_static_mdelem_manifested[57])
188
- /* "vary": "" */
189
- #define GRPC_MDELEM_VARY_EMPTY (::grpc_core::g_static_mdelem_manifested[58])
190
- /* "via": "" */
191
- #define GRPC_MDELEM_VIA_EMPTY (::grpc_core::g_static_mdelem_manifested[59])
192
- /* "www-authenticate": "" */
193
- #define GRPC_MDELEM_WWW_AUTHENTICATE_EMPTY \
194
- (::grpc_core::g_static_mdelem_manifested[60])
195
- /* "grpc-status": "0" */
196
- #define GRPC_MDELEM_GRPC_STATUS_0 (::grpc_core::g_static_mdelem_manifested[61])
197
- /* "grpc-status": "1" */
198
- #define GRPC_MDELEM_GRPC_STATUS_1 (::grpc_core::g_static_mdelem_manifested[62])
199
- /* "grpc-status": "2" */
200
- #define GRPC_MDELEM_GRPC_STATUS_2 (::grpc_core::g_static_mdelem_manifested[63])
201
- /* "grpc-encoding": "identity" */
202
- #define GRPC_MDELEM_GRPC_ENCODING_IDENTITY \
203
- (::grpc_core::g_static_mdelem_manifested[64])
204
- /* "grpc-encoding": "gzip" */
205
- #define GRPC_MDELEM_GRPC_ENCODING_GZIP \
206
- (::grpc_core::g_static_mdelem_manifested[65])
207
- /* "grpc-encoding": "deflate" */
208
- #define GRPC_MDELEM_GRPC_ENCODING_DEFLATE \
209
- (::grpc_core::g_static_mdelem_manifested[66])
210
- /* "content-type": "application/grpc" */
211
- #define GRPC_MDELEM_CONTENT_TYPE_APPLICATION_SLASH_GRPC \
212
- (::grpc_core::g_static_mdelem_manifested[67])
213
- /* ":scheme": "grpc" */
214
- #define GRPC_MDELEM_SCHEME_GRPC (::grpc_core::g_static_mdelem_manifested[68])
215
- /* ":method": "PUT" */
216
- #define GRPC_MDELEM_METHOD_PUT (::grpc_core::g_static_mdelem_manifested[69])
217
- /* "accept-encoding": "" */
218
- #define GRPC_MDELEM_ACCEPT_ENCODING_EMPTY \
219
- (::grpc_core::g_static_mdelem_manifested[70])
220
- /* "content-encoding": "identity" */
221
- #define GRPC_MDELEM_CONTENT_ENCODING_IDENTITY \
222
- (::grpc_core::g_static_mdelem_manifested[71])
223
- /* "content-encoding": "gzip" */
224
- #define GRPC_MDELEM_CONTENT_ENCODING_GZIP \
225
- (::grpc_core::g_static_mdelem_manifested[72])
226
- /* "lb-cost-bin": "" */
227
- #define GRPC_MDELEM_LB_COST_BIN_EMPTY \
228
- (::grpc_core::g_static_mdelem_manifested[73])
229
- /* "grpc-accept-encoding": "identity" */
230
- #define GRPC_MDELEM_GRPC_ACCEPT_ENCODING_IDENTITY \
231
- (::grpc_core::g_static_mdelem_manifested[74])
232
- /* "grpc-accept-encoding": "deflate" */
233
- #define GRPC_MDELEM_GRPC_ACCEPT_ENCODING_DEFLATE \
234
- (::grpc_core::g_static_mdelem_manifested[75])
235
- /* "grpc-accept-encoding": "identity,deflate" */
236
- #define GRPC_MDELEM_GRPC_ACCEPT_ENCODING_IDENTITY_COMMA_DEFLATE \
237
- (::grpc_core::g_static_mdelem_manifested[76])
238
- /* "grpc-accept-encoding": "gzip" */
239
- #define GRPC_MDELEM_GRPC_ACCEPT_ENCODING_GZIP \
240
- (::grpc_core::g_static_mdelem_manifested[77])
241
- /* "grpc-accept-encoding": "identity,gzip" */
242
- #define GRPC_MDELEM_GRPC_ACCEPT_ENCODING_IDENTITY_COMMA_GZIP \
243
- (::grpc_core::g_static_mdelem_manifested[78])
244
- /* "grpc-accept-encoding": "deflate,gzip" */
245
- #define GRPC_MDELEM_GRPC_ACCEPT_ENCODING_DEFLATE_COMMA_GZIP \
246
- (::grpc_core::g_static_mdelem_manifested[79])
247
- /* "grpc-accept-encoding": "identity,deflate,gzip" */
248
- #define GRPC_MDELEM_GRPC_ACCEPT_ENCODING_IDENTITY_COMMA_DEFLATE_COMMA_GZIP \
249
- (::grpc_core::g_static_mdelem_manifested[80])
250
- /* "accept-encoding": "identity" */
251
- #define GRPC_MDELEM_ACCEPT_ENCODING_IDENTITY \
252
- (::grpc_core::g_static_mdelem_manifested[81])
253
- /* "accept-encoding": "gzip" */
254
- #define GRPC_MDELEM_ACCEPT_ENCODING_GZIP \
255
- (::grpc_core::g_static_mdelem_manifested[82])
256
- /* "accept-encoding": "identity,gzip" */
257
- #define GRPC_MDELEM_ACCEPT_ENCODING_IDENTITY_COMMA_GZIP \
258
- (::grpc_core::g_static_mdelem_manifested[83])
259
-
260
- grpc_mdelem grpc_static_mdelem_for_static_strings(intptr_t a, intptr_t b);
261
- typedef enum {
262
- GRPC_BATCH_PATH,
263
- GRPC_BATCH_METHOD,
264
- GRPC_BATCH_STATUS,
265
- GRPC_BATCH_AUTHORITY,
266
- GRPC_BATCH_SCHEME,
267
- GRPC_BATCH_GRPC_STATUS,
268
- GRPC_BATCH_GRPC_ENCODING,
269
- GRPC_BATCH_GRPC_ACCEPT_ENCODING,
270
- GRPC_BATCH_CONTENT_TYPE,
271
- GRPC_BATCH_CONTENT_ENCODING,
272
- GRPC_BATCH_ACCEPT_ENCODING,
273
- GRPC_BATCH_GRPC_INTERNAL_ENCODING_REQUEST,
274
- GRPC_BATCH_GRPC_PREVIOUS_RPC_ATTEMPTS,
275
- GRPC_BATCH_GRPC_RETRY_PUSHBACK_MS,
276
- GRPC_BATCH_CALLOUTS_COUNT
277
- } grpc_metadata_batch_callouts_index;
278
-
279
- typedef union {
280
- struct grpc_linked_mdelem* array[GRPC_BATCH_CALLOUTS_COUNT];
281
- struct {
282
- struct grpc_linked_mdelem* path;
283
- struct grpc_linked_mdelem* method;
284
- struct grpc_linked_mdelem* status;
285
- struct grpc_linked_mdelem* authority;
286
- struct grpc_linked_mdelem* scheme;
287
- struct grpc_linked_mdelem* grpc_status;
288
- struct grpc_linked_mdelem* grpc_encoding;
289
- struct grpc_linked_mdelem* grpc_accept_encoding;
290
- struct grpc_linked_mdelem* content_type;
291
- struct grpc_linked_mdelem* content_encoding;
292
- struct grpc_linked_mdelem* accept_encoding;
293
- struct grpc_linked_mdelem* grpc_internal_encoding_request;
294
- struct grpc_linked_mdelem* grpc_previous_rpc_attempts;
295
- struct grpc_linked_mdelem* grpc_retry_pushback_ms;
296
- } named;
297
- } grpc_metadata_batch_callouts;
298
-
299
- #define GRPC_BATCH_INDEX_OF(slice) \
300
- (GRPC_IS_STATIC_METADATA_STRING((slice)) && \
301
- reinterpret_cast<grpc_core::StaticSliceRefcount*>((slice).refcount) \
302
- ->index <= static_cast<uint32_t>(GRPC_BATCH_CALLOUTS_COUNT) \
303
- ? static_cast<grpc_metadata_batch_callouts_index>( \
304
- reinterpret_cast<grpc_core::StaticSliceRefcount*>( \
305
- (slice).refcount) \
306
- ->index) \
307
- : GRPC_BATCH_CALLOUTS_COUNT)
308
-
309
- extern const uint8_t grpc_static_accept_encoding_metadata[8];
310
- #define GRPC_MDELEM_ACCEPT_ENCODING_FOR_ALGORITHMS(algs) \
311
- (GRPC_MAKE_MDELEM(&grpc_core::g_static_mdelem_table \
312
- [grpc_static_accept_encoding_metadata[(algs)]] \
313
- .data(), \
314
- GRPC_MDELEM_STORAGE_STATIC))
315
-
316
- extern const uint8_t grpc_static_accept_stream_encoding_metadata[4];
317
- #define GRPC_MDELEM_ACCEPT_STREAM_ENCODING_FOR_ALGORITHMS(algs) \
318
- (GRPC_MAKE_MDELEM(&grpc_core::g_static_mdelem_table \
319
- [grpc_static_accept_stream_encoding_metadata[(algs)]] \
320
- .data(), \
321
- GRPC_MDELEM_STORAGE_STATIC))
322
- #endif /* GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H */
@@ -1,63 +0,0 @@
1
- /*
2
- *
3
- * Copyright 2017 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
18
-
19
- #include <grpc/support/port_platform.h>
20
-
21
- #include "src/core/lib/transport/status_metadata.h"
22
-
23
- #include "src/core/lib/gpr/string.h"
24
- #include "src/core/lib/slice/slice_string_helpers.h"
25
- #include "src/core/lib/transport/static_metadata.h"
26
-
27
- /* we offset status by a small amount when storing it into transport metadata
28
- as metadata cannot store a 0 value (which is used as OK for grpc_status_codes
29
- */
30
- #define STATUS_OFFSET 1
31
-
32
- static void destroy_status(void* /*ignored*/) {}
33
-
34
- grpc_status_code grpc_get_status_code_from_metadata(grpc_mdelem md) {
35
- if (grpc_mdelem_static_value_eq(md, GRPC_MDELEM_GRPC_STATUS_0)) {
36
- return GRPC_STATUS_OK;
37
- }
38
- if (grpc_mdelem_static_value_eq(md, GRPC_MDELEM_GRPC_STATUS_1)) {
39
- return GRPC_STATUS_CANCELLED;
40
- }
41
- if (grpc_mdelem_static_value_eq(md, GRPC_MDELEM_GRPC_STATUS_2)) {
42
- return GRPC_STATUS_UNKNOWN;
43
- }
44
- void* user_data = grpc_mdelem_get_user_data(md, destroy_status);
45
- if (user_data != nullptr) {
46
- return static_cast<grpc_status_code>(reinterpret_cast<intptr_t>(user_data) -
47
- STATUS_OFFSET);
48
- }
49
- uint32_t status;
50
- if (!grpc_parse_slice_to_uint32(GRPC_MDVALUE(md), &status)) {
51
- status = GRPC_STATUS_UNKNOWN; /* could not parse status code */
52
- }
53
- grpc_mdelem_set_user_data(md, destroy_status,
54
- reinterpret_cast<void*>(status + STATUS_OFFSET));
55
- return static_cast<grpc_status_code>(status);
56
- }
57
-
58
- grpc_mdelem grpc_get_reffed_status_elem_slowpath(int status_code) {
59
- char tmp[GPR_LTOA_MIN_BUFSIZE];
60
- gpr_ltoa(status_code, tmp);
61
- return grpc_mdelem_from_slices(GRPC_MDSTR_GRPC_STATUS,
62
- grpc_core::UnmanagedMemorySlice(tmp));
63
- }
@@ -1,48 +0,0 @@
1
- /*
2
- *
3
- * Copyright 2017 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
18
-
19
- #ifndef GRPC_CORE_LIB_TRANSPORT_STATUS_METADATA_H
20
- #define GRPC_CORE_LIB_TRANSPORT_STATUS_METADATA_H
21
-
22
- #include <grpc/support/port_platform.h>
23
-
24
- #include <grpc/status.h>
25
-
26
- #include "src/core/lib/transport/metadata.h"
27
- #include "src/core/lib/transport/static_metadata.h"
28
-
29
- grpc_status_code grpc_get_status_code_from_metadata(grpc_mdelem md);
30
-
31
- /** Get a grpc_mdelem of grpc-status: X where X is the numeric value of
32
- status_code.
33
-
34
- The returned elem is owned by the caller. */
35
- grpc_mdelem grpc_get_reffed_status_elem_slowpath(int status_code);
36
- inline grpc_mdelem grpc_get_reffed_status_elem(int status_code) {
37
- switch (status_code) {
38
- case 0:
39
- return GRPC_MDELEM_GRPC_STATUS_0;
40
- case 1:
41
- return GRPC_MDELEM_GRPC_STATUS_1;
42
- case 2:
43
- return GRPC_MDELEM_GRPC_STATUS_2;
44
- }
45
- return grpc_get_reffed_status_elem_slowpath(status_code);
46
- }
47
-
48
- #endif /* GRPC_CORE_LIB_TRANSPORT_STATUS_METADATA_H */