grpc 1.9.1 → 1.10.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 (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
@@ -138,8 +138,8 @@ static grpc_error* client_filter_incoming_metadata(grpc_call_element* elem,
138
138
  }
139
139
 
140
140
  static void recv_initial_metadata_ready(void* user_data, grpc_error* error) {
141
- grpc_call_element* elem = (grpc_call_element*)user_data;
142
- call_data* calld = (call_data*)elem->call_data;
141
+ grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
142
+ call_data* calld = static_cast<call_data*>(elem->call_data);
143
143
  if (error == GRPC_ERROR_NONE) {
144
144
  error = client_filter_incoming_metadata(elem, calld->recv_initial_metadata);
145
145
  } else {
@@ -150,8 +150,8 @@ static void recv_initial_metadata_ready(void* user_data, grpc_error* error) {
150
150
 
151
151
  static void recv_trailing_metadata_on_complete(void* user_data,
152
152
  grpc_error* error) {
153
- grpc_call_element* elem = (grpc_call_element*)user_data;
154
- call_data* calld = (call_data*)elem->call_data;
153
+ grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
154
+ call_data* calld = static_cast<call_data*>(elem->call_data);
155
155
  if (error == GRPC_ERROR_NONE) {
156
156
  error =
157
157
  client_filter_incoming_metadata(elem, calld->recv_trailing_metadata);
@@ -162,8 +162,8 @@ static void recv_trailing_metadata_on_complete(void* user_data,
162
162
  }
163
163
 
164
164
  static void send_message_on_complete(void* arg, grpc_error* error) {
165
- grpc_call_element* elem = (grpc_call_element*)arg;
166
- call_data* calld = (call_data*)elem->call_data;
165
+ grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
166
+ call_data* calld = static_cast<call_data*>(elem->call_data);
167
167
  grpc_byte_stream_cache_destroy(&calld->send_message_cache);
168
168
  GRPC_CLOSURE_RUN(calld->original_send_message_on_complete,
169
169
  GRPC_ERROR_REF(error));
@@ -189,7 +189,8 @@ static grpc_error* pull_slice_from_send_message(call_data* calld) {
189
189
  // and on_send_message_next_done() will be invoked when it is complete.
190
190
  static grpc_error* read_all_available_send_message_data(call_data* calld) {
191
191
  while (grpc_byte_stream_next(&calld->send_message_caching_stream.base,
192
- ~(size_t)0, &calld->on_send_message_next_done)) {
192
+ ~static_cast<size_t>(0),
193
+ &calld->on_send_message_next_done)) {
193
194
  grpc_error* error = pull_slice_from_send_message(calld);
194
195
  if (error != GRPC_ERROR_NONE) return error;
195
196
  if (calld->send_message_bytes_read ==
@@ -202,8 +203,8 @@ static grpc_error* read_all_available_send_message_data(call_data* calld) {
202
203
 
203
204
  // Async callback for grpc_byte_stream_next().
204
205
  static void on_send_message_next_done(void* arg, grpc_error* error) {
205
- grpc_call_element* elem = (grpc_call_element*)arg;
206
- call_data* calld = (call_data*)elem->call_data;
206
+ grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
207
+ call_data* calld = static_cast<call_data*>(elem->call_data);
207
208
  if (error != GRPC_ERROR_NONE) {
208
209
  grpc_transport_stream_op_batch_finish_with_failure(
209
210
  calld->send_message_batch, error, calld->call_combiner);
@@ -224,7 +225,8 @@ static void on_send_message_next_done(void* arg, grpc_error* error) {
224
225
  }
225
226
 
226
227
  static char* slice_buffer_to_string(grpc_slice_buffer* slice_buffer) {
227
- char* payload_bytes = (char*)gpr_malloc(slice_buffer->length + 1);
228
+ char* payload_bytes =
229
+ static_cast<char*>(gpr_malloc(slice_buffer->length + 1));
228
230
  size_t offset = 0;
229
231
  for (size_t i = 0; i < slice_buffer->count; ++i) {
230
232
  memcpy(payload_bytes + offset,
@@ -240,7 +242,7 @@ static char* slice_buffer_to_string(grpc_slice_buffer* slice_buffer) {
240
242
  // append the base64-encoded query for a GET request.
241
243
  static grpc_error* update_path_for_get(grpc_call_element* elem,
242
244
  grpc_transport_stream_op_batch* batch) {
243
- call_data* calld = (call_data*)elem->call_data;
245
+ call_data* calld = static_cast<call_data*>(elem->call_data);
244
246
  grpc_slice path_slice =
245
247
  GRPC_MDVALUE(batch->payload->send_initial_metadata.send_initial_metadata
246
248
  ->idx.named.path->md);
@@ -253,19 +255,21 @@ static grpc_error* update_path_for_get(grpc_call_element* elem,
253
255
  false /* multi_line */);
254
256
  grpc_slice path_with_query_slice = GRPC_SLICE_MALLOC(estimated_len);
255
257
  /* memcopy individual pieces into this slice */
256
- char* write_ptr = (char*)GRPC_SLICE_START_PTR(path_with_query_slice);
257
- char* original_path = (char*)GRPC_SLICE_START_PTR(path_slice);
258
+ char* write_ptr =
259
+ reinterpret_cast<char*> GRPC_SLICE_START_PTR(path_with_query_slice);
260
+ char* original_path =
261
+ reinterpret_cast<char*> GRPC_SLICE_START_PTR(path_slice);
258
262
  memcpy(write_ptr, original_path, GRPC_SLICE_LENGTH(path_slice));
259
263
  write_ptr += GRPC_SLICE_LENGTH(path_slice);
260
264
  *write_ptr++ = '?';
261
265
  char* payload_bytes =
262
266
  slice_buffer_to_string(&calld->send_message_cache.cache_buffer);
263
- grpc_base64_encode_core((char*)write_ptr, payload_bytes,
267
+ grpc_base64_encode_core(write_ptr, payload_bytes,
264
268
  batch->payload->send_message.send_message->length,
265
269
  true /* url_safe */, false /* multi_line */);
266
270
  gpr_free(payload_bytes);
267
271
  /* remove trailing unused memory and add trailing 0 to terminate string */
268
- char* t = (char*)GRPC_SLICE_START_PTR(path_with_query_slice);
272
+ char* t = reinterpret_cast<char*> GRPC_SLICE_START_PTR(path_with_query_slice);
269
273
  /* safe to use strlen since base64_encode will always add '\0' */
270
274
  path_with_query_slice =
271
275
  grpc_slice_sub_no_ref(path_with_query_slice, 0, strlen(t));
@@ -287,9 +291,9 @@ static void remove_if_present(grpc_metadata_batch* batch,
287
291
 
288
292
  static void hc_start_transport_stream_op_batch(
289
293
  grpc_call_element* elem, grpc_transport_stream_op_batch* batch) {
290
- call_data* calld = (call_data*)elem->call_data;
291
- channel_data* channeld = (channel_data*)elem->channel_data;
292
- GPR_TIMER_BEGIN("hc_start_transport_stream_op_batch", 0);
294
+ call_data* calld = static_cast<call_data*>(elem->call_data);
295
+ channel_data* channeld = static_cast<channel_data*>(elem->channel_data);
296
+ GPR_TIMER_SCOPE("hc_start_transport_stream_op_batch", 0);
293
297
 
294
298
  if (batch->recv_initial_metadata) {
295
299
  /* substitute our callback for the higher callback */
@@ -404,13 +408,12 @@ done:
404
408
  } else if (!batch_will_be_handled_asynchronously) {
405
409
  grpc_call_next_op(elem, batch);
406
410
  }
407
- GPR_TIMER_END("hc_start_transport_stream_op_batch", 0);
408
411
  }
409
412
 
410
413
  /* Constructor for call_data */
411
414
  static grpc_error* init_call_elem(grpc_call_element* elem,
412
415
  const grpc_call_element_args* args) {
413
- call_data* calld = (call_data*)elem->call_data;
416
+ call_data* calld = static_cast<call_data*>(elem->call_data);
414
417
  calld->call_combiner = args->call_combiner;
415
418
  GRPC_CLOSURE_INIT(&calld->recv_initial_metadata_ready,
416
419
  recv_initial_metadata_ready, elem,
@@ -459,7 +462,7 @@ static size_t max_payload_size_from_args(const grpc_channel_args* args) {
459
462
  gpr_log(GPR_ERROR, "%s: must be an integer",
460
463
  GRPC_ARG_MAX_PAYLOAD_SIZE_FOR_GET);
461
464
  } else {
462
- return (size_t)args->args[i].value.integer;
465
+ return static_cast<size_t>(args->args[i].value.integer);
463
466
  }
464
467
  }
465
468
  }
@@ -520,7 +523,7 @@ static grpc_slice user_agent_from_args(const grpc_channel_args* args,
520
523
  /* Constructor for channel_data */
521
524
  static grpc_error* init_channel_elem(grpc_channel_element* elem,
522
525
  grpc_channel_element_args* args) {
523
- channel_data* chand = (channel_data*)elem->channel_data;
526
+ channel_data* chand = static_cast<channel_data*>(elem->channel_data);
524
527
  GPR_ASSERT(!args->is_last);
525
528
  GPR_ASSERT(args->optional_transport != nullptr);
526
529
  chand->static_scheme = scheme_from_args(args->channel_args);
@@ -535,7 +538,7 @@ static grpc_error* init_channel_elem(grpc_channel_element* elem,
535
538
 
536
539
  /* Destructor for channel data */
537
540
  static void destroy_channel_elem(grpc_channel_element* elem) {
538
- channel_data* chand = (channel_data*)elem->channel_data;
541
+ channel_data* chand = static_cast<channel_data*>(elem->channel_data);
539
542
  GRPC_MDELEM_UNREF(chand->user_agent);
540
543
  }
541
544
 
@@ -43,7 +43,7 @@ static bool is_building_http_like_transport(
43
43
  static bool maybe_add_optional_filter(grpc_channel_stack_builder* builder,
44
44
  void* arg) {
45
45
  if (!is_building_http_like_transport(builder)) return true;
46
- optional_filter* filtarg = (optional_filter*)arg;
46
+ optional_filter* filtarg = static_cast<optional_filter*>(arg);
47
47
  const grpc_channel_args* channel_args =
48
48
  grpc_channel_stack_builder_get_channel_arguments(builder);
49
49
  bool enable = grpc_channel_arg_get_bool(
@@ -58,7 +58,8 @@ static bool maybe_add_required_filter(grpc_channel_stack_builder* builder,
58
58
  void* arg) {
59
59
  return is_building_http_like_transport(builder)
60
60
  ? grpc_channel_stack_builder_prepend_filter(
61
- builder, (const grpc_channel_filter*)arg, nullptr, nullptr)
61
+ builder, static_cast<const grpc_channel_filter*>(arg),
62
+ nullptr, nullptr)
62
63
  : true;
63
64
  }
64
65
 
@@ -27,6 +27,7 @@
27
27
  #include "src/core/ext/filters/http/message_compress/message_compress_filter.h"
28
28
  #include "src/core/lib/channel/channel_args.h"
29
29
  #include "src/core/lib/compression/algorithm_metadata.h"
30
+ #include "src/core/lib/compression/compression_internal.h"
30
31
  #include "src/core/lib/compression/message_compress.h"
31
32
  #include "src/core/lib/gpr/string.h"
32
33
  #include "src/core/lib/profiling/timers.h"
@@ -53,7 +54,7 @@ struct call_data {
53
54
  grpc_linked_mdelem accept_stream_encoding_storage;
54
55
  /** Compression algorithm we'll try to use. It may be given by incoming
55
56
  * metadata, or by the channel's default compression settings. */
56
- grpc_compression_algorithm compression_algorithm;
57
+ grpc_message_compression_algorithm message_compression_algorithm;
57
58
  initial_metadata_state send_initial_metadata_state;
58
59
  grpc_error* cancel_error;
59
60
  grpc_closure start_send_message_batch_in_call_combiner;
@@ -68,15 +69,10 @@ struct call_data {
68
69
  struct channel_data {
69
70
  /** The default, channel-level, compression algorithm */
70
71
  grpc_compression_algorithm default_compression_algorithm;
71
- /** Bitset of enabled algorithms */
72
+ /** Bitset of enabled compression algorithms */
72
73
  uint32_t enabled_algorithms_bitset;
73
74
  /** Supported compression algorithms */
74
- uint32_t supported_compression_algorithms;
75
-
76
- /** The default, channel-level, stream compression algorithm */
77
- grpc_stream_compression_algorithm default_stream_compression_algorithm;
78
- /** Bitset of enabled stream compression algorithms */
79
- uint32_t enabled_stream_compression_algorithms_bitset;
75
+ uint32_t supported_message_compression_algorithms;
80
76
  /** Supported stream compression algorithms */
81
77
  uint32_t supported_stream_compression_algorithms;
82
78
  };
@@ -84,14 +80,14 @@ struct channel_data {
84
80
 
85
81
  static bool skip_compression(grpc_call_element* elem, uint32_t flags,
86
82
  bool has_compression_algorithm) {
87
- call_data* calld = (call_data*)elem->call_data;
88
- channel_data* channeld = (channel_data*)elem->channel_data;
83
+ call_data* calld = static_cast<call_data*>(elem->call_data);
84
+ channel_data* channeld = static_cast<channel_data*>(elem->channel_data);
89
85
 
90
86
  if (flags & (GRPC_WRITE_NO_COMPRESS | GRPC_WRITE_INTERNAL_COMPRESS)) {
91
87
  return true;
92
88
  }
93
89
  if (has_compression_algorithm) {
94
- if (calld->compression_algorithm == GRPC_COMPRESS_NONE) {
90
+ if (calld->message_compression_algorithm == GRPC_MESSAGE_COMPRESS_NONE) {
95
91
  return true;
96
92
  }
97
93
  return false; /* we have an actual call-specific algorithm */
@@ -107,73 +103,56 @@ static grpc_error* process_send_initial_metadata(
107
103
  static grpc_error* process_send_initial_metadata(
108
104
  grpc_call_element* elem, grpc_metadata_batch* initial_metadata,
109
105
  bool* has_compression_algorithm) {
110
- call_data* calld = (call_data*)elem->call_data;
111
- channel_data* channeld = (channel_data*)elem->channel_data;
106
+ call_data* calld = static_cast<call_data*>(elem->call_data);
107
+ channel_data* channeld = static_cast<channel_data*>(elem->channel_data);
112
108
  *has_compression_algorithm = false;
109
+ grpc_compression_algorithm compression_algorithm;
113
110
  grpc_stream_compression_algorithm stream_compression_algorithm =
114
111
  GRPC_STREAM_COMPRESS_NONE;
115
- if (initial_metadata->idx.named.grpc_internal_stream_encoding_request !=
116
- nullptr) {
112
+ if (initial_metadata->idx.named.grpc_internal_encoding_request != nullptr) {
117
113
  grpc_mdelem md =
118
- initial_metadata->idx.named.grpc_internal_stream_encoding_request->md;
119
- if (!grpc_stream_compression_algorithm_parse(
120
- GRPC_MDVALUE(md), &stream_compression_algorithm)) {
114
+ initial_metadata->idx.named.grpc_internal_encoding_request->md;
115
+ if (!grpc_compression_algorithm_parse(GRPC_MDVALUE(md),
116
+ &compression_algorithm)) {
121
117
  char* val = grpc_slice_to_c_string(GRPC_MDVALUE(md));
122
118
  gpr_log(GPR_ERROR,
123
- "Invalid stream compression algorithm: '%s' (unknown). Ignoring.",
124
- val);
119
+ "Invalid compression algorithm: '%s' (unknown). Ignoring.", val);
125
120
  gpr_free(val);
121
+ calld->message_compression_algorithm = GRPC_MESSAGE_COMPRESS_NONE;
126
122
  stream_compression_algorithm = GRPC_STREAM_COMPRESS_NONE;
127
123
  }
128
- if (!GPR_BITGET(channeld->enabled_stream_compression_algorithms_bitset,
129
- stream_compression_algorithm)) {
130
- char* val = grpc_slice_to_c_string(GRPC_MDVALUE(md));
131
- gpr_log(
132
- GPR_ERROR,
133
- "Invalid stream compression algorithm: '%s' (previously disabled). "
134
- "Ignoring.",
135
- val);
136
- gpr_free(val);
137
- stream_compression_algorithm = GRPC_STREAM_COMPRESS_NONE;
138
- }
139
- *has_compression_algorithm = true;
140
- grpc_metadata_batch_remove(
141
- initial_metadata,
142
- initial_metadata->idx.named.grpc_internal_stream_encoding_request);
143
- /* Disable message-wise compression */
144
- calld->compression_algorithm = GRPC_COMPRESS_NONE;
145
- if (initial_metadata->idx.named.grpc_internal_encoding_request != nullptr) {
146
- grpc_metadata_batch_remove(
147
- initial_metadata,
148
- initial_metadata->idx.named.grpc_internal_encoding_request);
149
- }
150
- } else if (initial_metadata->idx.named.grpc_internal_encoding_request !=
151
- nullptr) {
152
- grpc_mdelem md =
153
- initial_metadata->idx.named.grpc_internal_encoding_request->md;
154
- if (!grpc_compression_algorithm_parse(GRPC_MDVALUE(md),
155
- &calld->compression_algorithm)) {
124
+ if (!GPR_BITGET(channeld->enabled_algorithms_bitset,
125
+ compression_algorithm)) {
156
126
  char* val = grpc_slice_to_c_string(GRPC_MDVALUE(md));
157
127
  gpr_log(GPR_ERROR,
158
- "Invalid compression algorithm: '%s' (unknown). Ignoring.", val);
128
+ "Invalid compression algorithm: '%s' (previously disabled). "
129
+ "Ignoring.",
130
+ val);
159
131
  gpr_free(val);
160
- calld->compression_algorithm = GRPC_COMPRESS_NONE;
132
+ calld->message_compression_algorithm = GRPC_MESSAGE_COMPRESS_NONE;
133
+ stream_compression_algorithm = GRPC_STREAM_COMPRESS_NONE;
161
134
  }
162
135
  *has_compression_algorithm = true;
163
136
  grpc_metadata_batch_remove(
164
137
  initial_metadata,
165
138
  initial_metadata->idx.named.grpc_internal_encoding_request);
139
+ calld->message_compression_algorithm =
140
+ grpc_compression_algorithm_to_message_compression_algorithm(
141
+ compression_algorithm);
142
+ stream_compression_algorithm =
143
+ grpc_compression_algorithm_to_stream_compression_algorithm(
144
+ compression_algorithm);
166
145
  } else {
167
146
  /* If no algorithm was found in the metadata and we aren't
168
147
  * exceptionally skipping compression, fall back to the channel
169
148
  * default */
170
- if (channeld->default_stream_compression_algorithm !=
171
- GRPC_STREAM_COMPRESS_NONE) {
149
+ if (channeld->default_compression_algorithm != GRPC_COMPRESS_NONE) {
150
+ calld->message_compression_algorithm =
151
+ grpc_compression_algorithm_to_message_compression_algorithm(
152
+ channeld->default_compression_algorithm);
172
153
  stream_compression_algorithm =
173
- channeld->default_stream_compression_algorithm;
174
- calld->compression_algorithm = GRPC_COMPRESS_NONE;
175
- } else {
176
- calld->compression_algorithm = channeld->default_compression_algorithm;
154
+ grpc_compression_algorithm_to_stream_compression_algorithm(
155
+ channeld->default_compression_algorithm);
177
156
  }
178
157
  *has_compression_algorithm = true;
179
158
  }
@@ -184,10 +163,12 @@ static grpc_error* process_send_initial_metadata(
184
163
  error = grpc_metadata_batch_add_tail(
185
164
  initial_metadata, &calld->stream_compression_algorithm_storage,
186
165
  grpc_stream_compression_encoding_mdelem(stream_compression_algorithm));
187
- } else if (calld->compression_algorithm != GRPC_COMPRESS_NONE) {
166
+ } else if (calld->message_compression_algorithm !=
167
+ GRPC_MESSAGE_COMPRESS_NONE) {
188
168
  error = grpc_metadata_batch_add_tail(
189
169
  initial_metadata, &calld->compression_algorithm_storage,
190
- grpc_compression_encoding_mdelem(calld->compression_algorithm));
170
+ grpc_message_compression_encoding_mdelem(
171
+ calld->message_compression_algorithm));
191
172
  }
192
173
 
193
174
  if (error != GRPC_ERROR_NONE) return error;
@@ -196,11 +177,12 @@ static grpc_error* process_send_initial_metadata(
196
177
  error = grpc_metadata_batch_add_tail(
197
178
  initial_metadata, &calld->accept_encoding_storage,
198
179
  GRPC_MDELEM_ACCEPT_ENCODING_FOR_ALGORITHMS(
199
- channeld->supported_compression_algorithms));
180
+ channeld->supported_message_compression_algorithms));
200
181
 
201
182
  if (error != GRPC_ERROR_NONE) return error;
202
183
 
203
- /* Do not overwrite accept-encoding header if it already presents. */
184
+ /* Do not overwrite accept-encoding header if it already presents (e.g. added
185
+ * by some proxy). */
204
186
  if (!initial_metadata->idx.named.accept_encoding) {
205
187
  error = grpc_metadata_batch_add_tail(
206
188
  initial_metadata, &calld->accept_stream_encoding_storage,
@@ -212,15 +194,15 @@ static grpc_error* process_send_initial_metadata(
212
194
  }
213
195
 
214
196
  static void send_message_on_complete(void* arg, grpc_error* error) {
215
- grpc_call_element* elem = (grpc_call_element*)arg;
216
- call_data* calld = (call_data*)elem->call_data;
197
+ grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
198
+ call_data* calld = static_cast<call_data*>(elem->call_data);
217
199
  grpc_slice_buffer_reset_and_unref_internal(&calld->slices);
218
200
  GRPC_CLOSURE_RUN(calld->original_send_message_on_complete,
219
201
  GRPC_ERROR_REF(error));
220
202
  }
221
203
 
222
204
  static void send_message_batch_continue(grpc_call_element* elem) {
223
- call_data* calld = (call_data*)elem->call_data;
205
+ call_data* calld = static_cast<call_data*>(elem->call_data);
224
206
  // Note: The call to grpc_call_next_op() results in yielding the
225
207
  // call combiner, so we need to clear calld->send_message_batch
226
208
  // before we do that.
@@ -231,22 +213,23 @@ static void send_message_batch_continue(grpc_call_element* elem) {
231
213
  }
232
214
 
233
215
  static void finish_send_message(grpc_call_element* elem) {
234
- call_data* calld = (call_data*)elem->call_data;
216
+ call_data* calld = static_cast<call_data*>(elem->call_data);
235
217
  // Compress the data if appropriate.
236
218
  grpc_slice_buffer tmp;
237
219
  grpc_slice_buffer_init(&tmp);
238
220
  uint32_t send_flags =
239
221
  calld->send_message_batch->payload->send_message.send_message->flags;
240
- bool did_compress =
241
- grpc_msg_compress(calld->compression_algorithm, &calld->slices, &tmp);
222
+ bool did_compress = grpc_msg_compress(calld->message_compression_algorithm,
223
+ &calld->slices, &tmp);
242
224
  if (did_compress) {
243
225
  if (grpc_compression_trace.enabled()) {
244
226
  const char* algo_name;
245
227
  const size_t before_size = calld->slices.length;
246
228
  const size_t after_size = tmp.length;
247
- const float savings_ratio = 1.0f - (float)after_size / (float)before_size;
248
- GPR_ASSERT(grpc_compression_algorithm_name(calld->compression_algorithm,
249
- &algo_name));
229
+ const float savings_ratio = 1.0f - static_cast<float>(after_size) /
230
+ static_cast<float>(before_size);
231
+ GPR_ASSERT(grpc_message_compression_algorithm_name(
232
+ calld->message_compression_algorithm, &algo_name));
250
233
  gpr_log(GPR_DEBUG,
251
234
  "Compressed[%s] %" PRIuPTR " bytes vs. %" PRIuPTR
252
235
  " bytes (%.2f%% savings)",
@@ -257,8 +240,8 @@ static void finish_send_message(grpc_call_element* elem) {
257
240
  } else {
258
241
  if (grpc_compression_trace.enabled()) {
259
242
  const char* algo_name;
260
- GPR_ASSERT(grpc_compression_algorithm_name(calld->compression_algorithm,
261
- &algo_name));
243
+ GPR_ASSERT(grpc_message_compression_algorithm_name(
244
+ calld->message_compression_algorithm, &algo_name));
262
245
  gpr_log(GPR_DEBUG,
263
246
  "Algorithm '%s' enabled but decided not to compress. Input size: "
264
247
  "%" PRIuPTR,
@@ -282,7 +265,7 @@ static void finish_send_message(grpc_call_element* elem) {
282
265
 
283
266
  static void fail_send_message_batch_in_call_combiner(void* arg,
284
267
  grpc_error* error) {
285
- call_data* calld = (call_data*)arg;
268
+ call_data* calld = static_cast<call_data*>(arg);
286
269
  if (calld->send_message_batch != nullptr) {
287
270
  grpc_transport_stream_op_batch_finish_with_failure(
288
271
  calld->send_message_batch, GRPC_ERROR_REF(error), calld->call_combiner);
@@ -307,10 +290,10 @@ static grpc_error* pull_slice_from_send_message(call_data* calld) {
307
290
  // an async call to grpc_byte_stream_next() has been started, which will
308
291
  // eventually result in calling on_send_message_next_done().
309
292
  static void continue_reading_send_message(grpc_call_element* elem) {
310
- call_data* calld = (call_data*)elem->call_data;
293
+ call_data* calld = static_cast<call_data*>(elem->call_data);
311
294
  while (grpc_byte_stream_next(
312
- calld->send_message_batch->payload->send_message.send_message, ~(size_t)0,
313
- &calld->on_send_message_next_done)) {
295
+ calld->send_message_batch->payload->send_message.send_message,
296
+ ~static_cast<size_t>(0), &calld->on_send_message_next_done)) {
314
297
  grpc_error* error = pull_slice_from_send_message(calld);
315
298
  if (error != GRPC_ERROR_NONE) {
316
299
  // Closure callback; does not take ownership of error.
@@ -328,8 +311,8 @@ static void continue_reading_send_message(grpc_call_element* elem) {
328
311
 
329
312
  // Async callback for grpc_byte_stream_next().
330
313
  static void on_send_message_next_done(void* arg, grpc_error* error) {
331
- grpc_call_element* elem = (grpc_call_element*)arg;
332
- call_data* calld = (call_data*)elem->call_data;
314
+ grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
315
+ call_data* calld = static_cast<call_data*>(elem->call_data);
333
316
  if (error != GRPC_ERROR_NONE) {
334
317
  // Closure callback; does not take ownership of error.
335
318
  fail_send_message_batch_in_call_combiner(calld, error);
@@ -351,8 +334,8 @@ static void on_send_message_next_done(void* arg, grpc_error* error) {
351
334
  }
352
335
 
353
336
  static void start_send_message_batch(void* arg, grpc_error* unused) {
354
- grpc_call_element* elem = (grpc_call_element*)arg;
355
- call_data* calld = (call_data*)elem->call_data;
337
+ grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
338
+ call_data* calld = static_cast<call_data*>(elem->call_data);
356
339
  if (skip_compression(
357
340
  elem,
358
341
  calld->send_message_batch->payload->send_message.send_message->flags,
@@ -365,8 +348,8 @@ static void start_send_message_batch(void* arg, grpc_error* unused) {
365
348
 
366
349
  static void compress_start_transport_stream_op_batch(
367
350
  grpc_call_element* elem, grpc_transport_stream_op_batch* batch) {
368
- call_data* calld = (call_data*)elem->call_data;
369
- GPR_TIMER_BEGIN("compress_start_transport_stream_op_batch", 0);
351
+ GPR_TIMER_SCOPE("compress_start_transport_stream_op_batch", 0);
352
+ call_data* calld = static_cast<call_data*>(elem->call_data);
370
353
  // Handle cancel_stream.
371
354
  if (batch->cancel_stream) {
372
355
  GRPC_ERROR_UNREF(calld->cancel_error);
@@ -381,6 +364,7 @@ static void compress_start_transport_stream_op_batch(
381
364
  GRPC_ERROR_REF(calld->cancel_error), "failing send_message op");
382
365
  } else {
383
366
  grpc_byte_stream_shutdown(
367
+
384
368
  calld->send_message_batch->payload->send_message.send_message,
385
369
  GRPC_ERROR_REF(calld->cancel_error));
386
370
  }
@@ -388,7 +372,7 @@ static void compress_start_transport_stream_op_batch(
388
372
  } else if (calld->cancel_error != GRPC_ERROR_NONE) {
389
373
  grpc_transport_stream_op_batch_finish_with_failure(
390
374
  batch, GRPC_ERROR_REF(calld->cancel_error), calld->call_combiner);
391
- goto done;
375
+ return;
392
376
  }
393
377
  // Handle send_initial_metadata.
394
378
  if (batch->send_initial_metadata) {
@@ -400,7 +384,7 @@ static void compress_start_transport_stream_op_batch(
400
384
  if (error != GRPC_ERROR_NONE) {
401
385
  grpc_transport_stream_op_batch_finish_with_failure(batch, error,
402
386
  calld->call_combiner);
403
- goto done;
387
+ return;
404
388
  }
405
389
  calld->send_initial_metadata_state = has_compression_algorithm
406
390
  ? HAS_COMPRESSION_ALGORITHM
@@ -429,21 +413,19 @@ static void compress_start_transport_stream_op_batch(
429
413
  GRPC_CALL_COMBINER_STOP(
430
414
  calld->call_combiner,
431
415
  "send_message batch pending send_initial_metadata");
432
- goto done;
416
+ return;
433
417
  }
434
418
  start_send_message_batch(elem, GRPC_ERROR_NONE);
435
419
  } else {
436
420
  // Pass control down the stack.
437
421
  grpc_call_next_op(elem, batch);
438
422
  }
439
- done:
440
- GPR_TIMER_END("compress_start_transport_stream_op_batch", 0);
441
423
  }
442
424
 
443
425
  /* Constructor for call_data */
444
426
  static grpc_error* init_call_elem(grpc_call_element* elem,
445
427
  const grpc_call_element_args* args) {
446
- call_data* calld = (call_data*)elem->call_data;
428
+ call_data* calld = static_cast<call_data*>(elem->call_data);
447
429
  calld->call_combiner = args->call_combiner;
448
430
  calld->cancel_error = GRPC_ERROR_NONE;
449
431
  grpc_slice_buffer_init(&calld->slices);
@@ -460,7 +442,7 @@ static grpc_error* init_call_elem(grpc_call_element* elem,
460
442
  static void destroy_call_elem(grpc_call_element* elem,
461
443
  const grpc_call_final_info* final_info,
462
444
  grpc_closure* ignored) {
463
- call_data* calld = (call_data*)elem->call_data;
445
+ call_data* calld = static_cast<call_data*>(elem->call_data);
464
446
  grpc_slice_buffer_destroy_internal(&calld->slices);
465
447
  GRPC_ERROR_UNREF(calld->cancel_error);
466
448
  }
@@ -468,14 +450,13 @@ static void destroy_call_elem(grpc_call_element* elem,
468
450
  /* Constructor for channel_data */
469
451
  static grpc_error* init_channel_elem(grpc_channel_element* elem,
470
452
  grpc_channel_element_args* args) {
471
- channel_data* channeld = (channel_data*)elem->channel_data;
453
+ channel_data* channeld = static_cast<channel_data*>(elem->channel_data);
472
454
 
473
- /* Configuration for message compression */
474
455
  channeld->enabled_algorithms_bitset =
475
456
  grpc_channel_args_compression_algorithm_get_states(args->channel_args);
476
-
477
457
  channeld->default_compression_algorithm =
478
458
  grpc_channel_args_get_compression_algorithm(args->channel_args);
459
+
479
460
  /* Make sure the default isn't disabled. */
480
461
  if (!GPR_BITGET(channeld->enabled_algorithms_bitset,
481
462
  channeld->default_compression_algorithm)) {
@@ -485,31 +466,18 @@ static grpc_error* init_channel_elem(grpc_channel_element* elem,
485
466
  channeld->default_compression_algorithm = GRPC_COMPRESS_NONE;
486
467
  }
487
468
 
488
- channeld->supported_compression_algorithms =
469
+ uint32_t supported_compression_algorithms =
489
470
  (((1u << GRPC_COMPRESS_ALGORITHMS_COUNT) - 1) &
490
471
  channeld->enabled_algorithms_bitset) |
491
472
  1u;
492
473
 
493
- /* Configuration for stream compression */
494
- channeld->enabled_stream_compression_algorithms_bitset =
495
- grpc_channel_args_stream_compression_algorithm_get_states(
496
- args->channel_args);
497
-
498
- channeld->default_stream_compression_algorithm =
499
- grpc_channel_args_get_stream_compression_algorithm(args->channel_args);
500
-
501
- if (!GPR_BITGET(channeld->enabled_stream_compression_algorithms_bitset,
502
- channeld->default_stream_compression_algorithm)) {
503
- gpr_log(GPR_DEBUG,
504
- "stream compression algorithm %d not enabled: switching to none",
505
- channeld->default_stream_compression_algorithm);
506
- channeld->default_stream_compression_algorithm = GRPC_STREAM_COMPRESS_NONE;
507
- }
474
+ channeld->supported_message_compression_algorithms =
475
+ grpc_compression_bitset_to_message_bitset(
476
+ supported_compression_algorithms);
508
477
 
509
478
  channeld->supported_stream_compression_algorithms =
510
- (((1u << GRPC_STREAM_COMPRESS_ALGORITHMS_COUNT) - 1) &
511
- channeld->enabled_stream_compression_algorithms_bitset) |
512
- 1u;
479
+ grpc_compression_bitset_to_stream_bitset(
480
+ supported_compression_algorithms);
513
481
 
514
482
  GPR_ASSERT(!args->is_last);
515
483
  return GRPC_ERROR_NONE;