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
@@ -56,7 +56,7 @@ void grpc_sockaddr_make_wildcard6(int port, grpc_resolved_address* wild_out);
56
56
  int grpc_sockaddr_get_port(const grpc_resolved_address* addr);
57
57
 
58
58
  /* Set IP port number of a sockaddr */
59
- int grpc_sockaddr_set_port(const grpc_resolved_address* addr, int port);
59
+ int grpc_sockaddr_set_port(grpc_resolved_address* addr, int port);
60
60
 
61
61
  // Converts a sockaddr into a newly-allocated human-readable string.
62
62
  //
@@ -87,8 +87,9 @@ static const grpc_arg_pointer_vtable socket_factory_arg_vtable = {
87
87
  socket_factory_arg_copy, socket_factory_arg_destroy, socket_factory_cmp};
88
88
 
89
89
  grpc_arg grpc_socket_factory_to_arg(grpc_socket_factory* factory) {
90
- return grpc_channel_arg_pointer_create((char*)GRPC_ARG_SOCKET_FACTORY,
91
- factory, &socket_factory_arg_vtable);
90
+ return grpc_channel_arg_pointer_create(
91
+ const_cast<char*>(GRPC_ARG_SOCKET_FACTORY), factory,
92
+ &socket_factory_arg_vtable);
92
93
  }
93
94
 
94
95
  #endif
@@ -78,6 +78,7 @@ static const grpc_arg_pointer_vtable socket_mutator_arg_vtable = {
78
78
  socket_mutator_arg_copy, socket_mutator_arg_destroy, socket_mutator_cmp};
79
79
 
80
80
  grpc_arg grpc_socket_mutator_to_arg(grpc_socket_mutator* mutator) {
81
- return grpc_channel_arg_pointer_create((char*)GRPC_ARG_SOCKET_MUTATOR,
82
- mutator, &socket_mutator_arg_vtable);
81
+ return grpc_channel_arg_pointer_create(
82
+ const_cast<char*>(GRPC_ARG_SOCKET_MUTATOR), mutator,
83
+ &socket_mutator_arg_vtable);
83
84
  }
@@ -22,13 +22,13 @@
22
22
 
23
23
  grpc_tcp_client_vtable* grpc_tcp_client_impl;
24
24
 
25
- void grpc_tcp_client_connect(grpc_closure* closure, grpc_endpoint** ep,
25
+ void grpc_tcp_client_connect(grpc_closure* on_connect, grpc_endpoint** endpoint,
26
26
  grpc_pollset_set* interested_parties,
27
27
  const grpc_channel_args* channel_args,
28
28
  const grpc_resolved_address* addr,
29
29
  grpc_millis deadline) {
30
- grpc_tcp_client_impl->connect(closure, ep, interested_parties, channel_args,
31
- addr, deadline);
30
+ grpc_tcp_client_impl->connect(on_connect, endpoint, interested_parties,
31
+ channel_args, addr, deadline);
32
32
  }
33
33
 
34
34
  void grpc_set_tcp_client_impl(grpc_tcp_client_vtable* impl) {
@@ -61,7 +61,7 @@ static void custom_close_callback(grpc_custom_socket* /*socket*/) {}
61
61
 
62
62
  static void on_alarm(void* acp, grpc_error* error) {
63
63
  int done;
64
- grpc_custom_socket* socket = (grpc_custom_socket*)acp;
64
+ grpc_custom_socket* socket = static_cast<grpc_custom_socket*>(acp);
65
65
  grpc_custom_tcp_connect* connect = socket->connector;
66
66
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
67
67
  const char* str = grpc_error_string(error);
@@ -124,13 +124,14 @@ static void tcp_connect(grpc_closure* closure, grpc_endpoint** ep,
124
124
  for (size_t i = 0; i < channel_args->num_args; i++) {
125
125
  if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_RESOURCE_QUOTA)) {
126
126
  grpc_resource_quota_unref_internal(resource_quota);
127
- resource_quota = grpc_resource_quota_ref_internal(
128
- (grpc_resource_quota*)channel_args->args[i].value.pointer.p);
127
+ resource_quota =
128
+ grpc_resource_quota_ref_internal(static_cast<grpc_resource_quota*>(
129
+ channel_args->args[i].value.pointer.p));
129
130
  }
130
131
  }
131
132
  }
132
133
  grpc_custom_socket* socket =
133
- (grpc_custom_socket*)gpr_malloc(sizeof(grpc_custom_socket));
134
+ static_cast<grpc_custom_socket*>(gpr_malloc(sizeof(grpc_custom_socket)));
134
135
  socket->refs = 2;
135
136
  grpc_custom_socket_vtable->init(socket, GRPC_AF_UNSPEC);
136
137
  grpc_custom_tcp_connect* connect = new grpc_custom_tcp_connect();
@@ -153,8 +154,8 @@ static void tcp_connect(grpc_closure* closure, grpc_endpoint** ep,
153
154
  grpc_schedule_on_exec_ctx);
154
155
  grpc_timer_init(&connect->alarm, deadline, &connect->on_alarm);
155
156
  grpc_custom_socket_vtable->connect(
156
- socket, (const grpc_sockaddr*)resolved_addr->addr, resolved_addr->len,
157
- custom_connect_callback);
157
+ socket, reinterpret_cast<const grpc_sockaddr*>(resolved_addr->addr),
158
+ resolved_addr->len, custom_connect_callback);
158
159
  }
159
160
 
160
161
  grpc_tcp_client_vtable custom_tcp_client_vtable = {tcp_connect};
@@ -73,7 +73,8 @@ struct custom_tcp_endpoint {
73
73
  std::string local_address;
74
74
  };
75
75
  static void tcp_free(grpc_custom_socket* s) {
76
- custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)s->endpoint;
76
+ custom_tcp_endpoint* tcp =
77
+ reinterpret_cast<custom_tcp_endpoint*>(s->endpoint);
77
78
  grpc_resource_user_unref(tcp->resource_user);
78
79
  delete tcp;
79
80
  s->refs--;
@@ -149,18 +150,19 @@ static void custom_read_callback(grpc_custom_socket* socket, size_t nread,
149
150
  grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
150
151
  grpc_core::ExecCtx exec_ctx;
151
152
  grpc_slice_buffer garbage;
152
- custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)socket->endpoint;
153
+ custom_tcp_endpoint* tcp =
154
+ reinterpret_cast<custom_tcp_endpoint*>(socket->endpoint);
153
155
  if (error == GRPC_ERROR_NONE && nread == 0) {
154
156
  error = GRPC_ERROR_CREATE_FROM_STATIC_STRING("EOF");
155
157
  }
156
158
  if (error == GRPC_ERROR_NONE) {
157
159
  // Successful read
158
- if ((size_t)nread < tcp->read_slices->length) {
160
+ if (nread < tcp->read_slices->length) {
159
161
  /* TODO(murgatroid99): Instead of discarding the unused part of the read
160
162
  * buffer, reuse it as the next read buffer. */
161
163
  grpc_slice_buffer_init(&garbage);
162
- grpc_slice_buffer_trim_end(
163
- tcp->read_slices, tcp->read_slices->length - (size_t)nread, &garbage);
164
+ grpc_slice_buffer_trim_end(tcp->read_slices,
165
+ tcp->read_slices->length - nread, &garbage);
164
166
  grpc_slice_buffer_reset_and_unref_internal(&garbage);
165
167
  }
166
168
  } else {
@@ -170,7 +172,7 @@ static void custom_read_callback(grpc_custom_socket* socket, size_t nread,
170
172
  }
171
173
 
172
174
  static void tcp_read_allocation_done(void* tcpp, grpc_error* error) {
173
- custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)tcpp;
175
+ custom_tcp_endpoint* tcp = static_cast<custom_tcp_endpoint*>(tcpp);
174
176
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
175
177
  gpr_log(GPR_INFO, "TCP:%p read_allocation_done: %s", tcp->socket,
176
178
  grpc_error_string(error));
@@ -179,7 +181,8 @@ static void tcp_read_allocation_done(void* tcpp, grpc_error* error) {
179
181
  /* Before calling read, we allocate a buffer with exactly one slice
180
182
  * to tcp->read_slices and wait for the callback indicating that the
181
183
  * allocation was successful. So slices[0] should always exist here */
182
- char* buffer = (char*)GRPC_SLICE_START_PTR(tcp->read_slices->slices[0]);
184
+ char* buffer = reinterpret_cast<char*>(
185
+ GRPC_SLICE_START_PTR(tcp->read_slices->slices[0]));
183
186
  size_t len = GRPC_SLICE_LENGTH(tcp->read_slices->slices[0]);
184
187
  grpc_custom_socket_vtable->read(tcp->socket, buffer, len,
185
188
  custom_read_callback);
@@ -195,7 +198,7 @@ static void tcp_read_allocation_done(void* tcpp, grpc_error* error) {
195
198
 
196
199
  static void endpoint_read(grpc_endpoint* ep, grpc_slice_buffer* read_slices,
197
200
  grpc_closure* cb, bool /*urgent*/) {
198
- custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)ep;
201
+ custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
199
202
  GRPC_CUSTOM_IOMGR_ASSERT_SAME_THREAD();
200
203
  GPR_ASSERT(tcp->read_cb == nullptr);
201
204
  tcp->read_cb = cb;
@@ -213,7 +216,8 @@ static void custom_write_callback(grpc_custom_socket* socket,
213
216
  grpc_error* error) {
214
217
  grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
215
218
  grpc_core::ExecCtx exec_ctx;
216
- custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)socket->endpoint;
219
+ custom_tcp_endpoint* tcp =
220
+ reinterpret_cast<custom_tcp_endpoint*>(socket->endpoint);
217
221
  grpc_closure* cb = tcp->write_cb;
218
222
  tcp->write_cb = nullptr;
219
223
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
@@ -226,7 +230,7 @@ static void custom_write_callback(grpc_custom_socket* socket,
226
230
 
227
231
  static void endpoint_write(grpc_endpoint* ep, grpc_slice_buffer* write_slices,
228
232
  grpc_closure* cb, void* /*arg*/) {
229
- custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)ep;
233
+ custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
230
234
  GRPC_CUSTOM_IOMGR_ASSERT_SAME_THREAD();
231
235
 
232
236
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
@@ -284,7 +288,7 @@ static void endpoint_delete_from_pollset_set(grpc_endpoint* ep,
284
288
  }
285
289
 
286
290
  static void endpoint_shutdown(grpc_endpoint* ep, grpc_error* why) {
287
- custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)ep;
291
+ custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
288
292
  if (!tcp->shutting_down) {
289
293
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
290
294
  const char* str = grpc_error_string(why);
@@ -309,28 +313,29 @@ static void custom_close_callback(grpc_custom_socket* socket) {
309
313
  } else if (socket->endpoint) {
310
314
  grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
311
315
  grpc_core::ExecCtx exec_ctx;
312
- custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)socket->endpoint;
316
+ custom_tcp_endpoint* tcp =
317
+ reinterpret_cast<custom_tcp_endpoint*>(socket->endpoint);
313
318
  TCP_UNREF(tcp, "destroy");
314
319
  }
315
320
  }
316
321
 
317
322
  static void endpoint_destroy(grpc_endpoint* ep) {
318
- custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)ep;
323
+ custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
319
324
  grpc_custom_socket_vtable->close(tcp->socket, custom_close_callback);
320
325
  }
321
326
 
322
327
  static absl::string_view endpoint_get_peer(grpc_endpoint* ep) {
323
- custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)ep;
328
+ custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
324
329
  return tcp->peer_string;
325
330
  }
326
331
 
327
332
  static absl::string_view endpoint_get_local_address(grpc_endpoint* ep) {
328
- custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)ep;
333
+ custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
329
334
  return tcp->local_address;
330
335
  }
331
336
 
332
337
  static grpc_resource_user* endpoint_get_resource_user(grpc_endpoint* ep) {
333
- custom_tcp_endpoint* tcp = (custom_tcp_endpoint*)ep;
338
+ custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
334
339
  return tcp->resource_user;
335
340
  }
336
341
 
@@ -362,7 +367,7 @@ grpc_endpoint* custom_tcp_endpoint_create(grpc_custom_socket* socket,
362
367
  gpr_log(GPR_INFO, "Creating TCP endpoint %p", socket);
363
368
  }
364
369
  socket->refs++;
365
- socket->endpoint = (grpc_endpoint*)tcp;
370
+ socket->endpoint = reinterpret_cast<grpc_endpoint*>(tcp);
366
371
  tcp->socket = socket;
367
372
  tcp->base.vtable = &vtable;
368
373
  gpr_ref_init(&tcp->refcount, 1);
@@ -181,8 +181,9 @@ class TcpZerocopySendCtx {
181
181
  static constexpr int kDefaultMaxSends = 4;
182
182
  static constexpr size_t kDefaultSendBytesThreshold = 16 * 1024; // 16KB
183
183
 
184
- TcpZerocopySendCtx(int max_sends = kDefaultMaxSends,
185
- size_t send_bytes_threshold = kDefaultSendBytesThreshold)
184
+ explicit TcpZerocopySendCtx(
185
+ int max_sends = kDefaultMaxSends,
186
+ size_t send_bytes_threshold = kDefaultSendBytesThreshold)
186
187
  : max_sends_(max_sends),
187
188
  free_send_records_size_(max_sends),
188
189
  threshold_bytes_(send_bytes_threshold) {
@@ -465,7 +466,8 @@ static void run_poller(void* bp, grpc_error* /*error_ignored*/) {
465
466
  if (gpr_atm_no_barrier_load(&g_uncovered_notifications_pending) == 1 &&
466
467
  gpr_atm_full_cas(&g_uncovered_notifications_pending, 1, 0)) {
467
468
  gpr_mu_lock(p->pollset_mu);
468
- bool cas_ok = gpr_atm_full_cas(&g_backup_poller, (gpr_atm)p, 0);
469
+ bool cas_ok =
470
+ gpr_atm_full_cas(&g_backup_poller, reinterpret_cast<gpr_atm>(p), 0);
469
471
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
470
472
  gpr_log(GPR_INFO, "BACKUP_POLLER:%p done cas_ok=%d", p, cas_ok);
471
473
  }
@@ -487,7 +489,8 @@ static void run_poller(void* bp, grpc_error* /*error_ignored*/) {
487
489
  }
488
490
 
489
491
  static void drop_uncovered(grpc_tcp* /*tcp*/) {
490
- backup_poller* p = (backup_poller*)gpr_atm_acq_load(&g_backup_poller);
492
+ backup_poller* p =
493
+ reinterpret_cast<backup_poller*>(gpr_atm_acq_load(&g_backup_poller));
491
494
  gpr_atm old_count =
492
495
  gpr_atm_full_fetch_add(&g_uncovered_notifications_pending, -1);
493
496
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
@@ -526,8 +529,8 @@ static void cover_self(grpc_tcp* tcp) {
526
529
  GRPC_ERROR_NONE, grpc_core::ExecutorType::DEFAULT,
527
530
  grpc_core::ExecutorJobType::LONG);
528
531
  } else {
529
- while ((p = (backup_poller*)gpr_atm_acq_load(&g_backup_poller)) ==
530
- nullptr) {
532
+ while ((p = reinterpret_cast<backup_poller*>(
533
+ gpr_atm_acq_load(&g_backup_poller))) == nullptr) {
531
534
  // spin waiting for backup poller
532
535
  }
533
536
  }
@@ -83,7 +83,8 @@ struct grpc_tcp_server {
83
83
  static grpc_error* tcp_server_create(grpc_closure* shutdown_complete,
84
84
  const grpc_channel_args* args,
85
85
  grpc_tcp_server** server) {
86
- grpc_tcp_server* s = (grpc_tcp_server*)gpr_malloc(sizeof(grpc_tcp_server));
86
+ grpc_tcp_server* s =
87
+ static_cast<grpc_tcp_server*>(gpr_malloc(sizeof(grpc_tcp_server)));
87
88
  // Let the implementation decide if so_reuseport can be enabled or not.
88
89
  s->so_reuseport = true;
89
90
  s->resource_quota = grpc_resource_quota_create(nullptr);
@@ -95,7 +96,7 @@ static grpc_error* tcp_server_create(grpc_closure* shutdown_complete,
95
96
  if (args->args[i].type == GRPC_ARG_POINTER) {
96
97
  grpc_resource_quota_unref_internal(s->resource_quota);
97
98
  s->resource_quota = grpc_resource_quota_ref_internal(
98
- (grpc_resource_quota*)args->args[i].value.pointer.p);
99
+ static_cast<grpc_resource_quota*>(args->args[i].value.pointer.p));
99
100
  } else {
100
101
  grpc_resource_quota_unref_internal(s->resource_quota);
101
102
  gpr_free(s);
@@ -163,12 +164,12 @@ static void custom_close_callback(grpc_custom_socket* socket) {
163
164
  }
164
165
  }
165
166
 
166
- void grpc_custom_close_server_callback(grpc_tcp_listener* sp) {
167
- if (sp) {
167
+ void grpc_custom_close_server_callback(grpc_tcp_listener* listener) {
168
+ if (listener) {
168
169
  grpc_core::ExecCtx exec_ctx;
169
- sp->server->open_ports--;
170
- if (sp->server->open_ports == 0 && sp->server->shutdown) {
171
- finish_shutdown(sp->server);
170
+ listener->server->open_ports--;
171
+ if (listener->server->open_ports == 0 && listener->server->shutdown) {
172
+ finish_shutdown(listener->server);
172
173
  }
173
174
  }
174
175
  }
@@ -213,7 +214,7 @@ static void tcp_server_unref(grpc_tcp_server* s) {
213
214
 
214
215
  static void finish_accept(grpc_tcp_listener* sp, grpc_custom_socket* socket) {
215
216
  grpc_tcp_server_acceptor* acceptor =
216
- (grpc_tcp_server_acceptor*)gpr_malloc(sizeof(*acceptor));
217
+ static_cast<grpc_tcp_server_acceptor*>(gpr_malloc(sizeof(*acceptor)));
217
218
  grpc_endpoint* ep = nullptr;
218
219
  grpc_resolved_address peer_name;
219
220
  std::string peer_name_string;
@@ -222,7 +223,8 @@ static void finish_accept(grpc_tcp_listener* sp, grpc_custom_socket* socket) {
222
223
  memset(&peer_name, 0, sizeof(grpc_resolved_address));
223
224
  peer_name.len = GRPC_MAX_SOCKADDR_SIZE;
224
225
  err = grpc_custom_socket_vtable->getpeername(
225
- socket, (grpc_sockaddr*)&peer_name.addr, (int*)&peer_name.len);
226
+ socket, reinterpret_cast<grpc_sockaddr*>(&peer_name.addr),
227
+ reinterpret_cast<int*>(&peer_name.len));
226
228
  if (err == GRPC_ERROR_NONE) {
227
229
  peer_name_string = grpc_sockaddr_to_uri(&peer_name);
228
230
  } else {
@@ -262,8 +264,8 @@ static void custom_accept_callback(grpc_custom_socket* socket,
262
264
  }
263
265
  finish_accept(sp, client);
264
266
  if (!sp->closed) {
265
- grpc_custom_socket* new_socket =
266
- (grpc_custom_socket*)gpr_malloc(sizeof(grpc_custom_socket));
267
+ grpc_custom_socket* new_socket = static_cast<grpc_custom_socket*>(
268
+ gpr_malloc(sizeof(grpc_custom_socket)));
267
269
  new_socket->endpoint = nullptr;
268
270
  new_socket->listener = nullptr;
269
271
  new_socket->connector = nullptr;
@@ -290,8 +292,9 @@ static grpc_error* add_socket_to_server(grpc_tcp_server* s,
290
292
  flags |= GRPC_CUSTOM_SOCKET_OPT_SO_REUSEPORT;
291
293
  }
292
294
 
293
- error = grpc_custom_socket_vtable->bind(socket, (grpc_sockaddr*)addr->addr,
294
- addr->len, flags);
295
+ error = grpc_custom_socket_vtable->bind(
296
+ socket, reinterpret_cast<grpc_sockaddr*>(const_cast<char*>(addr->addr)),
297
+ addr->len, flags);
295
298
  if (error != GRPC_ERROR_NONE) {
296
299
  return error;
297
300
  }
@@ -303,7 +306,8 @@ static grpc_error* add_socket_to_server(grpc_tcp_server* s,
303
306
 
304
307
  sockname_temp.len = GRPC_MAX_SOCKADDR_SIZE;
305
308
  error = grpc_custom_socket_vtable->getsockname(
306
- socket, (grpc_sockaddr*)&sockname_temp.addr, (int*)&sockname_temp.len);
309
+ socket, reinterpret_cast<grpc_sockaddr*>(&sockname_temp.addr),
310
+ reinterpret_cast<int*>(&sockname_temp.len));
307
311
  if (error != GRPC_ERROR_NONE) {
308
312
  return error;
309
313
  }
@@ -312,7 +316,7 @@ static grpc_error* add_socket_to_server(grpc_tcp_server* s,
312
316
 
313
317
  GPR_ASSERT(port >= 0);
314
318
  GPR_ASSERT(!s->on_accept_cb && "must add ports before starting server");
315
- sp = (grpc_tcp_listener*)gpr_zalloc(sizeof(grpc_tcp_listener));
319
+ sp = static_cast<grpc_tcp_listener*>(gpr_zalloc(sizeof(grpc_tcp_listener)));
316
320
  sp->next = nullptr;
317
321
  if (s->head == nullptr) {
318
322
  s->head = sp;
@@ -358,12 +362,13 @@ static grpc_error* tcp_server_add_port(grpc_tcp_server* s,
358
362
  socket = sp->socket;
359
363
  sockname_temp.len = GRPC_MAX_SOCKADDR_SIZE;
360
364
  if (nullptr == grpc_custom_socket_vtable->getsockname(
361
- socket, (grpc_sockaddr*)&sockname_temp.addr,
362
- (int*)&sockname_temp.len)) {
365
+ socket,
366
+ reinterpret_cast<grpc_sockaddr*>(&sockname_temp.addr),
367
+ reinterpret_cast<int*>(&sockname_temp.len))) {
363
368
  *port = grpc_sockaddr_get_port(&sockname_temp);
364
369
  if (*port > 0) {
365
- allocated_addr =
366
- (grpc_resolved_address*)gpr_malloc(sizeof(grpc_resolved_address));
370
+ allocated_addr = static_cast<grpc_resolved_address*>(
371
+ gpr_malloc(sizeof(grpc_resolved_address)));
367
372
  memcpy(allocated_addr, addr, sizeof(grpc_resolved_address));
368
373
  grpc_sockaddr_set_port(allocated_addr, *port);
369
374
  addr = allocated_addr;
@@ -391,7 +396,8 @@ static grpc_error* tcp_server_add_port(grpc_tcp_server* s,
391
396
  }
392
397
 
393
398
  family = grpc_sockaddr_get_family(addr);
394
- socket = (grpc_custom_socket*)gpr_malloc(sizeof(grpc_custom_socket));
399
+ socket =
400
+ static_cast<grpc_custom_socket*>(gpr_malloc(sizeof(grpc_custom_socket)));
395
401
  socket->refs = 1;
396
402
  socket->endpoint = nullptr;
397
403
  socket->listener = nullptr;
@@ -430,8 +436,8 @@ static void tcp_server_start(grpc_tcp_server* server,
430
436
  server->on_accept_cb = on_accept_cb;
431
437
  server->on_accept_cb_arg = cb_arg;
432
438
  for (sp = server->head; sp; sp = sp->next) {
433
- grpc_custom_socket* new_socket =
434
- (grpc_custom_socket*)gpr_malloc(sizeof(grpc_custom_socket));
439
+ grpc_custom_socket* new_socket = static_cast<grpc_custom_socket*>(
440
+ gpr_malloc(sizeof(grpc_custom_socket)));
435
441
  new_socket->endpoint = nullptr;
436
442
  new_socket->listener = nullptr;
437
443
  new_socket->connector = nullptr;
@@ -57,16 +57,16 @@ static void timer_init(grpc_timer* timer, grpc_millis deadline,
57
57
  timer->pending = true;
58
58
  timer->closure = closure;
59
59
  grpc_custom_timer* timer_wrapper =
60
- (grpc_custom_timer*)gpr_malloc(sizeof(grpc_custom_timer));
60
+ static_cast<grpc_custom_timer*>(gpr_malloc(sizeof(grpc_custom_timer)));
61
61
  timer_wrapper->timeout_ms = timeout;
62
- timer->custom_timer = (void*)timer_wrapper;
62
+ timer->custom_timer = timer_wrapper;
63
63
  timer_wrapper->original = timer;
64
64
  custom_timer_impl->start(timer_wrapper);
65
65
  }
66
66
 
67
67
  static void timer_cancel(grpc_timer* timer) {
68
68
  GRPC_CUSTOM_IOMGR_ASSERT_SAME_THREAD();
69
- grpc_custom_timer* tw = (grpc_custom_timer*)timer->custom_timer;
69
+ grpc_custom_timer* tw = static_cast<grpc_custom_timer*>(timer->custom_timer);
70
70
  if (timer->pending) {
71
71
  timer->pending = false;
72
72
  grpc_core::ExecCtx::Run(DEBUG_LOCATION, timer->closure,
@@ -432,7 +432,7 @@ static void timer_init(grpc_timer* timer, grpc_millis deadline,
432
432
  note_deadline_change(shard);
433
433
  if (shard->shard_queue_index == 0 && deadline < old_min_deadline) {
434
434
  #if GPR_ARCH_64
435
- // TODO: sreek - Using c-style cast here. static_cast<> gives an error
435
+ // TODO(sreek): Using c-style cast here. static_cast<> gives an error
436
436
  // (on mac platforms complaining that gpr_atm* is (long *) while
437
437
  // (&g_shared_mutables.min_timer) is a (long long *). The cast should be
438
438
  // safe since we know that both are pointer types and 64-bit wide.
@@ -586,7 +586,7 @@ static grpc_timer_check_result run_some_expired_timers(grpc_millis now,
586
586
  grpc_timer_check_result result = GRPC_TIMERS_NOT_CHECKED;
587
587
 
588
588
  #if GPR_ARCH_64
589
- // TODO: sreek - Using c-style cast here. static_cast<> gives an error (on
589
+ // TODO(sreek): Using c-style cast here. static_cast<> gives an error (on
590
590
  // mac platforms complaining that gpr_atm* is (long *) while
591
591
  // (&g_shared_mutables.min_timer) is a (long long *). The cast should be
592
592
  // safe since we know that both are pointer types and 64-bit wide
@@ -651,7 +651,7 @@ static grpc_timer_check_result run_some_expired_timers(grpc_millis now,
651
651
  }
652
652
 
653
653
  #if GPR_ARCH_64
654
- // TODO: sreek - Using c-style cast here. static_cast<> gives an error (on
654
+ // TODO(sreek): Using c-style cast here. static_cast<> gives an error (on
655
655
  // mac platforms complaining that gpr_atm* is (long *) while
656
656
  // (&g_shared_mutables.min_timer) is a (long long *). The cast should be
657
657
  // safe since we know that both are pointer types and 64-bit wide
@@ -342,8 +342,8 @@ void grpc_timer_manager_shutdown(void) {
342
342
  gpr_cv_destroy(&g_cv_shutdown);
343
343
  }
344
344
 
345
- void grpc_timer_manager_set_threading(bool threaded) {
346
- if (threaded) {
345
+ void grpc_timer_manager_set_threading(bool enabled) {
346
+ if (enabled) {
347
347
  start_threads();
348
348
  } else {
349
349
  stop_threads();