grpc 1.9.1 → 1.10.0.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (637) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +2654 -953
  3. data/etc/roots.pem +282 -683
  4. data/include/grpc/compression.h +9 -26
  5. data/include/grpc/grpc.h +10 -24
  6. data/include/grpc/grpc_security.h +7 -1
  7. data/include/grpc/impl/codegen/compression_types.h +5 -62
  8. data/include/grpc/impl/codegen/grpc_types.h +10 -6
  9. data/include/grpc/module.modulemap +1 -10
  10. data/include/grpc/support/alloc.h +3 -2
  11. data/include/grpc/support/log.h +1 -2
  12. data/{src/core/lib/gpr/thd_internal.h → include/grpc/support/thd_id.h} +23 -9
  13. data/src/boringssl/err_data.c +550 -496
  14. data/src/core/ext/census/grpc_context.cc +2 -1
  15. data/src/core/ext/filters/client_channel/backup_poller.cc +5 -4
  16. data/src/core/ext/filters/client_channel/channel_connectivity.cc +7 -7
  17. data/src/core/ext/filters/client_channel/client_channel.cc +162 -172
  18. data/src/core/ext/filters/client_channel/client_channel_factory.cc +4 -2
  19. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +10 -10
  20. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +18 -14
  21. data/src/core/ext/filters/client_channel/http_proxy.cc +3 -1
  22. data/src/core/ext/filters/client_channel/lb_policy.cc +21 -105
  23. data/src/core/ext/filters/client_channel/lb_policy.h +166 -170
  24. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +41 -36
  25. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +1452 -1459
  26. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -1
  27. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +3 -2
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +7 -8
  29. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +27 -27
  30. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +279 -304
  31. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +358 -330
  32. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +30 -41
  33. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +7 -14
  34. data/src/core/ext/filters/client_channel/lb_policy_factory.cc +8 -21
  35. data/src/core/ext/filters/client_channel/lb_policy_factory.h +23 -27
  36. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +58 -33
  37. data/src/core/ext/filters/client_channel/lb_policy_registry.h +25 -12
  38. data/src/core/ext/filters/client_channel/parse_address.cc +10 -8
  39. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +2 -2
  40. data/src/core/ext/filters/client_channel/resolver.cc +6 -52
  41. data/src/core/ext/filters/client_channel/resolver.h +98 -55
  42. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +266 -237
  43. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +5 -5
  44. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +31 -27
  45. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +244 -207
  46. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +161 -148
  47. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +47 -31
  48. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +126 -126
  49. data/src/core/ext/filters/client_channel/resolver_factory.h +33 -32
  50. data/src/core/ext/filters/client_channel/resolver_registry.cc +110 -90
  51. data/src/core/ext/filters/client_channel/resolver_registry.h +49 -36
  52. data/src/core/ext/filters/client_channel/retry_throttle.cc +29 -22
  53. data/src/core/ext/filters/client_channel/subchannel.cc +173 -173
  54. data/src/core/ext/filters/client_channel/subchannel.h +38 -45
  55. data/src/core/ext/filters/client_channel/subchannel_index.cc +44 -40
  56. data/src/core/ext/filters/client_channel/uri_parser.cc +3 -3
  57. data/src/core/ext/filters/deadline/deadline_filter.cc +27 -18
  58. data/src/core/ext/filters/http/client/http_client_filter.cc +26 -23
  59. data/src/core/ext/filters/http/http_filters_plugin.cc +3 -2
  60. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +78 -110
  61. data/src/core/ext/filters/http/server/http_server_filter.cc +29 -26
  62. data/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +9 -11
  63. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc +2 -1
  64. data/src/core/ext/filters/max_age/max_age_filter.cc +14 -14
  65. data/src/core/ext/filters/message_size/message_size_filter.cc +20 -18
  66. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -4
  67. data/src/core/ext/filters/workarounds/workaround_utils.cc +4 -4
  68. data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
  69. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +10 -10
  70. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +4 -4
  71. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +11 -12
  72. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +16 -13
  73. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +36 -9
  74. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +3 -0
  75. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +17 -14
  76. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +139 -145
  77. data/src/core/ext/transport/chttp2/transport/flow_control.cc +16 -14
  78. data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -7
  79. data/src/core/ext/transport/chttp2/transport/frame_data.cc +35 -33
  80. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +27 -25
  81. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +12 -12
  82. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +16 -15
  83. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +19 -19
  84. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +11 -11
  85. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +23 -22
  86. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +35 -35
  87. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +10 -7
  88. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +2 -2
  89. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
  90. data/src/core/ext/transport/chttp2/transport/internal.h +1 -1
  91. data/src/core/ext/transport/chttp2/transport/parsing.cc +35 -39
  92. data/src/core/ext/transport/chttp2/transport/stream_map.cc +8 -7
  93. data/src/core/ext/transport/chttp2/transport/varint.cc +5 -5
  94. data/src/core/ext/transport/chttp2/transport/writing.cc +18 -18
  95. data/src/core/ext/transport/inproc/inproc_transport.cc +43 -23
  96. data/src/core/lib/{gpr → avl}/avl.cc +61 -57
  97. data/{include/grpc/support → src/core/lib/avl}/avl.h +25 -35
  98. data/src/core/lib/backoff/backoff.cc +6 -5
  99. data/src/core/lib/channel/channel_args.cc +23 -109
  100. data/src/core/lib/channel/channel_args.h +5 -31
  101. data/src/core/lib/channel/channel_stack.cc +11 -8
  102. data/src/core/lib/channel/channel_stack_builder.cc +10 -7
  103. data/src/core/lib/channel/connected_channel.cc +18 -17
  104. data/src/core/lib/channel/handshaker.cc +8 -8
  105. data/src/core/lib/channel/handshaker_registry.cc +3 -2
  106. data/src/core/lib/compression/algorithm_metadata.h +13 -6
  107. data/src/core/lib/compression/compression.cc +72 -183
  108. data/src/core/lib/compression/compression_internal.cc +274 -0
  109. data/src/core/lib/compression/compression_internal.h +86 -0
  110. data/src/core/lib/compression/message_compress.cc +15 -15
  111. data/src/core/lib/compression/message_compress.h +4 -3
  112. data/src/core/lib/compression/stream_compression_gzip.cc +8 -8
  113. data/src/core/lib/compression/stream_compression_identity.cc +1 -1
  114. data/src/core/lib/debug/stats.cc +10 -8
  115. data/src/core/lib/debug/stats_data.cc +2 -1
  116. data/src/core/lib/debug/trace.cc +3 -3
  117. data/src/core/lib/gpr/alloc.cc +7 -11
  118. data/src/core/lib/gpr/arena.cc +34 -12
  119. data/src/core/lib/gpr/atm.cc +2 -1
  120. data/src/core/lib/gpr/cpu_linux.cc +3 -3
  121. data/src/core/lib/gpr/cpu_posix.cc +2 -1
  122. data/src/core/lib/gpr/env.h +1 -1
  123. data/src/core/lib/gpr/env_linux.cc +1 -1
  124. data/src/core/lib/gpr/env_windows.cc +4 -4
  125. data/src/core/lib/gpr/fork.cc +16 -2
  126. data/src/core/lib/gpr/host_port.cc +5 -4
  127. data/{include/grpc/support → src/core/lib/gpr}/host_port.h +5 -13
  128. data/src/core/lib/gpr/log.cc +5 -4
  129. data/src/core/lib/gpr/log_linux.cc +1 -1
  130. data/src/core/lib/gpr/mpscq.cc +1 -0
  131. data/src/core/lib/gpr/murmur_hash.cc +4 -4
  132. data/src/core/lib/gpr/string.cc +19 -16
  133. data/src/core/lib/gpr/string_posix.cc +3 -3
  134. data/src/core/lib/gpr/sync_posix.cc +5 -9
  135. data/src/core/lib/gpr/thd.cc +3 -3
  136. data/{include/grpc/support → src/core/lib/gpr}/thd.h +20 -28
  137. data/src/core/lib/gpr/thd_posix.cc +6 -4
  138. data/src/core/lib/gpr/thd_windows.cc +3 -1
  139. data/src/core/lib/gpr/time.cc +6 -4
  140. data/src/core/lib/gpr/time_posix.cc +2 -2
  141. data/{include/grpc/support → src/core/lib/gpr}/tls.h +6 -6
  142. data/{include/grpc/support → src/core/lib/gpr}/tls_gcc.h +3 -3
  143. data/{include/grpc/support → src/core/lib/gpr}/tls_msvc.h +3 -3
  144. data/src/core/lib/gpr/tls_pthread.cc +1 -1
  145. data/{include/grpc/support → src/core/lib/gpr}/tls_pthread.h +3 -3
  146. data/{include/grpc/support → src/core/lib/gpr}/useful.h +3 -3
  147. data/src/core/lib/{gpr++ → gprpp}/abstract.h +3 -3
  148. data/src/core/lib/{gpr++ → gprpp}/atomic.h +5 -5
  149. data/src/core/lib/{gpr++ → gprpp}/atomic_with_atm.h +3 -3
  150. data/src/core/lib/{gpr++ → gprpp}/atomic_with_std.h +3 -3
  151. data/src/core/lib/{gpr++ → gprpp}/debug_location.h +3 -3
  152. data/src/core/lib/{gpr++ → gprpp}/inlined_vector.h +44 -22
  153. data/src/core/lib/{gpr++ → gprpp}/manual_constructor.h +2 -2
  154. data/src/core/lib/{gpr++ → gprpp}/memory.h +14 -5
  155. data/src/core/lib/{gpr++ → gprpp}/orphanable.h +39 -14
  156. data/src/core/lib/{gpr++ → gprpp}/ref_counted.h +42 -10
  157. data/src/core/lib/{gpr++ → gprpp}/ref_counted_ptr.h +18 -8
  158. data/src/core/lib/http/format_request.cc +3 -3
  159. data/src/core/lib/http/httpcli.cc +6 -7
  160. data/src/core/lib/http/httpcli_security_connector.cc +10 -10
  161. data/src/core/lib/http/parser.cc +16 -12
  162. data/src/core/lib/iomgr/call_combiner.cc +12 -13
  163. data/src/core/lib/iomgr/closure.h +4 -6
  164. data/src/core/lib/iomgr/combiner.cc +10 -21
  165. data/src/core/lib/iomgr/error.cc +50 -55
  166. data/src/core/lib/iomgr/ev_epoll1_linux.cc +41 -52
  167. data/src/core/lib/iomgr/ev_epollex_linux.cc +80 -28
  168. data/src/core/lib/iomgr/ev_epollsig_linux.cc +23 -30
  169. data/src/core/lib/iomgr/ev_poll_posix.cc +52 -46
  170. data/src/core/lib/iomgr/ev_posix.cc +47 -6
  171. data/src/core/lib/iomgr/exec_ctx.cc +10 -10
  172. data/src/core/lib/iomgr/exec_ctx.h +1 -1
  173. data/src/core/lib/iomgr/executor.cc +16 -13
  174. data/src/core/lib/iomgr/fork_posix.cc +1 -3
  175. data/src/core/lib/iomgr/gethostname_host_name_max.cc +1 -1
  176. data/src/core/lib/iomgr/iocp_windows.cc +1 -2
  177. data/src/core/lib/iomgr/iomgr.cc +2 -2
  178. data/src/core/lib/iomgr/iomgr_uv.cc +2 -0
  179. data/src/core/lib/iomgr/iomgr_uv.h +1 -1
  180. data/src/core/lib/iomgr/is_epollexclusive_available.cc +5 -4
  181. data/src/core/lib/iomgr/load_file.cc +3 -3
  182. data/src/core/lib/iomgr/pollset_windows.cc +1 -1
  183. data/src/core/lib/iomgr/resolve_address_posix.cc +10 -9
  184. data/src/core/lib/iomgr/resolve_address_uv.cc +2 -2
  185. data/src/core/lib/iomgr/resolve_address_windows.cc +3 -2
  186. data/src/core/lib/iomgr/resource_quota.cc +36 -34
  187. data/src/core/lib/iomgr/sockaddr_utils.cc +39 -23
  188. data/src/core/lib/iomgr/socket_factory_posix.cc +5 -5
  189. data/src/core/lib/iomgr/socket_mutator.cc +7 -7
  190. data/src/core/lib/iomgr/socket_utils_common_posix.cc +7 -4
  191. data/src/core/lib/iomgr/socket_utils_linux.cc +3 -2
  192. data/src/core/lib/iomgr/tcp_client_posix.cc +7 -6
  193. data/src/core/lib/iomgr/tcp_client_windows.cc +0 -1
  194. data/src/core/lib/iomgr/tcp_posix.cc +47 -55
  195. data/src/core/lib/iomgr/tcp_server_posix.cc +12 -10
  196. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +7 -5
  197. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -3
  198. data/src/core/lib/iomgr/tcp_windows.cc +1 -1
  199. data/src/core/lib/iomgr/timer_generic.cc +16 -14
  200. data/src/core/lib/iomgr/timer_heap.cc +8 -7
  201. data/src/core/lib/iomgr/timer_manager.cc +4 -3
  202. data/src/core/lib/iomgr/udp_server.cc +24 -16
  203. data/src/core/lib/iomgr/unix_sockets_posix.cc +15 -10
  204. data/src/core/lib/iomgr/wakeup_fd_cv.cc +6 -5
  205. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +1 -2
  206. data/src/core/lib/json/json.cc +1 -1
  207. data/src/core/lib/json/json_reader.cc +8 -6
  208. data/src/core/lib/json/json_string.cc +19 -18
  209. data/src/core/lib/json/json_writer.cc +10 -8
  210. data/src/core/lib/profiling/basic_timers.cc +1 -1
  211. data/src/core/lib/profiling/timers.h +3 -20
  212. data/src/core/lib/security/context/security_context.cc +16 -14
  213. data/src/core/lib/security/credentials/composite/composite_credentials.cc +17 -14
  214. data/src/core/lib/security/credentials/credentials.cc +9 -8
  215. data/src/core/lib/security/credentials/credentials.h +1 -1
  216. data/src/core/lib/security/credentials/credentials_metadata.cc +2 -2
  217. data/src/core/lib/security/credentials/fake/fake_credentials.cc +12 -13
  218. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +7 -4
  219. data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -3
  220. data/src/core/lib/security/credentials/jwt/json_token.cc +4 -3
  221. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -7
  222. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +21 -18
  223. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +23 -18
  224. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +11 -7
  225. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +22 -21
  226. data/src/core/lib/security/{transport → security_connector}/security_connector.cc +46 -43
  227. data/src/core/lib/security/{transport → security_connector}/security_connector.h +3 -3
  228. data/src/core/lib/security/transport/client_auth_filter.cc +32 -34
  229. data/src/core/lib/security/transport/lb_targets_info.cc +7 -5
  230. data/src/core/lib/security/transport/secure_endpoint.cc +21 -21
  231. data/src/core/lib/security/transport/security_handshaker.cc +19 -18
  232. data/src/core/lib/security/transport/security_handshaker.h +1 -1
  233. data/src/core/lib/security/transport/server_auth_filter.cc +21 -21
  234. data/src/core/lib/slice/b64.cc +19 -16
  235. data/src/core/lib/slice/percent_encoding.cc +5 -5
  236. data/src/core/lib/slice/slice.cc +35 -33
  237. data/src/core/lib/slice/slice_buffer.cc +16 -14
  238. data/src/core/lib/slice/slice_hash_table.cc +3 -2
  239. data/src/core/lib/slice/slice_intern.cc +21 -25
  240. data/src/core/lib/slice/slice_string_helpers.cc +45 -9
  241. data/src/core/lib/slice/slice_string_helpers.h +6 -0
  242. data/src/core/lib/surface/byte_buffer.cc +2 -2
  243. data/src/core/lib/surface/byte_buffer_reader.cc +6 -3
  244. data/src/core/lib/surface/call.cc +171 -260
  245. data/src/core/lib/surface/call_test_only.h +1 -13
  246. data/src/core/lib/surface/channel.cc +20 -43
  247. data/src/core/lib/surface/channel_init.cc +7 -7
  248. data/src/core/lib/surface/channel_ping.cc +2 -2
  249. data/src/core/lib/surface/completion_queue.cc +69 -75
  250. data/src/core/lib/surface/init.cc +4 -5
  251. data/src/core/lib/surface/init_secure.cc +1 -1
  252. data/src/core/lib/surface/lame_client.cc +1 -1
  253. data/src/core/lib/surface/server.cc +64 -59
  254. data/src/core/lib/surface/version.cc +2 -2
  255. data/src/core/lib/transport/bdp_estimator.cc +6 -5
  256. data/src/core/lib/transport/byte_stream.cc +23 -14
  257. data/src/core/lib/transport/byte_stream.h +1 -1
  258. data/src/core/lib/transport/connectivity_state.cc +9 -13
  259. data/src/core/lib/transport/error_utils.cc +10 -7
  260. data/src/core/lib/transport/metadata.cc +27 -26
  261. data/src/core/lib/transport/metadata.h +1 -1
  262. data/src/core/lib/transport/pid_controller.cc +2 -1
  263. data/src/core/lib/transport/service_config.cc +5 -5
  264. data/src/core/lib/transport/static_metadata.cc +225 -222
  265. data/src/core/lib/transport/static_metadata.h +77 -76
  266. data/src/core/lib/transport/timeout_encoding.cc +3 -2
  267. data/src/core/lib/transport/transport.cc +6 -5
  268. data/src/core/lib/transport/transport_op_string.cc +0 -1
  269. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -4
  270. data/src/core/tsi/alts_transport_security.cc +61 -0
  271. data/src/core/tsi/{gts_transport_security.h → alts_transport_security.h} +16 -8
  272. data/src/core/tsi/fake_transport_security.cc +59 -43
  273. data/src/core/tsi/ssl_transport_security.cc +122 -107
  274. data/src/core/tsi/transport_security.cc +3 -3
  275. data/src/core/tsi/transport_security_adapter.cc +16 -10
  276. data/src/ruby/bin/apis/pubsub_demo.rb +1 -1
  277. data/src/ruby/ext/grpc/rb_channel.c +3 -4
  278. data/src/ruby/ext/grpc/rb_compression_options.c +13 -3
  279. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -76
  280. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +8 -120
  281. data/src/ruby/ext/grpc/rb_server.c +52 -28
  282. data/src/ruby/lib/grpc/generic/rpc_server.rb +7 -4
  283. data/src/ruby/lib/grpc/version.rb +1 -1
  284. data/src/ruby/pb/test/client.rb +1 -1
  285. data/src/ruby/pb/test/server.rb +1 -1
  286. data/src/ruby/spec/client_server_spec.rb +4 -2
  287. data/src/ruby/spec/generic/active_call_spec.rb +2 -1
  288. data/src/ruby/spec/generic/client_stub_spec.rb +32 -8
  289. data/src/ruby/spec/server_spec.rb +26 -7
  290. data/third_party/boringssl/crypto/asn1/a_bitstr.c +7 -2
  291. data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +15 -0
  292. data/third_party/boringssl/crypto/asn1/a_gentm.c +1 -1
  293. data/third_party/boringssl/crypto/asn1/a_print.c +0 -28
  294. data/third_party/boringssl/crypto/asn1/a_strnid.c +3 -0
  295. data/third_party/boringssl/crypto/asn1/a_time.c +17 -9
  296. data/third_party/boringssl/crypto/asn1/a_utctm.c +1 -1
  297. data/third_party/boringssl/crypto/asn1/asn1_lib.c +5 -49
  298. data/third_party/boringssl/crypto/asn1/asn1_locl.h +1 -1
  299. data/third_party/boringssl/crypto/asn1/tasn_dec.c +9 -9
  300. data/third_party/boringssl/crypto/asn1/tasn_enc.c +0 -6
  301. data/third_party/boringssl/crypto/asn1/time_support.c +5 -5
  302. data/third_party/boringssl/crypto/base64/base64.c +65 -43
  303. data/third_party/boringssl/crypto/bio/bio.c +134 -110
  304. data/third_party/boringssl/crypto/bio/bio_mem.c +9 -9
  305. data/third_party/boringssl/crypto/bio/connect.c +17 -17
  306. data/third_party/boringssl/crypto/bio/fd.c +2 -1
  307. data/third_party/boringssl/crypto/bio/file.c +14 -14
  308. data/third_party/boringssl/crypto/bio/hexdump.c +15 -16
  309. data/third_party/boringssl/crypto/bio/internal.h +14 -14
  310. data/third_party/boringssl/crypto/bio/pair.c +45 -45
  311. data/third_party/boringssl/crypto/bio/printf.c +6 -10
  312. data/third_party/boringssl/crypto/{bn → bn_extra}/bn_asn1.c +9 -9
  313. data/third_party/boringssl/crypto/{bn → bn_extra}/convert.c +18 -223
  314. data/third_party/boringssl/crypto/buf/buf.c +20 -44
  315. data/third_party/boringssl/crypto/bytestring/ber.c +35 -35
  316. data/third_party/boringssl/crypto/bytestring/cbb.c +24 -24
  317. data/third_party/boringssl/crypto/bytestring/cbs.c +33 -37
  318. data/third_party/boringssl/crypto/bytestring/internal.h +38 -38
  319. data/third_party/boringssl/crypto/chacha/chacha.c +7 -7
  320. data/third_party/boringssl/crypto/{asn1/t_bitst.c → cipher_extra/cipher_extra.c} +49 -38
  321. data/third_party/boringssl/crypto/{cipher → cipher_extra}/derive_key.c +0 -2
  322. data/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.c +281 -0
  323. data/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.c +867 -0
  324. data/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.c +326 -0
  325. data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_null.c +0 -1
  326. data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_rc2.c +22 -10
  327. data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_rc4.c +0 -0
  328. data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_ssl3.c +120 -64
  329. data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_tls.c +220 -141
  330. data/third_party/boringssl/crypto/{asn1/x_bignum.c → cipher_extra/internal.h} +61 -86
  331. data/third_party/boringssl/crypto/cipher_extra/tls_cbc.c +482 -0
  332. data/third_party/boringssl/crypto/cmac/cmac.c +20 -20
  333. data/third_party/boringssl/crypto/conf/conf.c +32 -20
  334. data/third_party/boringssl/crypto/conf/internal.h +3 -3
  335. data/third_party/boringssl/crypto/cpu-aarch64-linux.c +5 -5
  336. data/third_party/boringssl/crypto/cpu-arm-linux.c +44 -41
  337. data/third_party/boringssl/crypto/cpu-intel.c +68 -43
  338. data/third_party/boringssl/crypto/cpu-ppc64le.c +5 -7
  339. data/third_party/boringssl/crypto/crypto.c +54 -32
  340. data/third_party/boringssl/crypto/curve25519/curve25519.c +269 -269
  341. data/third_party/boringssl/crypto/curve25519/internal.h +28 -8
  342. data/third_party/boringssl/crypto/curve25519/spake25519.c +180 -106
  343. data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +9 -9
  344. data/third_party/boringssl/crypto/dh/check.c +33 -34
  345. data/third_party/boringssl/crypto/dh/dh.c +72 -36
  346. data/third_party/boringssl/crypto/dh/dh_asn1.c +1 -1
  347. data/third_party/boringssl/crypto/dh/params.c +1 -161
  348. data/third_party/boringssl/crypto/digest_extra/digest_extra.c +240 -0
  349. data/third_party/boringssl/crypto/dsa/dsa.c +127 -87
  350. data/third_party/boringssl/crypto/dsa/dsa_asn1.c +1 -1
  351. data/third_party/boringssl/crypto/{ec → ec_extra}/ec_asn1.c +83 -70
  352. data/third_party/boringssl/crypto/ecdh/ecdh.c +1 -1
  353. data/third_party/boringssl/crypto/{ecdsa → ecdsa_extra}/ecdsa_asn1.c +86 -31
  354. data/third_party/boringssl/crypto/engine/engine.c +6 -6
  355. data/third_party/boringssl/crypto/err/err.c +197 -106
  356. data/third_party/boringssl/crypto/err/internal.h +58 -0
  357. data/third_party/boringssl/crypto/evp/digestsign.c +86 -14
  358. data/third_party/boringssl/crypto/evp/evp.c +6 -11
  359. data/third_party/boringssl/crypto/evp/evp_asn1.c +17 -17
  360. data/third_party/boringssl/crypto/evp/evp_ctx.c +15 -11
  361. data/third_party/boringssl/crypto/evp/internal.h +66 -51
  362. data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +11 -11
  363. data/third_party/boringssl/crypto/evp/p_ec.c +10 -8
  364. data/third_party/boringssl/crypto/evp/p_ec_asn1.c +11 -12
  365. data/third_party/boringssl/crypto/evp/p_ed25519.c +71 -0
  366. data/third_party/boringssl/crypto/evp/p_ed25519_asn1.c +190 -0
  367. data/third_party/boringssl/crypto/evp/p_rsa.c +50 -95
  368. data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +28 -18
  369. data/third_party/boringssl/crypto/evp/pbkdf.c +49 -56
  370. data/third_party/boringssl/crypto/evp/print.c +5 -36
  371. data/third_party/boringssl/crypto/evp/scrypt.c +209 -0
  372. data/third_party/boringssl/crypto/ex_data.c +15 -45
  373. data/third_party/boringssl/crypto/fipsmodule/aes/internal.h +100 -0
  374. data/third_party/boringssl/crypto/fipsmodule/bcm.c +679 -0
  375. data/third_party/boringssl/crypto/{bn → fipsmodule/bn}/internal.h +40 -27
  376. data/third_party/boringssl/crypto/{bn → fipsmodule/bn}/rsaz_exp.h +0 -0
  377. data/third_party/boringssl/crypto/{cipher → fipsmodule/cipher}/internal.h +34 -67
  378. data/third_party/boringssl/crypto/fipsmodule/delocate.h +88 -0
  379. data/third_party/boringssl/crypto/{des → fipsmodule/des}/internal.h +18 -4
  380. data/third_party/boringssl/crypto/{digest → fipsmodule/digest}/internal.h +18 -18
  381. data/third_party/boringssl/crypto/{digest → fipsmodule/digest}/md32_common.h +58 -64
  382. data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/internal.h +58 -52
  383. data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/p256-x86_64-table.h +11 -11
  384. data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/p256-x86_64.h +32 -32
  385. data/third_party/boringssl/crypto/{rand/internal.h → fipsmodule/is_fips.c} +10 -15
  386. data/third_party/boringssl/crypto/{modes → fipsmodule/modes}/internal.h +112 -119
  387. data/third_party/boringssl/crypto/fipsmodule/rand/internal.h +92 -0
  388. data/third_party/boringssl/crypto/{rsa → fipsmodule/rsa}/internal.h +36 -49
  389. data/third_party/boringssl/crypto/hkdf/hkdf.c +6 -6
  390. data/third_party/boringssl/crypto/internal.h +301 -233
  391. data/third_party/boringssl/crypto/lhash/lhash.c +26 -45
  392. data/third_party/boringssl/crypto/mem.c +76 -33
  393. data/third_party/boringssl/crypto/obj/obj.c +44 -28
  394. data/third_party/boringssl/crypto/obj/obj_dat.h +102 -34
  395. data/third_party/boringssl/crypto/obj/obj_xref.c +6 -6
  396. data/third_party/boringssl/crypto/pem/pem_info.c +3 -5
  397. data/third_party/boringssl/crypto/pem/pem_lib.c +1 -6
  398. data/third_party/boringssl/crypto/pem/pem_pk8.c +1 -0
  399. data/third_party/boringssl/crypto/pem/pem_pkey.c +1 -1
  400. data/third_party/boringssl/crypto/pem/pem_xaux.c +0 -2
  401. data/third_party/boringssl/crypto/pkcs7/internal.h +49 -0
  402. data/third_party/boringssl/crypto/pkcs7/pkcs7.c +166 -0
  403. data/third_party/boringssl/crypto/{x509/pkcs7.c → pkcs7/pkcs7_x509.c} +27 -147
  404. data/third_party/boringssl/crypto/pkcs8/internal.h +34 -16
  405. data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +120 -39
  406. data/third_party/boringssl/crypto/pkcs8/pkcs8.c +144 -857
  407. data/third_party/boringssl/crypto/pkcs8/pkcs8_x509.c +789 -0
  408. data/third_party/boringssl/crypto/poly1305/internal.h +4 -3
  409. data/third_party/boringssl/crypto/poly1305/poly1305.c +14 -14
  410. data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +11 -11
  411. data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +41 -41
  412. data/third_party/boringssl/crypto/pool/internal.h +2 -2
  413. data/third_party/boringssl/crypto/pool/pool.c +15 -15
  414. data/third_party/boringssl/crypto/{rand → rand_extra}/deterministic.c +7 -7
  415. data/third_party/boringssl/crypto/rand_extra/forkunsafe.c +46 -0
  416. data/third_party/boringssl/crypto/{rand → rand_extra}/fuchsia.c +7 -7
  417. data/third_party/boringssl/crypto/rand_extra/rand_extra.c +70 -0
  418. data/third_party/boringssl/crypto/{rand → rand_extra}/windows.c +5 -5
  419. data/third_party/boringssl/crypto/refcount_c11.c +2 -2
  420. data/third_party/boringssl/crypto/refcount_lock.c +1 -1
  421. data/third_party/boringssl/crypto/{rsa → rsa_extra}/rsa_asn1.c +12 -120
  422. data/third_party/boringssl/crypto/stack/stack.c +13 -13
  423. data/third_party/boringssl/crypto/thread_none.c +1 -1
  424. data/third_party/boringssl/crypto/thread_pthread.c +1 -1
  425. data/third_party/boringssl/crypto/thread_win.c +40 -40
  426. data/third_party/boringssl/crypto/x509/a_sign.c +5 -12
  427. data/third_party/boringssl/crypto/x509/a_verify.c +6 -18
  428. data/third_party/boringssl/crypto/x509/algorithm.c +22 -6
  429. data/third_party/boringssl/crypto/x509/asn1_gen.c +30 -7
  430. data/third_party/boringssl/crypto/x509/by_dir.c +2 -2
  431. data/third_party/boringssl/crypto/x509/by_file.c +2 -2
  432. data/third_party/boringssl/crypto/x509/rsa_pss.c +5 -5
  433. data/third_party/boringssl/crypto/x509/t_x509.c +2 -1
  434. data/third_party/boringssl/crypto/x509/x509_def.c +5 -0
  435. data/third_party/boringssl/crypto/x509/x509_lu.c +35 -4
  436. data/third_party/boringssl/crypto/x509/x509_set.c +10 -0
  437. data/third_party/boringssl/crypto/x509/x509_vfy.c +20 -17
  438. data/third_party/boringssl/crypto/x509/x_name.c +13 -16
  439. data/third_party/boringssl/crypto/x509/x_x509.c +3 -3
  440. data/third_party/boringssl/crypto/x509/x_x509a.c +0 -7
  441. data/third_party/boringssl/crypto/x509v3/ext_dat.h +8 -0
  442. data/third_party/boringssl/crypto/x509v3/pcy_int.h +2 -2
  443. data/third_party/boringssl/crypto/x509v3/pcy_lib.c +0 -9
  444. data/third_party/boringssl/crypto/x509v3/pcy_node.c +1 -1
  445. data/third_party/boringssl/crypto/x509v3/pcy_tree.c +25 -15
  446. data/third_party/boringssl/crypto/x509v3/v3_alt.c +21 -11
  447. data/third_party/boringssl/crypto/x509v3/v3_cpols.c +9 -3
  448. data/third_party/boringssl/crypto/x509v3/v3_info.c +22 -14
  449. data/third_party/boringssl/crypto/x509v3/v3_ncons.c +27 -11
  450. data/third_party/boringssl/crypto/x509v3/v3_pci.c +0 -33
  451. data/third_party/boringssl/crypto/x509v3/v3_utl.c +4 -4
  452. data/third_party/boringssl/include/openssl/aead.h +280 -191
  453. data/third_party/boringssl/include/openssl/aes.h +50 -50
  454. data/third_party/boringssl/include/openssl/arm_arch.h +12 -12
  455. data/third_party/boringssl/include/openssl/asn1.h +14 -77
  456. data/third_party/boringssl/include/openssl/asn1t.h +11 -15
  457. data/third_party/boringssl/include/openssl/base.h +78 -51
  458. data/third_party/boringssl/include/openssl/base64.h +68 -68
  459. data/third_party/boringssl/include/openssl/bio.h +472 -406
  460. data/third_party/boringssl/include/openssl/blowfish.h +1 -1
  461. data/third_party/boringssl/include/openssl/bn.h +454 -435
  462. data/third_party/boringssl/include/openssl/buf.h +27 -27
  463. data/third_party/boringssl/include/openssl/bytestring.h +282 -267
  464. data/third_party/boringssl/include/openssl/cast.h +2 -2
  465. data/third_party/boringssl/include/openssl/chacha.h +5 -5
  466. data/third_party/boringssl/include/openssl/cipher.h +209 -200
  467. data/third_party/boringssl/include/openssl/cmac.h +27 -27
  468. data/third_party/boringssl/include/openssl/conf.h +49 -46
  469. data/third_party/boringssl/include/openssl/cpu.h +60 -45
  470. data/third_party/boringssl/include/openssl/crypto.h +59 -35
  471. data/third_party/boringssl/include/openssl/curve25519.h +97 -92
  472. data/third_party/boringssl/include/openssl/des.h +25 -25
  473. data/third_party/boringssl/include/openssl/dh.h +98 -97
  474. data/third_party/boringssl/include/openssl/digest.h +143 -114
  475. data/third_party/boringssl/include/openssl/dsa.h +217 -202
  476. data/third_party/boringssl/include/openssl/ec.h +132 -131
  477. data/third_party/boringssl/include/openssl/ec_key.h +132 -128
  478. data/third_party/boringssl/include/openssl/ecdh.h +9 -9
  479. data/third_party/boringssl/include/openssl/ecdsa.h +66 -66
  480. data/third_party/boringssl/include/openssl/engine.h +38 -38
  481. data/third_party/boringssl/include/openssl/err.h +189 -219
  482. data/third_party/boringssl/include/openssl/evp.h +473 -397
  483. data/third_party/boringssl/include/openssl/ex_data.h +46 -56
  484. data/third_party/boringssl/include/openssl/hkdf.h +17 -17
  485. data/third_party/boringssl/include/openssl/hmac.h +55 -43
  486. data/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  487. data/third_party/boringssl/include/openssl/lhash.h +67 -67
  488. data/third_party/boringssl/include/openssl/lhash_macros.h +4 -4
  489. data/third_party/boringssl/include/openssl/md4.h +14 -14
  490. data/third_party/boringssl/include/openssl/md5.h +14 -14
  491. data/third_party/boringssl/include/openssl/mem.h +39 -33
  492. data/third_party/boringssl/include/openssl/nid.h +43 -0
  493. data/third_party/boringssl/include/openssl/obj.h +93 -87
  494. data/third_party/boringssl/include/openssl/opensslconf.h +8 -1
  495. data/third_party/boringssl/include/openssl/pem.h +2 -122
  496. data/third_party/boringssl/include/openssl/pkcs7.h +68 -2
  497. data/third_party/boringssl/include/openssl/pkcs8.h +81 -66
  498. data/third_party/boringssl/include/openssl/poly1305.h +11 -11
  499. data/third_party/boringssl/include/openssl/pool.h +29 -25
  500. data/third_party/boringssl/include/openssl/rand.h +48 -45
  501. data/third_party/boringssl/include/openssl/rc4.h +9 -9
  502. data/third_party/boringssl/include/openssl/ripemd.h +13 -13
  503. data/third_party/boringssl/include/openssl/rsa.h +371 -340
  504. data/third_party/boringssl/include/openssl/sha.h +71 -71
  505. data/third_party/boringssl/include/openssl/span.h +191 -0
  506. data/third_party/boringssl/include/openssl/ssl.h +2639 -2519
  507. data/third_party/boringssl/include/openssl/ssl3.h +39 -122
  508. data/third_party/boringssl/include/openssl/stack.h +355 -164
  509. data/third_party/boringssl/include/openssl/thread.h +43 -43
  510. data/third_party/boringssl/include/openssl/tls1.h +60 -63
  511. data/third_party/boringssl/include/openssl/type_check.h +10 -14
  512. data/third_party/boringssl/include/openssl/x509.h +41 -116
  513. data/third_party/boringssl/include/openssl/x509_vfy.h +17 -25
  514. data/third_party/boringssl/include/openssl/x509v3.h +27 -21
  515. data/third_party/boringssl/ssl/{bio_ssl.c → bio_ssl.cc} +9 -5
  516. data/third_party/boringssl/ssl/{custom_extensions.c → custom_extensions.cc} +19 -12
  517. data/third_party/boringssl/ssl/{d1_both.c → d1_both.cc} +224 -193
  518. data/third_party/boringssl/ssl/{d1_lib.c → d1_lib.cc} +86 -79
  519. data/third_party/boringssl/ssl/{d1_pkt.c → d1_pkt.cc} +55 -87
  520. data/third_party/boringssl/ssl/{d1_srtp.c → d1_srtp.cc} +12 -16
  521. data/third_party/boringssl/ssl/{dtls_method.c → dtls_method.cc} +33 -50
  522. data/third_party/boringssl/ssl/{dtls_record.c → dtls_record.cc} +76 -64
  523. data/third_party/boringssl/ssl/handshake.cc +547 -0
  524. data/third_party/boringssl/ssl/handshake_client.cc +1828 -0
  525. data/third_party/boringssl/ssl/handshake_server.cc +1672 -0
  526. data/third_party/boringssl/ssl/internal.h +2027 -1280
  527. data/third_party/boringssl/ssl/s3_both.cc +603 -0
  528. data/third_party/boringssl/ssl/{s3_lib.c → s3_lib.cc} +22 -10
  529. data/third_party/boringssl/ssl/{s3_pkt.c → s3_pkt.cc} +171 -75
  530. data/third_party/boringssl/ssl/ssl_aead_ctx.cc +415 -0
  531. data/third_party/boringssl/ssl/{ssl_asn1.c → ssl_asn1.cc} +257 -261
  532. data/third_party/boringssl/ssl/{ssl_buffer.c → ssl_buffer.cc} +81 -97
  533. data/third_party/boringssl/ssl/{ssl_cert.c → ssl_cert.cc} +304 -414
  534. data/third_party/boringssl/ssl/{ssl_cipher.c → ssl_cipher.cc} +427 -505
  535. data/third_party/boringssl/ssl/{ssl_file.c → ssl_file.cc} +24 -16
  536. data/third_party/boringssl/ssl/ssl_key_share.cc +245 -0
  537. data/third_party/boringssl/ssl/{ssl_lib.c → ssl_lib.cc} +665 -828
  538. data/third_party/boringssl/ssl/ssl_privkey.cc +518 -0
  539. data/third_party/boringssl/ssl/{ssl_session.c → ssl_session.cc} +596 -471
  540. data/third_party/boringssl/ssl/{ssl_stat.c → ssl_stat.cc} +5 -224
  541. data/third_party/boringssl/ssl/{ssl_transcript.c → ssl_transcript.cc} +117 -140
  542. data/third_party/boringssl/ssl/ssl_versions.cc +439 -0
  543. data/third_party/boringssl/ssl/{ssl_x509.c → ssl_x509.cc} +751 -267
  544. data/third_party/boringssl/ssl/{t1_enc.c → t1_enc.cc} +120 -161
  545. data/third_party/boringssl/ssl/{t1_lib.c → t1_lib.cc} +859 -966
  546. data/third_party/boringssl/ssl/{tls13_both.c → tls13_both.cc} +202 -284
  547. data/third_party/boringssl/ssl/tls13_client.cc +842 -0
  548. data/third_party/boringssl/ssl/{tls13_enc.c → tls13_enc.cc} +108 -90
  549. data/third_party/boringssl/ssl/tls13_server.cc +967 -0
  550. data/third_party/boringssl/ssl/{tls_method.c → tls_method.cc} +94 -73
  551. data/third_party/boringssl/ssl/tls_record.cc +675 -0
  552. metadata +117 -168
  553. data/include/grpc/support/cmdline.h +0 -88
  554. data/include/grpc/support/subprocess.h +0 -44
  555. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -29
  556. data/src/core/ext/filters/client_channel/resolver_factory.cc +0 -40
  557. data/src/core/lib/gpr/cmdline.cc +0 -330
  558. data/src/core/lib/gpr/subprocess_posix.cc +0 -99
  559. data/src/core/lib/gpr/subprocess_windows.cc +0 -126
  560. data/src/core/lib/surface/alarm.cc +0 -137
  561. data/src/core/lib/surface/alarm_internal.h +0 -40
  562. data/src/core/tsi/gts_transport_security.cc +0 -40
  563. data/third_party/boringssl/crypto/aes/aes.c +0 -1142
  564. data/third_party/boringssl/crypto/aes/internal.h +0 -87
  565. data/third_party/boringssl/crypto/aes/key_wrap.c +0 -138
  566. data/third_party/boringssl/crypto/aes/mode_wrappers.c +0 -112
  567. data/third_party/boringssl/crypto/asn1/x_long.c +0 -200
  568. data/third_party/boringssl/crypto/bn/add.c +0 -377
  569. data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +0 -532
  570. data/third_party/boringssl/crypto/bn/bn.c +0 -365
  571. data/third_party/boringssl/crypto/bn/cmp.c +0 -239
  572. data/third_party/boringssl/crypto/bn/ctx.c +0 -313
  573. data/third_party/boringssl/crypto/bn/div.c +0 -728
  574. data/third_party/boringssl/crypto/bn/exponentiation.c +0 -1240
  575. data/third_party/boringssl/crypto/bn/gcd.c +0 -635
  576. data/third_party/boringssl/crypto/bn/generic.c +0 -707
  577. data/third_party/boringssl/crypto/bn/kronecker.c +0 -176
  578. data/third_party/boringssl/crypto/bn/montgomery.c +0 -409
  579. data/third_party/boringssl/crypto/bn/montgomery_inv.c +0 -207
  580. data/third_party/boringssl/crypto/bn/mul.c +0 -871
  581. data/third_party/boringssl/crypto/bn/prime.c +0 -861
  582. data/third_party/boringssl/crypto/bn/random.c +0 -343
  583. data/third_party/boringssl/crypto/bn/rsaz_exp.c +0 -254
  584. data/third_party/boringssl/crypto/bn/shift.c +0 -307
  585. data/third_party/boringssl/crypto/bn/sqrt.c +0 -506
  586. data/third_party/boringssl/crypto/cipher/aead.c +0 -156
  587. data/third_party/boringssl/crypto/cipher/cipher.c +0 -657
  588. data/third_party/boringssl/crypto/cipher/e_aes.c +0 -1771
  589. data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +0 -276
  590. data/third_party/boringssl/crypto/cipher/e_des.c +0 -205
  591. data/third_party/boringssl/crypto/cipher/tls_cbc.c +0 -482
  592. data/third_party/boringssl/crypto/des/des.c +0 -771
  593. data/third_party/boringssl/crypto/digest/digest.c +0 -251
  594. data/third_party/boringssl/crypto/digest/digests.c +0 -358
  595. data/third_party/boringssl/crypto/ec/ec.c +0 -847
  596. data/third_party/boringssl/crypto/ec/ec_key.c +0 -479
  597. data/third_party/boringssl/crypto/ec/ec_montgomery.c +0 -303
  598. data/third_party/boringssl/crypto/ec/oct.c +0 -416
  599. data/third_party/boringssl/crypto/ec/p224-64.c +0 -1143
  600. data/third_party/boringssl/crypto/ec/p256-64.c +0 -1701
  601. data/third_party/boringssl/crypto/ec/p256-x86_64.c +0 -561
  602. data/third_party/boringssl/crypto/ec/simple.c +0 -1118
  603. data/third_party/boringssl/crypto/ec/util-64.c +0 -109
  604. data/third_party/boringssl/crypto/ec/wnaf.c +0 -458
  605. data/third_party/boringssl/crypto/ecdsa/ecdsa.c +0 -479
  606. data/third_party/boringssl/crypto/hmac/hmac.c +0 -215
  607. data/third_party/boringssl/crypto/md4/md4.c +0 -236
  608. data/third_party/boringssl/crypto/md5/md5.c +0 -285
  609. data/third_party/boringssl/crypto/modes/cbc.c +0 -212
  610. data/third_party/boringssl/crypto/modes/cfb.c +0 -230
  611. data/third_party/boringssl/crypto/modes/ctr.c +0 -219
  612. data/third_party/boringssl/crypto/modes/gcm.c +0 -1071
  613. data/third_party/boringssl/crypto/modes/ofb.c +0 -95
  614. data/third_party/boringssl/crypto/modes/polyval.c +0 -94
  615. data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +0 -85
  616. data/third_party/boringssl/crypto/rand/rand.c +0 -244
  617. data/third_party/boringssl/crypto/rand/urandom.c +0 -335
  618. data/third_party/boringssl/crypto/rsa/blinding.c +0 -265
  619. data/third_party/boringssl/crypto/rsa/padding.c +0 -708
  620. data/third_party/boringssl/crypto/rsa/rsa.c +0 -830
  621. data/third_party/boringssl/crypto/rsa/rsa_impl.c +0 -1100
  622. data/third_party/boringssl/crypto/sha/sha1-altivec.c +0 -346
  623. data/third_party/boringssl/crypto/sha/sha1.c +0 -355
  624. data/third_party/boringssl/crypto/sha/sha256.c +0 -329
  625. data/third_party/boringssl/crypto/sha/sha512.c +0 -609
  626. data/third_party/boringssl/crypto/x509/x509type.c +0 -126
  627. data/third_party/boringssl/include/openssl/stack_macros.h +0 -3987
  628. data/third_party/boringssl/ssl/handshake_client.c +0 -1883
  629. data/third_party/boringssl/ssl/handshake_server.c +0 -1950
  630. data/third_party/boringssl/ssl/s3_both.c +0 -895
  631. data/third_party/boringssl/ssl/ssl_aead_ctx.c +0 -335
  632. data/third_party/boringssl/ssl/ssl_ecdh.c +0 -465
  633. data/third_party/boringssl/ssl/ssl_privkey.c +0 -683
  634. data/third_party/boringssl/ssl/ssl_privkey_cc.cc +0 -76
  635. data/third_party/boringssl/ssl/tls13_client.c +0 -712
  636. data/third_party/boringssl/ssl/tls13_server.c +0 -680
  637. data/third_party/boringssl/ssl/tls_record.c +0 -556
@@ -21,9 +21,9 @@
21
21
 
22
22
  #include "src/core/ext/filters/client_channel/connector.h"
23
23
  #include "src/core/lib/channel/channel_stack.h"
24
- #include "src/core/lib/gpr++/ref_counted.h"
25
- #include "src/core/lib/gpr++/ref_counted_ptr.h"
26
24
  #include "src/core/lib/gpr/arena.h"
25
+ #include "src/core/lib/gprpp/ref_counted.h"
26
+ #include "src/core/lib/gprpp/ref_counted_ptr.h"
27
27
  #include "src/core/lib/iomgr/polling_entity.h"
28
28
  #include "src/core/lib/transport/connectivity_state.h"
29
29
  #include "src/core/lib/transport/metadata.h"
@@ -34,7 +34,6 @@
34
34
  /** A (sub-)channel that knows how to connect to exactly one target
35
35
  address. Provides a target for load balancing. */
36
36
  typedef struct grpc_subchannel grpc_subchannel;
37
- typedef struct grpc_connected_subchannel grpc_connected_subchannel;
38
37
  typedef struct grpc_subchannel_call grpc_subchannel_call;
39
38
  typedef struct grpc_subchannel_args grpc_subchannel_args;
40
39
  typedef struct grpc_subchannel_key grpc_subchannel_key;
@@ -50,10 +49,6 @@ typedef struct grpc_subchannel_key grpc_subchannel_key;
50
49
  grpc_subchannel_weak_ref((p), __FILE__, __LINE__, (r))
51
50
  #define GRPC_SUBCHANNEL_WEAK_UNREF(p, r) \
52
51
  grpc_subchannel_weak_unref((p), __FILE__, __LINE__, (r))
53
- #define GRPC_CONNECTED_SUBCHANNEL_REF(p, r) \
54
- grpc_connected_subchannel_ref((p), __FILE__, __LINE__, (r))
55
- #define GRPC_CONNECTED_SUBCHANNEL_UNREF(p, r) \
56
- grpc_connected_subchannel_unref((p), __FILE__, __LINE__, (r))
57
52
  #define GRPC_SUBCHANNEL_CALL_REF(p, r) \
58
53
  grpc_subchannel_call_ref((p), __FILE__, __LINE__, (r))
59
54
  #define GRPC_SUBCHANNEL_CALL_UNREF(p, r) \
@@ -67,14 +62,41 @@ typedef struct grpc_subchannel_key grpc_subchannel_key;
67
62
  #define GRPC_SUBCHANNEL_UNREF(p, r) grpc_subchannel_unref((p))
68
63
  #define GRPC_SUBCHANNEL_WEAK_REF(p, r) grpc_subchannel_weak_ref((p))
69
64
  #define GRPC_SUBCHANNEL_WEAK_UNREF(p, r) grpc_subchannel_weak_unref((p))
70
- #define GRPC_CONNECTED_SUBCHANNEL_REF(p, r) grpc_connected_subchannel_ref((p))
71
- #define GRPC_CONNECTED_SUBCHANNEL_UNREF(p, r) \
72
- grpc_connected_subchannel_unref((p))
73
65
  #define GRPC_SUBCHANNEL_CALL_REF(p, r) grpc_subchannel_call_ref((p))
74
66
  #define GRPC_SUBCHANNEL_CALL_UNREF(p, r) grpc_subchannel_call_unref((p))
75
67
  #define GRPC_SUBCHANNEL_REF_EXTRA_ARGS
76
68
  #endif
77
69
 
70
+ namespace grpc_core {
71
+
72
+ class ConnectedSubchannel : public RefCountedWithTracing<ConnectedSubchannel> {
73
+ public:
74
+ struct CallArgs {
75
+ grpc_polling_entity* pollent;
76
+ grpc_slice path;
77
+ gpr_timespec start_time;
78
+ grpc_millis deadline;
79
+ gpr_arena* arena;
80
+ grpc_call_context_element* context;
81
+ grpc_call_combiner* call_combiner;
82
+ };
83
+
84
+ explicit ConnectedSubchannel(grpc_channel_stack* channel_stack);
85
+ ~ConnectedSubchannel();
86
+
87
+ grpc_channel_stack* channel_stack() { return channel_stack_; }
88
+ void NotifyOnStateChange(grpc_pollset_set* interested_parties,
89
+ grpc_connectivity_state* state,
90
+ grpc_closure* closure);
91
+ void Ping(grpc_closure* on_initiate, grpc_closure* on_ack);
92
+ grpc_error* CreateCall(const CallArgs& args, grpc_subchannel_call** call);
93
+
94
+ private:
95
+ grpc_channel_stack* channel_stack_;
96
+ };
97
+
98
+ } // namespace grpc_core
99
+
78
100
  grpc_subchannel* grpc_subchannel_ref(
79
101
  grpc_subchannel* channel GRPC_SUBCHANNEL_REF_EXTRA_ARGS);
80
102
  grpc_subchannel* grpc_subchannel_ref_from_weak_ref(
@@ -85,35 +107,11 @@ grpc_subchannel* grpc_subchannel_weak_ref(
85
107
  grpc_subchannel* channel GRPC_SUBCHANNEL_REF_EXTRA_ARGS);
86
108
  void grpc_subchannel_weak_unref(
87
109
  grpc_subchannel* channel GRPC_SUBCHANNEL_REF_EXTRA_ARGS);
88
- grpc_connected_subchannel* grpc_connected_subchannel_ref(
89
- grpc_connected_subchannel* channel GRPC_SUBCHANNEL_REF_EXTRA_ARGS);
90
- void grpc_connected_subchannel_unref(
91
- grpc_connected_subchannel* channel GRPC_SUBCHANNEL_REF_EXTRA_ARGS);
92
110
  void grpc_subchannel_call_ref(
93
111
  grpc_subchannel_call* call GRPC_SUBCHANNEL_REF_EXTRA_ARGS);
94
112
  void grpc_subchannel_call_unref(
95
113
  grpc_subchannel_call* call GRPC_SUBCHANNEL_REF_EXTRA_ARGS);
96
114
 
97
- /** construct a subchannel call */
98
- typedef struct {
99
- grpc_polling_entity* pollent;
100
- grpc_slice path;
101
- gpr_timespec start_time;
102
- grpc_millis deadline;
103
- gpr_arena* arena;
104
- grpc_call_context_element* context;
105
- grpc_call_combiner* call_combiner;
106
- } grpc_connected_subchannel_call_args;
107
-
108
- grpc_error* grpc_connected_subchannel_create_call(
109
- grpc_connected_subchannel* connected_subchannel,
110
- const grpc_connected_subchannel_call_args* args,
111
- grpc_subchannel_call** subchannel_call);
112
-
113
- /** process a transport level op */
114
- void grpc_connected_subchannel_process_transport_op(
115
- grpc_connected_subchannel* subchannel, grpc_transport_op* op);
116
-
117
115
  /** poll the current connectivity state of a channel */
118
116
  grpc_connectivity_state grpc_subchannel_check_connectivity(
119
117
  grpc_subchannel* channel, grpc_error** error);
@@ -123,17 +121,12 @@ grpc_connectivity_state grpc_subchannel_check_connectivity(
123
121
  void grpc_subchannel_notify_on_state_change(
124
122
  grpc_subchannel* channel, grpc_pollset_set* interested_parties,
125
123
  grpc_connectivity_state* state, grpc_closure* notify);
126
- void grpc_connected_subchannel_notify_on_state_change(
127
- grpc_connected_subchannel* channel, grpc_pollset_set* interested_parties,
128
- grpc_connectivity_state* state, grpc_closure* notify);
129
- void grpc_connected_subchannel_ping(grpc_connected_subchannel* channel,
130
- grpc_closure* on_initiate,
131
- grpc_closure* on_ack);
132
-
133
- /** retrieve the grpc_connected_subchannel - or NULL if called before
134
- the subchannel becomes connected */
135
- grpc_connected_subchannel* grpc_subchannel_get_connected_subchannel(
136
- grpc_subchannel* subchannel);
124
+
125
+ /** retrieve the grpc_core::ConnectedSubchannel - or nullptr if not connected
126
+ * (which may happen before it initially connects or during transient failures)
127
+ * */
128
+ grpc_core::RefCountedPtr<grpc_core::ConnectedSubchannel>
129
+ grpc_subchannel_get_connected_subchannel(grpc_subchannel* c);
137
130
 
138
131
  /** return the subchannel index key for \a subchannel */
139
132
  const grpc_subchannel_key* grpc_subchannel_get_key(
@@ -22,15 +22,15 @@
22
22
  #include <string.h>
23
23
 
24
24
  #include <grpc/support/alloc.h>
25
- #include <grpc/support/avl.h>
26
25
  #include <grpc/support/string_util.h>
27
- #include <grpc/support/tls.h>
28
26
 
27
+ #include "src/core/lib/avl/avl.h"
29
28
  #include "src/core/lib/channel/channel_args.h"
29
+ #include "src/core/lib/gpr/tls.h"
30
30
 
31
31
  // a map of subchannel_key --> subchannel, used for detecting connections
32
32
  // to the same destination in order to share them
33
- static gpr_avl g_subchannel_index;
33
+ static grpc_avl g_subchannel_index;
34
34
 
35
35
  static gpr_mu g_mu;
36
36
 
@@ -45,13 +45,14 @@ static bool g_force_creation = false;
45
45
  static grpc_subchannel_key* create_key(
46
46
  const grpc_subchannel_args* args,
47
47
  grpc_channel_args* (*copy_channel_args)(const grpc_channel_args* args)) {
48
- grpc_subchannel_key* k = (grpc_subchannel_key*)gpr_malloc(sizeof(*k));
48
+ grpc_subchannel_key* k =
49
+ static_cast<grpc_subchannel_key*>(gpr_malloc(sizeof(*k)));
49
50
  k->args.filter_count = args->filter_count;
50
51
  if (k->args.filter_count > 0) {
51
- k->args.filters = (const grpc_channel_filter**)gpr_malloc(
52
- sizeof(*k->args.filters) * k->args.filter_count);
53
- memcpy((grpc_channel_filter*)k->args.filters, args->filters,
54
- sizeof(*k->args.filters) * k->args.filter_count);
52
+ k->args.filters = static_cast<const grpc_channel_filter**>(
53
+ gpr_malloc(sizeof(*k->args.filters) * k->args.filter_count));
54
+ memcpy(reinterpret_cast<grpc_channel_filter*>(k->args.filters),
55
+ args->filters, sizeof(*k->args.filters) * k->args.filter_count);
55
56
  } else {
56
57
  k->args.filters = nullptr;
57
58
  }
@@ -82,22 +83,22 @@ int grpc_subchannel_key_compare(const grpc_subchannel_key* a,
82
83
  }
83
84
 
84
85
  void grpc_subchannel_key_destroy(grpc_subchannel_key* k) {
85
- gpr_free((grpc_channel_args*)k->args.filters);
86
- grpc_channel_args_destroy((grpc_channel_args*)k->args.args);
86
+ gpr_free(reinterpret_cast<grpc_channel_args*>(k->args.filters));
87
+ grpc_channel_args_destroy(const_cast<grpc_channel_args*>(k->args.args));
87
88
  gpr_free(k);
88
89
  }
89
90
 
90
91
  static void sck_avl_destroy(void* p, void* user_data) {
91
- grpc_subchannel_key_destroy((grpc_subchannel_key*)p);
92
+ grpc_subchannel_key_destroy(static_cast<grpc_subchannel_key*>(p));
92
93
  }
93
94
 
94
95
  static void* sck_avl_copy(void* p, void* unused) {
95
- return subchannel_key_copy((grpc_subchannel_key*)p);
96
+ return subchannel_key_copy(static_cast<grpc_subchannel_key*>(p));
96
97
  }
97
98
 
98
99
  static long sck_avl_compare(void* a, void* b, void* unused) {
99
- return grpc_subchannel_key_compare((grpc_subchannel_key*)a,
100
- (grpc_subchannel_key*)b);
100
+ return grpc_subchannel_key_compare(static_cast<grpc_subchannel_key*>(a),
101
+ static_cast<grpc_subchannel_key*>(b));
101
102
  }
102
103
 
103
104
  static void scv_avl_destroy(void* p, void* user_data) {
@@ -109,7 +110,7 @@ static void* scv_avl_copy(void* p, void* unused) {
109
110
  return p;
110
111
  }
111
112
 
112
- static const gpr_avl_vtable subchannel_avl_vtable = {
113
+ static const grpc_avl_vtable subchannel_avl_vtable = {
113
114
  sck_avl_destroy, // destroy_key
114
115
  sck_avl_copy, // copy_key
115
116
  sck_avl_compare, // compare_keys
@@ -118,7 +119,7 @@ static const gpr_avl_vtable subchannel_avl_vtable = {
118
119
  };
119
120
 
120
121
  void grpc_subchannel_index_init(void) {
121
- g_subchannel_index = gpr_avl_create(&subchannel_avl_vtable);
122
+ g_subchannel_index = grpc_avl_create(&subchannel_avl_vtable);
122
123
  gpr_mu_init(&g_mu);
123
124
  gpr_ref_init(&g_refcount, 1);
124
125
  }
@@ -133,7 +134,7 @@ void grpc_subchannel_index_shutdown(void) {
133
134
  void grpc_subchannel_index_unref(void) {
134
135
  if (gpr_unref(&g_refcount)) {
135
136
  gpr_mu_destroy(&g_mu);
136
- gpr_avl_unref(g_subchannel_index, grpc_core::ExecCtx::Get());
137
+ grpc_avl_unref(g_subchannel_index, grpc_core::ExecCtx::Get());
137
138
  }
138
139
  }
139
140
 
@@ -143,13 +144,13 @@ grpc_subchannel* grpc_subchannel_index_find(grpc_subchannel_key* key) {
143
144
  // Lock, and take a reference to the subchannel index.
144
145
  // We don't need to do the search under a lock as avl's are immutable.
145
146
  gpr_mu_lock(&g_mu);
146
- gpr_avl index = gpr_avl_ref(g_subchannel_index, grpc_core::ExecCtx::Get());
147
+ grpc_avl index = grpc_avl_ref(g_subchannel_index, grpc_core::ExecCtx::Get());
147
148
  gpr_mu_unlock(&g_mu);
148
149
 
149
150
  grpc_subchannel* c = GRPC_SUBCHANNEL_REF_FROM_WEAK_REF(
150
- (grpc_subchannel*)gpr_avl_get(index, key, grpc_core::ExecCtx::Get()),
151
+ (grpc_subchannel*)grpc_avl_get(index, key, grpc_core::ExecCtx::Get()),
151
152
  "index_find");
152
- gpr_avl_unref(index, grpc_core::ExecCtx::Get());
153
+ grpc_avl_unref(index, grpc_core::ExecCtx::Get());
153
154
 
154
155
  return c;
155
156
  }
@@ -165,11 +166,13 @@ grpc_subchannel* grpc_subchannel_index_register(grpc_subchannel_key* key,
165
166
  // Compare and swap loop:
166
167
  // - take a reference to the current index
167
168
  gpr_mu_lock(&g_mu);
168
- gpr_avl index = gpr_avl_ref(g_subchannel_index, grpc_core::ExecCtx::Get());
169
+ grpc_avl index =
170
+ grpc_avl_ref(g_subchannel_index, grpc_core::ExecCtx::Get());
169
171
  gpr_mu_unlock(&g_mu);
170
172
 
171
173
  // - Check to see if a subchannel already exists
172
- c = (grpc_subchannel*)gpr_avl_get(index, key, grpc_core::ExecCtx::Get());
174
+ c = static_cast<grpc_subchannel*>(
175
+ grpc_avl_get(index, key, grpc_core::ExecCtx::Get()));
173
176
  if (c != nullptr) {
174
177
  c = GRPC_SUBCHANNEL_REF_FROM_WEAK_REF(c, "index_register");
175
178
  }
@@ -178,25 +181,25 @@ grpc_subchannel* grpc_subchannel_index_register(grpc_subchannel_key* key,
178
181
  need_to_unref_constructed = true;
179
182
  } else {
180
183
  // no -> update the avl and compare/swap
181
- gpr_avl updated =
182
- gpr_avl_add(gpr_avl_ref(index, grpc_core::ExecCtx::Get()),
183
- subchannel_key_copy(key),
184
- GRPC_SUBCHANNEL_WEAK_REF(constructed, "index_register"),
185
- grpc_core::ExecCtx::Get());
184
+ grpc_avl updated =
185
+ grpc_avl_add(grpc_avl_ref(index, grpc_core::ExecCtx::Get()),
186
+ subchannel_key_copy(key),
187
+ GRPC_SUBCHANNEL_WEAK_REF(constructed, "index_register"),
188
+ grpc_core::ExecCtx::Get());
186
189
 
187
190
  // it may happen (but it's expected to be unlikely)
188
191
  // that some other thread has changed the index:
189
192
  // compare/swap here to check that, and retry as necessary
190
193
  gpr_mu_lock(&g_mu);
191
194
  if (index.root == g_subchannel_index.root) {
192
- GPR_SWAP(gpr_avl, updated, g_subchannel_index);
195
+ GPR_SWAP(grpc_avl, updated, g_subchannel_index);
193
196
  c = constructed;
194
197
  }
195
198
  gpr_mu_unlock(&g_mu);
196
199
 
197
- gpr_avl_unref(updated, grpc_core::ExecCtx::Get());
200
+ grpc_avl_unref(updated, grpc_core::ExecCtx::Get());
198
201
  }
199
- gpr_avl_unref(index, grpc_core::ExecCtx::Get());
202
+ grpc_avl_unref(index, grpc_core::ExecCtx::Get());
200
203
  }
201
204
 
202
205
  if (need_to_unref_constructed) {
@@ -213,33 +216,34 @@ void grpc_subchannel_index_unregister(grpc_subchannel_key* key,
213
216
  // Compare and swap loop:
214
217
  // - take a reference to the current index
215
218
  gpr_mu_lock(&g_mu);
216
- gpr_avl index = gpr_avl_ref(g_subchannel_index, grpc_core::ExecCtx::Get());
219
+ grpc_avl index =
220
+ grpc_avl_ref(g_subchannel_index, grpc_core::ExecCtx::Get());
217
221
  gpr_mu_unlock(&g_mu);
218
222
 
219
223
  // Check to see if this key still refers to the previously
220
224
  // registered subchannel
221
- grpc_subchannel* c =
222
- (grpc_subchannel*)gpr_avl_get(index, key, grpc_core::ExecCtx::Get());
225
+ grpc_subchannel* c = static_cast<grpc_subchannel*>(
226
+ grpc_avl_get(index, key, grpc_core::ExecCtx::Get()));
223
227
  if (c != constructed) {
224
- gpr_avl_unref(index, grpc_core::ExecCtx::Get());
228
+ grpc_avl_unref(index, grpc_core::ExecCtx::Get());
225
229
  break;
226
230
  }
227
231
 
228
232
  // compare and swap the update (some other thread may have
229
233
  // mutated the index behind us)
230
- gpr_avl updated =
231
- gpr_avl_remove(gpr_avl_ref(index, grpc_core::ExecCtx::Get()), key,
232
- grpc_core::ExecCtx::Get());
234
+ grpc_avl updated =
235
+ grpc_avl_remove(grpc_avl_ref(index, grpc_core::ExecCtx::Get()), key,
236
+ grpc_core::ExecCtx::Get());
233
237
 
234
238
  gpr_mu_lock(&g_mu);
235
239
  if (index.root == g_subchannel_index.root) {
236
- GPR_SWAP(gpr_avl, updated, g_subchannel_index);
240
+ GPR_SWAP(grpc_avl, updated, g_subchannel_index);
237
241
  done = true;
238
242
  }
239
243
  gpr_mu_unlock(&g_mu);
240
244
 
241
- gpr_avl_unref(updated, grpc_core::ExecCtx::Get());
242
- gpr_avl_unref(index, grpc_core::ExecCtx::Get());
245
+ grpc_avl_unref(updated, grpc_core::ExecCtx::Get());
246
+ grpc_avl_unref(index, grpc_core::ExecCtx::Get());
243
247
  }
244
248
  }
245
249
 
@@ -45,7 +45,7 @@ static grpc_uri* bad_uri(const char* uri_text, size_t pos, const char* section,
45
45
  gpr_log(GPR_ERROR, "%s%s'", line_prefix, uri_text);
46
46
  gpr_free(line_prefix);
47
47
 
48
- line_prefix = (char*)gpr_malloc(pfx_len + 1);
48
+ line_prefix = static_cast<char*>(gpr_malloc(pfx_len + 1));
49
49
  memset(line_prefix, ' ', pfx_len);
50
50
  line_prefix[pfx_len] = 0;
51
51
  gpr_log(GPR_ERROR, "%s^ here", line_prefix);
@@ -159,7 +159,7 @@ static void parse_query_parts(grpc_uri* uri) {
159
159
  gpr_string_split(uri->query, QUERY_PARTS_SEPARATOR, &uri->query_parts,
160
160
  &uri->num_query_parts);
161
161
  uri->query_parts_values =
162
- (char**)gpr_malloc(uri->num_query_parts * sizeof(char**));
162
+ static_cast<char**>(gpr_malloc(uri->num_query_parts * sizeof(char**)));
163
163
  for (size_t i = 0; i < uri->num_query_parts; i++) {
164
164
  char** query_param_parts;
165
165
  size_t num_query_param_parts;
@@ -271,7 +271,7 @@ grpc_uri* grpc_uri_parse(const char* uri_text, bool suppress_errors) {
271
271
  fragment_end = i;
272
272
  }
273
273
 
274
- uri = (grpc_uri*)gpr_zalloc(sizeof(*uri));
274
+ uri = static_cast<grpc_uri*>(gpr_zalloc(sizeof(*uri)));
275
275
  uri->scheme = decode_and_copy_component(uri_text, scheme_begin, scheme_end);
276
276
  uri->authority =
277
277
  decode_and_copy_component(uri_text, authority_begin, authority_end);
@@ -37,7 +37,7 @@
37
37
  // The on_complete callback used when sending a cancel_error batch down the
38
38
  // filter stack. Yields the call combiner when the batch returns.
39
39
  static void yield_call_combiner(void* arg, grpc_error* ignored) {
40
- grpc_deadline_state* deadline_state = (grpc_deadline_state*)arg;
40
+ grpc_deadline_state* deadline_state = static_cast<grpc_deadline_state*>(arg);
41
41
  GRPC_CALL_COMBINER_STOP(deadline_state->call_combiner,
42
42
  "got on_complete from cancel_stream batch");
43
43
  GRPC_CALL_STACK_UNREF(deadline_state->call_stack, "deadline_timer");
@@ -46,8 +46,9 @@ static void yield_call_combiner(void* arg, grpc_error* ignored) {
46
46
  // This is called via the call combiner, so access to deadline_state is
47
47
  // synchronized.
48
48
  static void send_cancel_op_in_call_combiner(void* arg, grpc_error* error) {
49
- grpc_call_element* elem = (grpc_call_element*)arg;
50
- grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
49
+ grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
50
+ grpc_deadline_state* deadline_state =
51
+ static_cast<grpc_deadline_state*>(elem->call_data);
51
52
  grpc_transport_stream_op_batch* batch = grpc_make_transport_stream_op(
52
53
  GRPC_CLOSURE_INIT(&deadline_state->timer_callback, yield_call_combiner,
53
54
  deadline_state, grpc_schedule_on_exec_ctx));
@@ -58,8 +59,9 @@ static void send_cancel_op_in_call_combiner(void* arg, grpc_error* error) {
58
59
 
59
60
  // Timer callback.
60
61
  static void timer_callback(void* arg, grpc_error* error) {
61
- grpc_call_element* elem = (grpc_call_element*)arg;
62
- grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
62
+ grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
63
+ grpc_deadline_state* deadline_state =
64
+ static_cast<grpc_deadline_state*>(elem->call_data);
63
65
  if (error != GRPC_ERROR_CANCELLED) {
64
66
  error = grpc_error_set_int(
65
67
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Deadline Exceeded"),
@@ -85,7 +87,8 @@ static void start_timer_if_needed(grpc_call_element* elem,
85
87
  if (deadline == GRPC_MILLIS_INF_FUTURE) {
86
88
  return;
87
89
  }
88
- grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
90
+ grpc_deadline_state* deadline_state =
91
+ static_cast<grpc_deadline_state*>(elem->call_data);
89
92
  grpc_closure* closure = nullptr;
90
93
  switch (deadline_state->timer_state) {
91
94
  case GRPC_DEADLINE_STATE_PENDING:
@@ -126,7 +129,7 @@ static void cancel_timer_if_needed(grpc_deadline_state* deadline_state) {
126
129
 
127
130
  // Callback run when the call is complete.
128
131
  static void on_complete(void* arg, grpc_error* error) {
129
- grpc_deadline_state* deadline_state = (grpc_deadline_state*)arg;
132
+ grpc_deadline_state* deadline_state = static_cast<grpc_deadline_state*>(arg);
130
133
  cancel_timer_if_needed(deadline_state);
131
134
  // Invoke the next callback.
132
135
  GRPC_CLOSURE_RUN(deadline_state->next_on_complete, GRPC_ERROR_REF(error));
@@ -151,9 +154,9 @@ struct start_timer_after_init_state {
151
154
  };
152
155
  static void start_timer_after_init(void* arg, grpc_error* error) {
153
156
  struct start_timer_after_init_state* state =
154
- (struct start_timer_after_init_state*)arg;
157
+ static_cast<struct start_timer_after_init_state*>(arg);
155
158
  grpc_deadline_state* deadline_state =
156
- (grpc_deadline_state*)state->elem->call_data;
159
+ static_cast<grpc_deadline_state*>(state->elem->call_data);
157
160
  if (!state->in_call_combiner) {
158
161
  // We are initially called without holding the call combiner, so we
159
162
  // need to bounce ourselves into it.
@@ -173,7 +176,8 @@ void grpc_deadline_state_init(grpc_call_element* elem,
173
176
  grpc_call_stack* call_stack,
174
177
  grpc_call_combiner* call_combiner,
175
178
  grpc_millis deadline) {
176
- grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
179
+ grpc_deadline_state* deadline_state =
180
+ static_cast<grpc_deadline_state*>(elem->call_data);
177
181
  deadline_state->call_stack = call_stack;
178
182
  deadline_state->call_combiner = call_combiner;
179
183
  // Deadline will always be infinite on servers, so the timer will only be
@@ -187,7 +191,8 @@ void grpc_deadline_state_init(grpc_call_element* elem,
187
191
  // create a closure to start the timer, and we schedule that closure
188
192
  // to be run after call stack initialization is done.
189
193
  struct start_timer_after_init_state* state =
190
- (struct start_timer_after_init_state*)gpr_zalloc(sizeof(*state));
194
+ static_cast<struct start_timer_after_init_state*>(
195
+ gpr_zalloc(sizeof(*state)));
191
196
  state->elem = elem;
192
197
  state->deadline = deadline;
193
198
  GRPC_CLOSURE_INIT(&state->closure, start_timer_after_init, state,
@@ -197,20 +202,23 @@ void grpc_deadline_state_init(grpc_call_element* elem,
197
202
  }
198
203
 
199
204
  void grpc_deadline_state_destroy(grpc_call_element* elem) {
200
- grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
205
+ grpc_deadline_state* deadline_state =
206
+ static_cast<grpc_deadline_state*>(elem->call_data);
201
207
  cancel_timer_if_needed(deadline_state);
202
208
  }
203
209
 
204
210
  void grpc_deadline_state_reset(grpc_call_element* elem,
205
211
  grpc_millis new_deadline) {
206
- grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
212
+ grpc_deadline_state* deadline_state =
213
+ static_cast<grpc_deadline_state*>(elem->call_data);
207
214
  cancel_timer_if_needed(deadline_state);
208
215
  start_timer_if_needed(elem, new_deadline);
209
216
  }
210
217
 
211
218
  void grpc_deadline_state_client_start_transport_stream_op_batch(
212
219
  grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
213
- grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
220
+ grpc_deadline_state* deadline_state =
221
+ static_cast<grpc_deadline_state*>(elem->call_data);
214
222
  if (op->cancel_stream) {
215
223
  cancel_timer_if_needed(deadline_state);
216
224
  } else {
@@ -278,8 +286,8 @@ static void client_start_transport_stream_op_batch(
278
286
 
279
287
  // Callback for receiving initial metadata on the server.
280
288
  static void recv_initial_metadata_ready(void* arg, grpc_error* error) {
281
- grpc_call_element* elem = (grpc_call_element*)arg;
282
- server_call_data* calld = (server_call_data*)elem->call_data;
289
+ grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
290
+ server_call_data* calld = static_cast<server_call_data*>(elem->call_data);
283
291
  // Get deadline from metadata and start the timer if needed.
284
292
  start_timer_if_needed(elem, calld->recv_initial_metadata->deadline);
285
293
  // Invoke the next callback.
@@ -290,7 +298,7 @@ static void recv_initial_metadata_ready(void* arg, grpc_error* error) {
290
298
  // Method for starting a call op for server filter.
291
299
  static void server_start_transport_stream_op_batch(
292
300
  grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
293
- server_call_data* calld = (server_call_data*)elem->call_data;
301
+ server_call_data* calld = static_cast<server_call_data*>(elem->call_data);
294
302
  if (op->cancel_stream) {
295
303
  cancel_timer_if_needed(&calld->base.deadline_state);
296
304
  } else {
@@ -360,7 +368,8 @@ static bool maybe_add_deadline_filter(grpc_channel_stack_builder* builder,
360
368
  return grpc_deadline_checking_enabled(
361
369
  grpc_channel_stack_builder_get_channel_arguments(builder))
362
370
  ? grpc_channel_stack_builder_prepend_filter(
363
- builder, (const grpc_channel_filter*)arg, nullptr, nullptr)
371
+ builder, static_cast<const grpc_channel_filter*>(arg),
372
+ nullptr, nullptr)
364
373
  : true;
365
374
  }
366
375