grpc 1.7.3 → 1.8.0

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 (616) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +2106 -2116
  3. data/include/grpc/census.h +1 -432
  4. data/include/grpc/compression.h +9 -9
  5. data/include/grpc/grpc.h +115 -98
  6. data/include/grpc/grpc_cronet.h +3 -3
  7. data/include/grpc/grpc_posix.h +4 -4
  8. data/include/grpc/grpc_security.h +160 -88
  9. data/include/grpc/grpc_security_constants.h +7 -0
  10. data/include/grpc/impl/codegen/atm.h +9 -1
  11. data/include/grpc/impl/codegen/atm_gcc_atomic.h +13 -4
  12. data/include/grpc/impl/codegen/atm_gcc_sync.h +6 -5
  13. data/include/grpc/impl/codegen/atm_windows.h +23 -22
  14. data/include/grpc/impl/codegen/byte_buffer.h +14 -14
  15. data/include/grpc/impl/codegen/byte_buffer_reader.h +2 -2
  16. data/include/grpc/impl/codegen/connectivity_state.h +0 -2
  17. data/include/grpc/impl/codegen/grpc_types.h +32 -28
  18. data/include/grpc/impl/codegen/port_platform.h +48 -0
  19. data/include/grpc/impl/codegen/slice.h +10 -10
  20. data/include/grpc/impl/codegen/sync_generic.h +9 -3
  21. data/include/grpc/slice.h +16 -17
  22. data/include/grpc/slice_buffer.h +22 -22
  23. data/include/grpc/support/alloc.h +11 -11
  24. data/include/grpc/support/avl.h +28 -20
  25. data/include/grpc/support/cmdline.h +13 -13
  26. data/include/grpc/support/histogram.h +17 -17
  27. data/include/grpc/support/host_port.h +2 -2
  28. data/include/grpc/support/log.h +9 -9
  29. data/include/grpc/support/log_windows.h +1 -1
  30. data/include/grpc/support/string_util.h +2 -2
  31. data/include/grpc/support/subprocess.h +5 -5
  32. data/include/grpc/support/sync.h +43 -27
  33. data/include/grpc/support/thd.h +6 -6
  34. data/include/grpc/support/tls_gcc.h +1 -1
  35. data/include/grpc/support/tls_pthread.h +1 -1
  36. data/src/core/ext/census/{grpc_context.c → grpc_context.cc} +5 -8
  37. data/src/core/ext/filters/client_channel/backup_poller.cc +165 -0
  38. data/src/core/ext/{census/grpc_filter.h → filters/client_channel/backup_poller.h} +12 -7
  39. data/src/core/ext/filters/client_channel/{channel_connectivity.c → channel_connectivity.cc} +45 -42
  40. data/src/core/ext/filters/client_channel/{client_channel.c → client_channel.cc} +452 -417
  41. data/src/core/ext/filters/client_channel/client_channel.h +16 -8
  42. data/src/core/ext/filters/client_channel/{client_channel_factory.c → client_channel_factory.cc} +0 -0
  43. data/src/core/ext/filters/client_channel/client_channel_factory.h +29 -21
  44. data/src/core/ext/filters/client_channel/{client_channel_plugin.c → client_channel_plugin.cc} +15 -19
  45. data/src/core/ext/filters/client_channel/{connector.c → connector.cc} +0 -0
  46. data/src/core/ext/filters/client_channel/connector.h +29 -21
  47. data/src/core/ext/filters/client_channel/{http_connect_handshaker.c → http_connect_handshaker.cc} +10 -10
  48. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +8 -0
  49. data/src/core/ext/filters/client_channel/{http_proxy.c → http_proxy.cc} +14 -14
  50. data/src/core/ext/filters/client_channel/http_proxy.h +8 -0
  51. data/src/core/ext/filters/client_channel/{lb_policy.c → lb_policy.cc} +47 -48
  52. data/src/core/ext/filters/client_channel/lb_policy.h +76 -70
  53. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{client_load_reporting_filter.c → client_load_reporting_filter.cc} +28 -29
  54. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +9 -1
  55. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb.c → grpclb.cc} +554 -563
  56. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +9 -1
  57. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +17 -9
  58. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_channel_secure.c → grpclb_channel_secure.cc} +17 -17
  59. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_client_stats.c → grpclb_client_stats.cc} +3 -3
  60. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +9 -1
  61. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{load_balancer_api.c → load_balancer_api.cc} +64 -67
  62. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +20 -21
  63. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +599 -0
  64. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +695 -0
  65. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +270 -0
  66. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +153 -0
  67. data/src/core/ext/filters/client_channel/{lb_policy_factory.c → lb_policy_factory.cc} +10 -10
  68. data/src/core/ext/filters/client_channel/lb_policy_factory.h +48 -40
  69. data/src/core/ext/filters/client_channel/{lb_policy_registry.c → lb_policy_registry.cc} +9 -9
  70. data/src/core/ext/filters/client_channel/lb_policy_registry.h +11 -3
  71. data/src/core/ext/filters/client_channel/{parse_address.c → parse_address.cc} +24 -24
  72. data/src/core/ext/filters/client_channel/parse_address.h +14 -6
  73. data/src/core/ext/filters/client_channel/{proxy_mapper.c → proxy_mapper.cc} +0 -0
  74. data/src/core/ext/filters/client_channel/proxy_mapper.h +8 -0
  75. data/src/core/ext/filters/client_channel/{proxy_mapper_registry.c → proxy_mapper_registry.cc} +0 -0
  76. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +8 -0
  77. data/src/core/ext/filters/client_channel/{resolver.c → resolver.cc} +21 -23
  78. data/src/core/ext/filters/client_channel/resolver.h +33 -27
  79. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{dns_resolver_ares.c → dns_resolver_ares.cc} +133 -133
  80. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +18 -9
  81. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_ev_driver_posix.c → grpc_ares_ev_driver_posix.cc} +58 -56
  82. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_wrapper.c → grpc_ares_wrapper.cc} +118 -115
  83. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +23 -15
  84. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +60 -0
  85. data/src/core/ext/filters/client_channel/resolver/dns/native/{dns_resolver.c → dns_resolver.cc} +100 -94
  86. data/src/core/ext/filters/client_channel/resolver/fake/{fake_resolver.c → fake_resolver.cc} +14 -14
  87. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +9 -1
  88. data/src/core/ext/filters/client_channel/resolver/sockaddr/{sockaddr_resolver.c → sockaddr_resolver.cc} +60 -60
  89. data/src/core/ext/filters/client_channel/{resolver_factory.c → resolver_factory.cc} +2 -2
  90. data/src/core/ext/filters/client_channel/resolver_factory.h +27 -19
  91. data/src/core/ext/filters/client_channel/{resolver_registry.c → resolver_registry.cc} +35 -35
  92. data/src/core/ext/filters/client_channel/resolver_registry.h +18 -10
  93. data/src/core/ext/filters/client_channel/{retry_throttle.c → retry_throttle.cc} +10 -10
  94. data/src/core/ext/filters/client_channel/retry_throttle.h +8 -0
  95. data/src/core/ext/filters/client_channel/{subchannel.c → subchannel.cc} +210 -213
  96. data/src/core/ext/filters/client_channel/subchannel.h +68 -60
  97. data/src/core/ext/filters/client_channel/{subchannel_index.c → subchannel_index.cc} +52 -52
  98. data/src/core/ext/filters/client_channel/subchannel_index.h +22 -14
  99. data/src/core/ext/filters/client_channel/{uri_parser.c → uri_parser.cc} +29 -27
  100. data/src/core/ext/filters/client_channel/uri_parser.h +18 -10
  101. data/src/core/ext/filters/deadline/{deadline_filter.c → deadline_filter.cc} +12 -15
  102. data/src/core/ext/filters/deadline/deadline_filter.h +11 -2
  103. data/src/core/ext/filters/http/client/{http_client_filter.c → http_client_filter.cc} +83 -83
  104. data/src/core/ext/filters/http/client/http_client_filter.h +8 -0
  105. data/src/core/ext/filters/http/{http_filters_plugin.c → http_filters_plugin.cc} +20 -21
  106. data/src/core/ext/filters/http/message_compress/{message_compress_filter.c → message_compress_filter.cc} +84 -83
  107. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +9 -1
  108. data/src/core/ext/filters/http/server/{http_server_filter.c → http_server_filter.cc} +80 -78
  109. data/src/core/ext/filters/http/server/http_server_filter.h +8 -0
  110. data/src/core/ext/filters/load_reporting/{server_load_reporting_filter.c → server_load_reporting_filter.cc} +29 -29
  111. data/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +9 -1
  112. data/src/core/ext/filters/load_reporting/{server_load_reporting_plugin.c → server_load_reporting_plugin.cc} +11 -11
  113. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +13 -5
  114. data/src/core/ext/filters/max_age/{max_age_filter.c → max_age_filter.cc} +46 -56
  115. data/src/core/ext/filters/max_age/max_age_filter.h +8 -0
  116. data/src/core/ext/filters/message_size/{message_size_filter.c → message_size_filter.cc} +62 -40
  117. data/src/core/ext/filters/message_size/message_size_filter.h +8 -0
  118. data/src/core/ext/filters/workarounds/{workaround_cronet_compression_filter.c → workaround_cronet_compression_filter.cc} +11 -11
  119. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +8 -0
  120. data/src/core/ext/filters/workarounds/{workaround_utils.c → workaround_utils.cc} +7 -7
  121. data/src/core/ext/filters/workarounds/workaround_utils.h +9 -1
  122. data/src/core/ext/transport/chttp2/alpn/{alpn.c → alpn.cc} +3 -3
  123. data/src/core/ext/transport/chttp2/alpn/alpn.h +10 -2
  124. data/src/core/ext/transport/chttp2/client/{chttp2_connector.c → chttp2_connector.cc} +49 -45
  125. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +8 -0
  126. data/src/core/ext/transport/chttp2/client/insecure/{channel_create.c → channel_create.cc} +28 -27
  127. data/src/core/ext/transport/chttp2/client/insecure/{channel_create_posix.c → channel_create_posix.cc} +14 -13
  128. data/src/core/ext/transport/chttp2/client/secure/{secure_channel_create.c → secure_channel_create.cc} +68 -66
  129. data/src/core/ext/transport/chttp2/server/{chttp2_server.c → chttp2_server.cc} +76 -77
  130. data/src/core/ext/transport/chttp2/server/chttp2_server.h +11 -3
  131. data/src/core/ext/transport/chttp2/server/insecure/{server_chttp2.c → server_chttp2.cc} +3 -3
  132. data/src/core/ext/transport/chttp2/server/insecure/{server_chttp2_posix.c → server_chttp2_posix.cc} +13 -12
  133. data/src/core/ext/transport/chttp2/server/secure/{server_secure_chttp2.c → server_secure_chttp2.cc} +12 -10
  134. data/src/core/ext/transport/chttp2/transport/{bin_decoder.c → bin_decoder.cc} +7 -7
  135. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +15 -7
  136. data/src/core/ext/transport/chttp2/transport/{bin_encoder.c → bin_encoder.cc} +11 -11
  137. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +8 -0
  138. data/src/core/ext/transport/chttp2/transport/{chttp2_plugin.c → chttp2_plugin.cc} +2 -9
  139. data/src/core/ext/transport/chttp2/transport/{chttp2_transport.c → chttp2_transport.cc} +778 -778
  140. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +14 -10
  141. data/src/core/ext/transport/chttp2/transport/flow_control.cc +385 -0
  142. data/src/core/ext/transport/chttp2/transport/flow_control.h +337 -0
  143. data/src/core/ext/transport/chttp2/transport/frame.h +8 -0
  144. data/src/core/ext/transport/chttp2/transport/{frame_data.c → frame_data.cc} +34 -34
  145. data/src/core/ext/transport/chttp2/transport/frame_data.h +25 -17
  146. data/src/core/ext/transport/chttp2/transport/{frame_goaway.c → frame_goaway.cc} +18 -18
  147. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +18 -10
  148. data/src/core/ext/transport/chttp2/transport/{frame_ping.c → frame_ping.cc} +18 -19
  149. data/src/core/ext/transport/chttp2/transport/frame_ping.h +12 -4
  150. data/src/core/ext/transport/chttp2/transport/{frame_rst_stream.c → frame_rst_stream.cc} +16 -16
  151. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +16 -8
  152. data/src/core/ext/transport/chttp2/transport/{frame_settings.c → frame_settings.cc} +23 -24
  153. data/src/core/ext/transport/chttp2/transport/frame_settings.h +17 -9
  154. data/src/core/ext/transport/chttp2/transport/{frame_window_update.c → frame_window_update.cc} +22 -24
  155. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +14 -6
  156. data/src/core/ext/transport/chttp2/transport/{hpack_encoder.c → hpack_encoder.cc} +206 -161
  157. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +23 -13
  158. data/src/core/ext/transport/chttp2/transport/{hpack_parser.c → hpack_parser.cc} +340 -334
  159. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +30 -22
  160. data/src/core/ext/transport/chttp2/transport/{hpack_table.c → hpack_table.cc} +25 -25
  161. data/src/core/ext/transport/chttp2/transport/hpack_table.h +19 -11
  162. data/src/core/ext/transport/chttp2/transport/{http2_settings.c → http2_settings.cc} +1 -1
  163. data/src/core/ext/transport/chttp2/transport/http2_settings.h +10 -2
  164. data/src/core/ext/transport/chttp2/transport/{huffsyms.c → huffsyms.cc} +0 -0
  165. data/src/core/ext/transport/chttp2/transport/huffsyms.h +8 -0
  166. data/src/core/ext/transport/chttp2/transport/{incoming_metadata.c → incoming_metadata.cc} +14 -13
  167. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +18 -10
  168. data/src/core/ext/transport/chttp2/transport/internal.h +214 -340
  169. data/src/core/ext/transport/chttp2/transport/{parsing.c → parsing.cc} +152 -141
  170. data/src/core/ext/transport/chttp2/transport/{stream_lists.c → stream_lists.cc} +53 -53
  171. data/src/core/ext/transport/chttp2/transport/{stream_map.c → stream_map.cc} +35 -34
  172. data/src/core/ext/transport/chttp2/transport/stream_map.h +22 -14
  173. data/src/core/ext/transport/chttp2/transport/{varint.c → varint.cc} +0 -0
  174. data/src/core/ext/transport/chttp2/transport/varint.h +8 -0
  175. data/src/core/ext/transport/chttp2/transport/writing.cc +636 -0
  176. data/src/core/ext/transport/inproc/{inproc_plugin.c → inproc_plugin.cc} +5 -6
  177. data/src/core/ext/transport/inproc/{inproc_transport.c → inproc_transport.cc} +479 -544
  178. data/src/core/ext/transport/inproc/inproc_transport.h +4 -4
  179. data/src/core/lib/backoff/backoff.cc +80 -0
  180. data/src/core/lib/backoff/backoff.h +83 -0
  181. data/src/core/lib/channel/{channel_args.c → channel_args.cc} +92 -92
  182. data/src/core/lib/channel/channel_args.h +45 -37
  183. data/src/core/lib/channel/{channel_stack.c → channel_stack.cc} +67 -68
  184. data/src/core/lib/channel/channel_stack.h +76 -75
  185. data/src/core/lib/channel/{channel_stack_builder.c → channel_stack_builder.cc} +91 -91
  186. data/src/core/lib/channel/channel_stack_builder.h +45 -45
  187. data/src/core/lib/channel/{connected_channel.c → connected_channel.cc} +70 -70
  188. data/src/core/lib/channel/connected_channel.h +12 -4
  189. data/src/core/lib/channel/context.h +2 -2
  190. data/src/core/lib/channel/{handshaker.c → handshaker.cc} +7 -9
  191. data/src/core/lib/channel/handshaker.h +9 -1
  192. data/src/core/lib/channel/{handshaker_factory.c → handshaker_factory.cc} +7 -7
  193. data/src/core/lib/channel/handshaker_factory.h +18 -10
  194. data/src/core/lib/channel/{handshaker_registry.c → handshaker_registry.cc} +0 -0
  195. data/src/core/lib/channel/handshaker_registry.h +8 -0
  196. data/src/core/lib/compression/algorithm_metadata.h +8 -0
  197. data/src/core/lib/compression/{compression.c → compression.cc} +9 -9
  198. data/src/core/lib/compression/{message_compress.c → message_compress.cc} +0 -0
  199. data/src/core/lib/compression/message_compress.h +8 -0
  200. data/src/core/lib/compression/{stream_compression.c → stream_compression.cc} +12 -12
  201. data/src/core/lib/compression/stream_compression.h +27 -19
  202. data/src/core/lib/compression/{stream_compression_gzip.c → stream_compression_gzip.cc} +35 -36
  203. data/src/core/lib/compression/stream_compression_gzip.h +8 -0
  204. data/src/core/lib/compression/{stream_compression_identity.c → stream_compression_identity.cc} +19 -20
  205. data/src/core/lib/compression/stream_compression_identity.h +8 -0
  206. data/src/core/lib/debug/{stats.c → stats.cc} +19 -19
  207. data/src/core/lib/debug/stats.h +17 -9
  208. data/src/core/lib/debug/{stats_data.c → stats_data.cc} +45 -22
  209. data/src/core/lib/debug/stats_data.h +58 -19
  210. data/src/core/lib/debug/trace.cc +142 -0
  211. data/src/core/lib/debug/trace.h +74 -14
  212. data/src/core/lib/http/{format_request.c → format_request.cc} +10 -10
  213. data/src/core/lib/http/format_request.h +12 -4
  214. data/src/core/lib/http/{httpcli.c → httpcli.cc} +80 -80
  215. data/src/core/lib/http/httpcli.h +41 -33
  216. data/src/core/lib/http/{httpcli_security_connector.c → httpcli_security_connector.cc} +69 -55
  217. data/src/core/lib/http/{parser.c → parser.cc} +42 -42
  218. data/src/core/lib/http/parser.h +28 -20
  219. data/src/core/lib/{support → iomgr}/block_annotate.h +17 -8
  220. data/src/core/lib/iomgr/{call_combiner.c → call_combiner.cc} +29 -17
  221. data/src/core/lib/iomgr/call_combiner.h +9 -1
  222. data/src/core/lib/iomgr/closure.h +220 -62
  223. data/src/core/lib/iomgr/{combiner.c → combiner.cc} +63 -62
  224. data/src/core/lib/iomgr/combiner.h +16 -8
  225. data/src/core/lib/iomgr/{endpoint.c → endpoint.cc} +6 -0
  226. data/src/core/lib/iomgr/endpoint.h +47 -32
  227. data/src/core/lib/iomgr/endpoint_pair.h +12 -4
  228. data/src/core/lib/iomgr/{endpoint_pair_posix.c → endpoint_pair_posix.cc} +3 -3
  229. data/src/core/lib/iomgr/{endpoint_pair_uv.c → endpoint_pair_uv.cc} +2 -2
  230. data/src/core/lib/iomgr/{endpoint_pair_windows.c → endpoint_pair_windows.cc} +6 -6
  231. data/src/core/lib/iomgr/{error.c → error.cc} +125 -124
  232. data/src/core/lib/iomgr/error.h +32 -27
  233. data/src/core/lib/iomgr/error_internal.h +11 -2
  234. data/src/core/lib/iomgr/{ev_epoll1_linux.c → ev_epoll1_linux.cc} +214 -215
  235. data/src/core/lib/iomgr/ev_epoll1_linux.h +9 -1
  236. data/src/core/lib/iomgr/ev_epollex_linux.cc +1488 -0
  237. data/src/core/lib/iomgr/ev_epollex_linux.h +9 -1
  238. data/src/core/lib/iomgr/{ev_epollsig_linux.c → ev_epollsig_linux.cc} +304 -305
  239. data/src/core/lib/iomgr/ev_epollsig_linux.h +12 -4
  240. data/src/core/lib/iomgr/{ev_poll_posix.c → ev_poll_posix.cc} +272 -283
  241. data/src/core/lib/iomgr/ev_poll_posix.h +10 -2
  242. data/src/core/lib/iomgr/ev_posix.cc +288 -0
  243. data/src/core/lib/iomgr/ev_posix.h +75 -67
  244. data/src/core/lib/iomgr/{ev_windows.c → ev_windows.cc} +2 -2
  245. data/src/core/lib/iomgr/exec_ctx.cc +177 -0
  246. data/src/core/lib/iomgr/exec_ctx.h +35 -13
  247. data/src/core/lib/iomgr/{executor.c → executor.cc} +34 -35
  248. data/src/core/lib/iomgr/executor.h +12 -4
  249. data/src/core/lib/iomgr/{fork_posix.c → fork_posix.cc} +0 -0
  250. data/src/core/lib/iomgr/{fork_windows.c → fork_windows.cc} +0 -0
  251. data/src/core/lib/iomgr/gethostname.h +9 -1
  252. data/src/core/lib/iomgr/{gethostname_fallback.c → gethostname_fallback.cc} +2 -1
  253. data/src/core/lib/iomgr/{gethostname_host_name_max.c → gethostname_host_name_max.cc} +4 -3
  254. data/src/core/lib/iomgr/{gethostname_sysconf.c → gethostname_sysconf.cc} +3 -2
  255. data/src/core/lib/iomgr/{iocp_windows.c → iocp_windows.cc} +23 -25
  256. data/src/core/lib/iomgr/iocp_windows.h +17 -3
  257. data/src/core/lib/iomgr/{iomgr.c → iomgr.cc} +25 -19
  258. data/src/core/lib/iomgr/iomgr.h +11 -3
  259. data/src/core/lib/iomgr/iomgr_internal.h +13 -5
  260. data/src/core/lib/iomgr/{iomgr_posix.c → iomgr_posix.cc} +0 -1
  261. data/src/core/lib/iomgr/{iomgr_uv.c → iomgr_uv.cc} +1 -1
  262. data/src/core/lib/iomgr/iomgr_uv.h +8 -0
  263. data/src/core/lib/iomgr/{iomgr_windows.c → iomgr_windows.cc} +0 -0
  264. data/src/core/lib/iomgr/{is_epollexclusive_available.c → is_epollexclusive_available.cc} +1 -1
  265. data/src/core/lib/iomgr/is_epollexclusive_available.h +8 -0
  266. data/src/core/lib/iomgr/{load_file.c → load_file.cc} +12 -12
  267. data/src/core/lib/iomgr/load_file.h +2 -2
  268. data/src/core/lib/iomgr/{lockfree_event.c → lockfree_event.cc} +76 -68
  269. data/src/core/lib/iomgr/lockfree_event.h +30 -11
  270. data/src/core/lib/iomgr/{network_status_tracker.c → network_status_tracker.cc} +3 -2
  271. data/src/core/lib/iomgr/network_status_tracker.h +2 -2
  272. data/src/core/lib/iomgr/{polling_entity.c → polling_entity.cc} +18 -18
  273. data/src/core/lib/iomgr/polling_entity.h +21 -13
  274. data/src/core/lib/iomgr/pollset.h +17 -11
  275. data/src/core/lib/iomgr/pollset_set.h +23 -15
  276. data/src/core/lib/iomgr/{pollset_set_uv.c → pollset_set_uv.cc} +0 -0
  277. data/src/core/lib/iomgr/{pollset_set_windows.c → pollset_set_windows.cc} +0 -0
  278. data/src/core/lib/iomgr/{pollset_uv.c → pollset_uv.cc} +31 -29
  279. data/src/core/lib/iomgr/pollset_uv.h +8 -0
  280. data/src/core/lib/iomgr/{pollset_windows.c → pollset_windows.cc} +24 -24
  281. data/src/core/lib/iomgr/pollset_windows.h +17 -4
  282. data/src/core/lib/iomgr/port.h +10 -0
  283. data/src/core/lib/iomgr/resolve_address.h +18 -10
  284. data/src/core/lib/iomgr/{resolve_address_posix.c → resolve_address_posix.cc} +40 -40
  285. data/src/core/lib/iomgr/{resolve_address_uv.c → resolve_address_uv.cc} +61 -56
  286. data/src/core/lib/iomgr/{resolve_address_windows.c → resolve_address_windows.cc} +36 -34
  287. data/src/core/lib/iomgr/{resource_quota.c → resource_quota.cc} +209 -180
  288. data/src/core/lib/iomgr/resource_quota.h +45 -37
  289. data/src/core/lib/iomgr/{sockaddr_utils.c → sockaddr_utils.cc} +61 -61
  290. data/src/core/lib/iomgr/sockaddr_utils.h +23 -15
  291. data/src/core/lib/iomgr/sockaddr_windows.h +6 -0
  292. data/src/core/lib/iomgr/{socket_factory_posix.c → socket_factory_posix.cc} +20 -20
  293. data/src/core/lib/iomgr/socket_factory_posix.h +15 -15
  294. data/src/core/lib/iomgr/{socket_mutator.c → socket_mutator.cc} +18 -18
  295. data/src/core/lib/iomgr/socket_mutator.h +11 -11
  296. data/src/core/lib/iomgr/socket_utils.h +9 -1
  297. data/src/core/lib/iomgr/{socket_utils_common_posix.c → socket_utils_common_posix.cc} +28 -28
  298. data/src/core/lib/iomgr/{socket_utils_linux.c → socket_utils_linux.cc} +3 -3
  299. data/src/core/lib/iomgr/{socket_utils_posix.c → socket_utils_posix.cc} +3 -3
  300. data/src/core/lib/iomgr/socket_utils_posix.h +26 -18
  301. data/src/core/lib/iomgr/{socket_utils_uv.c → socket_utils_uv.cc} +1 -1
  302. data/src/core/lib/iomgr/{socket_utils_windows.c → socket_utils_windows.cc} +2 -2
  303. data/src/core/lib/iomgr/{socket_windows.c → socket_windows.cc} +18 -18
  304. data/src/core/lib/iomgr/socket_windows.h +26 -13
  305. data/src/core/lib/iomgr/tcp_client.h +14 -6
  306. data/src/core/lib/iomgr/{tcp_client_posix.c → tcp_client_posix.cc} +69 -70
  307. data/src/core/lib/iomgr/tcp_client_posix.h +11 -3
  308. data/src/core/lib/iomgr/{tcp_client_uv.c → tcp_client_uv.cc} +47 -48
  309. data/src/core/lib/iomgr/{tcp_client_windows.c → tcp_client_windows.cc} +46 -44
  310. data/src/core/lib/iomgr/{tcp_posix.c → tcp_posix.cc} +198 -175
  311. data/src/core/lib/iomgr/tcp_posix.h +15 -7
  312. data/src/core/lib/iomgr/tcp_server.h +31 -23
  313. data/src/core/lib/iomgr/{tcp_server_posix.c → tcp_server_posix.cc} +78 -77
  314. data/src/core/lib/iomgr/tcp_server_utils_posix.h +27 -19
  315. data/src/core/lib/iomgr/{tcp_server_utils_posix_common.c → tcp_server_utils_posix_common.cc} +27 -27
  316. data/src/core/lib/iomgr/{tcp_server_utils_posix_ifaddrs.c → tcp_server_utils_posix_ifaddrs.cc} +25 -25
  317. data/src/core/lib/iomgr/{tcp_server_utils_posix_noifaddrs.c → tcp_server_utils_posix_noifaddrs.cc} +2 -2
  318. data/src/core/lib/iomgr/{tcp_server_uv.c → tcp_server_uv.cc} +133 -105
  319. data/src/core/lib/iomgr/{tcp_server_windows.c → tcp_server_windows.cc} +81 -77
  320. data/src/core/lib/iomgr/tcp_uv.cc +420 -0
  321. data/src/core/lib/iomgr/tcp_uv.h +18 -4
  322. data/src/core/lib/iomgr/{tcp_windows.c → tcp_windows.cc} +90 -79
  323. data/src/core/lib/iomgr/tcp_windows.h +17 -4
  324. data/src/core/lib/iomgr/{time_averaged_stats.c → time_averaged_stats.cc} +0 -0
  325. data/src/core/lib/iomgr/time_averaged_stats.h +8 -0
  326. data/src/core/lib/iomgr/timer.h +16 -9
  327. data/src/core/lib/iomgr/{timer_generic.c → timer_generic.cc} +130 -171
  328. data/src/core/lib/iomgr/timer_generic.h +4 -4
  329. data/src/core/lib/iomgr/{timer_heap.c → timer_heap.cc} +20 -21
  330. data/src/core/lib/iomgr/timer_heap.h +16 -8
  331. data/src/core/lib/iomgr/{timer_manager.c → timer_manager.cc} +54 -52
  332. data/src/core/lib/iomgr/timer_manager.h +8 -0
  333. data/src/core/lib/iomgr/{timer_uv.c → timer_uv.cc} +22 -24
  334. data/src/core/lib/iomgr/timer_uv.h +2 -2
  335. data/src/core/lib/iomgr/{udp_server.c → udp_server.cc} +75 -75
  336. data/src/core/lib/iomgr/udp_server.h +25 -17
  337. data/src/core/lib/iomgr/{unix_sockets_posix.c → unix_sockets_posix.cc} +22 -21
  338. data/src/core/lib/iomgr/unix_sockets_posix.h +14 -6
  339. data/src/core/lib/iomgr/{unix_sockets_posix_noop.c → unix_sockets_posix_noop.cc} +5 -5
  340. data/src/core/lib/iomgr/{wakeup_fd_cv.c → wakeup_fd_cv.cc} +2 -2
  341. data/src/core/lib/iomgr/wakeup_fd_cv.h +10 -0
  342. data/src/core/lib/iomgr/{wakeup_fd_eventfd.c → wakeup_fd_eventfd.cc} +0 -0
  343. data/src/core/lib/iomgr/{wakeup_fd_nospecial.c → wakeup_fd_nospecial.cc} +0 -0
  344. data/src/core/lib/iomgr/{wakeup_fd_pipe.c → wakeup_fd_pipe.cc} +1 -0
  345. data/src/core/lib/iomgr/wakeup_fd_pipe.h +9 -1
  346. data/src/core/lib/iomgr/{wakeup_fd_posix.c → wakeup_fd_posix.cc} +6 -7
  347. data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -0
  348. data/src/core/lib/json/{json.c → json.cc} +0 -0
  349. data/src/core/lib/json/json.h +8 -0
  350. data/src/core/lib/json/{json_reader.c → json_reader.cc} +18 -18
  351. data/src/core/lib/json/json_reader.h +26 -18
  352. data/src/core/lib/json/{json_string.c → json_string.cc} +57 -57
  353. data/src/core/lib/json/{json_writer.c → json_writer.cc} +20 -20
  354. data/src/core/lib/json/json_writer.h +23 -15
  355. data/src/core/lib/profiling/{basic_timers.c → basic_timers.cc} +34 -34
  356. data/src/core/lib/profiling/{stap_timers.c → stap_timers.cc} +5 -5
  357. data/src/core/lib/profiling/timers.h +6 -6
  358. data/src/core/lib/security/context/{security_context.c → security_context.cc} +98 -95
  359. data/src/core/lib/security/context/security_context.h +27 -29
  360. data/src/core/lib/security/credentials/composite/{composite_credentials.c → composite_credentials.cc} +79 -73
  361. data/src/core/lib/security/credentials/composite/composite_credentials.h +17 -9
  362. data/src/core/lib/security/credentials/{credentials.c → credentials.cc} +97 -92
  363. data/src/core/lib/security/credentials/credentials.h +83 -75
  364. data/src/core/lib/security/credentials/{credentials_metadata.c → credentials_metadata.cc} +7 -6
  365. data/src/core/lib/security/credentials/fake/{fake_credentials.c → fake_credentials.cc} +39 -36
  366. data/src/core/lib/security/credentials/fake/fake_credentials.h +13 -5
  367. data/src/core/lib/security/credentials/google_default/{credentials_generic.c → credentials_generic.cc} +5 -5
  368. data/src/core/lib/security/credentials/google_default/{google_default_credentials.c → google_default_credentials.cc} +55 -55
  369. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +9 -1
  370. data/src/core/lib/security/credentials/iam/{iam_credentials.c → iam_credentials.cc} +19 -18
  371. data/src/core/lib/security/credentials/jwt/{json_token.c → json_token.cc} +80 -75
  372. data/src/core/lib/security/credentials/jwt/json_token.h +23 -15
  373. data/src/core/lib/security/credentials/jwt/{jwt_credentials.c → jwt_credentials.cc} +45 -41
  374. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +11 -3
  375. data/src/core/lib/security/credentials/jwt/{jwt_verifier.c → jwt_verifier.cc} +262 -252
  376. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +38 -30
  377. data/src/core/lib/security/credentials/oauth2/{oauth2_credentials.c → oauth2_credentials.cc} +138 -141
  378. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +30 -22
  379. data/src/core/lib/security/credentials/plugin/{plugin_credentials.c → plugin_credentials.cc} +52 -53
  380. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +7 -7
  381. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +344 -0
  382. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +27 -0
  383. data/src/core/lib/security/transport/auth_filters.h +16 -0
  384. data/src/core/lib/security/transport/{client_auth_filter.c → client_auth_filter.cc} +127 -115
  385. data/src/core/lib/security/transport/{lb_targets_info.c → lb_targets_info.cc} +16 -13
  386. data/src/core/lib/security/transport/lb_targets_info.h +11 -3
  387. data/src/core/lib/security/transport/{secure_endpoint.c → secure_endpoint.cc} +84 -76
  388. data/src/core/lib/security/transport/secure_endpoint.h +13 -5
  389. data/src/core/lib/security/transport/security_connector.cc +1121 -0
  390. data/src/core/lib/security/transport/security_connector.h +97 -79
  391. data/src/core/lib/security/transport/{security_handshaker.c → security_handshaker.cc} +139 -132
  392. data/src/core/lib/security/transport/security_handshaker.h +11 -3
  393. data/src/core/lib/security/transport/{server_auth_filter.c → server_auth_filter.cc} +68 -68
  394. data/src/core/lib/security/transport/{tsi_error.c → tsi_error.cc} +1 -1
  395. data/src/core/lib/security/transport/tsi_error.h +9 -1
  396. data/src/core/lib/security/util/{json_util.c → json_util.cc} +11 -11
  397. data/src/core/lib/security/util/json_util.h +12 -4
  398. data/src/core/lib/slice/{b64.c → b64.cc} +15 -15
  399. data/src/core/lib/slice/b64.h +12 -4
  400. data/src/core/lib/slice/{percent_encoding.c → percent_encoding.cc} +15 -15
  401. data/src/core/lib/slice/percent_encoding.h +11 -3
  402. data/src/core/lib/slice/{slice.c → slice.cc} +64 -64
  403. data/src/core/lib/slice/{slice_buffer.c → slice_buffer.cc} +38 -38
  404. data/src/core/lib/slice/{slice_hash_table.c → slice_hash_table.cc} +7 -7
  405. data/src/core/lib/slice/slice_hash_table.h +19 -11
  406. data/src/core/lib/slice/{slice_intern.c → slice_intern.cc} +35 -34
  407. data/src/core/lib/slice/slice_internal.h +17 -6
  408. data/src/core/lib/slice/{slice_string_helpers.c → slice_string_helpers.cc} +9 -9
  409. data/src/core/lib/slice/slice_string_helpers.h +3 -3
  410. data/src/core/lib/support/abstract.h +29 -0
  411. data/src/core/lib/support/{alloc.c → alloc.cc} +22 -22
  412. data/src/core/lib/support/{arena.c → arena.cc} +12 -12
  413. data/src/core/lib/support/arena.h +11 -3
  414. data/src/core/lib/support/{atm.c → atm.cc} +1 -1
  415. data/src/core/lib/support/{avl.c → avl.cc} +71 -70
  416. data/src/core/lib/support/{cmdline.c → cmdline.cc} +62 -62
  417. data/src/core/lib/support/{cpu_iphone.c → cpu_iphone.cc} +2 -0
  418. data/src/core/lib/support/{cpu_linux.c → cpu_linux.cc} +10 -0
  419. data/src/core/lib/support/{cpu_posix.c → cpu_posix.cc} +27 -4
  420. data/src/core/lib/support/{cpu_windows.c → cpu_windows.cc} +1 -0
  421. data/src/core/lib/support/env.h +3 -3
  422. data/src/core/lib/support/{env_linux.c → env_linux.cc} +11 -11
  423. data/src/core/lib/support/{env_posix.c → env_posix.cc} +4 -4
  424. data/src/core/lib/support/{env_windows.c → env_windows.cc} +5 -5
  425. data/src/core/lib/support/{fork.c → fork.cc} +2 -2
  426. data/src/core/lib/support/{histogram.c → histogram.cc} +25 -26
  427. data/src/core/lib/support/{host_port.c → host_port.cc} +16 -16
  428. data/src/core/lib/support/{log.c → log.cc} +8 -8
  429. data/src/core/lib/support/{log_android.c → log_android.cc} +7 -7
  430. data/src/core/lib/support/{log_linux.c → log_linux.cc} +8 -8
  431. data/src/core/lib/support/{log_posix.c → log_posix.cc} +9 -10
  432. data/src/core/lib/support/{log_windows.c → log_windows.cc} +7 -7
  433. data/src/core/lib/support/manual_constructor.h +211 -0
  434. data/src/core/lib/support/memory.h +41 -0
  435. data/src/core/lib/support/mpscq.cc +114 -0
  436. data/src/core/lib/support/mpscq.h +45 -7
  437. data/src/core/lib/support/{murmur_hash.c → murmur_hash.cc} +9 -12
  438. data/src/core/lib/support/murmur_hash.h +9 -1
  439. data/src/core/lib/support/spinlock.h +8 -1
  440. data/src/core/lib/support/{string.c → string.cc} +56 -55
  441. data/src/core/lib/support/string.h +21 -21
  442. data/src/core/lib/support/{string_posix.c → string_posix.cc} +5 -4
  443. data/src/core/lib/support/{string_util_windows.c → string_util_windows.cc} +9 -6
  444. data/src/core/lib/support/{string_windows.c → string_windows.cc} +3 -2
  445. data/src/core/lib/support/string_windows.h +8 -0
  446. data/src/core/lib/support/{subprocess_posix.c → subprocess_posix.cc} +13 -13
  447. data/src/core/lib/support/{subprocess_windows.c → subprocess_windows.cc} +9 -9
  448. data/src/core/lib/support/{sync.c → sync.cc} +22 -22
  449. data/src/core/lib/support/{sync_posix.c → sync_posix.cc} +6 -2
  450. data/src/core/lib/support/{sync_windows.c → sync_windows.cc} +14 -14
  451. data/src/core/lib/support/{thd.c → thd.cc} +0 -0
  452. data/src/core/lib/support/{thd_posix.c → thd_posix.cc} +10 -10
  453. data/src/core/lib/support/{thd_windows.c → thd_windows.cc} +10 -10
  454. data/src/core/lib/support/{time.c → time.cc} +0 -0
  455. data/src/core/lib/support/{time_posix.c → time_posix.cc} +5 -6
  456. data/src/core/lib/support/{time_precise.c → time_precise.cc} +6 -4
  457. data/src/core/lib/support/time_precise.h +9 -1
  458. data/src/core/lib/support/{time_windows.c → time_windows.cc} +2 -3
  459. data/src/core/lib/support/{tls_pthread.c → tls_pthread.cc} +2 -2
  460. data/src/core/lib/support/tmpfile.h +1 -1
  461. data/src/core/lib/support/{tmpfile_msys.c → tmpfile_msys.cc} +2 -2
  462. data/src/core/lib/support/{tmpfile_posix.c → tmpfile_posix.cc} +7 -7
  463. data/src/core/lib/support/{tmpfile_windows.c → tmpfile_windows.cc} +2 -2
  464. data/src/core/lib/support/{wrap_memcpy.c → wrap_memcpy.cc} +4 -2
  465. data/src/core/lib/surface/{alarm.c → alarm.cc} +32 -31
  466. data/src/core/lib/surface/alarm_internal.h +10 -2
  467. data/src/core/lib/surface/{api_trace.c → api_trace.cc} +1 -1
  468. data/src/core/lib/surface/api_trace.h +2 -2
  469. data/src/core/lib/surface/{byte_buffer.c → byte_buffer.cc} +13 -13
  470. data/src/core/lib/surface/{byte_buffer_reader.c → byte_buffer_reader.cc} +9 -9
  471. data/src/core/lib/surface/{call.c → call.cc} +379 -372
  472. data/src/core/lib/surface/call.h +37 -38
  473. data/src/core/lib/surface/{call_details.c → call_details.cc} +0 -0
  474. data/src/core/lib/surface/{call_log_batch.c → call_log_batch.cc} +13 -11
  475. data/src/core/lib/surface/call_test_only.h +5 -5
  476. data/src/core/lib/surface/{channel.c → channel.cc} +94 -95
  477. data/src/core/lib/surface/channel.h +29 -21
  478. data/src/core/lib/surface/{channel_init.c → channel_init.cc} +13 -13
  479. data/src/core/lib/surface/channel_init.h +6 -6
  480. data/src/core/lib/surface/{channel_ping.c → channel_ping.cc} +12 -12
  481. data/src/core/lib/surface/{channel_stack_type.c → channel_stack_type.cc} +1 -1
  482. data/src/core/lib/surface/channel_stack_type.h +9 -1
  483. data/src/core/lib/surface/{completion_queue.c → completion_queue.cc} +416 -379
  484. data/src/core/lib/surface/completion_queue.h +29 -29
  485. data/src/core/lib/surface/{completion_queue_factory.c → completion_queue_factory.cc} +1 -1
  486. data/src/core/lib/surface/completion_queue_factory.h +8 -0
  487. data/src/core/lib/surface/{event_string.c → event_string.cc} +9 -9
  488. data/src/core/lib/surface/event_string.h +9 -1
  489. data/src/core/lib/surface/{init.c → init.cc} +16 -39
  490. data/src/core/lib/surface/init.h +8 -0
  491. data/src/core/lib/surface/{init_secure.c → init_secure.cc} +12 -25
  492. data/src/core/lib/surface/lame_client.cc +38 -40
  493. data/src/core/lib/surface/lame_client.h +8 -0
  494. data/src/core/lib/surface/{metadata_array.c → metadata_array.cc} +0 -0
  495. data/src/core/lib/surface/{server.c → server.cc} +340 -404
  496. data/src/core/lib/surface/server.h +22 -14
  497. data/src/core/lib/surface/{validate_metadata.c → validate_metadata.cc} +10 -9
  498. data/src/core/lib/surface/validate_metadata.h +10 -2
  499. data/src/core/lib/surface/{version.c → version.cc} +2 -2
  500. data/src/core/lib/transport/bdp_estimator.cc +84 -0
  501. data/src/core/lib/transport/bdp_estimator.h +67 -42
  502. data/src/core/lib/transport/{byte_stream.c → byte_stream.cc} +51 -51
  503. data/src/core/lib/transport/byte_stream.h +41 -33
  504. data/src/core/lib/transport/{connectivity_state.c → connectivity_state.cc} +36 -40
  505. data/src/core/lib/transport/connectivity_state.h +29 -21
  506. data/src/core/lib/transport/{error_utils.c → error_utils.cc} +26 -22
  507. data/src/core/lib/transport/error_utils.h +18 -6
  508. data/src/core/lib/transport/{metadata.c → metadata.cc} +92 -88
  509. data/src/core/lib/transport/metadata.h +22 -20
  510. data/src/core/lib/transport/{metadata_batch.c → metadata_batch.cc} +78 -79
  511. data/src/core/lib/transport/metadata_batch.h +46 -45
  512. data/src/core/lib/transport/pid_controller.cc +48 -0
  513. data/src/core/lib/transport/pid_controller.h +84 -32
  514. data/src/core/lib/transport/{service_config.c → service_config.cc} +66 -48
  515. data/src/core/lib/transport/service_config.h +11 -2
  516. data/src/core/lib/transport/{static_metadata.c → static_metadata.cc} +2 -2
  517. data/src/core/lib/transport/static_metadata.h +30 -23
  518. data/src/core/lib/transport/{status_conversion.c → status_conversion.cc} +4 -3
  519. data/src/core/lib/transport/status_conversion.h +12 -2
  520. data/src/core/lib/transport/{timeout_encoding.c → timeout_encoding.cc} +28 -61
  521. data/src/core/lib/transport/timeout_encoding.h +11 -2
  522. data/src/core/lib/transport/{transport.c → transport.cc} +79 -79
  523. data/src/core/lib/transport/transport.h +78 -80
  524. data/src/core/lib/transport/transport_impl.h +27 -19
  525. data/src/core/lib/transport/{transport_op_string.c → transport_op_string.cc} +32 -30
  526. data/src/core/plugin_registry/{grpc_plugin_registry.c → grpc_plugin_registry.cc} +34 -38
  527. data/src/core/tsi/{fake_transport_security.c → fake_transport_security.cc} +141 -132
  528. data/src/core/tsi/fake_transport_security.h +5 -5
  529. data/src/core/tsi/{gts_transport_security.c → gts_transport_security.cc} +4 -4
  530. data/src/core/tsi/gts_transport_security.h +11 -3
  531. data/src/core/tsi/{ssl_transport_security.c → ssl_transport_security.cc} +309 -300
  532. data/src/core/tsi/ssl_transport_security.h +25 -25
  533. data/src/core/tsi/ssl_types.h +8 -0
  534. data/src/core/tsi/{transport_security.c → transport_security.cc} +94 -87
  535. data/src/core/tsi/transport_security.h +55 -55
  536. data/src/core/tsi/{transport_security_adapter.c → transport_security_adapter.cc} +58 -55
  537. data/src/core/tsi/transport_security_adapter.h +2 -2
  538. data/src/core/tsi/{transport_security_grpc.c → transport_security_grpc.cc} +21 -21
  539. data/src/core/tsi/transport_security_grpc.h +19 -19
  540. data/src/core/tsi/transport_security_interface.h +41 -41
  541. data/src/ruby/ext/grpc/extconf.rb +4 -2
  542. data/src/ruby/ext/grpc/rb_byte_buffer.c +5 -5
  543. data/src/ruby/ext/grpc/rb_byte_buffer.h +2 -2
  544. data/src/ruby/ext/grpc/rb_call.c +41 -42
  545. data/src/ruby/ext/grpc/rb_call.h +6 -6
  546. data/src/ruby/ext/grpc/rb_call_credentials.c +30 -30
  547. data/src/ruby/ext/grpc/rb_channel.c +87 -87
  548. data/src/ruby/ext/grpc/rb_channel_credentials.c +23 -23
  549. data/src/ruby/ext/grpc/rb_completion_queue.c +11 -11
  550. data/src/ruby/ext/grpc/rb_completion_queue.h +3 -3
  551. data/src/ruby/ext/grpc/rb_compression_options.c +20 -20
  552. data/src/ruby/ext/grpc/rb_event_thread.c +14 -14
  553. data/src/ruby/ext/grpc/rb_event_thread.h +1 -1
  554. data/src/ruby/ext/grpc/rb_grpc.c +8 -8
  555. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +16 -58
  556. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +242 -306
  557. data/src/ruby/ext/grpc/rb_server.c +23 -23
  558. data/src/ruby/ext/grpc/rb_server_credentials.c +13 -13
  559. data/src/ruby/lib/grpc/generic/rpc_server.rb +25 -12
  560. data/src/ruby/lib/grpc/version.rb +1 -1
  561. data/src/ruby/pb/grpc/health/checker.rb +14 -0
  562. data/src/ruby/spec/pb/health/checker_spec.rb +29 -0
  563. data/third_party/cares/config_freebsd/ares_config.h +502 -0
  564. data/third_party/cares/config_openbsd/ares_config.h +502 -0
  565. metadata +302 -328
  566. data/src/core/ext/census/aggregation.h +0 -51
  567. data/src/core/ext/census/base_resources.c +0 -56
  568. data/src/core/ext/census/base_resources.h +0 -24
  569. data/src/core/ext/census/census_interface.h +0 -61
  570. data/src/core/ext/census/census_rpc_stats.h +0 -86
  571. data/src/core/ext/census/context.c +0 -496
  572. data/src/core/ext/census/gen/census.pb.c +0 -161
  573. data/src/core/ext/census/gen/census.pb.h +0 -280
  574. data/src/core/ext/census/gen/trace_context.pb.c +0 -39
  575. data/src/core/ext/census/gen/trace_context.pb.h +0 -78
  576. data/src/core/ext/census/grpc_filter.c +0 -196
  577. data/src/core/ext/census/grpc_plugin.c +0 -70
  578. data/src/core/ext/census/initialize.c +0 -51
  579. data/src/core/ext/census/intrusive_hash_map.c +0 -305
  580. data/src/core/ext/census/intrusive_hash_map.h +0 -152
  581. data/src/core/ext/census/intrusive_hash_map_internal.h +0 -48
  582. data/src/core/ext/census/mlog.c +0 -586
  583. data/src/core/ext/census/mlog.h +0 -80
  584. data/src/core/ext/census/operation.c +0 -48
  585. data/src/core/ext/census/placeholders.c +0 -49
  586. data/src/core/ext/census/resource.c +0 -303
  587. data/src/core/ext/census/resource.h +0 -48
  588. data/src/core/ext/census/rpc_metric_id.h +0 -36
  589. data/src/core/ext/census/trace_context.c +0 -71
  590. data/src/core/ext/census/trace_context.h +0 -56
  591. data/src/core/ext/census/trace_label.h +0 -46
  592. data/src/core/ext/census/trace_propagation.h +0 -48
  593. data/src/core/ext/census/trace_status.h +0 -30
  594. data/src/core/ext/census/trace_string.h +0 -35
  595. data/src/core/ext/census/tracing.c +0 -55
  596. data/src/core/ext/census/tracing.h +0 -109
  597. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c +0 -714
  598. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c +0 -924
  599. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c +0 -60
  600. data/src/core/ext/transport/chttp2/transport/flow_control.c +0 -502
  601. data/src/core/ext/transport/chttp2/transport/writing.c +0 -534
  602. data/src/core/lib/debug/trace.c +0 -146
  603. data/src/core/lib/iomgr/closure.c +0 -219
  604. data/src/core/lib/iomgr/ev_epollex_linux.c +0 -1461
  605. data/src/core/lib/iomgr/ev_posix.c +0 -266
  606. data/src/core/lib/iomgr/exec_ctx.c +0 -113
  607. data/src/core/lib/iomgr/tcp_uv.c +0 -381
  608. data/src/core/lib/security/credentials/ssl/ssl_credentials.c +0 -194
  609. data/src/core/lib/security/transport/security_connector.c +0 -914
  610. data/src/core/lib/support/backoff.c +0 -72
  611. data/src/core/lib/support/backoff.h +0 -56
  612. data/src/core/lib/support/mpscq.c +0 -79
  613. data/src/core/lib/support/stack_lockfree.c +0 -137
  614. data/src/core/lib/support/stack_lockfree.h +0 -38
  615. data/src/core/lib/transport/bdp_estimator.c +0 -110
  616. data/src/core/lib/transport/pid_controller.c +0 -63
@@ -29,10 +29,12 @@
29
29
  #include "src/core/tsi/ssl_transport_security.h"
30
30
  #include "src/core/tsi/transport_security_interface.h"
31
31
 
32
- #ifndef NDEBUG
33
- extern grpc_tracer_flag grpc_trace_security_connector_refcount;
32
+ #ifdef __cplusplus
33
+ extern "C" {
34
34
  #endif
35
35
 
36
+ extern grpc_core::DebugOnlyTraceFlag grpc_trace_security_connector_refcount;
37
+
36
38
  /* --- status enum. --- */
37
39
 
38
40
  typedef enum { GRPC_SECURITY_OK = 0, GRPC_SECURITY_ERROR } grpc_security_status;
@@ -52,21 +54,17 @@ typedef struct grpc_security_connector grpc_security_connector;
52
54
  #define GRPC_ARG_SECURITY_CONNECTOR "grpc.security_connector"
53
55
 
54
56
  typedef struct {
55
- void (*destroy)(grpc_exec_ctx *exec_ctx, grpc_security_connector *sc);
56
- void (*check_peer)(grpc_exec_ctx *exec_ctx, grpc_security_connector *sc,
57
- tsi_peer peer, grpc_auth_context **auth_context,
58
- grpc_closure *on_peer_checked);
57
+ void (*destroy)(grpc_exec_ctx* exec_ctx, grpc_security_connector* sc);
58
+ void (*check_peer)(grpc_exec_ctx* exec_ctx, grpc_security_connector* sc,
59
+ tsi_peer peer, grpc_auth_context** auth_context,
60
+ grpc_closure* on_peer_checked);
61
+ int (*cmp)(grpc_security_connector* sc, grpc_security_connector* other);
59
62
  } grpc_security_connector_vtable;
60
63
 
61
- typedef struct grpc_security_connector_handshake_list {
62
- void *handshake;
63
- struct grpc_security_connector_handshake_list *next;
64
- } grpc_security_connector_handshake_list;
65
-
66
64
  struct grpc_security_connector {
67
- const grpc_security_connector_vtable *vtable;
65
+ const grpc_security_connector_vtable* vtable;
68
66
  gpr_refcount refcount;
69
- const char *url_scheme;
67
+ const char* url_scheme;
70
68
  };
71
69
 
72
70
  /* Refcounting. */
@@ -75,122 +73,137 @@ struct grpc_security_connector {
75
73
  grpc_security_connector_ref((p), __FILE__, __LINE__, (r))
76
74
  #define GRPC_SECURITY_CONNECTOR_UNREF(exec_ctx, p, r) \
77
75
  grpc_security_connector_unref((exec_ctx), (p), __FILE__, __LINE__, (r))
78
- grpc_security_connector *grpc_security_connector_ref(
79
- grpc_security_connector *policy, const char *file, int line,
80
- const char *reason);
81
- void grpc_security_connector_unref(grpc_exec_ctx *exec_ctx,
82
- grpc_security_connector *policy,
83
- const char *file, int line,
84
- const char *reason);
76
+ grpc_security_connector* grpc_security_connector_ref(
77
+ grpc_security_connector* policy, const char* file, int line,
78
+ const char* reason);
79
+ void grpc_security_connector_unref(grpc_exec_ctx* exec_ctx,
80
+ grpc_security_connector* policy,
81
+ const char* file, int line,
82
+ const char* reason);
85
83
  #else
86
84
  #define GRPC_SECURITY_CONNECTOR_REF(p, r) grpc_security_connector_ref((p))
87
85
  #define GRPC_SECURITY_CONNECTOR_UNREF(exec_ctx, p, r) \
88
86
  grpc_security_connector_unref((exec_ctx), (p))
89
- grpc_security_connector *grpc_security_connector_ref(
90
- grpc_security_connector *policy);
91
- void grpc_security_connector_unref(grpc_exec_ctx *exec_ctx,
92
- grpc_security_connector *policy);
87
+ grpc_security_connector* grpc_security_connector_ref(
88
+ grpc_security_connector* policy);
89
+ void grpc_security_connector_unref(grpc_exec_ctx* exec_ctx,
90
+ grpc_security_connector* policy);
93
91
  #endif
94
92
 
95
93
  /* Check the peer. Callee takes ownership of the peer object.
96
94
  When done, sets *auth_context and invokes on_peer_checked. */
97
- void grpc_security_connector_check_peer(grpc_exec_ctx *exec_ctx,
98
- grpc_security_connector *sc,
95
+ void grpc_security_connector_check_peer(grpc_exec_ctx* exec_ctx,
96
+ grpc_security_connector* sc,
99
97
  tsi_peer peer,
100
- grpc_auth_context **auth_context,
101
- grpc_closure *on_peer_checked);
98
+ grpc_auth_context** auth_context,
99
+ grpc_closure* on_peer_checked);
100
+
101
+ /* Compares two security connectors. */
102
+ int grpc_security_connector_cmp(grpc_security_connector* sc,
103
+ grpc_security_connector* other);
102
104
 
103
105
  /* Util to encapsulate the connector in a channel arg. */
104
- grpc_arg grpc_security_connector_to_arg(grpc_security_connector *sc);
106
+ grpc_arg grpc_security_connector_to_arg(grpc_security_connector* sc);
105
107
 
106
108
  /* Util to get the connector from a channel arg. */
107
- grpc_security_connector *grpc_security_connector_from_arg(const grpc_arg *arg);
109
+ grpc_security_connector* grpc_security_connector_from_arg(const grpc_arg* arg);
108
110
 
109
111
  /* Util to find the connector from channel args. */
110
- grpc_security_connector *grpc_security_connector_find_in_args(
111
- const grpc_channel_args *args);
112
+ grpc_security_connector* grpc_security_connector_find_in_args(
113
+ const grpc_channel_args* args);
112
114
 
113
115
  /* --- channel_security_connector object. ---
114
116
 
115
- A channel security connector object represents away to configure the
117
+ A channel security connector object represents a way to configure the
116
118
  underlying transport security mechanism on the client side. */
117
119
 
118
120
  typedef struct grpc_channel_security_connector grpc_channel_security_connector;
119
121
 
120
122
  struct grpc_channel_security_connector {
121
123
  grpc_security_connector base;
122
- grpc_call_credentials *request_metadata_creds;
123
- bool (*check_call_host)(grpc_exec_ctx *exec_ctx,
124
- grpc_channel_security_connector *sc, const char *host,
125
- grpc_auth_context *auth_context,
126
- grpc_closure *on_call_host_checked,
127
- grpc_error **error);
128
- void (*cancel_check_call_host)(grpc_exec_ctx *exec_ctx,
129
- grpc_channel_security_connector *sc,
130
- grpc_closure *on_call_host_checked,
131
- grpc_error *error);
132
- void (*add_handshakers)(grpc_exec_ctx *exec_ctx,
133
- grpc_channel_security_connector *sc,
134
- grpc_handshake_manager *handshake_mgr);
124
+ grpc_channel_credentials* channel_creds;
125
+ grpc_call_credentials* request_metadata_creds;
126
+ bool (*check_call_host)(grpc_exec_ctx* exec_ctx,
127
+ grpc_channel_security_connector* sc, const char* host,
128
+ grpc_auth_context* auth_context,
129
+ grpc_closure* on_call_host_checked,
130
+ grpc_error** error);
131
+ void (*cancel_check_call_host)(grpc_exec_ctx* exec_ctx,
132
+ grpc_channel_security_connector* sc,
133
+ grpc_closure* on_call_host_checked,
134
+ grpc_error* error);
135
+ void (*add_handshakers)(grpc_exec_ctx* exec_ctx,
136
+ grpc_channel_security_connector* sc,
137
+ grpc_handshake_manager* handshake_mgr);
135
138
  };
136
139
 
140
+ /// A helper function for use in grpc_security_connector_cmp() implementations.
141
+ int grpc_channel_security_connector_cmp(grpc_channel_security_connector* sc1,
142
+ grpc_channel_security_connector* sc2);
143
+
137
144
  /// Checks that the host that will be set for a call is acceptable.
138
145
  /// Returns true if completed synchronously, in which case \a error will
139
146
  /// be set to indicate the result. Otherwise, \a on_call_host_checked
140
147
  /// will be invoked when complete.
141
148
  bool grpc_channel_security_connector_check_call_host(
142
- grpc_exec_ctx *exec_ctx, grpc_channel_security_connector *sc,
143
- const char *host, grpc_auth_context *auth_context,
144
- grpc_closure *on_call_host_checked, grpc_error **error);
149
+ grpc_exec_ctx* exec_ctx, grpc_channel_security_connector* sc,
150
+ const char* host, grpc_auth_context* auth_context,
151
+ grpc_closure* on_call_host_checked, grpc_error** error);
145
152
 
146
153
  /// Cancels a pending asychronous call to
147
154
  /// grpc_channel_security_connector_check_call_host() with
148
155
  /// \a on_call_host_checked as its callback.
149
156
  void grpc_channel_security_connector_cancel_check_call_host(
150
- grpc_exec_ctx *exec_ctx, grpc_channel_security_connector *sc,
151
- grpc_closure *on_call_host_checked, grpc_error *error);
157
+ grpc_exec_ctx* exec_ctx, grpc_channel_security_connector* sc,
158
+ grpc_closure* on_call_host_checked, grpc_error* error);
152
159
 
153
160
  /* Registers handshakers with \a handshake_mgr. */
154
161
  void grpc_channel_security_connector_add_handshakers(
155
- grpc_exec_ctx *exec_ctx, grpc_channel_security_connector *connector,
156
- grpc_handshake_manager *handshake_mgr);
162
+ grpc_exec_ctx* exec_ctx, grpc_channel_security_connector* connector,
163
+ grpc_handshake_manager* handshake_mgr);
157
164
 
158
165
  /* --- server_security_connector object. ---
159
166
 
160
- A server security connector object represents away to configure the
167
+ A server security connector object represents a way to configure the
161
168
  underlying transport security mechanism on the server side. */
162
169
 
163
170
  typedef struct grpc_server_security_connector grpc_server_security_connector;
164
171
 
165
172
  struct grpc_server_security_connector {
166
173
  grpc_security_connector base;
167
- void (*add_handshakers)(grpc_exec_ctx *exec_ctx,
168
- grpc_server_security_connector *sc,
169
- grpc_handshake_manager *handshake_mgr);
174
+ grpc_server_credentials* server_creds;
175
+ void (*add_handshakers)(grpc_exec_ctx* exec_ctx,
176
+ grpc_server_security_connector* sc,
177
+ grpc_handshake_manager* handshake_mgr);
170
178
  };
171
179
 
180
+ /// A helper function for use in grpc_security_connector_cmp() implementations.
181
+ int grpc_server_security_connector_cmp(grpc_server_security_connector* sc1,
182
+ grpc_server_security_connector* sc2);
183
+
172
184
  void grpc_server_security_connector_add_handshakers(
173
- grpc_exec_ctx *exec_ctx, grpc_server_security_connector *sc,
174
- grpc_handshake_manager *handshake_mgr);
185
+ grpc_exec_ctx* exec_ctx, grpc_server_security_connector* sc,
186
+ grpc_handshake_manager* handshake_mgr);
175
187
 
176
188
  /* --- Creation security connectors. --- */
177
189
 
178
190
  /* For TESTING ONLY!
179
191
  Creates a fake connector that emulates real channel security. */
180
- grpc_channel_security_connector *grpc_fake_channel_security_connector_create(
181
- grpc_call_credentials *request_metadata_creds, const char *target,
182
- const grpc_channel_args *args);
192
+ grpc_channel_security_connector* grpc_fake_channel_security_connector_create(
193
+ grpc_channel_credentials* channel_creds,
194
+ grpc_call_credentials* request_metadata_creds, const char* target,
195
+ const grpc_channel_args* args);
183
196
 
184
197
  /* For TESTING ONLY!
185
198
  Creates a fake connector that emulates real server security. */
186
- grpc_server_security_connector *grpc_fake_server_security_connector_create(
187
- void);
199
+ grpc_server_security_connector* grpc_fake_server_security_connector_create(
200
+ grpc_server_credentials* server_creds);
188
201
 
189
202
  /* Config for ssl clients. */
190
203
 
191
204
  typedef struct {
192
- tsi_ssl_pem_key_cert_pair pem_key_cert_pair;
193
- char *pem_root_certs;
205
+ tsi_ssl_pem_key_cert_pair* pem_key_cert_pair;
206
+ char* pem_root_certs;
194
207
  } grpc_ssl_config;
195
208
 
196
209
  /* Creates an SSL channel_security_connector.
@@ -207,21 +220,22 @@ typedef struct {
207
220
  specific error code otherwise.
208
221
  */
209
222
  grpc_security_status grpc_ssl_channel_security_connector_create(
210
- grpc_exec_ctx *exec_ctx, grpc_call_credentials *request_metadata_creds,
211
- const grpc_ssl_config *config, const char *target_name,
212
- const char *overridden_target_name, grpc_channel_security_connector **sc);
223
+ grpc_exec_ctx* exec_ctx, grpc_channel_credentials* channel_creds,
224
+ grpc_call_credentials* request_metadata_creds,
225
+ const grpc_ssl_config* config, const char* target_name,
226
+ const char* overridden_target_name, grpc_channel_security_connector** sc);
213
227
 
214
228
  /* Gets the default ssl roots. Returns NULL if not found. */
215
- const char *grpc_get_default_ssl_roots(void);
229
+ const char* grpc_get_default_ssl_roots(void);
216
230
 
217
231
  /* Exposed for TESTING ONLY!. */
218
232
  grpc_slice grpc_get_default_ssl_roots_for_testing(void);
219
233
 
220
234
  /* Config for ssl servers. */
221
235
  typedef struct {
222
- tsi_ssl_pem_key_cert_pair *pem_key_cert_pairs;
236
+ tsi_ssl_pem_key_cert_pair* pem_key_cert_pairs;
223
237
  size_t num_key_cert_pairs;
224
- char *pem_root_certs;
238
+ char* pem_root_certs;
225
239
  grpc_ssl_client_certificate_request_type client_certificate_request;
226
240
  } grpc_ssl_server_config;
227
241
 
@@ -232,17 +246,21 @@ typedef struct {
232
246
  specific error code otherwise.
233
247
  */
234
248
  grpc_security_status grpc_ssl_server_security_connector_create(
235
- grpc_exec_ctx *exec_ctx, const grpc_ssl_server_config *config,
236
- grpc_server_security_connector **sc);
249
+ grpc_exec_ctx* exec_ctx, grpc_server_credentials* server_credentials,
250
+ grpc_server_security_connector** sc);
237
251
 
238
252
  /* Util. */
239
- const tsi_peer_property *tsi_peer_get_property_by_name(const tsi_peer *peer,
240
- const char *name);
253
+ const tsi_peer_property* tsi_peer_get_property_by_name(const tsi_peer* peer,
254
+ const char* name);
241
255
 
242
256
  /* Exposed for testing only. */
243
- grpc_auth_context *tsi_ssl_peer_to_auth_context(const tsi_peer *peer);
257
+ grpc_auth_context* tsi_ssl_peer_to_auth_context(const tsi_peer* peer);
244
258
  tsi_peer tsi_shallow_peer_from_ssl_auth_context(
245
- const grpc_auth_context *auth_context);
246
- void tsi_shallow_peer_destruct(tsi_peer *peer);
259
+ const grpc_auth_context* auth_context);
260
+ void tsi_shallow_peer_destruct(tsi_peer* peer);
261
+
262
+ #ifdef __cplusplus
263
+ }
264
+ #endif
247
265
 
248
266
  #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURITY_CONNECTOR_H */
@@ -40,41 +40,60 @@ typedef struct {
40
40
  grpc_handshaker base;
41
41
 
42
42
  // State set at creation time.
43
- tsi_handshaker *handshaker;
44
- grpc_security_connector *connector;
43
+ tsi_handshaker* handshaker;
44
+ grpc_security_connector* connector;
45
45
 
46
46
  gpr_mu mu;
47
47
  gpr_refcount refs;
48
48
 
49
49
  bool shutdown;
50
50
  // Endpoint and read buffer to destroy after a shutdown.
51
- grpc_endpoint *endpoint_to_destroy;
52
- grpc_slice_buffer *read_buffer_to_destroy;
51
+ grpc_endpoint* endpoint_to_destroy;
52
+ grpc_slice_buffer* read_buffer_to_destroy;
53
53
 
54
54
  // State saved while performing the handshake.
55
- grpc_handshaker_args *args;
56
- grpc_closure *on_handshake_done;
55
+ grpc_handshaker_args* args;
56
+ grpc_closure* on_handshake_done;
57
57
 
58
- unsigned char *handshake_buffer;
58
+ unsigned char* handshake_buffer;
59
59
  size_t handshake_buffer_size;
60
60
  grpc_slice_buffer outgoing;
61
61
  grpc_closure on_handshake_data_sent_to_peer;
62
62
  grpc_closure on_handshake_data_received_from_peer;
63
63
  grpc_closure on_peer_checked;
64
- grpc_auth_context *auth_context;
65
- tsi_handshaker_result *handshaker_result;
64
+ grpc_auth_context* auth_context;
65
+ tsi_handshaker_result* handshaker_result;
66
66
  } security_handshaker;
67
67
 
68
- static void security_handshaker_unref(grpc_exec_ctx *exec_ctx,
69
- security_handshaker *h) {
68
+ static size_t move_read_buffer_into_handshake_buffer(grpc_exec_ctx* exec_ctx,
69
+ security_handshaker* h) {
70
+ size_t bytes_in_read_buffer = h->args->read_buffer->length;
71
+ if (h->handshake_buffer_size < bytes_in_read_buffer) {
72
+ h->handshake_buffer =
73
+ (uint8_t*)gpr_realloc(h->handshake_buffer, bytes_in_read_buffer);
74
+ h->handshake_buffer_size = bytes_in_read_buffer;
75
+ }
76
+ size_t offset = 0;
77
+ while (h->args->read_buffer->count > 0) {
78
+ grpc_slice next_slice = grpc_slice_buffer_take_first(h->args->read_buffer);
79
+ memcpy(h->handshake_buffer + offset, GRPC_SLICE_START_PTR(next_slice),
80
+ GRPC_SLICE_LENGTH(next_slice));
81
+ offset += GRPC_SLICE_LENGTH(next_slice);
82
+ grpc_slice_unref_internal(exec_ctx, next_slice);
83
+ }
84
+ return bytes_in_read_buffer;
85
+ }
86
+
87
+ static void security_handshaker_unref(grpc_exec_ctx* exec_ctx,
88
+ security_handshaker* h) {
70
89
  if (gpr_unref(&h->refs)) {
71
90
  gpr_mu_destroy(&h->mu);
72
91
  tsi_handshaker_destroy(h->handshaker);
73
92
  tsi_handshaker_result_destroy(h->handshaker_result);
74
- if (h->endpoint_to_destroy != NULL) {
93
+ if (h->endpoint_to_destroy != nullptr) {
75
94
  grpc_endpoint_destroy(exec_ctx, h->endpoint_to_destroy);
76
95
  }
77
- if (h->read_buffer_to_destroy != NULL) {
96
+ if (h->read_buffer_to_destroy != nullptr) {
78
97
  grpc_slice_buffer_destroy_internal(exec_ctx, h->read_buffer_to_destroy);
79
98
  gpr_free(h->read_buffer_to_destroy);
80
99
  }
@@ -88,27 +107,27 @@ static void security_handshaker_unref(grpc_exec_ctx *exec_ctx,
88
107
 
89
108
  // Set args fields to NULL, saving the endpoint and read buffer for
90
109
  // later destruction.
91
- static void cleanup_args_for_failure_locked(grpc_exec_ctx *exec_ctx,
92
- security_handshaker *h) {
110
+ static void cleanup_args_for_failure_locked(grpc_exec_ctx* exec_ctx,
111
+ security_handshaker* h) {
93
112
  h->endpoint_to_destroy = h->args->endpoint;
94
- h->args->endpoint = NULL;
113
+ h->args->endpoint = nullptr;
95
114
  h->read_buffer_to_destroy = h->args->read_buffer;
96
- h->args->read_buffer = NULL;
115
+ h->args->read_buffer = nullptr;
97
116
  grpc_channel_args_destroy(exec_ctx, h->args->args);
98
- h->args->args = NULL;
117
+ h->args->args = nullptr;
99
118
  }
100
119
 
101
120
  // If the handshake failed or we're shutting down, clean up and invoke the
102
121
  // callback with the error.
103
- static void security_handshake_failed_locked(grpc_exec_ctx *exec_ctx,
104
- security_handshaker *h,
105
- grpc_error *error) {
122
+ static void security_handshake_failed_locked(grpc_exec_ctx* exec_ctx,
123
+ security_handshaker* h,
124
+ grpc_error* error) {
106
125
  if (error == GRPC_ERROR_NONE) {
107
126
  // If we were shut down after the handshake succeeded but before an
108
127
  // endpoint callback was invoked, we need to generate our own error.
109
128
  error = GRPC_ERROR_CREATE_FROM_STATIC_STRING("Handshaker shutdown");
110
129
  }
111
- const char *msg = grpc_error_string(error);
130
+ const char* msg = grpc_error_string(error);
112
131
  gpr_log(GPR_DEBUG, "Security handshake failed: %s", msg);
113
132
 
114
133
  if (!h->shutdown) {
@@ -128,16 +147,16 @@ static void security_handshake_failed_locked(grpc_exec_ctx *exec_ctx,
128
147
  GRPC_CLOSURE_SCHED(exec_ctx, h->on_handshake_done, error);
129
148
  }
130
149
 
131
- static void on_peer_checked_inner(grpc_exec_ctx *exec_ctx,
132
- security_handshaker *h, grpc_error *error) {
150
+ static void on_peer_checked_inner(grpc_exec_ctx* exec_ctx,
151
+ security_handshaker* h, grpc_error* error) {
133
152
  if (error != GRPC_ERROR_NONE || h->shutdown) {
134
153
  security_handshake_failed_locked(exec_ctx, h, GRPC_ERROR_REF(error));
135
154
  return;
136
155
  }
137
156
  // Create zero-copy frame protector, if implemented.
138
- tsi_zero_copy_grpc_protector *zero_copy_protector = NULL;
157
+ tsi_zero_copy_grpc_protector* zero_copy_protector = nullptr;
139
158
  tsi_result result = tsi_handshaker_result_create_zero_copy_grpc_protector(
140
- exec_ctx, h->handshaker_result, NULL, &zero_copy_protector);
159
+ exec_ctx, h->handshaker_result, nullptr, &zero_copy_protector);
141
160
  if (result != TSI_OK && result != TSI_UNIMPLEMENTED) {
142
161
  error = grpc_set_tsi_error_result(
143
162
  GRPC_ERROR_CREATE_FROM_STATIC_STRING(
@@ -147,10 +166,10 @@ static void on_peer_checked_inner(grpc_exec_ctx *exec_ctx,
147
166
  return;
148
167
  }
149
168
  // Create frame protector if zero-copy frame protector is NULL.
150
- tsi_frame_protector *protector = NULL;
151
- if (zero_copy_protector == NULL) {
169
+ tsi_frame_protector* protector = nullptr;
170
+ if (zero_copy_protector == nullptr) {
152
171
  result = tsi_handshaker_result_create_frame_protector(h->handshaker_result,
153
- NULL, &protector);
172
+ nullptr, &protector);
154
173
  if (result != TSI_OK) {
155
174
  error = grpc_set_tsi_error_result(GRPC_ERROR_CREATE_FROM_STATIC_STRING(
156
175
  "Frame protector creation failed"),
@@ -160,28 +179,26 @@ static void on_peer_checked_inner(grpc_exec_ctx *exec_ctx,
160
179
  }
161
180
  }
162
181
  // Get unused bytes.
163
- const unsigned char *unused_bytes = NULL;
182
+ const unsigned char* unused_bytes = nullptr;
164
183
  size_t unused_bytes_size = 0;
165
184
  result = tsi_handshaker_result_get_unused_bytes(
166
185
  h->handshaker_result, &unused_bytes, &unused_bytes_size);
167
186
  // Create secure endpoint.
168
187
  if (unused_bytes_size > 0) {
169
188
  grpc_slice slice =
170
- grpc_slice_from_copied_buffer((char *)unused_bytes, unused_bytes_size);
189
+ grpc_slice_from_copied_buffer((char*)unused_bytes, unused_bytes_size);
171
190
  h->args->endpoint = grpc_secure_endpoint_create(
172
191
  protector, zero_copy_protector, h->args->endpoint, &slice, 1);
173
192
  grpc_slice_unref_internal(exec_ctx, slice);
174
193
  } else {
175
194
  h->args->endpoint = grpc_secure_endpoint_create(
176
- protector, zero_copy_protector, h->args->endpoint, NULL, 0);
195
+ protector, zero_copy_protector, h->args->endpoint, nullptr, 0);
177
196
  }
178
197
  tsi_handshaker_result_destroy(h->handshaker_result);
179
- h->handshaker_result = NULL;
180
- // Clear out the read buffer before it gets passed to the transport.
181
- grpc_slice_buffer_reset_and_unref_internal(exec_ctx, h->args->read_buffer);
198
+ h->handshaker_result = nullptr;
182
199
  // Add auth context to channel args.
183
200
  grpc_arg auth_context_arg = grpc_auth_context_to_arg(h->auth_context);
184
- grpc_channel_args *tmp_args = h->args->args;
201
+ grpc_channel_args* tmp_args = h->args->args;
185
202
  h->args->args =
186
203
  grpc_channel_args_copy_and_add(tmp_args, &auth_context_arg, 1);
187
204
  grpc_channel_args_destroy(exec_ctx, tmp_args);
@@ -192,17 +209,17 @@ static void on_peer_checked_inner(grpc_exec_ctx *exec_ctx,
192
209
  h->shutdown = true;
193
210
  }
194
211
 
195
- static void on_peer_checked(grpc_exec_ctx *exec_ctx, void *arg,
196
- grpc_error *error) {
197
- security_handshaker *h = (security_handshaker *)arg;
212
+ static void on_peer_checked(grpc_exec_ctx* exec_ctx, void* arg,
213
+ grpc_error* error) {
214
+ security_handshaker* h = (security_handshaker*)arg;
198
215
  gpr_mu_lock(&h->mu);
199
216
  on_peer_checked_inner(exec_ctx, h, error);
200
217
  gpr_mu_unlock(&h->mu);
201
218
  security_handshaker_unref(exec_ctx, h);
202
219
  }
203
220
 
204
- static grpc_error *check_peer_locked(grpc_exec_ctx *exec_ctx,
205
- security_handshaker *h) {
221
+ static grpc_error* check_peer_locked(grpc_exec_ctx* exec_ctx,
222
+ security_handshaker* h) {
206
223
  tsi_peer peer;
207
224
  tsi_result result =
208
225
  tsi_handshaker_result_extract_peer(h->handshaker_result, &peer);
@@ -215,11 +232,11 @@ static grpc_error *check_peer_locked(grpc_exec_ctx *exec_ctx,
215
232
  return GRPC_ERROR_NONE;
216
233
  }
217
234
 
218
- static grpc_error *on_handshake_next_done_locked(
219
- grpc_exec_ctx *exec_ctx, security_handshaker *h, tsi_result result,
220
- const unsigned char *bytes_to_send, size_t bytes_to_send_size,
221
- tsi_handshaker_result *handshaker_result) {
222
- grpc_error *error = GRPC_ERROR_NONE;
235
+ static grpc_error* on_handshake_next_done_locked(
236
+ grpc_exec_ctx* exec_ctx, security_handshaker* h, tsi_result result,
237
+ const unsigned char* bytes_to_send, size_t bytes_to_send_size,
238
+ tsi_handshaker_result* handshaker_result) {
239
+ grpc_error* error = GRPC_ERROR_NONE;
223
240
  // Read more if we need to.
224
241
  if (result == TSI_INCOMPLETE_DATA) {
225
242
  GPR_ASSERT(bytes_to_send_size == 0);
@@ -232,19 +249,19 @@ static grpc_error *on_handshake_next_done_locked(
232
249
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Handshake failed"), result);
233
250
  }
234
251
  // Update handshaker result.
235
- if (handshaker_result != NULL) {
236
- GPR_ASSERT(h->handshaker_result == NULL);
252
+ if (handshaker_result != nullptr) {
253
+ GPR_ASSERT(h->handshaker_result == nullptr);
237
254
  h->handshaker_result = handshaker_result;
238
255
  }
239
256
  if (bytes_to_send_size > 0) {
240
257
  // Send data to peer, if needed.
241
258
  grpc_slice to_send = grpc_slice_from_copied_buffer(
242
- (const char *)bytes_to_send, bytes_to_send_size);
259
+ (const char*)bytes_to_send, bytes_to_send_size);
243
260
  grpc_slice_buffer_reset_and_unref_internal(exec_ctx, &h->outgoing);
244
261
  grpc_slice_buffer_add(&h->outgoing, to_send);
245
262
  grpc_endpoint_write(exec_ctx, h->args->endpoint, &h->outgoing,
246
263
  &h->on_handshake_data_sent_to_peer);
247
- } else if (handshaker_result == NULL) {
264
+ } else if (handshaker_result == nullptr) {
248
265
  // There is nothing to send, but need to read from peer.
249
266
  grpc_endpoint_read(exec_ctx, h->args->endpoint, h->args->read_buffer,
250
267
  &h->on_handshake_data_received_from_peer);
@@ -256,14 +273,14 @@ static grpc_error *on_handshake_next_done_locked(
256
273
  }
257
274
 
258
275
  static void on_handshake_next_done_grpc_wrapper(
259
- tsi_result result, void *user_data, const unsigned char *bytes_to_send,
260
- size_t bytes_to_send_size, tsi_handshaker_result *handshaker_result) {
261
- security_handshaker *h = (security_handshaker *)user_data;
276
+ tsi_result result, void* user_data, const unsigned char* bytes_to_send,
277
+ size_t bytes_to_send_size, tsi_handshaker_result* handshaker_result) {
278
+ security_handshaker* h = (security_handshaker*)user_data;
262
279
  // This callback will be invoked by TSI in a non-grpc thread, so it's
263
280
  // safe to create our own exec_ctx here.
264
281
  grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
265
282
  gpr_mu_lock(&h->mu);
266
- grpc_error *error =
283
+ grpc_error* error =
267
284
  on_handshake_next_done_locked(&exec_ctx, h, result, bytes_to_send,
268
285
  bytes_to_send_size, handshaker_result);
269
286
  if (error != GRPC_ERROR_NONE) {
@@ -276,13 +293,13 @@ static void on_handshake_next_done_grpc_wrapper(
276
293
  grpc_exec_ctx_finish(&exec_ctx);
277
294
  }
278
295
 
279
- static grpc_error *do_handshaker_next_locked(
280
- grpc_exec_ctx *exec_ctx, security_handshaker *h,
281
- const unsigned char *bytes_received, size_t bytes_received_size) {
296
+ static grpc_error* do_handshaker_next_locked(
297
+ grpc_exec_ctx* exec_ctx, security_handshaker* h,
298
+ const unsigned char* bytes_received, size_t bytes_received_size) {
282
299
  // Invoke TSI handshaker.
283
- const unsigned char *bytes_to_send = NULL;
300
+ const unsigned char* bytes_to_send = nullptr;
284
301
  size_t bytes_to_send_size = 0;
285
- tsi_handshaker_result *handshaker_result = NULL;
302
+ tsi_handshaker_result* handshaker_result = nullptr;
286
303
  tsi_result result = tsi_handshaker_next(
287
304
  h->handshaker, bytes_received, bytes_received_size, &bytes_to_send,
288
305
  &bytes_to_send_size, &handshaker_result,
@@ -298,36 +315,22 @@ static grpc_error *do_handshaker_next_locked(
298
315
  bytes_to_send_size, handshaker_result);
299
316
  }
300
317
 
301
- static void on_handshake_data_received_from_peer(grpc_exec_ctx *exec_ctx,
302
- void *arg, grpc_error *error) {
303
- security_handshaker *h = (security_handshaker *)arg;
318
+ static void on_handshake_data_received_from_peer(grpc_exec_ctx* exec_ctx,
319
+ void* arg, grpc_error* error) {
320
+ security_handshaker* h = (security_handshaker*)arg;
304
321
  gpr_mu_lock(&h->mu);
305
322
  if (error != GRPC_ERROR_NONE || h->shutdown) {
306
323
  security_handshake_failed_locked(
307
- exec_ctx, h, GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
308
- "Handshake read failed", &error, 1));
324
+ exec_ctx, h,
325
+ GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
326
+ "Handshake read failed", &error, 1));
309
327
  gpr_mu_unlock(&h->mu);
310
328
  security_handshaker_unref(exec_ctx, h);
311
329
  return;
312
330
  }
313
331
  // Copy all slices received.
314
- size_t i;
315
- size_t bytes_received_size = 0;
316
- for (i = 0; i < h->args->read_buffer->count; i++) {
317
- bytes_received_size += GRPC_SLICE_LENGTH(h->args->read_buffer->slices[i]);
318
- }
319
- if (bytes_received_size > h->handshake_buffer_size) {
320
- h->handshake_buffer =
321
- (uint8_t *)gpr_realloc(h->handshake_buffer, bytes_received_size);
322
- h->handshake_buffer_size = bytes_received_size;
323
- }
324
- size_t offset = 0;
325
- for (i = 0; i < h->args->read_buffer->count; i++) {
326
- size_t slice_size = GPR_SLICE_LENGTH(h->args->read_buffer->slices[i]);
327
- memcpy(h->handshake_buffer + offset,
328
- GRPC_SLICE_START_PTR(h->args->read_buffer->slices[i]), slice_size);
329
- offset += slice_size;
330
- }
332
+ size_t bytes_received_size =
333
+ move_read_buffer_into_handshake_buffer(exec_ctx, h);
331
334
  // Call TSI handshaker.
332
335
  error = do_handshaker_next_locked(exec_ctx, h, h->handshake_buffer,
333
336
  bytes_received_size);
@@ -341,20 +344,21 @@ static void on_handshake_data_received_from_peer(grpc_exec_ctx *exec_ctx,
341
344
  }
342
345
  }
343
346
 
344
- static void on_handshake_data_sent_to_peer(grpc_exec_ctx *exec_ctx, void *arg,
345
- grpc_error *error) {
346
- security_handshaker *h = (security_handshaker *)arg;
347
+ static void on_handshake_data_sent_to_peer(grpc_exec_ctx* exec_ctx, void* arg,
348
+ grpc_error* error) {
349
+ security_handshaker* h = (security_handshaker*)arg;
347
350
  gpr_mu_lock(&h->mu);
348
351
  if (error != GRPC_ERROR_NONE || h->shutdown) {
349
352
  security_handshake_failed_locked(
350
- exec_ctx, h, GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
351
- "Handshake write failed", &error, 1));
353
+ exec_ctx, h,
354
+ GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
355
+ "Handshake write failed", &error, 1));
352
356
  gpr_mu_unlock(&h->mu);
353
357
  security_handshaker_unref(exec_ctx, h);
354
358
  return;
355
359
  }
356
360
  // We may be done.
357
- if (h->handshaker_result == NULL) {
361
+ if (h->handshaker_result == nullptr) {
358
362
  grpc_endpoint_read(exec_ctx, h->args->endpoint, h->args->read_buffer,
359
363
  &h->on_handshake_data_received_from_peer);
360
364
  } else {
@@ -373,16 +377,16 @@ static void on_handshake_data_sent_to_peer(grpc_exec_ctx *exec_ctx, void *arg,
373
377
  // public handshaker API
374
378
  //
375
379
 
376
- static void security_handshaker_destroy(grpc_exec_ctx *exec_ctx,
377
- grpc_handshaker *handshaker) {
378
- security_handshaker *h = (security_handshaker *)handshaker;
380
+ static void security_handshaker_destroy(grpc_exec_ctx* exec_ctx,
381
+ grpc_handshaker* handshaker) {
382
+ security_handshaker* h = (security_handshaker*)handshaker;
379
383
  security_handshaker_unref(exec_ctx, h);
380
384
  }
381
385
 
382
- static void security_handshaker_shutdown(grpc_exec_ctx *exec_ctx,
383
- grpc_handshaker *handshaker,
384
- grpc_error *why) {
385
- security_handshaker *h = (security_handshaker *)handshaker;
386
+ static void security_handshaker_shutdown(grpc_exec_ctx* exec_ctx,
387
+ grpc_handshaker* handshaker,
388
+ grpc_error* why) {
389
+ security_handshaker* h = (security_handshaker*)handshaker;
386
390
  gpr_mu_lock(&h->mu);
387
391
  if (!h->shutdown) {
388
392
  h->shutdown = true;
@@ -393,17 +397,20 @@ static void security_handshaker_shutdown(grpc_exec_ctx *exec_ctx,
393
397
  GRPC_ERROR_UNREF(why);
394
398
  }
395
399
 
396
- static void security_handshaker_do_handshake(grpc_exec_ctx *exec_ctx,
397
- grpc_handshaker *handshaker,
398
- grpc_tcp_server_acceptor *acceptor,
399
- grpc_closure *on_handshake_done,
400
- grpc_handshaker_args *args) {
401
- security_handshaker *h = (security_handshaker *)handshaker;
400
+ static void security_handshaker_do_handshake(grpc_exec_ctx* exec_ctx,
401
+ grpc_handshaker* handshaker,
402
+ grpc_tcp_server_acceptor* acceptor,
403
+ grpc_closure* on_handshake_done,
404
+ grpc_handshaker_args* args) {
405
+ security_handshaker* h = (security_handshaker*)handshaker;
402
406
  gpr_mu_lock(&h->mu);
403
407
  h->args = args;
404
408
  h->on_handshake_done = on_handshake_done;
405
409
  gpr_ref(&h->refs);
406
- grpc_error *error = do_handshaker_next_locked(exec_ctx, h, NULL, 0);
410
+ size_t bytes_received_size =
411
+ move_read_buffer_into_handshake_buffer(exec_ctx, h);
412
+ grpc_error* error = do_handshaker_next_locked(
413
+ exec_ctx, h, h->handshake_buffer, bytes_received_size);
407
414
  if (error != GRPC_ERROR_NONE) {
408
415
  security_handshake_failed_locked(exec_ctx, h, error);
409
416
  gpr_mu_unlock(&h->mu);
@@ -417,18 +424,18 @@ static const grpc_handshaker_vtable security_handshaker_vtable = {
417
424
  security_handshaker_destroy, security_handshaker_shutdown,
418
425
  security_handshaker_do_handshake};
419
426
 
420
- static grpc_handshaker *security_handshaker_create(
421
- grpc_exec_ctx *exec_ctx, tsi_handshaker *handshaker,
422
- grpc_security_connector *connector) {
423
- security_handshaker *h =
424
- (security_handshaker *)gpr_zalloc(sizeof(security_handshaker));
427
+ static grpc_handshaker* security_handshaker_create(
428
+ grpc_exec_ctx* exec_ctx, tsi_handshaker* handshaker,
429
+ grpc_security_connector* connector) {
430
+ security_handshaker* h =
431
+ (security_handshaker*)gpr_zalloc(sizeof(security_handshaker));
425
432
  grpc_handshaker_init(&security_handshaker_vtable, &h->base);
426
433
  h->handshaker = handshaker;
427
434
  h->connector = GRPC_SECURITY_CONNECTOR_REF(connector, "handshake");
428
435
  gpr_mu_init(&h->mu);
429
436
  gpr_ref_init(&h->refs, 1);
430
437
  h->handshake_buffer_size = GRPC_INITIAL_HANDSHAKE_BUFFER_SIZE;
431
- h->handshake_buffer = (uint8_t *)gpr_malloc(h->handshake_buffer_size);
438
+ h->handshake_buffer = (uint8_t*)gpr_malloc(h->handshake_buffer_size);
432
439
  GRPC_CLOSURE_INIT(&h->on_handshake_data_sent_to_peer,
433
440
  on_handshake_data_sent_to_peer, h,
434
441
  grpc_schedule_on_exec_ctx);
@@ -445,22 +452,22 @@ static grpc_handshaker *security_handshaker_create(
445
452
  // fail_handshaker
446
453
  //
447
454
 
448
- static void fail_handshaker_destroy(grpc_exec_ctx *exec_ctx,
449
- grpc_handshaker *handshaker) {
455
+ static void fail_handshaker_destroy(grpc_exec_ctx* exec_ctx,
456
+ grpc_handshaker* handshaker) {
450
457
  gpr_free(handshaker);
451
458
  }
452
459
 
453
- static void fail_handshaker_shutdown(grpc_exec_ctx *exec_ctx,
454
- grpc_handshaker *handshaker,
455
- grpc_error *why) {
460
+ static void fail_handshaker_shutdown(grpc_exec_ctx* exec_ctx,
461
+ grpc_handshaker* handshaker,
462
+ grpc_error* why) {
456
463
  GRPC_ERROR_UNREF(why);
457
464
  }
458
465
 
459
- static void fail_handshaker_do_handshake(grpc_exec_ctx *exec_ctx,
460
- grpc_handshaker *handshaker,
461
- grpc_tcp_server_acceptor *acceptor,
462
- grpc_closure *on_handshake_done,
463
- grpc_handshaker_args *args) {
466
+ static void fail_handshaker_do_handshake(grpc_exec_ctx* exec_ctx,
467
+ grpc_handshaker* handshaker,
468
+ grpc_tcp_server_acceptor* acceptor,
469
+ grpc_closure* on_handshake_done,
470
+ grpc_handshaker_args* args) {
464
471
  GRPC_CLOSURE_SCHED(exec_ctx, on_handshake_done,
465
472
  GRPC_ERROR_CREATE_FROM_STATIC_STRING(
466
473
  "Failed to create security handshaker"));
@@ -470,8 +477,8 @@ static const grpc_handshaker_vtable fail_handshaker_vtable = {
470
477
  fail_handshaker_destroy, fail_handshaker_shutdown,
471
478
  fail_handshaker_do_handshake};
472
479
 
473
- static grpc_handshaker *fail_handshaker_create() {
474
- grpc_handshaker *h = (grpc_handshaker *)gpr_malloc(sizeof(*h));
480
+ static grpc_handshaker* fail_handshaker_create() {
481
+ grpc_handshaker* h = (grpc_handshaker*)gpr_malloc(sizeof(*h));
475
482
  grpc_handshaker_init(&fail_handshaker_vtable, h);
476
483
  return h;
477
484
  }
@@ -481,27 +488,27 @@ static grpc_handshaker *fail_handshaker_create() {
481
488
  //
482
489
 
483
490
  static void client_handshaker_factory_add_handshakers(
484
- grpc_exec_ctx *exec_ctx, grpc_handshaker_factory *handshaker_factory,
485
- const grpc_channel_args *args, grpc_handshake_manager *handshake_mgr) {
486
- grpc_channel_security_connector *security_connector =
487
- (grpc_channel_security_connector *)grpc_security_connector_find_in_args(
491
+ grpc_exec_ctx* exec_ctx, grpc_handshaker_factory* handshaker_factory,
492
+ const grpc_channel_args* args, grpc_handshake_manager* handshake_mgr) {
493
+ grpc_channel_security_connector* security_connector =
494
+ (grpc_channel_security_connector*)grpc_security_connector_find_in_args(
488
495
  args);
489
496
  grpc_channel_security_connector_add_handshakers(exec_ctx, security_connector,
490
497
  handshake_mgr);
491
498
  }
492
499
 
493
500
  static void server_handshaker_factory_add_handshakers(
494
- grpc_exec_ctx *exec_ctx, grpc_handshaker_factory *hf,
495
- const grpc_channel_args *args, grpc_handshake_manager *handshake_mgr) {
496
- grpc_server_security_connector *security_connector =
497
- (grpc_server_security_connector *)grpc_security_connector_find_in_args(
501
+ grpc_exec_ctx* exec_ctx, grpc_handshaker_factory* hf,
502
+ const grpc_channel_args* args, grpc_handshake_manager* handshake_mgr) {
503
+ grpc_server_security_connector* security_connector =
504
+ (grpc_server_security_connector*)grpc_security_connector_find_in_args(
498
505
  args);
499
506
  grpc_server_security_connector_add_handshakers(exec_ctx, security_connector,
500
507
  handshake_mgr);
501
508
  }
502
509
 
503
510
  static void handshaker_factory_destroy(
504
- grpc_exec_ctx *exec_ctx, grpc_handshaker_factory *handshaker_factory) {}
511
+ grpc_exec_ctx* exec_ctx, grpc_handshaker_factory* handshaker_factory) {}
505
512
 
506
513
  static const grpc_handshaker_factory_vtable client_handshaker_factory_vtable = {
507
514
  client_handshaker_factory_add_handshakers, handshaker_factory_destroy};
@@ -519,12 +526,12 @@ static grpc_handshaker_factory server_handshaker_factory = {
519
526
  // exported functions
520
527
  //
521
528
 
522
- grpc_handshaker *grpc_security_handshaker_create(
523
- grpc_exec_ctx *exec_ctx, tsi_handshaker *handshaker,
524
- grpc_security_connector *connector) {
529
+ grpc_handshaker* grpc_security_handshaker_create(
530
+ grpc_exec_ctx* exec_ctx, tsi_handshaker* handshaker,
531
+ grpc_security_connector* connector) {
525
532
  // If no TSI handshaker was created, return a handshaker that always fails.
526
533
  // Otherwise, return a real security handshaker.
527
- if (handshaker == NULL) {
534
+ if (handshaker == nullptr) {
528
535
  return fail_handshaker_create();
529
536
  } else {
530
537
  return security_handshaker_create(exec_ctx, handshaker, connector);