grpc 1.34.0 → 1.35.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 (458) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +808 -2787
  3. data/etc/roots.pem +257 -573
  4. data/include/grpc/compression.h +1 -1
  5. data/include/grpc/grpc.h +14 -0
  6. data/include/grpc/grpc_security.h +61 -3
  7. data/include/grpc/impl/codegen/atm_windows.h +4 -0
  8. data/include/grpc/impl/codegen/byte_buffer.h +1 -1
  9. data/include/grpc/impl/codegen/grpc_types.h +1 -1
  10. data/include/grpc/impl/codegen/log.h +0 -2
  11. data/include/grpc/impl/codegen/sync_windows.h +4 -0
  12. data/include/grpc/slice_buffer.h +3 -3
  13. data/include/grpc/support/sync.h +3 -3
  14. data/include/grpc/support/time.h +7 -7
  15. data/src/core/ext/filters/client_channel/backend_metric.cc +2 -4
  16. data/src/core/ext/filters/client_channel/client_channel.cc +2734 -1498
  17. data/src/core/ext/filters/client_channel/client_channel.h +0 -4
  18. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
  19. data/src/core/ext/filters/client_channel/config_selector.h +4 -0
  20. data/src/core/ext/filters/client_channel/dynamic_filters.cc +186 -0
  21. data/src/core/ext/filters/client_channel/dynamic_filters.h +99 -0
  22. data/src/core/ext/filters/client_channel/health/health_check_client.cc +6 -6
  23. data/src/core/ext/filters/client_channel/health/health_check_client.h +2 -2
  24. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +4 -5
  25. data/src/core/ext/filters/client_channel/http_proxy.cc +21 -20
  26. data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
  27. data/src/core/ext/filters/client_channel/lb_policy.h +2 -3
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +32 -30
  29. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +3 -3
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
  31. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +162 -20
  32. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +0 -8
  33. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +24 -0
  34. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +5 -2
  35. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +1 -1
  36. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +1262 -0
  37. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +7 -14
  38. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -32
  39. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
  40. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +454 -16
  41. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +5 -0
  42. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +6 -9
  43. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +2 -2
  44. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +18 -31
  45. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +3 -5
  46. data/src/core/ext/filters/client_channel/resolver_factory.h +6 -6
  47. data/src/core/ext/filters/client_channel/resolver_registry.cc +40 -39
  48. data/src/core/ext/filters/client_channel/resolver_registry.h +2 -2
  49. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +11 -13
  50. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +8 -8
  51. data/src/core/ext/filters/client_channel/retry_throttle.cc +5 -3
  52. data/src/core/ext/filters/client_channel/retry_throttle.h +3 -1
  53. data/src/core/ext/filters/client_channel/service_config_call_data.h +19 -1
  54. data/src/core/ext/filters/client_channel/subchannel.cc +34 -50
  55. data/src/core/ext/filters/client_channel/subchannel.h +12 -18
  56. data/src/core/ext/filters/deadline/deadline_filter.cc +4 -2
  57. data/src/core/ext/filters/http/client_authority_filter.cc +6 -6
  58. data/src/core/ext/filters/http/http_filters_plugin.cc +6 -3
  59. data/src/core/ext/filters/message_size/message_size_filter.cc +1 -1
  60. data/src/core/ext/filters/workarounds/workaround_utils.cc +1 -1
  61. data/src/core/ext/transport/chttp2/client/authority.cc +3 -3
  62. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +20 -8
  63. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +21 -10
  64. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +26 -14
  65. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +178 -86
  66. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +12 -5
  67. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +7 -8
  68. data/src/core/ext/transport/chttp2/transport/flow_control.h +1 -1
  69. data/src/core/ext/transport/chttp2/transport/frame_settings.h +2 -1
  70. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +6 -6
  71. data/src/core/ext/transport/chttp2/transport/writing.cc +1 -1
  72. data/src/core/ext/transport/inproc/inproc_transport.cc +42 -8
  73. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +1 -0
  74. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +1 -1
  75. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -0
  76. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +27 -27
  77. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +139 -40
  78. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +13 -13
  79. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +44 -17
  80. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +111 -111
  81. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +424 -241
  82. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +3 -3
  83. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +13 -5
  84. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +22 -22
  85. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +47 -21
  86. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +21 -21
  87. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +88 -39
  88. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +4 -4
  89. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +15 -6
  90. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +44 -44
  91. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +200 -78
  92. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +17 -17
  93. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +72 -35
  94. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +1 -1
  95. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +7 -0
  96. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +7 -7
  97. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +27 -11
  98. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +30 -30
  99. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +136 -49
  100. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +39 -39
  101. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +157 -89
  102. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +4 -4
  103. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +17 -9
  104. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +47 -47
  105. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +163 -78
  106. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +1 -1
  107. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +7 -0
  108. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +2 -2
  109. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +9 -2
  110. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +1 -1
  111. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +7 -0
  112. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +13 -13
  113. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +59 -36
  114. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +16 -16
  115. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +61 -29
  116. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +26 -26
  117. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +101 -66
  118. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +2 -2
  119. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +11 -3
  120. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +28 -28
  121. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +122 -77
  122. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +23 -23
  123. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +106 -54
  124. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +2 -2
  125. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +13 -0
  126. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +16 -16
  127. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +81 -35
  128. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +7 -7
  129. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +38 -22
  130. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +203 -203
  131. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +845 -495
  132. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +5 -5
  133. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +26 -6
  134. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +3 -3
  135. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +17 -3
  136. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +87 -87
  137. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +343 -204
  138. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +1 -0
  139. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +20 -20
  140. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +85 -46
  141. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +7 -7
  142. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +33 -11
  143. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +32 -32
  144. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +118 -67
  145. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +1 -1
  146. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +7 -0
  147. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
  148. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +7 -0
  149. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +29 -29
  150. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +120 -82
  151. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +1 -1
  152. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +7 -0
  153. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +1 -1
  154. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +7 -0
  155. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +7 -7
  156. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +31 -16
  157. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +1 -1
  158. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +7 -0
  159. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +1 -1
  160. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +7 -0
  161. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +5 -5
  162. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +25 -11
  163. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +1 -1
  164. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +7 -0
  165. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +1 -1
  166. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +7 -0
  167. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +6 -6
  168. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +29 -8
  169. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +2 -2
  170. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +16 -3
  171. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +3 -3
  172. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +19 -0
  173. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +7 -7
  174. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +46 -3
  175. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +8 -8
  176. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +41 -8
  177. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +1 -0
  178. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +3 -3
  179. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +15 -2
  180. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +3 -3
  181. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +19 -0
  182. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +1 -1
  183. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +7 -0
  184. data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -0
  185. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +34 -34
  186. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +149 -72
  187. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +34 -34
  188. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +142 -59
  189. data/src/core/ext/upb-generated/google/api/http.upb.c +3 -3
  190. data/src/core/ext/upb-generated/google/api/http.upb.h +25 -6
  191. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +1 -1
  192. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +7 -0
  193. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +90 -90
  194. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +455 -292
  195. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +1 -1
  196. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +7 -0
  197. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
  198. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +7 -0
  199. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +4 -4
  200. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +22 -3
  201. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +1 -1
  202. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +7 -0
  203. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +9 -9
  204. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +55 -0
  205. data/src/core/ext/upb-generated/google/rpc/status.upb.c +1 -1
  206. data/src/core/ext/upb-generated/google/rpc/status.upb.h +10 -3
  207. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +4 -4
  208. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +11 -3
  209. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +41 -41
  210. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +149 -76
  211. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +5 -5
  212. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +21 -6
  213. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +2 -2
  214. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +13 -0
  215. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +17 -17
  216. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +82 -25
  217. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +3 -3
  218. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +19 -0
  219. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +1 -1
  220. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -0
  221. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +1 -0
  222. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +2 -2
  223. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +9 -2
  224. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +1 -1
  225. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -0
  226. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.c +1 -1
  227. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.h +7 -0
  228. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c +5 -5
  229. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h +21 -7
  230. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c +2 -2
  231. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h +7 -0
  232. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.c +4 -4
  233. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.h +17 -8
  234. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c +7 -7
  235. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h +31 -18
  236. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c +5 -5
  237. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h +19 -11
  238. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +3 -3
  239. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +7 -0
  240. data/src/core/ext/upb-generated/validate/validate.upb.c +64 -64
  241. data/src/core/ext/upb-generated/validate/validate.upb.h +296 -157
  242. data/src/core/ext/xds/certificate_provider_store.cc +10 -7
  243. data/src/core/ext/xds/certificate_provider_store.h +12 -7
  244. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +25 -0
  245. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +1 -4
  246. data/src/core/ext/xds/xds_api.cc +220 -31
  247. data/src/core/ext/xds/xds_api.h +41 -10
  248. data/src/core/ext/xds/xds_bootstrap.h +0 -1
  249. data/src/core/ext/xds/xds_certificate_provider.cc +61 -2
  250. data/src/core/ext/xds/xds_certificate_provider.h +40 -2
  251. data/src/core/ext/xds/xds_client.cc +31 -29
  252. data/src/core/ext/xds/xds_client.h +6 -1
  253. data/src/core/ext/xds/xds_client_stats.cc +2 -2
  254. data/src/core/ext/xds/xds_server_config_fetcher.cc +131 -0
  255. data/src/core/lib/channel/channel_args.cc +8 -8
  256. data/src/core/lib/channel/channel_trace.h +1 -1
  257. data/src/core/lib/channel/channelz.cc +13 -14
  258. data/src/core/lib/channel/channelz.h +0 -1
  259. data/src/core/lib/channel/channelz_registry.h +0 -1
  260. data/src/core/lib/channel/handshaker.cc +2 -2
  261. data/src/core/lib/compression/compression_args.cc +3 -2
  262. data/src/core/lib/debug/stats.h +2 -2
  263. data/src/core/lib/debug/stats_data.h +13 -13
  264. data/src/core/lib/gpr/alloc.cc +3 -2
  265. data/src/core/lib/gpr/log.cc +53 -16
  266. data/src/core/lib/gpr/log_linux.cc +3 -1
  267. data/src/core/lib/gpr/log_posix.cc +3 -1
  268. data/src/core/lib/gpr/log_windows.cc +3 -1
  269. data/src/core/lib/gpr/spinlock.h +10 -2
  270. data/src/core/lib/gpr/string.cc +22 -21
  271. data/src/core/lib/gpr/string.h +5 -6
  272. data/src/core/lib/gpr/sync.cc +4 -4
  273. data/src/core/lib/gpr/time.cc +12 -12
  274. data/src/core/lib/gprpp/arena.h +3 -2
  275. data/src/core/lib/gprpp/ref_counted.h +2 -2
  276. data/src/core/lib/gprpp/ref_counted_ptr.h +9 -1
  277. data/src/core/lib/gprpp/thd_posix.cc +6 -1
  278. data/src/core/lib/gprpp/thd_windows.cc +3 -1
  279. data/src/core/lib/http/httpcli.cc +1 -1
  280. data/src/core/lib/http/httpcli.h +2 -3
  281. data/src/core/lib/http/httpcli_security_connector.cc +1 -1
  282. data/src/core/lib/http/parser.cc +1 -2
  283. data/src/core/lib/iomgr/call_combiner.cc +8 -5
  284. data/src/core/lib/iomgr/combiner.cc +2 -1
  285. data/src/core/lib/iomgr/endpoint.h +1 -1
  286. data/src/core/lib/iomgr/error.cc +15 -11
  287. data/src/core/lib/iomgr/error_internal.h +1 -1
  288. data/src/core/lib/iomgr/ev_epoll1_linux.cc +20 -13
  289. data/src/core/lib/iomgr/ev_epollex_linux.cc +17 -13
  290. data/src/core/lib/iomgr/ev_poll_posix.cc +9 -7
  291. data/src/core/lib/iomgr/exec_ctx.h +6 -4
  292. data/src/core/lib/iomgr/executor.cc +2 -1
  293. data/src/core/lib/iomgr/executor.h +1 -1
  294. data/src/core/lib/iomgr/executor/threadpool.h +1 -1
  295. data/src/core/lib/iomgr/iomgr.cc +1 -1
  296. data/src/core/lib/iomgr/load_file.h +1 -1
  297. data/src/core/lib/iomgr/lockfree_event.cc +19 -14
  298. data/src/core/lib/iomgr/lockfree_event.h +2 -2
  299. data/src/core/lib/iomgr/parse_address.cc +52 -46
  300. data/src/core/lib/iomgr/parse_address.h +13 -9
  301. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +1 -1
  302. data/src/core/lib/iomgr/pollset_set_custom.cc +1 -1
  303. data/src/core/lib/iomgr/python_util.h +1 -1
  304. data/src/core/lib/iomgr/resolve_address.cc +4 -4
  305. data/src/core/lib/iomgr/resource_quota.cc +4 -4
  306. data/src/core/lib/iomgr/sockaddr_utils.cc +10 -10
  307. data/src/core/lib/iomgr/sockaddr_utils.h +1 -1
  308. data/src/core/lib/iomgr/socket_factory_posix.cc +3 -2
  309. data/src/core/lib/iomgr/socket_mutator.cc +3 -2
  310. data/src/core/lib/iomgr/tcp_client.cc +3 -3
  311. data/src/core/lib/iomgr/tcp_client_custom.cc +7 -6
  312. data/src/core/lib/iomgr/tcp_custom.cc +22 -17
  313. data/src/core/lib/iomgr/tcp_posix.cc +9 -6
  314. data/src/core/lib/iomgr/tcp_server_custom.cc +28 -22
  315. data/src/core/lib/iomgr/timer_custom.cc +3 -3
  316. data/src/core/lib/iomgr/timer_generic.cc +3 -3
  317. data/src/core/lib/iomgr/timer_manager.cc +2 -2
  318. data/src/core/lib/iomgr/udp_server.cc +1 -2
  319. data/src/core/lib/iomgr/udp_server.h +1 -2
  320. data/src/core/lib/iomgr/unix_sockets_posix.cc +17 -18
  321. data/src/core/lib/json/json.h +10 -0
  322. data/src/core/lib/security/authorization/evaluate_args.cc +5 -10
  323. data/src/core/lib/security/authorization/evaluate_args.h +1 -1
  324. data/src/core/lib/security/context/security_context.cc +4 -3
  325. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +1 -1
  326. data/src/core/lib/security/credentials/credentials.cc +6 -6
  327. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +413 -0
  328. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +80 -0
  329. data/src/core/lib/security/credentials/external/aws_request_signer.cc +15 -10
  330. data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -2
  331. data/src/core/lib/security/credentials/external/external_account_credentials.cc +217 -31
  332. data/src/core/lib/security/credentials/external/external_account_credentials.h +7 -5
  333. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -6
  334. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +3 -4
  335. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +20 -18
  336. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +5 -6
  337. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -1
  338. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +18 -12
  339. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +18 -5
  340. data/src/core/lib/security/credentials/jwt/json_token.cc +1 -1
  341. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +3 -3
  342. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +37 -44
  343. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -4
  344. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +1 -1
  345. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +5 -5
  346. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
  347. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +1 -6
  348. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +1 -6
  349. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +326 -5
  350. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +64 -0
  351. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +1 -1
  352. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +0 -1
  353. data/src/core/lib/security/credentials/tls/tls_credentials.cc +1 -1
  354. data/src/core/lib/security/credentials/tls/tls_utils.cc +91 -0
  355. data/src/core/lib/security/credentials/tls/tls_utils.h +38 -0
  356. data/src/core/lib/security/credentials/xds/xds_credentials.cc +140 -10
  357. data/src/core/lib/security/credentials/xds/xds_credentials.h +27 -9
  358. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -1
  359. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +1 -1
  360. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +46 -13
  361. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +23 -6
  362. data/src/core/lib/security/security_connector/local/local_security_connector.cc +1 -1
  363. data/src/core/lib/security/security_connector/security_connector.cc +3 -2
  364. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +4 -4
  365. data/src/core/lib/security/security_connector/ssl_utils.cc +2 -2
  366. data/src/core/lib/security/security_connector/ssl_utils.h +12 -19
  367. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +57 -12
  368. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +2 -3
  369. data/src/core/lib/security/transport/secure_endpoint.cc +2 -2
  370. data/src/core/lib/security/transport/security_handshaker.cc +2 -2
  371. data/src/core/lib/slice/slice_intern.cc +4 -5
  372. data/src/core/lib/slice/slice_internal.h +2 -2
  373. data/src/core/lib/surface/call.cc +32 -24
  374. data/src/core/lib/surface/call_details.cc +8 -8
  375. data/src/core/lib/surface/channel.cc +16 -10
  376. data/src/core/lib/surface/channel.h +3 -2
  377. data/src/core/lib/surface/channel_init.cc +1 -1
  378. data/src/core/lib/surface/completion_queue.cc +23 -18
  379. data/src/core/lib/surface/completion_queue.h +16 -16
  380. data/src/core/lib/surface/init.cc +6 -5
  381. data/src/core/lib/surface/lame_client.cc +20 -46
  382. data/src/core/lib/surface/lame_client.h +4 -0
  383. data/src/core/lib/surface/server.cc +59 -15
  384. data/src/core/lib/surface/server.h +37 -5
  385. data/src/core/lib/surface/version.cc +1 -1
  386. data/src/core/lib/transport/authority_override.cc +6 -4
  387. data/src/core/lib/transport/authority_override.h +5 -2
  388. data/src/core/lib/transport/connectivity_state.h +6 -4
  389. data/src/core/lib/transport/error_utils.h +1 -1
  390. data/src/core/lib/transport/metadata_batch.h +4 -4
  391. data/src/core/lib/transport/static_metadata.cc +1 -1
  392. data/src/core/lib/transport/status_metadata.cc +4 -3
  393. data/src/core/lib/transport/transport.h +7 -7
  394. data/src/core/lib/uri/uri_parser.cc +131 -249
  395. data/src/core/lib/uri/uri_parser.h +57 -21
  396. data/src/core/plugin_registry/grpc_plugin_registry.cc +10 -4
  397. data/src/core/tsi/alts/crypt/gsec.cc +5 -4
  398. data/src/core/tsi/alts/frame_protector/frame_handler.cc +8 -6
  399. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
  400. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +23 -23
  401. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +8 -6
  402. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -4
  403. data/src/core/tsi/fake_transport_security.cc +5 -3
  404. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -1
  405. data/src/core/tsi/ssl_transport_security.cc +62 -49
  406. data/src/core/tsi/ssl_transport_security.h +6 -6
  407. data/src/core/tsi/transport_security.cc +6 -6
  408. data/src/core/tsi/transport_security_interface.h +1 -1
  409. data/src/ruby/ext/grpc/rb_event_thread.c +2 -0
  410. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +12 -0
  411. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +31 -13
  412. data/src/ruby/lib/grpc/version.rb +1 -1
  413. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +28 -0
  414. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +18 -0
  415. data/src/ruby/spec/pb/codegen/package_option_spec.rb +2 -6
  416. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +606 -0
  417. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +197 -0
  418. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +399 -0
  419. data/third_party/abseil-cpp/absl/status/statusor.cc +71 -0
  420. data/third_party/abseil-cpp/absl/status/statusor.h +760 -0
  421. data/third_party/upb/third_party/wyhash/wyhash.h +145 -0
  422. data/third_party/upb/upb/decode.c +248 -167
  423. data/third_party/upb/upb/decode.h +20 -1
  424. data/third_party/upb/upb/decode.int.h +163 -0
  425. data/third_party/upb/upb/decode_fast.c +1040 -0
  426. data/third_party/upb/upb/decode_fast.h +126 -0
  427. data/third_party/upb/upb/def.c +525 -516
  428. data/third_party/upb/upb/def.h +16 -31
  429. data/third_party/upb/upb/def.hpp +37 -123
  430. data/third_party/upb/upb/encode.c +227 -169
  431. data/third_party/upb/upb/encode.h +27 -2
  432. data/third_party/upb/upb/json_decode.c +1443 -0
  433. data/third_party/upb/upb/json_decode.h +23 -0
  434. data/third_party/upb/upb/json_encode.c +713 -0
  435. data/third_party/upb/upb/json_encode.h +36 -0
  436. data/third_party/upb/upb/msg.c +167 -88
  437. data/third_party/upb/upb/msg.h +174 -34
  438. data/third_party/upb/upb/port_def.inc +74 -61
  439. data/third_party/upb/upb/port_undef.inc +3 -7
  440. data/third_party/upb/upb/reflection.c +36 -19
  441. data/third_party/upb/upb/table.c +34 -197
  442. data/third_party/upb/upb/table.int.h +14 -5
  443. data/third_party/upb/upb/text_encode.c +45 -22
  444. data/third_party/upb/upb/text_encode.h +4 -1
  445. data/third_party/upb/upb/upb.c +18 -41
  446. data/third_party/upb/upb/upb.h +36 -7
  447. data/third_party/upb/upb/upb.hpp +4 -4
  448. data/third_party/upb/upb/upb.int.h +29 -0
  449. metadata +60 -46
  450. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +0 -909
  451. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +0 -485
  452. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +0 -68
  453. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +0 -355
  454. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +0 -138
  455. data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc +0 -265
  456. data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h +0 -104
  457. data/src/core/lib/gprpp/map.h +0 -53
  458. data/third_party/upb/upb/port.c +0 -26
@@ -281,8 +281,7 @@ static grpc_error* addbyte_body(grpc_http_parser* parser, uint8_t byte) {
281
281
 
282
282
  if (*body_length == parser->body_capacity) {
283
283
  parser->body_capacity = GPR_MAX(8, parser->body_capacity * 3 / 2);
284
- *body =
285
- static_cast<char*>(gpr_realloc((void*)*body, parser->body_capacity));
284
+ *body = static_cast<char*>(gpr_realloc(*body, parser->body_capacity));
286
285
  }
287
286
  (*body)[*body_length] = static_cast<char>(byte);
288
287
  (*body_length)++;
@@ -34,13 +34,14 @@ namespace {
34
34
 
35
35
  grpc_error* DecodeCancelStateError(gpr_atm cancel_state) {
36
36
  if (cancel_state & 1) {
37
- return (grpc_error*)(cancel_state & ~static_cast<gpr_atm>(1));
37
+ return reinterpret_cast<grpc_error*>(cancel_state &
38
+ ~static_cast<gpr_atm>(1));
38
39
  }
39
40
  return GRPC_ERROR_NONE;
40
41
  }
41
42
 
42
43
  gpr_atm EncodeCancelStateError(grpc_error* error) {
43
- return static_cast<gpr_atm>(1) | (gpr_atm)error;
44
+ return static_cast<gpr_atm>(1) | reinterpret_cast<gpr_atm>(error);
44
45
  }
45
46
 
46
47
  } // namespace
@@ -203,7 +204,8 @@ void CallCombiner::SetNotifyOnCancel(grpc_closure* closure) {
203
204
  ExecCtx::Run(DEBUG_LOCATION, closure, GRPC_ERROR_REF(original_error));
204
205
  break;
205
206
  } else {
206
- if (gpr_atm_full_cas(&cancel_state_, original_state, (gpr_atm)closure)) {
207
+ if (gpr_atm_full_cas(&cancel_state_, original_state,
208
+ reinterpret_cast<gpr_atm>(closure))) {
207
209
  if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
208
210
  gpr_log(GPR_INFO, "call_combiner=%p: setting notify_on_cancel=%p",
209
211
  this, closure);
@@ -212,7 +214,7 @@ void CallCombiner::SetNotifyOnCancel(grpc_closure* closure) {
212
214
  // closure with GRPC_ERROR_NONE. This allows callers to clean
213
215
  // up any resources they may be holding for the callback.
214
216
  if (original_state != 0) {
215
- closure = (grpc_closure*)original_state;
217
+ closure = reinterpret_cast<grpc_closure*>(original_state);
216
218
  if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
217
219
  gpr_log(GPR_INFO,
218
220
  "call_combiner=%p: scheduling old cancel callback=%p", this,
@@ -239,7 +241,8 @@ void CallCombiner::Cancel(grpc_error* error) {
239
241
  if (gpr_atm_full_cas(&cancel_state_, original_state,
240
242
  EncodeCancelStateError(error))) {
241
243
  if (original_state != 0) {
242
- grpc_closure* notify_on_cancel = (grpc_closure*)original_state;
244
+ grpc_closure* notify_on_cancel =
245
+ reinterpret_cast<grpc_closure*>(original_state);
243
246
  if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
244
247
  gpr_log(GPR_INFO,
245
248
  "call_combiner=%p: scheduling notify_on_cancel callback=%p",
@@ -146,7 +146,8 @@ static void combiner_exec(grpc_core::Combiner* lock, grpc_closure* cl,
146
146
  // offload for one or two actions, and that's fine
147
147
  gpr_atm initiator =
148
148
  gpr_atm_no_barrier_load(&lock->initiating_exec_ctx_or_null);
149
- if (initiator != 0 && initiator != (gpr_atm)grpc_core::ExecCtx::Get()) {
149
+ if (initiator != 0 &&
150
+ initiator != reinterpret_cast<gpr_atm>(grpc_core::ExecCtx::Get())) {
150
151
  gpr_atm_no_barrier_store(&lock->initiating_exec_ctx_or_null, 0);
151
152
  }
152
153
  }
@@ -99,7 +99,7 @@ void grpc_endpoint_add_to_pollset_set(grpc_endpoint* ep,
99
99
  void grpc_endpoint_delete_from_pollset_set(grpc_endpoint* ep,
100
100
  grpc_pollset_set* pollset_set);
101
101
 
102
- grpc_resource_user* grpc_endpoint_get_resource_user(grpc_endpoint* endpoint);
102
+ grpc_resource_user* grpc_endpoint_get_resource_user(grpc_endpoint* ep);
103
103
 
104
104
  bool grpc_endpoint_can_track_err(grpc_endpoint* ep);
105
105
 
@@ -166,7 +166,8 @@ static void error_destroy(grpc_error* err) {
166
166
  GPR_ASSERT(!grpc_error_is_special(err));
167
167
  unref_errs(err);
168
168
  unref_strs(err);
169
- gpr_free((void*)gpr_atm_acq_load(&err->atomics.error_string));
169
+ gpr_free(
170
+ reinterpret_cast<void*>(gpr_atm_acq_load(&err->atomics.error_string)));
170
171
  gpr_free(err);
171
172
  }
172
173
 
@@ -237,10 +238,10 @@ static void internal_set_str(grpc_error** err, grpc_error_strs which,
237
238
  if (slot == UINT8_MAX) {
238
239
  slot = get_placement(err, sizeof(value));
239
240
  if (slot == UINT8_MAX) {
240
- const char* str = grpc_slice_to_c_string(value);
241
+ char* str = grpc_slice_to_c_string(value);
241
242
  gpr_log(GPR_ERROR, "Error %p is full, dropping string {\"%s\":\"%s\"}",
242
243
  *err, error_str_name(which), str);
243
- gpr_free((void*)str);
244
+ gpr_free(str);
244
245
  return;
245
246
  }
246
247
  } else {
@@ -258,10 +259,10 @@ static void internal_set_time(grpc_error** err, grpc_error_times which,
258
259
  if (slot == UINT8_MAX) {
259
260
  slot = get_placement(err, sizeof(value));
260
261
  if (slot == UINT8_MAX) {
261
- const char* time_str = fmt_time(value);
262
+ char* time_str = fmt_time(value);
262
263
  gpr_log(GPR_ERROR, "Error %p is full, dropping \"%s\":\"%s\"}", *err,
263
264
  error_time_name(which), time_str);
264
- gpr_free((void*)time_str);
265
+ gpr_free(time_str);
265
266
  return;
266
267
  }
267
268
  }
@@ -426,7 +427,8 @@ static grpc_error* copy_error_and_unref(grpc_error* in) {
426
427
  // bulk memcpy of the rest of the struct.
427
428
  // NOLINTNEXTLINE(bugprone-sizeof-expression)
428
429
  size_t skip = sizeof(&out->atomics);
429
- memcpy((void*)((uintptr_t)out + skip), (void*)((uintptr_t)in + skip),
430
+ memcpy(reinterpret_cast<void*>(reinterpret_cast<uintptr_t>(out) + skip),
431
+ reinterpret_cast<void*>(reinterpret_cast<uintptr_t>(in) + skip),
430
432
  sizeof(*in) + (in->arena_size * sizeof(intptr_t)) - skip);
431
433
  // manually set the atomics and the new capacity
432
434
  gpr_atm_no_barrier_store(&out->atomics.error_string, 0);
@@ -632,8 +634,8 @@ static char* fmt_str(const grpc_slice& slice) {
632
634
  char* s = nullptr;
633
635
  size_t sz = 0;
634
636
  size_t cap = 0;
635
- append_esc_str((const uint8_t*)GRPC_SLICE_START_PTR(slice),
636
- GRPC_SLICE_LENGTH(slice), &s, &sz, &cap);
637
+ append_esc_str(GRPC_SLICE_START_PTR(slice), GRPC_SLICE_LENGTH(slice), &s, &sz,
638
+ &cap);
637
639
  append_chr(0, &s, &sz, &cap);
638
640
  return s;
639
641
  }
@@ -744,7 +746,8 @@ const char* grpc_error_string(grpc_error* err) {
744
746
  if (err == GRPC_ERROR_OOM) return oom_error_string;
745
747
  if (err == GRPC_ERROR_CANCELLED) return cancelled_error_string;
746
748
 
747
- void* p = (void*)gpr_atm_acq_load(&err->atomics.error_string);
749
+ void* p =
750
+ reinterpret_cast<void*>(gpr_atm_acq_load(&err->atomics.error_string));
748
751
  if (p != nullptr) {
749
752
  return static_cast<const char*>(p);
750
753
  }
@@ -763,9 +766,10 @@ const char* grpc_error_string(grpc_error* err) {
763
766
 
764
767
  char* out = finish_kvs(&kvs);
765
768
 
766
- if (!gpr_atm_rel_cas(&err->atomics.error_string, 0, (gpr_atm)out)) {
769
+ if (!gpr_atm_rel_cas(&err->atomics.error_string, 0,
770
+ reinterpret_cast<gpr_atm>(out))) {
767
771
  gpr_free(out);
768
- out = (char*)gpr_atm_acq_load(&err->atomics.error_string);
772
+ out = reinterpret_cast<char*>(gpr_atm_acq_load(&err->atomics.error_string));
769
773
  }
770
774
 
771
775
  return out;
@@ -22,7 +22,7 @@
22
22
  #include <grpc/support/port_platform.h>
23
23
 
24
24
  #include <inttypes.h>
25
- #include <stdbool.h> // TODO, do we need this?
25
+ #include <stdbool.h> // TODO(unknown): , do we need this?
26
26
 
27
27
  #include <grpc/support/sync.h>
28
28
  #include "src/core/lib/iomgr/error.h"
@@ -618,7 +618,7 @@ static grpc_error* pollset_kick_all(grpc_pollset* pollset) {
618
618
  worker = worker->next;
619
619
  } while (worker != pollset->root_worker);
620
620
  }
621
- // TODO: sreek. Check if we need to set 'kicked_without_poller' to true here
621
+ // TODO(sreek): Check if we need to set 'kicked_without_poller' to true here
622
622
  // in the else case
623
623
  return error;
624
624
  }
@@ -803,7 +803,8 @@ static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
803
803
  neighborhood->active_root = pollset->next = pollset->prev = pollset;
804
804
  /* Make this the designated poller if there isn't one already */
805
805
  if (worker->state == UNKICKED &&
806
- gpr_atm_no_barrier_cas(&g_active_poller, 0, (gpr_atm)worker)) {
806
+ gpr_atm_no_barrier_cas(&g_active_poller, 0,
807
+ reinterpret_cast<gpr_atm>(worker))) {
807
808
  SET_KICK_STATE(worker, DESIGNATED_POLLER);
808
809
  }
809
810
  } else {
@@ -885,8 +886,9 @@ static bool check_neighborhood_for_available_poller(
885
886
  do {
886
887
  switch (inspect_worker->state) {
887
888
  case UNKICKED:
888
- if (gpr_atm_no_barrier_cas(&g_active_poller, 0,
889
- (gpr_atm)inspect_worker)) {
889
+ if (gpr_atm_no_barrier_cas(
890
+ &g_active_poller, 0,
891
+ reinterpret_cast<gpr_atm>(inspect_worker))) {
890
892
  if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
891
893
  gpr_log(GPR_INFO, " .. choose next poller to be %p",
892
894
  inspect_worker);
@@ -944,7 +946,8 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
944
946
  SET_KICK_STATE(worker, KICKED);
945
947
  grpc_closure_list_move(&worker->schedule_on_end_work,
946
948
  grpc_core::ExecCtx::Get()->closure_list());
947
- if (gpr_atm_no_barrier_load(&g_active_poller) == (gpr_atm)worker) {
949
+ if (gpr_atm_no_barrier_load(&g_active_poller) ==
950
+ reinterpret_cast<gpr_atm>(worker)) {
948
951
  if (worker->next != worker && worker->next->state == UNKICKED) {
949
952
  if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
950
953
  gpr_log(GPR_INFO, " .. choose next poller to be peer %p", worker);
@@ -1071,8 +1074,9 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
1071
1074
  std::vector<std::string> log;
1072
1075
  log.push_back(absl::StrFormat(
1073
1076
  "PS:%p KICK:%p curps=%p curworker=%p root=%p", pollset, specific_worker,
1074
- (void*)gpr_tls_get(&g_current_thread_pollset),
1075
- (void*)gpr_tls_get(&g_current_thread_worker), pollset->root_worker));
1077
+ reinterpret_cast<void*>(gpr_tls_get(&g_current_thread_pollset)),
1078
+ reinterpret_cast<void*>(gpr_tls_get(&g_current_thread_worker)),
1079
+ pollset->root_worker));
1076
1080
  if (pollset->root_worker != nullptr) {
1077
1081
  log.push_back(absl::StrFormat(
1078
1082
  " {kick_state=%s next=%p {kick_state=%s}}",
@@ -1088,7 +1092,8 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
1088
1092
  }
1089
1093
 
1090
1094
  if (specific_worker == nullptr) {
1091
- if (gpr_tls_get(&g_current_thread_pollset) != (intptr_t)pollset) {
1095
+ if (gpr_tls_get(&g_current_thread_pollset) !=
1096
+ reinterpret_cast<intptr_t>(pollset)) {
1092
1097
  grpc_pollset_worker* root_worker = pollset->root_worker;
1093
1098
  if (root_worker == nullptr) {
1094
1099
  GRPC_STATS_INC_POLLSET_KICKED_WITHOUT_POLLER();
@@ -1115,8 +1120,9 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
1115
1120
  goto done;
1116
1121
  } else if (root_worker == next_worker && // only try and wake up a poller
1117
1122
  // if there is no next worker
1118
- root_worker == (grpc_pollset_worker*)gpr_atm_no_barrier_load(
1119
- &g_active_poller)) {
1123
+ root_worker ==
1124
+ reinterpret_cast<grpc_pollset_worker*>(
1125
+ gpr_atm_no_barrier_load(&g_active_poller))) {
1120
1126
  GRPC_STATS_INC_POLLSET_KICK_WAKEUP_FD();
1121
1127
  if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
1122
1128
  gpr_log(GPR_INFO, " .. kicked %p", root_worker);
@@ -1180,7 +1186,7 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
1180
1186
  }
1181
1187
  goto done;
1182
1188
  } else if (gpr_tls_get(&g_current_thread_worker) ==
1183
- (intptr_t)specific_worker) {
1189
+ reinterpret_cast<intptr_t>(specific_worker)) {
1184
1190
  GRPC_STATS_INC_POLLSET_KICK_OWN_THREAD();
1185
1191
  if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
1186
1192
  gpr_log(GPR_INFO, " .. mark %p kicked", specific_worker);
@@ -1188,7 +1194,8 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
1188
1194
  SET_KICK_STATE(specific_worker, KICKED);
1189
1195
  goto done;
1190
1196
  } else if (specific_worker ==
1191
- (grpc_pollset_worker*)gpr_atm_no_barrier_load(&g_active_poller)) {
1197
+ reinterpret_cast<grpc_pollset_worker*>(
1198
+ gpr_atm_no_barrier_load(&g_active_poller))) {
1192
1199
  GRPC_STATS_INC_POLLSET_KICK_WAKEUP_FD();
1193
1200
  if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
1194
1201
  gpr_log(GPR_INFO, " .. kick active poller");
@@ -1223,7 +1230,7 @@ static void pollset_add_fd(grpc_pollset* /*pollset*/, grpc_fd* /*fd*/) {}
1223
1230
  */
1224
1231
 
1225
1232
  static grpc_pollset_set* pollset_set_create(void) {
1226
- return (grpc_pollset_set*)(static_cast<intptr_t>(0xdeafbeef));
1233
+ return reinterpret_cast<grpc_pollset_set*>(static_cast<intptr_t>(0xdeafbeef));
1227
1234
  }
1228
1235
 
1229
1236
  static void pollset_set_destroy(grpc_pollset_set* /*pss*/) {}
@@ -577,7 +577,8 @@ static grpc_error* pollable_create(pollable_type type, pollable** p) {
577
577
  }
578
578
  struct epoll_event ev;
579
579
  ev.events = static_cast<uint32_t>(EPOLLIN | EPOLLET);
580
- ev.data.ptr = (void*)(1 | (intptr_t) & (*p)->wakeup);
580
+ ev.data.ptr =
581
+ reinterpret_cast<void*>(1 | reinterpret_cast<intptr_t>(&(*p)->wakeup));
581
582
  if (epoll_ctl(epfd, EPOLL_CTL_ADD, (*p)->wakeup.read_fd, &ev) != 0) {
582
583
  err = GRPC_OS_ERROR(errno, "epoll_ctl");
583
584
  GRPC_FD_TRACE(
@@ -692,7 +693,8 @@ static grpc_error* kick_one_worker(grpc_pollset_worker* specific_worker) {
692
693
  GRPC_STATS_INC_POLLSET_KICKED_AGAIN();
693
694
  return GRPC_ERROR_NONE;
694
695
  }
695
- if (gpr_tls_get(&g_current_thread_worker) == (intptr_t)specific_worker) {
696
+ if (gpr_tls_get(&g_current_thread_worker) ==
697
+ reinterpret_cast<intptr_t>(specific_worker)) {
696
698
  if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
697
699
  gpr_log(GPR_INFO, "PS:%p kicked_specific_but_awake", p);
698
700
  }
@@ -729,13 +731,14 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
729
731
  GRPC_STATS_INC_POLLSET_KICK();
730
732
  if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
731
733
  gpr_log(GPR_INFO,
732
- "PS:%p kick %p tls_pollset=%p tls_worker=%p pollset.root_worker=%p",
733
- pollset, specific_worker,
734
- (void*)gpr_tls_get(&g_current_thread_pollset),
735
- (void*)gpr_tls_get(&g_current_thread_worker), pollset->root_worker);
734
+ "PS:%p kick %p tls_pollset=%" PRIxPTR " tls_worker=%" PRIxPTR
735
+ " pollset.root_worker=%p",
736
+ pollset, specific_worker, gpr_tls_get(&g_current_thread_pollset),
737
+ gpr_tls_get(&g_current_thread_worker), pollset->root_worker);
736
738
  }
737
739
  if (specific_worker == nullptr) {
738
- if (gpr_tls_get(&g_current_thread_pollset) != (intptr_t)pollset) {
740
+ if (gpr_tls_get(&g_current_thread_pollset) !=
741
+ reinterpret_cast<intptr_t>(pollset)) {
739
742
  if (pollset->root_worker == nullptr) {
740
743
  if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
741
744
  gpr_log(GPR_INFO, "PS:%p kicked_any_without_poller", pollset);
@@ -881,15 +884,16 @@ static grpc_error* pollable_process_events(grpc_pollset* pollset,
881
884
  int n = pollable_obj->event_cursor++;
882
885
  struct epoll_event* ev = &pollable_obj->events[n];
883
886
  void* data_ptr = ev->data.ptr;
884
- if (1 & (intptr_t)data_ptr) {
887
+ if (1 & reinterpret_cast<intptr_t>(data_ptr)) {
885
888
  if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
886
889
  gpr_log(GPR_INFO, "PS:%p got pollset_wakeup %p", pollset, data_ptr);
887
890
  }
888
- append_error(&error,
889
- grpc_wakeup_fd_consume_wakeup(
890
- (grpc_wakeup_fd*)((~static_cast<intptr_t>(1)) &
891
- (intptr_t)data_ptr)),
892
- err_desc);
891
+ append_error(
892
+ &error,
893
+ grpc_wakeup_fd_consume_wakeup(reinterpret_cast<grpc_wakeup_fd*>(
894
+ ~static_cast<intptr_t>(1) &
895
+ reinterpret_cast<intptr_t>(data_ptr))),
896
+ err_desc);
893
897
  } else {
894
898
  grpc_fd* fd =
895
899
  reinterpret_cast<grpc_fd*>(reinterpret_cast<intptr_t>(data_ptr) & ~2);
@@ -148,12 +148,12 @@ static gpr_mu fork_fd_list_mu;
148
148
  MUST NOT be called with a pollset lock taken */
149
149
  static uint32_t fd_begin_poll(grpc_fd* fd, grpc_pollset* pollset,
150
150
  grpc_pollset_worker* worker, uint32_t read_mask,
151
- uint32_t write_mask, grpc_fd_watcher* rec);
151
+ uint32_t write_mask, grpc_fd_watcher* watcher);
152
152
  /* Complete polling previously started with fd_begin_poll
153
153
  MUST NOT be called with a pollset lock taken
154
154
  if got_read or got_write are 1, also does the become_{readable,writable} as
155
155
  appropriate. */
156
- static void fd_end_poll(grpc_fd_watcher* rec, int got_read, int got_write);
156
+ static void fd_end_poll(grpc_fd_watcher* watcher, int got_read, int got_write);
157
157
 
158
158
  /* Return 1 if this fd is orphaned, 0 otherwise */
159
159
  static bool fd_is_orphaned(grpc_fd* fd);
@@ -775,7 +775,7 @@ static grpc_error* pollset_kick_ext(grpc_pollset* p,
775
775
  }
776
776
  p->kicked_without_pollers = true;
777
777
  } else if (gpr_tls_get(&g_current_thread_worker) !=
778
- (intptr_t)specific_worker) {
778
+ reinterpret_cast<intptr_t>(specific_worker)) {
779
779
  GPR_TIMER_MARK("different_thread_worker", 0);
780
780
  if ((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) != 0) {
781
781
  specific_worker->reevaluate_polling_on_wakeup = true;
@@ -792,18 +792,20 @@ static grpc_error* pollset_kick_ext(grpc_pollset* p,
792
792
  kick_append_error(&error,
793
793
  grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd));
794
794
  }
795
- } else if (gpr_tls_get(&g_current_thread_poller) != (intptr_t)p) {
795
+ } else if (gpr_tls_get(&g_current_thread_poller) !=
796
+ reinterpret_cast<intptr_t>(p)) {
796
797
  GPR_ASSERT((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) == 0);
797
798
  GPR_TIMER_MARK("kick_anonymous", 0);
798
799
  specific_worker = pop_front_worker(p);
799
800
  if (specific_worker != nullptr) {
800
- if (gpr_tls_get(&g_current_thread_worker) == (intptr_t)specific_worker) {
801
+ if (gpr_tls_get(&g_current_thread_worker) ==
802
+ reinterpret_cast<intptr_t>(specific_worker)) {
801
803
  GPR_TIMER_MARK("kick_anonymous_not_self", 0);
802
804
  push_back_worker(p, specific_worker);
803
805
  specific_worker = pop_front_worker(p);
804
806
  if ((flags & GRPC_POLLSET_CAN_KICK_SELF) == 0 &&
805
807
  gpr_tls_get(&g_current_thread_worker) ==
806
- (intptr_t)specific_worker) {
808
+ reinterpret_cast<intptr_t>(specific_worker)) {
807
809
  push_back_worker(p, specific_worker);
808
810
  specific_worker = nullptr;
809
811
  }
@@ -987,7 +989,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
987
989
  void* buf = gpr_malloc(pfd_size + watch_size);
988
990
  pfds = static_cast<struct pollfd*>(buf);
989
991
  watchers = static_cast<grpc_fd_watcher*>(
990
- (void*)(static_cast<char*>(buf) + pfd_size));
992
+ static_cast<void*>((static_cast<char*>(buf) + pfd_size)));
991
993
  }
992
994
 
993
995
  fd_count = 0;
@@ -58,8 +58,8 @@ typedef struct grpc_combiner grpc_combiner;
58
58
  #define GRPC_APP_CALLBACK_EXEC_CTX_FLAG_IS_INTERNAL_THREAD 1
59
59
 
60
60
  gpr_timespec grpc_millis_to_timespec(grpc_millis millis, gpr_clock_type clock);
61
- grpc_millis grpc_timespec_to_millis_round_down(gpr_timespec timespec);
62
- grpc_millis grpc_timespec_to_millis_round_up(gpr_timespec timespec);
61
+ grpc_millis grpc_timespec_to_millis_round_down(gpr_timespec ts);
62
+ grpc_millis grpc_timespec_to_millis_round_up(gpr_timespec ts);
63
63
  grpc_millis grpc_cycle_counter_to_millis_round_down(gpr_cycle_counter cycles);
64
64
  grpc_millis grpc_cycle_counter_to_millis_round_up(gpr_cycle_counter cycles);
65
65
 
@@ -113,7 +113,7 @@ class ExecCtx {
113
113
  }
114
114
 
115
115
  /** Parameterised Constructor */
116
- ExecCtx(uintptr_t fl) : flags_(fl) {
116
+ explicit ExecCtx(uintptr_t fl) : flags_(fl) {
117
117
  if (!(GRPC_EXEC_CTX_FLAG_IS_INTERNAL_THREAD & flags_)) {
118
118
  grpc_core::Fork::IncExecCtxCount();
119
119
  }
@@ -308,7 +308,9 @@ class ApplicationCallbackExecCtx {
308
308
  ApplicationCallbackExecCtx() { Set(this, flags_); }
309
309
 
310
310
  /** Parameterised Constructor */
311
- ApplicationCallbackExecCtx(uintptr_t fl) : flags_(fl) { Set(this, flags_); }
311
+ explicit ApplicationCallbackExecCtx(uintptr_t fl) : flags_(fl) {
312
+ Set(this, flags_);
313
+ }
312
314
 
313
315
  ~ApplicationCallbackExecCtx() {
314
316
  if (reinterpret_cast<ApplicationCallbackExecCtx*>(
@@ -283,7 +283,8 @@ void Executor::Enqueue(grpc_closure* closure, grpc_error* error,
283
283
  return;
284
284
  }
285
285
 
286
- ThreadState* ts = (ThreadState*)gpr_tls_get(&g_this_thread_state);
286
+ ThreadState* ts =
287
+ reinterpret_cast<ThreadState*>(gpr_tls_get(&g_this_thread_state));
287
288
  if (ts == nullptr) {
288
289
  ts = &thd_state_[GPR_HASH_POINTER(grpc_core::ExecCtx::Get(),
289
290
  cur_thread_count)];
@@ -54,7 +54,7 @@ enum class ExecutorJobType {
54
54
 
55
55
  class Executor {
56
56
  public:
57
- Executor(const char* executor_name);
57
+ explicit Executor(const char* executor_name);
58
58
 
59
59
  void Init();
60
60
 
@@ -99,7 +99,7 @@ class ThreadPool : public ThreadPoolInterface {
99
99
  // Creates a thread pool with size of "num_threads", with default thread name
100
100
  // "ThreadPoolWorker" and all thread options set to default. If the given size
101
101
  // is 0 or less, there will be 1 worker thread created inside pool.
102
- ThreadPool(int num_threads);
102
+ explicit ThreadPool(int num_threads);
103
103
 
104
104
  // Same as ThreadPool(int num_threads) constructor, except
105
105
  // that it also sets "thd_name" as the name of all threads in the thread pool.
@@ -59,7 +59,7 @@ void grpc_iomgr_init() {
59
59
  gpr_cv_init(&g_rcv);
60
60
  grpc_core::Executor::InitAll();
61
61
  g_root_object.next = g_root_object.prev = &g_root_object;
62
- g_root_object.name = (char*)"root";
62
+ g_root_object.name = const_cast<char*>("root");
63
63
  grpc_iomgr_platform_init();
64
64
  grpc_timer_list_init();
65
65
  grpc_core::grpc_errqueue_init();