grpc 1.1.2 → 1.2.0.pre1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (255) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +1257 -404
  3. data/etc/roots.pem +189 -102
  4. data/include/grpc/census.h +7 -7
  5. data/include/grpc/compression.h +4 -4
  6. data/include/grpc/grpc.h +13 -7
  7. data/include/grpc/impl/codegen/atm_gcc_atomic.h +26 -9
  8. data/include/grpc/impl/codegen/grpc_types.h +39 -30
  9. data/include/grpc/impl/codegen/slice.h +24 -6
  10. data/include/grpc/impl/codegen/sync.h +8 -0
  11. data/include/grpc/load_reporting.h +63 -0
  12. data/include/grpc/slice.h +37 -1
  13. data/include/grpc/slice_buffer.h +7 -0
  14. data/include/grpc/support/alloc.h +3 -0
  15. data/include/grpc/support/useful.h +3 -0
  16. data/src/core/ext/census/gen/census.pb.h +1 -1
  17. data/src/core/ext/census/gen/trace_context.pb.c +9 -36
  18. data/src/core/ext/census/gen/trace_context.pb.h +20 -26
  19. data/src/core/ext/census/grpc_filter.c +3 -5
  20. data/src/core/ext/census/trace_context.c +1 -1
  21. data/src/core/ext/census/trace_context.h +3 -0
  22. data/src/core/ext/census/trace_label.h +61 -0
  23. data/src/core/ext/census/trace_propagation.h +63 -0
  24. data/src/core/ext/census/trace_status.h +45 -0
  25. data/src/core/ext/census/trace_string.h +50 -0
  26. data/src/core/ext/census/tracing.c +31 -11
  27. data/src/core/ext/census/tracing.h +124 -0
  28. data/src/core/ext/client_channel/client_channel.c +456 -368
  29. data/src/core/ext/client_channel/client_channel.h +4 -0
  30. data/src/core/ext/client_channel/client_channel_plugin.c +6 -1
  31. data/src/core/ext/client_channel/connector.c +3 -3
  32. data/src/core/ext/client_channel/connector.h +4 -3
  33. data/src/core/ext/client_channel/http_connect_handshaker.c +62 -72
  34. data/src/core/ext/client_channel/http_connect_handshaker.h +7 -10
  35. data/src/core/ext/client_channel/http_proxy.c +125 -0
  36. data/src/core/ext/client_channel/http_proxy.h +39 -0
  37. data/src/core/ext/client_channel/lb_policy.c +56 -35
  38. data/src/core/ext/client_channel/lb_policy.h +46 -39
  39. data/src/core/ext/client_channel/lb_policy_factory.h +1 -0
  40. data/src/core/ext/client_channel/parse_address.c +32 -6
  41. data/src/core/ext/client_channel/proxy_mapper.c +63 -0
  42. data/src/core/ext/client_channel/proxy_mapper.h +89 -0
  43. data/src/core/ext/client_channel/proxy_mapper_registry.c +133 -0
  44. data/src/core/ext/client_channel/proxy_mapper_registry.h +59 -0
  45. data/src/core/ext/client_channel/resolver.c +16 -9
  46. data/src/core/ext/client_channel/resolver.h +23 -12
  47. data/src/core/ext/client_channel/resolver_factory.h +1 -0
  48. data/src/core/ext/client_channel/resolver_registry.c +15 -11
  49. data/src/core/ext/client_channel/resolver_registry.h +5 -3
  50. data/src/core/ext/client_channel/subchannel.c +44 -27
  51. data/src/core/ext/client_channel/subchannel.h +6 -2
  52. data/src/core/ext/client_channel/uri_parser.c +26 -14
  53. data/src/core/ext/client_channel/uri_parser.h +3 -1
  54. data/src/core/ext/lb_policy/grpclb/grpclb.c +220 -209
  55. data/src/core/ext/lb_policy/grpclb/grpclb_channel.h +56 -0
  56. data/src/core/ext/lb_policy/grpclb/grpclb_channel_secure.c +107 -0
  57. data/src/core/ext/lb_policy/grpclb/load_balancer_api.c +3 -6
  58. data/src/core/ext/lb_policy/pick_first/pick_first.c +71 -116
  59. data/src/core/ext/lb_policy/round_robin/round_robin.c +52 -67
  60. data/src/core/ext/load_reporting/load_reporting.c +20 -0
  61. data/src/core/ext/load_reporting/load_reporting.h +1 -16
  62. data/src/core/ext/load_reporting/load_reporting_filter.c +28 -54
  63. data/src/core/ext/resolver/dns/native/dns_resolver.c +31 -45
  64. data/src/core/ext/resolver/sockaddr/sockaddr_resolver.c +20 -29
  65. data/src/core/ext/transport/chttp2/client/chttp2_connector.c +11 -8
  66. data/src/core/ext/transport/chttp2/client/insecure/channel_create.c +11 -2
  67. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c +143 -46
  68. data/src/core/ext/transport/chttp2/server/chttp2_server.c +12 -50
  69. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.c +1 -1
  70. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c +1 -1
  71. data/src/core/ext/transport/chttp2/transport/bin_decoder.c +7 -7
  72. data/src/core/ext/transport/chttp2/transport/bin_encoder.c +1 -2
  73. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -2
  74. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.c +0 -3
  75. data/src/core/ext/transport/chttp2/transport/chttp2_transport.c +606 -374
  76. data/src/core/ext/transport/chttp2/transport/frame_ping.c +17 -5
  77. data/src/core/ext/transport/chttp2/transport/frame_ping.h +2 -2
  78. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.c +9 -13
  79. data/src/core/ext/transport/chttp2/transport/frame_settings.c +12 -11
  80. data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -1
  81. data/src/core/ext/transport/chttp2/transport/frame_window_update.c +5 -6
  82. data/src/core/ext/transport/chttp2/transport/hpack_encoder.c +100 -53
  83. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -2
  84. data/src/core/ext/transport/chttp2/transport/hpack_parser.c +126 -70
  85. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +13 -7
  86. data/src/core/ext/transport/chttp2/transport/hpack_table.c +22 -19
  87. data/src/core/ext/transport/chttp2/transport/hpack_table.h +6 -6
  88. data/src/core/ext/transport/chttp2/transport/incoming_metadata.c +23 -11
  89. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +6 -2
  90. data/src/core/ext/transport/chttp2/transport/internal.h +169 -42
  91. data/src/core/ext/transport/chttp2/transport/parsing.c +98 -41
  92. data/src/core/ext/transport/chttp2/transport/stream_lists.c +29 -14
  93. data/src/core/ext/transport/chttp2/transport/writing.c +137 -15
  94. data/src/core/lib/channel/channel_stack.c +14 -44
  95. data/src/core/lib/channel/channel_stack.h +10 -17
  96. data/src/core/lib/channel/channel_stack_builder.c +2 -3
  97. data/src/core/lib/channel/compress_filter.c +54 -46
  98. data/src/core/lib/channel/connected_channel.c +4 -4
  99. data/src/core/lib/channel/connected_channel.h +5 -0
  100. data/src/core/lib/channel/context.h +3 -0
  101. data/src/core/lib/channel/deadline_filter.c +61 -61
  102. data/src/core/lib/channel/deadline_filter.h +8 -5
  103. data/src/core/lib/channel/handshaker.c +47 -7
  104. data/src/core/lib/channel/handshaker.h +21 -3
  105. data/src/core/lib/channel/http_client_filter.c +149 -99
  106. data/src/core/lib/channel/http_server_filter.c +163 -147
  107. data/src/core/lib/channel/message_size_filter.c +15 -10
  108. data/src/core/lib/compression/algorithm_metadata.h +4 -4
  109. data/src/core/lib/compression/compression.c +17 -23
  110. data/src/core/lib/http/httpcli.c +3 -2
  111. data/src/core/lib/http/httpcli.h +2 -1
  112. data/src/core/lib/http/httpcli_security_connector.c +2 -3
  113. data/src/core/lib/http/parser.c +2 -2
  114. data/src/core/lib/iomgr/closure.c +6 -3
  115. data/src/core/lib/iomgr/closure.h +4 -2
  116. data/src/core/lib/iomgr/combiner.c +35 -5
  117. data/src/core/lib/iomgr/combiner.h +21 -2
  118. data/src/core/lib/iomgr/endpoint.c +3 -2
  119. data/src/core/lib/iomgr/endpoint.h +3 -2
  120. data/src/core/lib/iomgr/error.c +60 -94
  121. data/src/core/lib/iomgr/error.h +7 -10
  122. data/src/core/lib/iomgr/error_internal.h +54 -0
  123. data/src/core/lib/iomgr/ev_epoll_linux.c +253 -109
  124. data/src/core/lib/iomgr/ev_poll_posix.c +61 -29
  125. data/src/core/lib/iomgr/ev_posix.c +7 -8
  126. data/src/core/lib/iomgr/ev_posix.h +4 -4
  127. data/src/core/lib/iomgr/exec_ctx.c +11 -6
  128. data/src/core/lib/iomgr/exec_ctx.h +11 -14
  129. data/src/core/lib/iomgr/executor.c +2 -2
  130. data/src/core/lib/iomgr/load_file.c +1 -1
  131. data/src/core/lib/iomgr/network_status_tracker.c +5 -81
  132. data/src/core/lib/iomgr/pollset.h +1 -3
  133. data/src/core/lib/iomgr/pollset_set.h +2 -1
  134. data/src/core/lib/iomgr/pollset_set_uv.c +2 -1
  135. data/src/core/lib/iomgr/pollset_set_windows.c +2 -1
  136. data/src/core/lib/iomgr/pollset_uv.c +25 -11
  137. data/src/core/lib/iomgr/pollset_windows.c +0 -11
  138. data/src/core/lib/iomgr/resolve_address_uv.c +50 -2
  139. data/src/core/lib/iomgr/resource_quota.c +41 -11
  140. data/src/core/lib/iomgr/resource_quota.h +6 -0
  141. data/src/core/lib/iomgr/sockaddr_utils.c +33 -17
  142. data/src/core/lib/iomgr/sockaddr_utils.h +4 -0
  143. data/src/core/lib/iomgr/tcp_client_posix.c +2 -3
  144. data/src/core/lib/iomgr/tcp_client_uv.c +1 -3
  145. data/src/core/lib/iomgr/tcp_client_windows.c +21 -6
  146. data/src/core/lib/iomgr/tcp_posix.c +4 -5
  147. data/src/core/lib/iomgr/tcp_server_posix.c +269 -94
  148. data/src/core/lib/iomgr/tcp_server_windows.c +1 -1
  149. data/src/core/lib/iomgr/tcp_uv.c +11 -5
  150. data/src/core/lib/iomgr/tcp_windows.c +20 -7
  151. data/src/core/lib/iomgr/timer_generic.c +15 -22
  152. data/src/core/lib/iomgr/timer_generic.h +1 -1
  153. data/src/core/lib/iomgr/timer_uv.c +10 -6
  154. data/src/core/lib/iomgr/timer_uv.h +1 -1
  155. data/src/core/lib/iomgr/udp_server.c +45 -6
  156. data/src/core/lib/iomgr/udp_server.h +7 -1
  157. data/src/core/lib/iomgr/unix_sockets_posix.c +11 -1
  158. data/src/core/lib/json/json.c +1 -2
  159. data/src/core/lib/profiling/basic_timers.c +17 -3
  160. data/src/core/lib/security/context/security_context.c +3 -10
  161. data/src/core/lib/security/credentials/composite/composite_credentials.c +4 -8
  162. data/src/core/lib/security/credentials/credentials.c +48 -2
  163. data/src/core/lib/security/credentials/credentials.h +13 -0
  164. data/src/core/lib/security/credentials/credentials_metadata.c +1 -2
  165. data/src/core/lib/security/credentials/fake/fake_credentials.c +6 -8
  166. data/src/core/lib/security/credentials/fake/fake_credentials.h +15 -0
  167. data/src/core/lib/security/credentials/google_default/google_default_credentials.c +3 -3
  168. data/src/core/lib/security/credentials/iam/iam_credentials.c +1 -2
  169. data/src/core/lib/security/credentials/jwt/jwt_credentials.c +1 -2
  170. data/src/core/lib/security/credentials/jwt/jwt_verifier.c +5 -8
  171. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +2 -1
  172. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.c +3 -5
  173. data/src/core/lib/security/credentials/plugin/plugin_credentials.c +15 -13
  174. data/src/core/lib/security/credentials/ssl/ssl_credentials.c +2 -4
  175. data/src/core/lib/security/transport/client_auth_filter.c +72 -47
  176. data/src/core/lib/security/transport/lb_targets_info.c +70 -0
  177. data/src/core/lib/security/transport/lb_targets_info.h +47 -0
  178. data/src/core/lib/security/transport/secure_endpoint.c +3 -3
  179. data/src/core/lib/security/transport/security_connector.c +125 -28
  180. data/src/core/lib/security/transport/security_connector.h +4 -3
  181. data/src/core/lib/security/transport/security_handshaker.c +13 -9
  182. data/src/core/lib/security/transport/server_auth_filter.c +31 -40
  183. data/src/core/lib/security/util/b64.c +1 -1
  184. data/src/core/lib/slice/slice.c +110 -20
  185. data/src/core/lib/slice/slice_buffer.c +92 -39
  186. data/src/core/lib/{transport/mdstr_hash_table.c → slice/slice_hash_table.c} +40 -33
  187. data/src/core/lib/{transport/mdstr_hash_table.h → slice/slice_hash_table.h} +21 -21
  188. data/src/core/lib/slice/slice_intern.c +346 -0
  189. data/src/core/lib/slice/slice_internal.h +15 -0
  190. data/src/core/lib/slice/slice_string_helpers.c +5 -0
  191. data/src/core/lib/slice/slice_string_helpers.h +5 -0
  192. data/src/core/lib/support/alloc.c +26 -1
  193. data/src/core/lib/support/cmdline.c +2 -4
  194. data/src/core/lib/support/cpu_posix.c +2 -7
  195. data/src/core/lib/support/histogram.c +1 -2
  196. data/src/core/lib/support/log_posix.c +8 -4
  197. data/src/core/lib/support/spinlock.h +52 -0
  198. data/src/core/lib/support/subprocess_posix.c +1 -2
  199. data/src/core/lib/support/sync.c +7 -1
  200. data/src/core/lib/support/sync_posix.c +9 -0
  201. data/src/core/lib/support/time_windows.c +7 -1
  202. data/src/core/lib/surface/call.c +647 -629
  203. data/src/core/lib/surface/call.h +4 -1
  204. data/src/core/lib/surface/call_details.c +8 -2
  205. data/src/core/lib/surface/call_log_batch.c +17 -6
  206. data/src/core/lib/surface/channel.c +49 -59
  207. data/src/core/lib/surface/channel.h +5 -6
  208. data/src/core/lib/surface/completion_queue.c +16 -45
  209. data/src/core/lib/surface/completion_queue.h +0 -3
  210. data/src/core/lib/surface/init.c +6 -2
  211. data/src/core/lib/surface/init_secure.c +1 -1
  212. data/src/core/lib/surface/lame_client.c +14 -4
  213. data/src/core/lib/surface/server.c +79 -82
  214. data/src/core/lib/surface/validate_metadata.c +46 -15
  215. data/src/core/lib/surface/validate_metadata.h +43 -0
  216. data/src/core/lib/surface/version.c +2 -2
  217. data/src/core/lib/transport/bdp_estimator.c +104 -0
  218. data/src/core/lib/transport/bdp_estimator.h +76 -0
  219. data/src/core/lib/transport/connectivity_state.c +33 -13
  220. data/src/core/lib/transport/connectivity_state.h +15 -5
  221. data/src/core/lib/transport/error_utils.c +124 -0
  222. data/src/core/lib/transport/error_utils.h +56 -0
  223. data/src/core/{ext/transport/chttp2 → lib}/transport/http2_errors.h +18 -18
  224. data/src/core/lib/transport/metadata.c +259 -503
  225. data/src/core/lib/transport/metadata.h +69 -68
  226. data/src/core/lib/transport/metadata_batch.c +183 -63
  227. data/src/core/lib/transport/metadata_batch.h +50 -26
  228. data/src/core/lib/transport/pid_controller.c +28 -8
  229. data/src/core/lib/transport/pid_controller.h +15 -2
  230. data/src/core/lib/transport/service_config.c +21 -18
  231. data/src/core/lib/transport/service_config.h +5 -5
  232. data/src/core/lib/transport/static_metadata.c +753 -112
  233. data/src/core/lib/transport/static_metadata.h +403 -264
  234. data/src/core/{ext/transport/chttp2 → lib}/transport/status_conversion.c +18 -20
  235. data/src/core/{ext/transport/chttp2 → lib}/transport/status_conversion.h +9 -10
  236. data/src/core/lib/transport/timeout_encoding.c +11 -9
  237. data/src/core/lib/transport/timeout_encoding.h +3 -1
  238. data/src/core/lib/transport/transport.c +47 -87
  239. data/src/core/lib/transport/transport.h +20 -25
  240. data/src/core/lib/transport/transport_op_string.c +7 -19
  241. data/src/core/lib/tsi/fake_transport_security.c +2 -4
  242. data/src/core/lib/tsi/ssl_transport_security.c +7 -16
  243. data/src/core/lib/tsi/transport_security.c +2 -4
  244. data/src/ruby/ext/grpc/extconf.rb +4 -1
  245. data/src/ruby/ext/grpc/rb_byte_buffer.c +7 -0
  246. data/src/ruby/ext/grpc/rb_byte_buffer.h +3 -0
  247. data/src/ruby/ext/grpc/rb_call.c +47 -46
  248. data/src/ruby/ext/grpc/rb_channel.c +21 -6
  249. data/src/ruby/ext/grpc/rb_compression_options.c +9 -6
  250. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +36 -2
  251. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +59 -8
  252. data/src/ruby/ext/grpc/rb_server.c +6 -4
  253. data/src/ruby/lib/grpc/generic/client_stub.rb +1 -1
  254. data/src/ruby/lib/grpc/version.rb +1 -1
  255. metadata +33 -9
@@ -176,7 +176,7 @@ extern census_resource_id_type census_resource_id_import;
176
176
  typedef void(*census_record_values_type)(census_context *context, census_value *values, size_t nvalues);
177
177
  extern census_record_values_type census_record_values_import;
178
178
  #define census_record_values census_record_values_import
179
- typedef int(*grpc_compression_algorithm_parse_type)(const char *name, size_t name_length, grpc_compression_algorithm *algorithm);
179
+ typedef int(*grpc_compression_algorithm_parse_type)(grpc_slice value, grpc_compression_algorithm *algorithm);
180
180
  extern grpc_compression_algorithm_parse_type grpc_compression_algorithm_parse_import;
181
181
  #define grpc_compression_algorithm_parse grpc_compression_algorithm_parse_import
182
182
  typedef int(*grpc_compression_algorithm_name_type)(grpc_compression_algorithm algorithm, char **name);
@@ -254,7 +254,7 @@ extern grpc_channel_check_connectivity_state_type grpc_channel_check_connectivit
254
254
  typedef void(*grpc_channel_watch_connectivity_state_type)(grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag);
255
255
  extern grpc_channel_watch_connectivity_state_type grpc_channel_watch_connectivity_state_import;
256
256
  #define grpc_channel_watch_connectivity_state grpc_channel_watch_connectivity_state_import
257
- typedef grpc_call *(*grpc_channel_create_call_type)(grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_completion_queue *completion_queue, const char *method, const char *host, gpr_timespec deadline, void *reserved);
257
+ typedef grpc_call *(*grpc_channel_create_call_type)(grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_completion_queue *completion_queue, grpc_slice method, const grpc_slice *host, gpr_timespec deadline, void *reserved);
258
258
  extern grpc_channel_create_call_type grpc_channel_create_call_import;
259
259
  #define grpc_channel_create_call grpc_channel_create_call_import
260
260
  typedef void(*grpc_channel_ping_type)(grpc_channel *channel, grpc_completion_queue *cq, void *tag, void *reserved);
@@ -272,6 +272,9 @@ extern grpc_call_start_batch_type grpc_call_start_batch_import;
272
272
  typedef char *(*grpc_call_get_peer_type)(grpc_call *call);
273
273
  extern grpc_call_get_peer_type grpc_call_get_peer_import;
274
274
  #define grpc_call_get_peer grpc_call_get_peer_import
275
+ typedef void(*grpc_call_set_load_reporting_cost_context_type)(grpc_call *call, struct grpc_load_reporting_cost_context *context);
276
+ extern grpc_call_set_load_reporting_cost_context_type grpc_call_set_load_reporting_cost_context_import;
277
+ #define grpc_call_set_load_reporting_cost_context grpc_call_set_load_reporting_cost_context_import
275
278
  typedef void(*grpc_census_call_set_context_type)(grpc_call *call, struct census_context *context);
276
279
  extern grpc_census_call_set_context_type grpc_census_call_set_context_import;
277
280
  #define grpc_census_call_set_context grpc_census_call_set_context_import
@@ -338,13 +341,13 @@ extern grpc_server_destroy_type grpc_server_destroy_import;
338
341
  typedef int(*grpc_tracer_set_enabled_type)(const char *name, int enabled);
339
342
  extern grpc_tracer_set_enabled_type grpc_tracer_set_enabled_import;
340
343
  #define grpc_tracer_set_enabled grpc_tracer_set_enabled_import
341
- typedef int(*grpc_header_key_is_legal_type)(const char *key, size_t length);
344
+ typedef int(*grpc_header_key_is_legal_type)(grpc_slice slice);
342
345
  extern grpc_header_key_is_legal_type grpc_header_key_is_legal_import;
343
346
  #define grpc_header_key_is_legal grpc_header_key_is_legal_import
344
- typedef int(*grpc_header_nonbin_value_is_legal_type)(const char *value, size_t length);
347
+ typedef int(*grpc_header_nonbin_value_is_legal_type)(grpc_slice slice);
345
348
  extern grpc_header_nonbin_value_is_legal_type grpc_header_nonbin_value_is_legal_import;
346
349
  #define grpc_header_nonbin_value_is_legal grpc_header_nonbin_value_is_legal_import
347
- typedef int(*grpc_is_binary_header_type)(const char *key, size_t length);
350
+ typedef int(*grpc_is_binary_header_type)(grpc_slice slice);
348
351
  extern grpc_is_binary_header_type grpc_is_binary_header_import;
349
352
  #define grpc_is_binary_header grpc_is_binary_header_import
350
353
  typedef const char *(*grpc_call_error_to_string_type)(grpc_call_error error);
@@ -488,6 +491,9 @@ extern grpc_slice_new_with_len_type grpc_slice_new_with_len_import;
488
491
  typedef grpc_slice(*grpc_slice_malloc_type)(size_t length);
489
492
  extern grpc_slice_malloc_type grpc_slice_malloc_import;
490
493
  #define grpc_slice_malloc grpc_slice_malloc_import
494
+ typedef grpc_slice(*grpc_slice_intern_type)(grpc_slice slice);
495
+ extern grpc_slice_intern_type grpc_slice_intern_import;
496
+ #define grpc_slice_intern grpc_slice_intern_import
491
497
  typedef grpc_slice(*grpc_slice_from_copied_string_type)(const char *source);
492
498
  extern grpc_slice_from_copied_string_type grpc_slice_from_copied_string_import;
493
499
  #define grpc_slice_from_copied_string grpc_slice_from_copied_string_import
@@ -497,6 +503,9 @@ extern grpc_slice_from_copied_buffer_type grpc_slice_from_copied_buffer_import;
497
503
  typedef grpc_slice(*grpc_slice_from_static_string_type)(const char *source);
498
504
  extern grpc_slice_from_static_string_type grpc_slice_from_static_string_import;
499
505
  #define grpc_slice_from_static_string grpc_slice_from_static_string_import
506
+ typedef grpc_slice(*grpc_slice_from_static_buffer_type)(const void *source, size_t len);
507
+ extern grpc_slice_from_static_buffer_type grpc_slice_from_static_buffer_import;
508
+ #define grpc_slice_from_static_buffer grpc_slice_from_static_buffer_import
500
509
  typedef grpc_slice(*grpc_slice_sub_type)(grpc_slice s, size_t begin, size_t end);
501
510
  extern grpc_slice_sub_type grpc_slice_sub_import;
502
511
  #define grpc_slice_sub grpc_slice_sub_import
@@ -509,18 +518,51 @@ extern grpc_slice_split_tail_type grpc_slice_split_tail_import;
509
518
  typedef grpc_slice(*grpc_slice_split_head_type)(grpc_slice *s, size_t split);
510
519
  extern grpc_slice_split_head_type grpc_slice_split_head_import;
511
520
  #define grpc_slice_split_head grpc_slice_split_head_import
512
- typedef grpc_slice(*gpr_empty_slice_type)(void);
513
- extern gpr_empty_slice_type gpr_empty_slice_import;
514
- #define gpr_empty_slice gpr_empty_slice_import
521
+ typedef grpc_slice(*grpc_empty_slice_type)(void);
522
+ extern grpc_empty_slice_type grpc_empty_slice_import;
523
+ #define grpc_empty_slice grpc_empty_slice_import
524
+ typedef uint32_t(*grpc_slice_default_hash_impl_type)(grpc_slice s);
525
+ extern grpc_slice_default_hash_impl_type grpc_slice_default_hash_impl_import;
526
+ #define grpc_slice_default_hash_impl grpc_slice_default_hash_impl_import
527
+ typedef int(*grpc_slice_default_eq_impl_type)(grpc_slice a, grpc_slice b);
528
+ extern grpc_slice_default_eq_impl_type grpc_slice_default_eq_impl_import;
529
+ #define grpc_slice_default_eq_impl grpc_slice_default_eq_impl_import
530
+ typedef int(*grpc_slice_eq_type)(grpc_slice a, grpc_slice b);
531
+ extern grpc_slice_eq_type grpc_slice_eq_import;
532
+ #define grpc_slice_eq grpc_slice_eq_import
515
533
  typedef int(*grpc_slice_cmp_type)(grpc_slice a, grpc_slice b);
516
534
  extern grpc_slice_cmp_type grpc_slice_cmp_import;
517
535
  #define grpc_slice_cmp grpc_slice_cmp_import
518
536
  typedef int(*grpc_slice_str_cmp_type)(grpc_slice a, const char *b);
519
537
  extern grpc_slice_str_cmp_type grpc_slice_str_cmp_import;
520
538
  #define grpc_slice_str_cmp grpc_slice_str_cmp_import
539
+ typedef int(*grpc_slice_buf_cmp_type)(grpc_slice a, const void *b, size_t blen);
540
+ extern grpc_slice_buf_cmp_type grpc_slice_buf_cmp_import;
541
+ #define grpc_slice_buf_cmp grpc_slice_buf_cmp_import
542
+ typedef int(*grpc_slice_buf_start_eq_type)(grpc_slice a, const void *b, size_t blen);
543
+ extern grpc_slice_buf_start_eq_type grpc_slice_buf_start_eq_import;
544
+ #define grpc_slice_buf_start_eq grpc_slice_buf_start_eq_import
545
+ typedef int(*grpc_slice_rchr_type)(grpc_slice s, char c);
546
+ extern grpc_slice_rchr_type grpc_slice_rchr_import;
547
+ #define grpc_slice_rchr grpc_slice_rchr_import
548
+ typedef int(*grpc_slice_chr_type)(grpc_slice s, char c);
549
+ extern grpc_slice_chr_type grpc_slice_chr_import;
550
+ #define grpc_slice_chr grpc_slice_chr_import
551
+ typedef int(*grpc_slice_slice_type)(grpc_slice haystack, grpc_slice needle);
552
+ extern grpc_slice_slice_type grpc_slice_slice_import;
553
+ #define grpc_slice_slice grpc_slice_slice_import
554
+ typedef uint32_t(*grpc_slice_hash_type)(grpc_slice s);
555
+ extern grpc_slice_hash_type grpc_slice_hash_import;
556
+ #define grpc_slice_hash grpc_slice_hash_import
521
557
  typedef int(*grpc_slice_is_equivalent_type)(grpc_slice a, grpc_slice b);
522
558
  extern grpc_slice_is_equivalent_type grpc_slice_is_equivalent_import;
523
559
  #define grpc_slice_is_equivalent grpc_slice_is_equivalent_import
560
+ typedef grpc_slice(*grpc_slice_dup_type)(grpc_slice a);
561
+ extern grpc_slice_dup_type grpc_slice_dup_import;
562
+ #define grpc_slice_dup grpc_slice_dup_import
563
+ typedef char *(*grpc_slice_to_c_string_type)(grpc_slice s);
564
+ extern grpc_slice_to_c_string_type grpc_slice_to_c_string_import;
565
+ #define grpc_slice_to_c_string grpc_slice_to_c_string_import
524
566
  typedef void(*grpc_slice_buffer_init_type)(grpc_slice_buffer *sb);
525
567
  extern grpc_slice_buffer_init_type grpc_slice_buffer_init_import;
526
568
  #define grpc_slice_buffer_init grpc_slice_buffer_init_import
@@ -557,12 +599,21 @@ extern grpc_slice_buffer_trim_end_type grpc_slice_buffer_trim_end_import;
557
599
  typedef void(*grpc_slice_buffer_move_first_type)(grpc_slice_buffer *src, size_t n, grpc_slice_buffer *dst);
558
600
  extern grpc_slice_buffer_move_first_type grpc_slice_buffer_move_first_import;
559
601
  #define grpc_slice_buffer_move_first grpc_slice_buffer_move_first_import
602
+ typedef void(*grpc_slice_buffer_move_first_into_buffer_type)(grpc_exec_ctx *exec_ctx, grpc_slice_buffer *src, size_t n, void *dst);
603
+ extern grpc_slice_buffer_move_first_into_buffer_type grpc_slice_buffer_move_first_into_buffer_import;
604
+ #define grpc_slice_buffer_move_first_into_buffer grpc_slice_buffer_move_first_into_buffer_import
560
605
  typedef grpc_slice(*grpc_slice_buffer_take_first_type)(grpc_slice_buffer *src);
561
606
  extern grpc_slice_buffer_take_first_type grpc_slice_buffer_take_first_import;
562
607
  #define grpc_slice_buffer_take_first grpc_slice_buffer_take_first_import
608
+ typedef void(*grpc_slice_buffer_undo_take_first_type)(grpc_slice_buffer *src, grpc_slice slice);
609
+ extern grpc_slice_buffer_undo_take_first_type grpc_slice_buffer_undo_take_first_import;
610
+ #define grpc_slice_buffer_undo_take_first grpc_slice_buffer_undo_take_first_import
563
611
  typedef void *(*gpr_malloc_type)(size_t size);
564
612
  extern gpr_malloc_type gpr_malloc_import;
565
613
  #define gpr_malloc gpr_malloc_import
614
+ typedef void *(*gpr_zalloc_type)(size_t size);
615
+ extern gpr_zalloc_type gpr_zalloc_import;
616
+ #define gpr_zalloc gpr_zalloc_import
566
617
  typedef void(*gpr_free_type)(void *ptr);
567
618
  extern gpr_free_type gpr_free_import;
568
619
  #define gpr_free gpr_free_import
@@ -44,6 +44,7 @@
44
44
  #include "rb_channel_args.h"
45
45
  #include "rb_completion_queue.h"
46
46
  #include "rb_server_credentials.h"
47
+ #include "rb_byte_buffer.h"
47
48
  #include "rb_grpc.h"
48
49
 
49
50
  /* grpc_rb_cServer is the ruby class that proxies grpc_server. */
@@ -166,8 +167,6 @@ static void grpc_request_call_stack_init(request_call_stack* st) {
166
167
  MEMZERO(st, request_call_stack, 1);
167
168
  grpc_metadata_array_init(&st->md_ary);
168
169
  grpc_call_details_init(&st->details);
169
- st->details.method = NULL;
170
- st->details.host = NULL;
171
170
  }
172
171
 
173
172
  /* grpc_request_call_stack_cleanup ensures the request_call_stack is properly
@@ -191,6 +190,7 @@ static VALUE grpc_rb_server_request_call(VALUE self) {
191
190
  void *tag = (void*)&st;
192
191
  grpc_completion_queue *call_queue = grpc_completion_queue_create(NULL);
193
192
  gpr_timespec deadline;
193
+
194
194
  TypedData_Get_Struct(self, grpc_rb_server, &grpc_rb_server_data_type, s);
195
195
  if (s->wrapped == NULL) {
196
196
  rb_raise(rb_eRuntimeError, "destroyed!");
@@ -218,11 +218,13 @@ static VALUE grpc_rb_server_request_call(VALUE self) {
218
218
  return Qnil;
219
219
  }
220
220
 
221
+
222
+
221
223
  /* build the NewServerRpc struct result */
222
224
  deadline = gpr_convert_clock_type(st.details.deadline, GPR_CLOCK_REALTIME);
223
225
  result = rb_struct_new(
224
- grpc_rb_sNewServerRpc, rb_str_new2(st.details.method),
225
- rb_str_new2(st.details.host),
226
+ grpc_rb_sNewServerRpc, grpc_rb_slice_to_ruby_string(st.details.method),
227
+ grpc_rb_slice_to_ruby_string(st.details.host),
226
228
  rb_funcall(rb_cTime, id_at, 2, INT2NUM(deadline.tv_sec),
227
229
  INT2NUM(deadline.tv_nsec / 1000)),
228
230
  grpc_rb_md_ary_to_h(&st.md_ary), grpc_rb_wrap_call(call, call_queue),
@@ -84,7 +84,7 @@ module GRPC
84
84
  # channel:
85
85
  #
86
86
  # - :channel_override
87
- # when present, this must be a pre-created GRPC::Channel. If it's
87
+ # when present, this must be a pre-created GRPC::Core::Channel. If it's
88
88
  # present the host and arbitrary keyword arg areignored, and the RPC
89
89
  # connection uses this channel.
90
90
  #
@@ -29,5 +29,5 @@
29
29
 
30
30
  # GRPC contains the General RPC module.
31
31
  module GRPC
32
- VERSION = '1.1.2'
32
+ VERSION = '1.2.0.pre1'
33
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.2.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - gRPC Authors
8
8
  autorequire:
9
9
  bindir: src/ruby/bin
10
10
  cert_chain: []
11
- date: 2017-02-10 00:00:00.000000000 Z
11
+ date: 2017-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -216,6 +216,7 @@ files:
216
216
  - include/grpc/impl/codegen/sync_generic.h
217
217
  - include/grpc/impl/codegen/sync_posix.h
218
218
  - include/grpc/impl/codegen/sync_windows.h
219
+ - include/grpc/load_reporting.h
219
220
  - include/grpc/module.modulemap
220
221
  - include/grpc/slice.h
221
222
  - include/grpc/slice_buffer.h
@@ -271,7 +272,12 @@ files:
271
272
  - src/core/ext/census/rpc_metric_id.h
272
273
  - src/core/ext/census/trace_context.c
273
274
  - src/core/ext/census/trace_context.h
275
+ - src/core/ext/census/trace_label.h
276
+ - src/core/ext/census/trace_propagation.h
277
+ - src/core/ext/census/trace_status.h
278
+ - src/core/ext/census/trace_string.h
274
279
  - src/core/ext/census/tracing.c
280
+ - src/core/ext/census/tracing.h
275
281
  - src/core/ext/client_channel/channel_connectivity.c
276
282
  - src/core/ext/client_channel/client_channel.c
277
283
  - src/core/ext/client_channel/client_channel.h
@@ -283,6 +289,8 @@ files:
283
289
  - src/core/ext/client_channel/default_initial_connect_string.c
284
290
  - src/core/ext/client_channel/http_connect_handshaker.c
285
291
  - src/core/ext/client_channel/http_connect_handshaker.h
292
+ - src/core/ext/client_channel/http_proxy.c
293
+ - src/core/ext/client_channel/http_proxy.h
286
294
  - src/core/ext/client_channel/initial_connect_string.c
287
295
  - src/core/ext/client_channel/initial_connect_string.h
288
296
  - src/core/ext/client_channel/lb_policy.c
@@ -293,6 +301,10 @@ files:
293
301
  - src/core/ext/client_channel/lb_policy_registry.h
294
302
  - src/core/ext/client_channel/parse_address.c
295
303
  - src/core/ext/client_channel/parse_address.h
304
+ - src/core/ext/client_channel/proxy_mapper.c
305
+ - src/core/ext/client_channel/proxy_mapper.h
306
+ - src/core/ext/client_channel/proxy_mapper_registry.c
307
+ - src/core/ext/client_channel/proxy_mapper_registry.h
296
308
  - src/core/ext/client_channel/resolver.c
297
309
  - src/core/ext/client_channel/resolver.h
298
310
  - src/core/ext/client_channel/resolver_factory.c
@@ -307,6 +319,8 @@ files:
307
319
  - src/core/ext/client_channel/uri_parser.h
308
320
  - src/core/ext/lb_policy/grpclb/grpclb.c
309
321
  - src/core/ext/lb_policy/grpclb/grpclb.h
322
+ - src/core/ext/lb_policy/grpclb/grpclb_channel.h
323
+ - src/core/ext/lb_policy/grpclb/grpclb_channel_secure.c
310
324
  - src/core/ext/lb_policy/grpclb/load_balancer_api.c
311
325
  - src/core/ext/lb_policy/grpclb/load_balancer_api.h
312
326
  - src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c
@@ -357,15 +371,12 @@ files:
357
371
  - src/core/ext/transport/chttp2/transport/hpack_parser.h
358
372
  - src/core/ext/transport/chttp2/transport/hpack_table.c
359
373
  - src/core/ext/transport/chttp2/transport/hpack_table.h
360
- - src/core/ext/transport/chttp2/transport/http2_errors.h
361
374
  - src/core/ext/transport/chttp2/transport/huffsyms.c
362
375
  - src/core/ext/transport/chttp2/transport/huffsyms.h
363
376
  - src/core/ext/transport/chttp2/transport/incoming_metadata.c
364
377
  - src/core/ext/transport/chttp2/transport/incoming_metadata.h
365
378
  - src/core/ext/transport/chttp2/transport/internal.h
366
379
  - src/core/ext/transport/chttp2/transport/parsing.c
367
- - src/core/ext/transport/chttp2/transport/status_conversion.c
368
- - src/core/ext/transport/chttp2/transport/status_conversion.h
369
380
  - src/core/ext/transport/chttp2/transport/stream_lists.c
370
381
  - src/core/ext/transport/chttp2/transport/stream_map.c
371
382
  - src/core/ext/transport/chttp2/transport/stream_map.h
@@ -422,6 +433,7 @@ files:
422
433
  - src/core/lib/iomgr/endpoint_pair_windows.c
423
434
  - src/core/lib/iomgr/error.c
424
435
  - src/core/lib/iomgr/error.h
436
+ - src/core/lib/iomgr/error_internal.h
425
437
  - src/core/lib/iomgr/ev_epoll_linux.c
426
438
  - src/core/lib/iomgr/ev_epoll_linux.h
427
439
  - src/core/lib/iomgr/ev_poll_posix.c
@@ -560,6 +572,8 @@ files:
560
572
  - src/core/lib/security/credentials/ssl/ssl_credentials.h
561
573
  - src/core/lib/security/transport/auth_filters.h
562
574
  - src/core/lib/security/transport/client_auth_filter.c
575
+ - src/core/lib/security/transport/lb_targets_info.c
576
+ - src/core/lib/security/transport/lb_targets_info.h
563
577
  - src/core/lib/security/transport/secure_endpoint.c
564
578
  - src/core/lib/security/transport/secure_endpoint.h
565
579
  - src/core/lib/security/transport/security_connector.c
@@ -577,6 +591,9 @@ files:
577
591
  - src/core/lib/slice/percent_encoding.h
578
592
  - src/core/lib/slice/slice.c
579
593
  - src/core/lib/slice/slice_buffer.c
594
+ - src/core/lib/slice/slice_hash_table.c
595
+ - src/core/lib/slice/slice_hash_table.h
596
+ - src/core/lib/slice/slice_intern.c
580
597
  - src/core/lib/slice/slice_internal.h
581
598
  - src/core/lib/slice/slice_string_helpers.c
582
599
  - src/core/lib/slice/slice_string_helpers.h
@@ -605,6 +622,7 @@ files:
605
622
  - src/core/lib/support/mpscq.h
606
623
  - src/core/lib/support/murmur_hash.c
607
624
  - src/core/lib/support/murmur_hash.h
625
+ - src/core/lib/support/spinlock.h
608
626
  - src/core/lib/support/stack_lockfree.c
609
627
  - src/core/lib/support/stack_lockfree.h
610
628
  - src/core/lib/support/string.c
@@ -663,13 +681,17 @@ files:
663
681
  - src/core/lib/surface/server.c
664
682
  - src/core/lib/surface/server.h
665
683
  - src/core/lib/surface/validate_metadata.c
684
+ - src/core/lib/surface/validate_metadata.h
666
685
  - src/core/lib/surface/version.c
686
+ - src/core/lib/transport/bdp_estimator.c
687
+ - src/core/lib/transport/bdp_estimator.h
667
688
  - src/core/lib/transport/byte_stream.c
668
689
  - src/core/lib/transport/byte_stream.h
669
690
  - src/core/lib/transport/connectivity_state.c
670
691
  - src/core/lib/transport/connectivity_state.h
671
- - src/core/lib/transport/mdstr_hash_table.c
672
- - src/core/lib/transport/mdstr_hash_table.h
692
+ - src/core/lib/transport/error_utils.c
693
+ - src/core/lib/transport/error_utils.h
694
+ - src/core/lib/transport/http2_errors.h
673
695
  - src/core/lib/transport/metadata.c
674
696
  - src/core/lib/transport/metadata.h
675
697
  - src/core/lib/transport/metadata_batch.c
@@ -680,6 +702,8 @@ files:
680
702
  - src/core/lib/transport/service_config.h
681
703
  - src/core/lib/transport/static_metadata.c
682
704
  - src/core/lib/transport/static_metadata.h
705
+ - src/core/lib/transport/status_conversion.c
706
+ - src/core/lib/transport/status_conversion.h
683
707
  - src/core/lib/transport/timeout_encoding.c
684
708
  - src/core/lib/transport/timeout_encoding.h
685
709
  - src/core/lib/transport/transport.c
@@ -1241,9 +1265,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
1241
1265
  version: 2.0.0
1242
1266
  required_rubygems_version: !ruby/object:Gem::Requirement
1243
1267
  requirements:
1244
- - - ">="
1268
+ - - ">"
1245
1269
  - !ruby/object:Gem::Version
1246
- version: '0'
1270
+ version: 1.3.1
1247
1271
  requirements: []
1248
1272
  rubyforge_project:
1249
1273
  rubygems_version: 2.6.10