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
@@ -32,19 +32,23 @@
32
32
  /* User agent this library reports */
33
33
  #define GRPC_HTTPCLI_USER_AGENT "grpc-httpcli/0.0"
34
34
 
35
+ #ifdef __cplusplus
36
+ extern "C" {
37
+ #endif
38
+
35
39
  /* Tracks in-progress http requests
36
40
  TODO(ctiller): allow caching and capturing multiple requests for the
37
41
  same content and combining them */
38
42
  typedef struct grpc_httpcli_context {
39
- grpc_pollset_set *pollset_set;
43
+ grpc_pollset_set* pollset_set;
40
44
  } grpc_httpcli_context;
41
45
 
42
46
  typedef struct {
43
- const char *default_port;
44
- void (*handshake)(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *endpoint,
45
- const char *host, gpr_timespec deadline,
46
- void (*on_done)(grpc_exec_ctx *exec_ctx, void *arg,
47
- grpc_endpoint *endpoint));
47
+ const char* default_port;
48
+ void (*handshake)(grpc_exec_ctx* exec_ctx, void* arg, grpc_endpoint* endpoint,
49
+ const char* host, grpc_millis deadline,
50
+ void (*on_done)(grpc_exec_ctx* exec_ctx, void* arg,
51
+ grpc_endpoint* endpoint));
48
52
  } grpc_httpcli_handshaker;
49
53
 
50
54
  extern const grpc_httpcli_handshaker grpc_httpcli_plaintext;
@@ -53,23 +57,23 @@ extern const grpc_httpcli_handshaker grpc_httpcli_ssl;
53
57
  /* A request */
54
58
  typedef struct grpc_httpcli_request {
55
59
  /* The host name to connect to */
56
- char *host;
60
+ char* host;
57
61
  /* The host to verify in the SSL handshake (or NULL) */
58
- char *ssl_host_override;
62
+ char* ssl_host_override;
59
63
  /* The main part of the request
60
64
  The following headers are supplied automatically and MUST NOT be set here:
61
65
  Host, Connection, User-Agent */
62
66
  grpc_http_request http;
63
67
  /* handshaker to use ssl for the request */
64
- const grpc_httpcli_handshaker *handshaker;
68
+ const grpc_httpcli_handshaker* handshaker;
65
69
  } grpc_httpcli_request;
66
70
 
67
71
  /* Expose the parser response type as a httpcli response too */
68
72
  typedef struct grpc_http_response grpc_httpcli_response;
69
73
 
70
- void grpc_httpcli_context_init(grpc_httpcli_context *context);
71
- void grpc_httpcli_context_destroy(grpc_exec_ctx *exec_ctx,
72
- grpc_httpcli_context *context);
74
+ void grpc_httpcli_context_init(grpc_httpcli_context* context);
75
+ void grpc_httpcli_context_destroy(grpc_exec_ctx* exec_ctx,
76
+ grpc_httpcli_context* context);
73
77
 
74
78
  /* Asynchronously perform a HTTP GET.
75
79
  'context' specifies the http context under which to do the get
@@ -80,12 +84,12 @@ void grpc_httpcli_context_destroy(grpc_exec_ctx *exec_ctx,
80
84
  destroyed once the call returns
81
85
  'deadline' contains a deadline for the request (or gpr_inf_future)
82
86
  'on_response' is a callback to report results to */
83
- void grpc_httpcli_get(grpc_exec_ctx *exec_ctx, grpc_httpcli_context *context,
84
- grpc_polling_entity *pollent,
85
- grpc_resource_quota *resource_quota,
86
- const grpc_httpcli_request *request,
87
- gpr_timespec deadline, grpc_closure *on_complete,
88
- grpc_httpcli_response *response);
87
+ void grpc_httpcli_get(grpc_exec_ctx* exec_ctx, grpc_httpcli_context* context,
88
+ grpc_polling_entity* pollent,
89
+ grpc_resource_quota* resource_quota,
90
+ const grpc_httpcli_request* request, grpc_millis deadline,
91
+ grpc_closure* on_complete,
92
+ grpc_httpcli_response* response);
89
93
 
90
94
  /* Asynchronously perform a HTTP POST.
91
95
  'context' specifies the http context under which to do the post
@@ -101,26 +105,30 @@ void grpc_httpcli_get(grpc_exec_ctx *exec_ctx, grpc_httpcli_context *context,
101
105
  lifetime of the request
102
106
  'on_response' is a callback to report results to
103
107
  Does not support ?var1=val1&var2=val2 in the path. */
104
- void grpc_httpcli_post(grpc_exec_ctx *exec_ctx, grpc_httpcli_context *context,
105
- grpc_polling_entity *pollent,
106
- grpc_resource_quota *resource_quota,
107
- const grpc_httpcli_request *request,
108
- const char *body_bytes, size_t body_size,
109
- gpr_timespec deadline, grpc_closure *on_complete,
110
- grpc_httpcli_response *response);
108
+ void grpc_httpcli_post(grpc_exec_ctx* exec_ctx, grpc_httpcli_context* context,
109
+ grpc_polling_entity* pollent,
110
+ grpc_resource_quota* resource_quota,
111
+ const grpc_httpcli_request* request,
112
+ const char* body_bytes, size_t body_size,
113
+ grpc_millis deadline, grpc_closure* on_complete,
114
+ grpc_httpcli_response* response);
111
115
 
112
116
  /* override functions return 1 if they handled the request, 0 otherwise */
113
- typedef int (*grpc_httpcli_get_override)(grpc_exec_ctx *exec_ctx,
114
- const grpc_httpcli_request *request,
115
- gpr_timespec deadline,
116
- grpc_closure *on_complete,
117
- grpc_httpcli_response *response);
117
+ typedef int (*grpc_httpcli_get_override)(grpc_exec_ctx* exec_ctx,
118
+ const grpc_httpcli_request* request,
119
+ grpc_millis deadline,
120
+ grpc_closure* on_complete,
121
+ grpc_httpcli_response* response);
118
122
  typedef int (*grpc_httpcli_post_override)(
119
- grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request,
120
- const char *body_bytes, size_t body_size, gpr_timespec deadline,
121
- grpc_closure *on_complete, grpc_httpcli_response *response);
123
+ grpc_exec_ctx* exec_ctx, const grpc_httpcli_request* request,
124
+ const char* body_bytes, size_t body_size, grpc_millis deadline,
125
+ grpc_closure* on_complete, grpc_httpcli_response* response);
122
126
 
123
127
  void grpc_httpcli_set_override(grpc_httpcli_get_override get,
124
128
  grpc_httpcli_post_override post);
125
129
 
130
+ #ifdef __cplusplus
131
+ }
132
+ #endif
133
+
126
134
  #endif /* GRPC_CORE_LIB_HTTP_HTTPCLI_H */
@@ -34,29 +34,29 @@
34
34
 
35
35
  typedef struct {
36
36
  grpc_channel_security_connector base;
37
- tsi_ssl_client_handshaker_factory *handshaker_factory;
38
- char *secure_peer_name;
37
+ tsi_ssl_client_handshaker_factory* handshaker_factory;
38
+ char* secure_peer_name;
39
39
  } grpc_httpcli_ssl_channel_security_connector;
40
40
 
41
- static void httpcli_ssl_destroy(grpc_exec_ctx *exec_ctx,
42
- grpc_security_connector *sc) {
43
- grpc_httpcli_ssl_channel_security_connector *c =
44
- (grpc_httpcli_ssl_channel_security_connector *)sc;
45
- if (c->handshaker_factory != NULL) {
41
+ static void httpcli_ssl_destroy(grpc_exec_ctx* exec_ctx,
42
+ grpc_security_connector* sc) {
43
+ grpc_httpcli_ssl_channel_security_connector* c =
44
+ (grpc_httpcli_ssl_channel_security_connector*)sc;
45
+ if (c->handshaker_factory != nullptr) {
46
46
  tsi_ssl_client_handshaker_factory_unref(c->handshaker_factory);
47
- c->handshaker_factory = NULL;
47
+ c->handshaker_factory = nullptr;
48
48
  }
49
- if (c->secure_peer_name != NULL) gpr_free(c->secure_peer_name);
49
+ if (c->secure_peer_name != nullptr) gpr_free(c->secure_peer_name);
50
50
  gpr_free(sc);
51
51
  }
52
52
 
53
- static void httpcli_ssl_add_handshakers(grpc_exec_ctx *exec_ctx,
54
- grpc_channel_security_connector *sc,
55
- grpc_handshake_manager *handshake_mgr) {
56
- grpc_httpcli_ssl_channel_security_connector *c =
57
- (grpc_httpcli_ssl_channel_security_connector *)sc;
58
- tsi_handshaker *handshaker = NULL;
59
- if (c->handshaker_factory != NULL) {
53
+ static void httpcli_ssl_add_handshakers(grpc_exec_ctx* exec_ctx,
54
+ grpc_channel_security_connector* sc,
55
+ grpc_handshake_manager* handshake_mgr) {
56
+ grpc_httpcli_ssl_channel_security_connector* c =
57
+ (grpc_httpcli_ssl_channel_security_connector*)sc;
58
+ tsi_handshaker* handshaker = nullptr;
59
+ if (c->handshaker_factory != nullptr) {
60
60
  tsi_result result = tsi_ssl_client_handshaker_factory_create_handshaker(
61
61
  c->handshaker_factory, c->secure_peer_name, &handshaker);
62
62
  if (result != TSI_OK) {
@@ -70,18 +70,18 @@ static void httpcli_ssl_add_handshakers(grpc_exec_ctx *exec_ctx,
70
70
  exec_ctx, tsi_create_adapter_handshaker(handshaker), &sc->base));
71
71
  }
72
72
 
73
- static void httpcli_ssl_check_peer(grpc_exec_ctx *exec_ctx,
74
- grpc_security_connector *sc, tsi_peer peer,
75
- grpc_auth_context **auth_context,
76
- grpc_closure *on_peer_checked) {
77
- grpc_httpcli_ssl_channel_security_connector *c =
78
- (grpc_httpcli_ssl_channel_security_connector *)sc;
79
- grpc_error *error = GRPC_ERROR_NONE;
73
+ static void httpcli_ssl_check_peer(grpc_exec_ctx* exec_ctx,
74
+ grpc_security_connector* sc, tsi_peer peer,
75
+ grpc_auth_context** auth_context,
76
+ grpc_closure* on_peer_checked) {
77
+ grpc_httpcli_ssl_channel_security_connector* c =
78
+ (grpc_httpcli_ssl_channel_security_connector*)sc;
79
+ grpc_error* error = GRPC_ERROR_NONE;
80
80
 
81
81
  /* Check the peer name. */
82
- if (c->secure_peer_name != NULL &&
82
+ if (c->secure_peer_name != nullptr &&
83
83
  !tsi_ssl_peer_matches_name(&peer, c->secure_peer_name)) {
84
- char *msg;
84
+ char* msg;
85
85
  gpr_asprintf(&msg, "Peer name %s is not in peer certificate",
86
86
  c->secure_peer_name);
87
87
  error = GRPC_ERROR_CREATE_FROM_COPIED_STRING(msg);
@@ -91,37 +91,51 @@ static void httpcli_ssl_check_peer(grpc_exec_ctx *exec_ctx,
91
91
  tsi_peer_destruct(&peer);
92
92
  }
93
93
 
94
+ static int httpcli_ssl_cmp(grpc_security_connector* sc1,
95
+ grpc_security_connector* sc2) {
96
+ grpc_httpcli_ssl_channel_security_connector* c1 =
97
+ (grpc_httpcli_ssl_channel_security_connector*)sc1;
98
+ grpc_httpcli_ssl_channel_security_connector* c2 =
99
+ (grpc_httpcli_ssl_channel_security_connector*)sc2;
100
+ return strcmp(c1->secure_peer_name, c2->secure_peer_name);
101
+ }
102
+
94
103
  static grpc_security_connector_vtable httpcli_ssl_vtable = {
95
- httpcli_ssl_destroy, httpcli_ssl_check_peer};
104
+ httpcli_ssl_destroy, httpcli_ssl_check_peer, httpcli_ssl_cmp};
96
105
 
97
106
  static grpc_security_status httpcli_ssl_channel_security_connector_create(
98
- grpc_exec_ctx *exec_ctx, const char *pem_root_certs,
99
- const char *secure_peer_name, grpc_channel_security_connector **sc) {
107
+ grpc_exec_ctx* exec_ctx, const char* pem_root_certs,
108
+ const char* secure_peer_name, grpc_channel_security_connector** sc) {
100
109
  tsi_result result = TSI_OK;
101
- grpc_httpcli_ssl_channel_security_connector *c;
110
+ grpc_httpcli_ssl_channel_security_connector* c;
102
111
 
103
- if (secure_peer_name != NULL && pem_root_certs == NULL) {
112
+ if (secure_peer_name != nullptr && pem_root_certs == nullptr) {
104
113
  gpr_log(GPR_ERROR,
105
114
  "Cannot assert a secure peer name without a trust root.");
106
115
  return GRPC_SECURITY_ERROR;
107
116
  }
108
117
 
109
- c = gpr_zalloc(sizeof(grpc_httpcli_ssl_channel_security_connector));
118
+ c = (grpc_httpcli_ssl_channel_security_connector*)gpr_zalloc(
119
+ sizeof(grpc_httpcli_ssl_channel_security_connector));
110
120
 
111
121
  gpr_ref_init(&c->base.base.refcount, 1);
112
122
  c->base.base.vtable = &httpcli_ssl_vtable;
113
- if (secure_peer_name != NULL) {
123
+ if (secure_peer_name != nullptr) {
114
124
  c->secure_peer_name = gpr_strdup(secure_peer_name);
115
125
  }
116
126
  result = tsi_create_ssl_client_handshaker_factory(
117
- NULL, pem_root_certs, NULL, NULL, 0, &c->handshaker_factory);
127
+ nullptr, pem_root_certs, nullptr, nullptr, 0, &c->handshaker_factory);
118
128
  if (result != TSI_OK) {
119
129
  gpr_log(GPR_ERROR, "Handshaker factory creation failed with %s.",
120
130
  tsi_result_to_string(result));
121
131
  httpcli_ssl_destroy(exec_ctx, &c->base.base);
122
- *sc = NULL;
132
+ *sc = nullptr;
123
133
  return GRPC_SECURITY_ERROR;
124
134
  }
135
+ // We don't actually need a channel credentials object in this case,
136
+ // but we set it to a non-NULL address so that we don't trigger
137
+ // assertions in grpc_channel_security_connector_cmp().
138
+ c->base.channel_creds = (grpc_channel_credentials*)1;
125
139
  c->base.add_handshakers = httpcli_ssl_add_handshakers;
126
140
  *sc = &c->base;
127
141
  return GRPC_SECURITY_OK;
@@ -130,20 +144,20 @@ static grpc_security_status httpcli_ssl_channel_security_connector_create(
130
144
  /* handshaker */
131
145
 
132
146
  typedef struct {
133
- void (*func)(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *endpoint);
134
- void *arg;
135
- grpc_handshake_manager *handshake_mgr;
147
+ void (*func)(grpc_exec_ctx* exec_ctx, void* arg, grpc_endpoint* endpoint);
148
+ void* arg;
149
+ grpc_handshake_manager* handshake_mgr;
136
150
  } on_done_closure;
137
151
 
138
- static void on_handshake_done(grpc_exec_ctx *exec_ctx, void *arg,
139
- grpc_error *error) {
140
- grpc_handshaker_args *args = arg;
141
- on_done_closure *c = args->user_data;
152
+ static void on_handshake_done(grpc_exec_ctx* exec_ctx, void* arg,
153
+ grpc_error* error) {
154
+ grpc_handshaker_args* args = (grpc_handshaker_args*)arg;
155
+ on_done_closure* c = (on_done_closure*)args->user_data;
142
156
  if (error != GRPC_ERROR_NONE) {
143
- const char *msg = grpc_error_string(error);
157
+ const char* msg = grpc_error_string(error);
144
158
  gpr_log(GPR_ERROR, "Secure transport setup failed: %s", msg);
145
159
 
146
- c->func(exec_ctx, c->arg, NULL);
160
+ c->func(exec_ctx, c->arg, nullptr);
147
161
  } else {
148
162
  grpc_channel_args_destroy(exec_ctx, args->args);
149
163
  grpc_slice_buffer_destroy_internal(exec_ctx, args->read_buffer);
@@ -154,22 +168,22 @@ static void on_handshake_done(grpc_exec_ctx *exec_ctx, void *arg,
154
168
  gpr_free(c);
155
169
  }
156
170
 
157
- static void ssl_handshake(grpc_exec_ctx *exec_ctx, void *arg,
158
- grpc_endpoint *tcp, const char *host,
159
- gpr_timespec deadline,
160
- void (*on_done)(grpc_exec_ctx *exec_ctx, void *arg,
161
- grpc_endpoint *endpoint)) {
162
- on_done_closure *c = gpr_malloc(sizeof(*c));
163
- const char *pem_root_certs = grpc_get_default_ssl_roots();
164
- if (pem_root_certs == NULL) {
171
+ static void ssl_handshake(grpc_exec_ctx* exec_ctx, void* arg,
172
+ grpc_endpoint* tcp, const char* host,
173
+ grpc_millis deadline,
174
+ void (*on_done)(grpc_exec_ctx* exec_ctx, void* arg,
175
+ grpc_endpoint* endpoint)) {
176
+ on_done_closure* c = (on_done_closure*)gpr_malloc(sizeof(*c));
177
+ const char* pem_root_certs = grpc_get_default_ssl_roots();
178
+ if (pem_root_certs == nullptr) {
165
179
  gpr_log(GPR_ERROR, "Could not get default pem root certs.");
166
- on_done(exec_ctx, arg, NULL);
180
+ on_done(exec_ctx, arg, nullptr);
167
181
  gpr_free(c);
168
182
  return;
169
183
  }
170
184
  c->func = on_done;
171
185
  c->arg = arg;
172
- grpc_channel_security_connector *sc = NULL;
186
+ grpc_channel_security_connector* sc = nullptr;
173
187
  GPR_ASSERT(httpcli_ssl_channel_security_connector_create(
174
188
  exec_ctx, pem_root_certs, host, &sc) == GRPC_SECURITY_OK);
175
189
  grpc_arg channel_arg = grpc_security_connector_to_arg(&sc->base);
@@ -177,8 +191,8 @@ static void ssl_handshake(grpc_exec_ctx *exec_ctx, void *arg,
177
191
  c->handshake_mgr = grpc_handshake_manager_create();
178
192
  grpc_handshakers_add(exec_ctx, HANDSHAKER_CLIENT, &args, c->handshake_mgr);
179
193
  grpc_handshake_manager_do_handshake(
180
- exec_ctx, c->handshake_mgr, tcp, NULL /* channel_args */, deadline,
181
- NULL /* acceptor */, on_handshake_done, c /* user_data */);
194
+ exec_ctx, c->handshake_mgr, tcp, nullptr /* channel_args */, deadline,
195
+ nullptr /* acceptor */, on_handshake_done, c /* user_data */);
182
196
  GRPC_SECURITY_CONNECTOR_UNREF(exec_ctx, &sc->base, "httpcli");
183
197
  }
184
198
 
@@ -25,19 +25,19 @@
25
25
  #include <grpc/support/log.h>
26
26
  #include <grpc/support/useful.h>
27
27
 
28
- grpc_tracer_flag grpc_http1_trace = GRPC_TRACER_INITIALIZER(false, "http1");
28
+ grpc_core::TraceFlag grpc_http1_trace(false, "http1");
29
29
 
30
- static char *buf2str(void *buffer, size_t length) {
31
- char *out = (char *)gpr_malloc(length + 1);
30
+ static char* buf2str(void* buffer, size_t length) {
31
+ char* out = (char*)gpr_malloc(length + 1);
32
32
  memcpy(out, buffer, length);
33
33
  out[length] = 0;
34
34
  return out;
35
35
  }
36
36
 
37
- static grpc_error *handle_response_line(grpc_http_parser *parser) {
38
- uint8_t *beg = parser->cur_line;
39
- uint8_t *cur = beg;
40
- uint8_t *end = beg + parser->cur_line_length;
37
+ static grpc_error* handle_response_line(grpc_http_parser* parser) {
38
+ uint8_t* beg = parser->cur_line;
39
+ uint8_t* cur = beg;
40
+ uint8_t* end = beg + parser->cur_line_length;
41
41
 
42
42
  if (cur == end || *cur++ != 'H')
43
43
  return GRPC_ERROR_CREATE_FROM_STATIC_STRING("Expected 'H'");
@@ -75,10 +75,10 @@ static grpc_error *handle_response_line(grpc_http_parser *parser) {
75
75
  return GRPC_ERROR_NONE;
76
76
  }
77
77
 
78
- static grpc_error *handle_request_line(grpc_http_parser *parser) {
79
- uint8_t *beg = parser->cur_line;
80
- uint8_t *cur = beg;
81
- uint8_t *end = beg + parser->cur_line_length;
78
+ static grpc_error* handle_request_line(grpc_http_parser* parser) {
79
+ uint8_t* beg = parser->cur_line;
80
+ uint8_t* cur = beg;
81
+ uint8_t* end = beg + parser->cur_line_length;
82
82
  uint8_t vers_major = 0;
83
83
  uint8_t vers_minor = 0;
84
84
 
@@ -137,7 +137,7 @@ static grpc_error *handle_request_line(grpc_http_parser *parser) {
137
137
  return GRPC_ERROR_NONE;
138
138
  }
139
139
 
140
- static grpc_error *handle_first_line(grpc_http_parser *parser) {
140
+ static grpc_error* handle_first_line(grpc_http_parser* parser) {
141
141
  switch (parser->type) {
142
142
  case GRPC_HTTP_REQUEST:
143
143
  return handle_request_line(parser);
@@ -148,14 +148,14 @@ static grpc_error *handle_first_line(grpc_http_parser *parser) {
148
148
  return GRPC_ERROR_CREATE_FROM_STATIC_STRING("Should never reach here"));
149
149
  }
150
150
 
151
- static grpc_error *add_header(grpc_http_parser *parser) {
152
- uint8_t *beg = parser->cur_line;
153
- uint8_t *cur = beg;
154
- uint8_t *end = beg + parser->cur_line_length;
155
- size_t *hdr_count = NULL;
156
- grpc_http_header **hdrs = NULL;
157
- grpc_http_header hdr = {NULL, NULL};
158
- grpc_error *error = GRPC_ERROR_NONE;
151
+ static grpc_error* add_header(grpc_http_parser* parser) {
152
+ uint8_t* beg = parser->cur_line;
153
+ uint8_t* cur = beg;
154
+ uint8_t* end = beg + parser->cur_line_length;
155
+ size_t* hdr_count = nullptr;
156
+ grpc_http_header** hdrs = nullptr;
157
+ grpc_http_header hdr = {nullptr, nullptr};
158
+ grpc_error* error = GRPC_ERROR_NONE;
159
159
 
160
160
  GPR_ASSERT(cur != end);
161
161
 
@@ -197,7 +197,7 @@ static grpc_error *add_header(grpc_http_parser *parser) {
197
197
  if (*hdr_count == parser->hdr_capacity) {
198
198
  parser->hdr_capacity =
199
199
  GPR_MAX(parser->hdr_capacity + 1, parser->hdr_capacity * 3 / 2);
200
- *hdrs = (grpc_http_header *)gpr_realloc(
200
+ *hdrs = (grpc_http_header*)gpr_realloc(
201
201
  *hdrs, parser->hdr_capacity * sizeof(**hdrs));
202
202
  }
203
203
  (*hdrs)[(*hdr_count)++] = hdr;
@@ -210,9 +210,9 @@ done:
210
210
  return error;
211
211
  }
212
212
 
213
- static grpc_error *finish_line(grpc_http_parser *parser,
214
- bool *found_body_start) {
215
- grpc_error *err;
213
+ static grpc_error* finish_line(grpc_http_parser* parser,
214
+ bool* found_body_start) {
215
+ grpc_error* err;
216
216
  switch (parser->state) {
217
217
  case GRPC_HTTP_FIRST_LINE:
218
218
  err = handle_first_line(parser);
@@ -239,9 +239,9 @@ static grpc_error *finish_line(grpc_http_parser *parser,
239
239
  return GRPC_ERROR_NONE;
240
240
  }
241
241
 
242
- static grpc_error *addbyte_body(grpc_http_parser *parser, uint8_t byte) {
243
- size_t *body_length = NULL;
244
- char **body = NULL;
242
+ static grpc_error* addbyte_body(grpc_http_parser* parser, uint8_t byte) {
243
+ size_t* body_length = nullptr;
244
+ char** body = nullptr;
245
245
 
246
246
  if (parser->type == GRPC_HTTP_RESPONSE) {
247
247
  body_length = &parser->http.response->body_length;
@@ -256,7 +256,7 @@ static grpc_error *addbyte_body(grpc_http_parser *parser, uint8_t byte) {
256
256
 
257
257
  if (*body_length == parser->body_capacity) {
258
258
  parser->body_capacity = GPR_MAX(8, parser->body_capacity * 3 / 2);
259
- *body = (char *)gpr_realloc((void *)*body, parser->body_capacity);
259
+ *body = (char*)gpr_realloc((void*)*body, parser->body_capacity);
260
260
  }
261
261
  (*body)[*body_length] = (char)byte;
262
262
  (*body_length)++;
@@ -264,7 +264,7 @@ static grpc_error *addbyte_body(grpc_http_parser *parser, uint8_t byte) {
264
264
  return GRPC_ERROR_NONE;
265
265
  }
266
266
 
267
- static bool check_line(grpc_http_parser *parser) {
267
+ static bool check_line(grpc_http_parser* parser) {
268
268
  if (parser->cur_line_length >= 2 &&
269
269
  parser->cur_line[parser->cur_line_length - 2] == '\r' &&
270
270
  parser->cur_line[parser->cur_line_length - 1] == '\n') {
@@ -288,13 +288,13 @@ static bool check_line(grpc_http_parser *parser) {
288
288
  return false;
289
289
  }
290
290
 
291
- static grpc_error *addbyte(grpc_http_parser *parser, uint8_t byte,
292
- bool *found_body_start) {
291
+ static grpc_error* addbyte(grpc_http_parser* parser, uint8_t byte,
292
+ bool* found_body_start) {
293
293
  switch (parser->state) {
294
294
  case GRPC_HTTP_FIRST_LINE:
295
295
  case GRPC_HTTP_HEADERS:
296
296
  if (parser->cur_line_length >= GRPC_HTTP_PARSER_MAX_HEADER_LENGTH) {
297
- if (GRPC_TRACER_ON(grpc_http1_trace))
297
+ if (grpc_http1_trace.enabled())
298
298
  gpr_log(GPR_ERROR, "HTTP header max line length (%d) exceeded",
299
299
  GRPC_HTTP_PARSER_MAX_HEADER_LENGTH);
300
300
  return GRPC_ERROR_CREATE_FROM_STATIC_STRING(
@@ -312,8 +312,8 @@ static grpc_error *addbyte(grpc_http_parser *parser, uint8_t byte,
312
312
  GPR_UNREACHABLE_CODE(return GRPC_ERROR_NONE);
313
313
  }
314
314
 
315
- void grpc_http_parser_init(grpc_http_parser *parser, grpc_http_type type,
316
- void *request_or_response) {
315
+ void grpc_http_parser_init(grpc_http_parser* parser, grpc_http_type type,
316
+ void* request_or_response) {
317
317
  memset(parser, 0, sizeof(*parser));
318
318
  parser->state = GRPC_HTTP_FIRST_LINE;
319
319
  parser->type = type;
@@ -321,9 +321,9 @@ void grpc_http_parser_init(grpc_http_parser *parser, grpc_http_type type,
321
321
  parser->cur_line_end_length = 2;
322
322
  }
323
323
 
324
- void grpc_http_parser_destroy(grpc_http_parser *parser) {}
324
+ void grpc_http_parser_destroy(grpc_http_parser* parser) {}
325
325
 
326
- void grpc_http_request_destroy(grpc_http_request *request) {
326
+ void grpc_http_request_destroy(grpc_http_request* request) {
327
327
  size_t i;
328
328
  gpr_free(request->body);
329
329
  for (i = 0; i < request->hdr_count; i++) {
@@ -335,7 +335,7 @@ void grpc_http_request_destroy(grpc_http_request *request) {
335
335
  gpr_free(request->path);
336
336
  }
337
337
 
338
- void grpc_http_response_destroy(grpc_http_response *response) {
338
+ void grpc_http_response_destroy(grpc_http_response* response) {
339
339
  size_t i;
340
340
  gpr_free(response->body);
341
341
  for (i = 0; i < response->hdr_count; i++) {
@@ -345,19 +345,19 @@ void grpc_http_response_destroy(grpc_http_response *response) {
345
345
  gpr_free(response->hdrs);
346
346
  }
347
347
 
348
- grpc_error *grpc_http_parser_parse(grpc_http_parser *parser, grpc_slice slice,
349
- size_t *start_of_body) {
348
+ grpc_error* grpc_http_parser_parse(grpc_http_parser* parser, grpc_slice slice,
349
+ size_t* start_of_body) {
350
350
  for (size_t i = 0; i < GRPC_SLICE_LENGTH(slice); i++) {
351
351
  bool found_body_start = false;
352
- grpc_error *err =
352
+ grpc_error* err =
353
353
  addbyte(parser, GRPC_SLICE_START_PTR(slice)[i], &found_body_start);
354
354
  if (err != GRPC_ERROR_NONE) return err;
355
- if (found_body_start && start_of_body != NULL) *start_of_body = i + 1;
355
+ if (found_body_start && start_of_body != nullptr) *start_of_body = i + 1;
356
356
  }
357
357
  return GRPC_ERROR_NONE;
358
358
  }
359
359
 
360
- grpc_error *grpc_http_parser_eof(grpc_http_parser *parser) {
360
+ grpc_error* grpc_http_parser_eof(grpc_http_parser* parser) {
361
361
  if (parser->state != GRPC_HTTP_BODY) {
362
362
  return GRPC_ERROR_CREATE_FROM_STATIC_STRING("Did not finish headers");
363
363
  }