grpc 1.26.0 → 1.27.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 (209) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +1654 -1519
  3. data/etc/roots.pem +44 -0
  4. data/include/grpc/grpc_security.h +37 -15
  5. data/include/grpc/grpc_security_constants.h +27 -0
  6. data/include/grpc/impl/codegen/grpc_types.h +14 -0
  7. data/include/grpc/impl/codegen/port_platform.h +1 -1
  8. data/src/core/ext/filters/client_channel/client_channel.cc +0 -20
  9. data/src/core/ext/filters/client_channel/http_proxy.cc +4 -4
  10. data/src/core/ext/filters/client_channel/lb_policy.cc +4 -3
  11. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +191 -201
  12. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +89 -0
  13. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +40 -0
  14. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +3 -2
  15. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +88 -121
  16. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +28 -57
  17. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +0 -7
  18. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +8 -9
  19. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.cc +53 -34
  20. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +18 -5
  21. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +24 -19
  22. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +2 -1
  23. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +4 -2
  24. data/src/core/ext/filters/client_channel/server_address.cc +6 -9
  25. data/src/core/ext/filters/client_channel/server_address.h +3 -10
  26. data/src/core/ext/filters/client_channel/xds/xds_api.cc +394 -150
  27. data/src/core/ext/filters/client_channel/xds/xds_api.h +75 -35
  28. data/src/core/ext/filters/client_channel/xds/xds_bootstrap.cc +59 -22
  29. data/src/core/ext/filters/client_channel/xds/xds_bootstrap.h +13 -9
  30. data/src/core/ext/filters/client_channel/xds/xds_channel_secure.cc +8 -6
  31. data/src/core/ext/filters/client_channel/xds/xds_client.cc +456 -175
  32. data/src/core/ext/filters/client_channel/xds/xds_client.h +33 -21
  33. data/src/core/ext/filters/client_channel/xds/xds_client_stats.cc +5 -8
  34. data/src/core/ext/filters/client_channel/xds/xds_client_stats.h +18 -24
  35. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +2 -2
  36. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +13 -5
  37. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +34 -0
  38. data/src/core/lib/channel/channelz.h +11 -1
  39. data/src/core/lib/gpr/time_precise.cc +1 -1
  40. data/src/core/lib/gprpp/optional.h +26 -0
  41. data/src/core/lib/gprpp/string_view.h +14 -10
  42. data/src/core/lib/iomgr/executor.cc +1 -1
  43. data/src/core/lib/iomgr/fork_posix.cc +4 -0
  44. data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +87 -0
  45. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +88 -0
  46. data/src/core/lib/iomgr/socket_utils_common_posix.cc +14 -0
  47. data/src/core/lib/iomgr/socket_utils_posix.h +12 -0
  48. data/src/core/lib/iomgr/tcp_custom.h +3 -0
  49. data/src/core/lib/iomgr/tcp_posix.cc +607 -56
  50. data/src/core/lib/iomgr/tcp_server_custom.cc +15 -2
  51. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +8 -0
  52. data/src/core/lib/json/json.h +11 -1
  53. data/src/core/lib/json/json_reader.cc +206 -28
  54. data/src/core/lib/json/json_writer.cc +111 -24
  55. data/src/core/lib/security/credentials/composite/composite_credentials.cc +7 -0
  56. data/src/core/lib/security/credentials/composite/composite_credentials.h +5 -1
  57. data/src/core/lib/security/credentials/credentials.h +10 -1
  58. data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -1
  59. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +1 -1
  60. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -4
  61. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -1
  62. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +20 -0
  63. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +8 -0
  64. data/src/core/lib/security/credentials/tls/{spiffe_credentials.cc → tls_credentials.cc} +23 -24
  65. data/src/core/lib/security/credentials/tls/{spiffe_credentials.h → tls_credentials.h} +9 -9
  66. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -0
  67. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +22 -2
  68. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +2 -2
  69. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +2 -2
  70. data/src/core/lib/security/security_connector/local/local_security_connector.cc +30 -3
  71. data/src/core/lib/security/security_connector/ssl_utils.cc +45 -3
  72. data/src/core/lib/security/security_connector/ssl_utils.h +12 -0
  73. data/src/core/lib/security/security_connector/tls/{spiffe_security_connector.cc → tls_security_connector.cc} +82 -69
  74. data/src/core/lib/security/security_connector/tls/{spiffe_security_connector.h → tls_security_connector.h} +17 -18
  75. data/src/core/lib/security/transport/client_auth_filter.cc +33 -0
  76. data/src/core/lib/surface/completion_queue.cc +22 -1
  77. data/src/core/lib/surface/version.cc +1 -1
  78. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +11 -1
  79. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
  80. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +3 -3
  81. data/src/core/tsi/fake_transport_security.cc +7 -3
  82. data/src/core/tsi/fake_transport_security.h +2 -0
  83. data/src/core/tsi/ssl_transport_security.cc +144 -8
  84. data/src/core/tsi/ssl_transport_security.h +15 -1
  85. data/src/core/tsi/transport_security.cc +13 -0
  86. data/src/core/tsi/transport_security_grpc.cc +2 -2
  87. data/src/core/tsi/transport_security_grpc.h +2 -2
  88. data/src/core/tsi/transport_security_interface.h +12 -0
  89. data/src/ruby/bin/math_pb.rb +5 -5
  90. data/src/ruby/ext/grpc/rb_call_credentials.c +4 -1
  91. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
  92. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +4 -1
  93. data/src/ruby/lib/grpc/version.rb +1 -1
  94. data/src/ruby/pb/grpc/health/v1/health_pb.rb +3 -3
  95. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -1
  96. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +23 -13
  97. data/third_party/abseil-cpp/absl/algorithm/algorithm.h +159 -0
  98. data/third_party/abseil-cpp/absl/base/attributes.h +609 -0
  99. data/third_party/abseil-cpp/absl/base/call_once.h +226 -0
  100. data/third_party/abseil-cpp/absl/base/casts.h +184 -0
  101. data/third_party/abseil-cpp/absl/base/config.h +622 -0
  102. data/third_party/abseil-cpp/absl/base/const_init.h +76 -0
  103. data/third_party/abseil-cpp/absl/base/dynamic_annotations.cc +129 -0
  104. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +389 -0
  105. data/third_party/abseil-cpp/absl/base/internal/atomic_hook.h +179 -0
  106. data/third_party/abseil-cpp/absl/base/internal/bits.h +218 -0
  107. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +107 -0
  108. data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +94 -0
  109. data/third_party/abseil-cpp/absl/base/internal/endian.h +266 -0
  110. data/third_party/abseil-cpp/absl/base/internal/hide_ptr.h +51 -0
  111. data/third_party/abseil-cpp/absl/base/internal/identity.h +37 -0
  112. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +107 -0
  113. data/third_party/abseil-cpp/absl/base/internal/invoke.h +187 -0
  114. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +107 -0
  115. data/third_party/abseil-cpp/absl/base/internal/per_thread_tls.h +52 -0
  116. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +237 -0
  117. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +179 -0
  118. data/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h +58 -0
  119. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +233 -0
  120. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +243 -0
  121. data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +35 -0
  122. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +67 -0
  123. data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +46 -0
  124. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc +81 -0
  125. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +93 -0
  126. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +37 -0
  127. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +414 -0
  128. data/third_party/abseil-cpp/absl/base/internal/sysinfo.h +66 -0
  129. data/third_party/abseil-cpp/absl/base/internal/thread_annotations.h +271 -0
  130. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +140 -0
  131. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +250 -0
  132. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +108 -0
  133. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.h +75 -0
  134. data/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +66 -0
  135. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +158 -0
  136. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +103 -0
  137. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +124 -0
  138. data/third_party/abseil-cpp/absl/base/log_severity.cc +27 -0
  139. data/third_party/abseil-cpp/absl/base/log_severity.h +121 -0
  140. data/third_party/abseil-cpp/absl/base/macros.h +220 -0
  141. data/third_party/abseil-cpp/absl/base/optimization.h +181 -0
  142. data/third_party/abseil-cpp/absl/base/options.h +214 -0
  143. data/third_party/abseil-cpp/absl/base/policy_checks.h +111 -0
  144. data/third_party/abseil-cpp/absl/base/port.h +26 -0
  145. data/third_party/abseil-cpp/absl/base/thread_annotations.h +280 -0
  146. data/third_party/abseil-cpp/absl/container/inlined_vector.h +848 -0
  147. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +265 -0
  148. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +892 -0
  149. data/third_party/abseil-cpp/absl/memory/memory.h +695 -0
  150. data/third_party/abseil-cpp/absl/meta/type_traits.h +759 -0
  151. data/third_party/abseil-cpp/absl/numeric/int128.cc +404 -0
  152. data/third_party/abseil-cpp/absl/numeric/int128.h +1091 -0
  153. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +302 -0
  154. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +308 -0
  155. data/third_party/abseil-cpp/absl/strings/ascii.cc +200 -0
  156. data/third_party/abseil-cpp/absl/strings/ascii.h +241 -0
  157. data/third_party/abseil-cpp/absl/strings/charconv.cc +985 -0
  158. data/third_party/abseil-cpp/absl/strings/charconv.h +119 -0
  159. data/third_party/abseil-cpp/absl/strings/escaping.cc +949 -0
  160. data/third_party/abseil-cpp/absl/strings/escaping.h +164 -0
  161. data/third_party/abseil-cpp/absl/strings/internal/char_map.h +156 -0
  162. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +359 -0
  163. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +421 -0
  164. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +504 -0
  165. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.h +99 -0
  166. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +180 -0
  167. data/third_party/abseil-cpp/absl/strings/internal/escaping.h +58 -0
  168. data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +112 -0
  169. data/third_party/abseil-cpp/absl/strings/internal/memutil.h +148 -0
  170. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +36 -0
  171. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.h +89 -0
  172. data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +73 -0
  173. data/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +248 -0
  174. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +314 -0
  175. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +455 -0
  176. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +53 -0
  177. data/third_party/abseil-cpp/absl/strings/internal/utf8.h +50 -0
  178. data/third_party/abseil-cpp/absl/strings/match.cc +40 -0
  179. data/third_party/abseil-cpp/absl/strings/match.h +90 -0
  180. data/third_party/abseil-cpp/absl/strings/numbers.cc +916 -0
  181. data/third_party/abseil-cpp/absl/strings/numbers.h +263 -0
  182. data/third_party/abseil-cpp/absl/strings/str_cat.cc +246 -0
  183. data/third_party/abseil-cpp/absl/strings/str_cat.h +408 -0
  184. data/third_party/abseil-cpp/absl/strings/str_join.h +293 -0
  185. data/third_party/abseil-cpp/absl/strings/str_replace.cc +82 -0
  186. data/third_party/abseil-cpp/absl/strings/str_replace.h +219 -0
  187. data/third_party/abseil-cpp/absl/strings/str_split.cc +139 -0
  188. data/third_party/abseil-cpp/absl/strings/str_split.h +513 -0
  189. data/third_party/abseil-cpp/absl/strings/string_view.cc +235 -0
  190. data/third_party/abseil-cpp/absl/strings/string_view.h +615 -0
  191. data/third_party/abseil-cpp/absl/strings/strip.h +91 -0
  192. data/third_party/abseil-cpp/absl/strings/substitute.cc +171 -0
  193. data/third_party/abseil-cpp/absl/strings/substitute.h +693 -0
  194. data/third_party/abseil-cpp/absl/types/bad_optional_access.cc +48 -0
  195. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +78 -0
  196. data/third_party/abseil-cpp/absl/types/internal/optional.h +396 -0
  197. data/third_party/abseil-cpp/absl/types/internal/span.h +128 -0
  198. data/third_party/abseil-cpp/absl/types/optional.h +776 -0
  199. data/third_party/abseil-cpp/absl/types/span.h +713 -0
  200. data/third_party/abseil-cpp/absl/utility/utility.h +350 -0
  201. data/third_party/upb/upb/decode.c +4 -0
  202. data/third_party/upb/upb/port.c +0 -1
  203. data/third_party/upb/upb/port_def.inc +1 -3
  204. data/third_party/upb/upb/table.c +2 -1
  205. metadata +147 -43
  206. data/src/core/lib/json/json_common.h +0 -34
  207. data/src/core/lib/json/json_reader.h +0 -146
  208. data/src/core/lib/json/json_string.cc +0 -367
  209. data/src/core/lib/json/json_writer.h +0 -84
@@ -0,0 +1,350 @@
1
+ // Copyright 2017 The Abseil Authors.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ //
15
+ // This header file contains C++11 versions of standard <utility> header
16
+ // abstractions available within C++14 and C++17, and are designed to be drop-in
17
+ // replacement for code compliant with C++14 and C++17.
18
+ //
19
+ // The following abstractions are defined:
20
+ //
21
+ // * integer_sequence<T, Ints...> == std::integer_sequence<T, Ints...>
22
+ // * index_sequence<Ints...> == std::index_sequence<Ints...>
23
+ // * make_integer_sequence<T, N> == std::make_integer_sequence<T, N>
24
+ // * make_index_sequence<N> == std::make_index_sequence<N>
25
+ // * index_sequence_for<Ts...> == std::index_sequence_for<Ts...>
26
+ // * apply<Functor, Tuple> == std::apply<Functor, Tuple>
27
+ // * exchange<T> == std::exchange<T>
28
+ // * make_from_tuple<T> == std::make_from_tuple<T>
29
+ //
30
+ // This header file also provides the tag types `in_place_t`, `in_place_type_t`,
31
+ // and `in_place_index_t`, as well as the constant `in_place`, and
32
+ // `constexpr` `std::move()` and `std::forward()` implementations in C++11.
33
+ //
34
+ // References:
35
+ //
36
+ // https://en.cppreference.com/w/cpp/utility/integer_sequence
37
+ // https://en.cppreference.com/w/cpp/utility/apply
38
+ // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3658.html
39
+
40
+ #ifndef ABSL_UTILITY_UTILITY_H_
41
+ #define ABSL_UTILITY_UTILITY_H_
42
+
43
+ #include <cstddef>
44
+ #include <cstdlib>
45
+ #include <tuple>
46
+ #include <utility>
47
+
48
+ #include "absl/base/config.h"
49
+ #include "absl/base/internal/inline_variable.h"
50
+ #include "absl/base/internal/invoke.h"
51
+ #include "absl/meta/type_traits.h"
52
+
53
+ namespace absl {
54
+ ABSL_NAMESPACE_BEGIN
55
+
56
+ // integer_sequence
57
+ //
58
+ // Class template representing a compile-time integer sequence. An instantiation
59
+ // of `integer_sequence<T, Ints...>` has a sequence of integers encoded in its
60
+ // type through its template arguments (which is a common need when
61
+ // working with C++11 variadic templates). `absl::integer_sequence` is designed
62
+ // to be a drop-in replacement for C++14's `std::integer_sequence`.
63
+ //
64
+ // Example:
65
+ //
66
+ // template< class T, T... Ints >
67
+ // void user_function(integer_sequence<T, Ints...>);
68
+ //
69
+ // int main()
70
+ // {
71
+ // // user_function's `T` will be deduced to `int` and `Ints...`
72
+ // // will be deduced to `0, 1, 2, 3, 4`.
73
+ // user_function(make_integer_sequence<int, 5>());
74
+ // }
75
+ template <typename T, T... Ints>
76
+ struct integer_sequence {
77
+ using value_type = T;
78
+ static constexpr size_t size() noexcept { return sizeof...(Ints); }
79
+ };
80
+
81
+ // index_sequence
82
+ //
83
+ // A helper template for an `integer_sequence` of `size_t`,
84
+ // `absl::index_sequence` is designed to be a drop-in replacement for C++14's
85
+ // `std::index_sequence`.
86
+ template <size_t... Ints>
87
+ using index_sequence = integer_sequence<size_t, Ints...>;
88
+
89
+ namespace utility_internal {
90
+
91
+ template <typename Seq, size_t SeqSize, size_t Rem>
92
+ struct Extend;
93
+
94
+ // Note that SeqSize == sizeof...(Ints). It's passed explicitly for efficiency.
95
+ template <typename T, T... Ints, size_t SeqSize>
96
+ struct Extend<integer_sequence<T, Ints...>, SeqSize, 0> {
97
+ using type = integer_sequence<T, Ints..., (Ints + SeqSize)...>;
98
+ };
99
+
100
+ template <typename T, T... Ints, size_t SeqSize>
101
+ struct Extend<integer_sequence<T, Ints...>, SeqSize, 1> {
102
+ using type = integer_sequence<T, Ints..., (Ints + SeqSize)..., 2 * SeqSize>;
103
+ };
104
+
105
+ // Recursion helper for 'make_integer_sequence<T, N>'.
106
+ // 'Gen<T, N>::type' is an alias for 'integer_sequence<T, 0, 1, ... N-1>'.
107
+ template <typename T, size_t N>
108
+ struct Gen {
109
+ using type =
110
+ typename Extend<typename Gen<T, N / 2>::type, N / 2, N % 2>::type;
111
+ };
112
+
113
+ template <typename T>
114
+ struct Gen<T, 0> {
115
+ using type = integer_sequence<T>;
116
+ };
117
+
118
+ template <typename T>
119
+ struct InPlaceTypeTag {
120
+ explicit InPlaceTypeTag() = delete;
121
+ InPlaceTypeTag(const InPlaceTypeTag&) = delete;
122
+ InPlaceTypeTag& operator=(const InPlaceTypeTag&) = delete;
123
+ };
124
+
125
+ template <size_t I>
126
+ struct InPlaceIndexTag {
127
+ explicit InPlaceIndexTag() = delete;
128
+ InPlaceIndexTag(const InPlaceIndexTag&) = delete;
129
+ InPlaceIndexTag& operator=(const InPlaceIndexTag&) = delete;
130
+ };
131
+
132
+ } // namespace utility_internal
133
+
134
+ // Compile-time sequences of integers
135
+
136
+ // make_integer_sequence
137
+ //
138
+ // This template alias is equivalent to
139
+ // `integer_sequence<int, 0, 1, ..., N-1>`, and is designed to be a drop-in
140
+ // replacement for C++14's `std::make_integer_sequence`.
141
+ template <typename T, T N>
142
+ using make_integer_sequence = typename utility_internal::Gen<T, N>::type;
143
+
144
+ // make_index_sequence
145
+ //
146
+ // This template alias is equivalent to `index_sequence<0, 1, ..., N-1>`,
147
+ // and is designed to be a drop-in replacement for C++14's
148
+ // `std::make_index_sequence`.
149
+ template <size_t N>
150
+ using make_index_sequence = make_integer_sequence<size_t, N>;
151
+
152
+ // index_sequence_for
153
+ //
154
+ // Converts a typename pack into an index sequence of the same length, and
155
+ // is designed to be a drop-in replacement for C++14's
156
+ // `std::index_sequence_for()`
157
+ template <typename... Ts>
158
+ using index_sequence_for = make_index_sequence<sizeof...(Ts)>;
159
+
160
+ // Tag types
161
+
162
+ #ifdef ABSL_USES_STD_OPTIONAL
163
+
164
+ using std::in_place_t;
165
+ using std::in_place;
166
+
167
+ #else // ABSL_USES_STD_OPTIONAL
168
+
169
+ // in_place_t
170
+ //
171
+ // Tag type used to specify in-place construction, such as with
172
+ // `absl::optional`, designed to be a drop-in replacement for C++17's
173
+ // `std::in_place_t`.
174
+ struct in_place_t {};
175
+
176
+ ABSL_INTERNAL_INLINE_CONSTEXPR(in_place_t, in_place, {});
177
+
178
+ #endif // ABSL_USES_STD_OPTIONAL
179
+
180
+ #if defined(ABSL_USES_STD_ANY) || defined(ABSL_USES_STD_VARIANT)
181
+ using std::in_place_type;
182
+ using std::in_place_type_t;
183
+ #else
184
+
185
+ // in_place_type_t
186
+ //
187
+ // Tag type used for in-place construction when the type to construct needs to
188
+ // be specified, such as with `absl::any`, designed to be a drop-in replacement
189
+ // for C++17's `std::in_place_type_t`.
190
+ template <typename T>
191
+ using in_place_type_t = void (*)(utility_internal::InPlaceTypeTag<T>);
192
+
193
+ template <typename T>
194
+ void in_place_type(utility_internal::InPlaceTypeTag<T>) {}
195
+ #endif // ABSL_USES_STD_ANY || ABSL_USES_STD_VARIANT
196
+
197
+ #ifdef ABSL_USES_STD_VARIANT
198
+ using std::in_place_index;
199
+ using std::in_place_index_t;
200
+ #else
201
+
202
+ // in_place_index_t
203
+ //
204
+ // Tag type used for in-place construction when the type to construct needs to
205
+ // be specified, such as with `absl::any`, designed to be a drop-in replacement
206
+ // for C++17's `std::in_place_index_t`.
207
+ template <size_t I>
208
+ using in_place_index_t = void (*)(utility_internal::InPlaceIndexTag<I>);
209
+
210
+ template <size_t I>
211
+ void in_place_index(utility_internal::InPlaceIndexTag<I>) {}
212
+ #endif // ABSL_USES_STD_VARIANT
213
+
214
+ // Constexpr move and forward
215
+
216
+ // move()
217
+ //
218
+ // A constexpr version of `std::move()`, designed to be a drop-in replacement
219
+ // for C++14's `std::move()`.
220
+ template <typename T>
221
+ constexpr absl::remove_reference_t<T>&& move(T&& t) noexcept {
222
+ return static_cast<absl::remove_reference_t<T>&&>(t);
223
+ }
224
+
225
+ // forward()
226
+ //
227
+ // A constexpr version of `std::forward()`, designed to be a drop-in replacement
228
+ // for C++14's `std::forward()`.
229
+ template <typename T>
230
+ constexpr T&& forward(
231
+ absl::remove_reference_t<T>& t) noexcept { // NOLINT(runtime/references)
232
+ return static_cast<T&&>(t);
233
+ }
234
+
235
+ namespace utility_internal {
236
+ // Helper method for expanding tuple into a called method.
237
+ template <typename Functor, typename Tuple, std::size_t... Indexes>
238
+ auto apply_helper(Functor&& functor, Tuple&& t, index_sequence<Indexes...>)
239
+ -> decltype(absl::base_internal::Invoke(
240
+ absl::forward<Functor>(functor),
241
+ std::get<Indexes>(absl::forward<Tuple>(t))...)) {
242
+ return absl::base_internal::Invoke(
243
+ absl::forward<Functor>(functor),
244
+ std::get<Indexes>(absl::forward<Tuple>(t))...);
245
+ }
246
+
247
+ } // namespace utility_internal
248
+
249
+ // apply
250
+ //
251
+ // Invokes a Callable using elements of a tuple as its arguments.
252
+ // Each element of the tuple corresponds to an argument of the call (in order).
253
+ // Both the Callable argument and the tuple argument are perfect-forwarded.
254
+ // For member-function Callables, the first tuple element acts as the `this`
255
+ // pointer. `absl::apply` is designed to be a drop-in replacement for C++17's
256
+ // `std::apply`. Unlike C++17's `std::apply`, this is not currently `constexpr`.
257
+ //
258
+ // Example:
259
+ //
260
+ // class Foo {
261
+ // public:
262
+ // void Bar(int);
263
+ // };
264
+ // void user_function1(int, std::string);
265
+ // void user_function2(std::unique_ptr<Foo>);
266
+ // auto user_lambda = [](int, int) {};
267
+ //
268
+ // int main()
269
+ // {
270
+ // std::tuple<int, std::string> tuple1(42, "bar");
271
+ // // Invokes the first user function on int, std::string.
272
+ // absl::apply(&user_function1, tuple1);
273
+ //
274
+ // std::tuple<std::unique_ptr<Foo>> tuple2(absl::make_unique<Foo>());
275
+ // // Invokes the user function that takes ownership of the unique
276
+ // // pointer.
277
+ // absl::apply(&user_function2, std::move(tuple2));
278
+ //
279
+ // auto foo = absl::make_unique<Foo>();
280
+ // std::tuple<Foo*, int> tuple3(foo.get(), 42);
281
+ // // Invokes the method Bar on foo with one argument, 42.
282
+ // absl::apply(&Foo::Bar, tuple3);
283
+ //
284
+ // std::tuple<int, int> tuple4(8, 9);
285
+ // // Invokes a lambda.
286
+ // absl::apply(user_lambda, tuple4);
287
+ // }
288
+ template <typename Functor, typename Tuple>
289
+ auto apply(Functor&& functor, Tuple&& t)
290
+ -> decltype(utility_internal::apply_helper(
291
+ absl::forward<Functor>(functor), absl::forward<Tuple>(t),
292
+ absl::make_index_sequence<std::tuple_size<
293
+ typename std::remove_reference<Tuple>::type>::value>{})) {
294
+ return utility_internal::apply_helper(
295
+ absl::forward<Functor>(functor), absl::forward<Tuple>(t),
296
+ absl::make_index_sequence<std::tuple_size<
297
+ typename std::remove_reference<Tuple>::type>::value>{});
298
+ }
299
+
300
+ // exchange
301
+ //
302
+ // Replaces the value of `obj` with `new_value` and returns the old value of
303
+ // `obj`. `absl::exchange` is designed to be a drop-in replacement for C++14's
304
+ // `std::exchange`.
305
+ //
306
+ // Example:
307
+ //
308
+ // Foo& operator=(Foo&& other) {
309
+ // ptr1_ = absl::exchange(other.ptr1_, nullptr);
310
+ // int1_ = absl::exchange(other.int1_, -1);
311
+ // return *this;
312
+ // }
313
+ template <typename T, typename U = T>
314
+ T exchange(T& obj, U&& new_value) {
315
+ T old_value = absl::move(obj);
316
+ obj = absl::forward<U>(new_value);
317
+ return old_value;
318
+ }
319
+
320
+ namespace utility_internal {
321
+ template <typename T, typename Tuple, size_t... I>
322
+ T make_from_tuple_impl(Tuple&& tup, absl::index_sequence<I...>) {
323
+ return T(std::get<I>(std::forward<Tuple>(tup))...);
324
+ }
325
+ } // namespace utility_internal
326
+
327
+ // make_from_tuple
328
+ //
329
+ // Given the template parameter type `T` and a tuple of arguments
330
+ // `std::tuple(arg0, arg1, ..., argN)` constructs an object of type `T` as if by
331
+ // calling `T(arg0, arg1, ..., argN)`.
332
+ //
333
+ // Example:
334
+ //
335
+ // std::tuple<const char*, size_t> args("hello world", 5);
336
+ // auto s = absl::make_from_tuple<std::string>(args);
337
+ // assert(s == "hello");
338
+ //
339
+ template <typename T, typename Tuple>
340
+ constexpr T make_from_tuple(Tuple&& tup) {
341
+ return utility_internal::make_from_tuple_impl<T>(
342
+ std::forward<Tuple>(tup),
343
+ absl::make_index_sequence<
344
+ std::tuple_size<absl::decay_t<Tuple>>::value>{});
345
+ }
346
+
347
+ ABSL_NAMESPACE_END
348
+ } // namespace absl
349
+
350
+ #endif // ABSL_UTILITY_UTILITY_H_
@@ -249,6 +249,10 @@ static upb_msg *upb_addmsg(upb_decframe *frame,
249
249
  upb_msg *submsg;
250
250
  upb_array *arr = upb_getorcreatearr(frame, field);
251
251
 
252
+ UPB_ASSERT(field->label == UPB_LABEL_REPEATED);
253
+ UPB_ASSERT(field->descriptortype == UPB_DESCRIPTOR_TYPE_MESSAGE ||
254
+ field->descriptortype == UPB_DESCRIPTOR_TYPE_GROUP);
255
+
252
256
  *subm = frame->layout->submsgs[field->submsg_index];
253
257
  submsg = upb_msg_new(*subm, frame->state->arena);
254
258
  CHK(submsg);
@@ -1,5 +1,4 @@
1
1
 
2
- #include "upb/upb.h"
3
2
  #include "upb/port_def.inc"
4
3
 
5
4
  #ifdef UPB_MSVC_VSNPRINTF
@@ -20,9 +20,7 @@
20
20
  *
21
21
  * This file is private and must not be included by users!
22
22
  */
23
- #ifndef UINTPTR_MAX
24
- #error must include stdint.h first
25
- #endif
23
+ #include <stdint.h>
26
24
 
27
25
  #if UINTPTR_MAX == 0xffffffff
28
26
  #define UPB_SIZE(size32, size64) size32
@@ -756,7 +756,8 @@ uint32_t upb_murmur_hash2(const void *key, size_t len, uint32_t seed) {
756
756
  /* Mix 4 bytes at a time into the hash */
757
757
  const uint8_t * data = (const uint8_t *)key;
758
758
  while(len >= 4) {
759
- uint32_t k = *(uint32_t *)data;
759
+ uint32_t k;
760
+ memcpy(&k, data, sizeof(k));
760
761
 
761
762
  k *= m;
762
763
  k ^= k >> r;
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.26.0
4
+ version: 1.27.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: 2019-12-18 00:00:00.000000000 Z
11
+ date: 2020-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.8'
19
+ version: '3.11'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '3.8'
26
+ version: '3.11'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: googleapis-common-protos-types
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -292,6 +292,8 @@ files:
292
292
  - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h
293
293
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
294
294
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h
295
+ - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc
296
+ - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h
295
297
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h
296
298
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc
297
299
  - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
@@ -723,6 +725,8 @@ files:
723
725
  - src/core/lib/iomgr/logical_thread.cc
724
726
  - src/core/lib/iomgr/logical_thread.h
725
727
  - src/core/lib/iomgr/nameser.h
728
+ - src/core/lib/iomgr/poller/eventmanager_libuv.cc
729
+ - src/core/lib/iomgr/poller/eventmanager_libuv.h
726
730
  - src/core/lib/iomgr/polling_entity.cc
727
731
  - src/core/lib/iomgr/polling_entity.h
728
732
  - src/core/lib/iomgr/pollset.cc
@@ -815,12 +819,8 @@ files:
815
819
  - src/core/lib/iomgr/wakeup_fd_posix.h
816
820
  - src/core/lib/json/json.cc
817
821
  - src/core/lib/json/json.h
818
- - src/core/lib/json/json_common.h
819
822
  - src/core/lib/json/json_reader.cc
820
- - src/core/lib/json/json_reader.h
821
- - src/core/lib/json/json_string.cc
822
823
  - src/core/lib/json/json_writer.cc
823
- - src/core/lib/json/json_writer.h
824
824
  - src/core/lib/profiling/basic_timers.cc
825
825
  - src/core/lib/profiling/stap_timers.cc
826
826
  - src/core/lib/profiling/timers.h
@@ -865,8 +865,8 @@ files:
865
865
  - src/core/lib/security/credentials/ssl/ssl_credentials.h
866
866
  - src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc
867
867
  - src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h
868
- - src/core/lib/security/credentials/tls/spiffe_credentials.cc
869
- - src/core/lib/security/credentials/tls/spiffe_credentials.h
868
+ - src/core/lib/security/credentials/tls/tls_credentials.cc
869
+ - src/core/lib/security/credentials/tls/tls_credentials.h
870
870
  - src/core/lib/security/security_connector/alts/alts_security_connector.cc
871
871
  - src/core/lib/security/security_connector/alts/alts_security_connector.h
872
872
  - src/core/lib/security/security_connector/fake/fake_security_connector.cc
@@ -885,8 +885,8 @@ files:
885
885
  - src/core/lib/security/security_connector/ssl_utils.h
886
886
  - src/core/lib/security/security_connector/ssl_utils_config.cc
887
887
  - src/core/lib/security/security_connector/ssl_utils_config.h
888
- - src/core/lib/security/security_connector/tls/spiffe_security_connector.cc
889
- - src/core/lib/security/security_connector/tls/spiffe_security_connector.h
888
+ - src/core/lib/security/security_connector/tls/tls_security_connector.cc
889
+ - src/core/lib/security/security_connector/tls/tls_security_connector.h
890
890
  - src/core/lib/security/transport/auth_filters.h
891
891
  - src/core/lib/security/transport/client_auth_filter.cc
892
892
  - src/core/lib/security/transport/secure_endpoint.cc
@@ -1137,6 +1137,110 @@ files:
1137
1137
  - src/ruby/spec/testdata/server1.key
1138
1138
  - src/ruby/spec/testdata/server1.pem
1139
1139
  - src/ruby/spec/time_consts_spec.rb
1140
+ - third_party/abseil-cpp/absl/algorithm/algorithm.h
1141
+ - third_party/abseil-cpp/absl/base/attributes.h
1142
+ - third_party/abseil-cpp/absl/base/call_once.h
1143
+ - third_party/abseil-cpp/absl/base/casts.h
1144
+ - third_party/abseil-cpp/absl/base/config.h
1145
+ - third_party/abseil-cpp/absl/base/const_init.h
1146
+ - third_party/abseil-cpp/absl/base/dynamic_annotations.cc
1147
+ - third_party/abseil-cpp/absl/base/dynamic_annotations.h
1148
+ - third_party/abseil-cpp/absl/base/internal/atomic_hook.h
1149
+ - third_party/abseil-cpp/absl/base/internal/bits.h
1150
+ - third_party/abseil-cpp/absl/base/internal/cycleclock.cc
1151
+ - third_party/abseil-cpp/absl/base/internal/cycleclock.h
1152
+ - third_party/abseil-cpp/absl/base/internal/endian.h
1153
+ - third_party/abseil-cpp/absl/base/internal/hide_ptr.h
1154
+ - third_party/abseil-cpp/absl/base/internal/identity.h
1155
+ - third_party/abseil-cpp/absl/base/internal/inline_variable.h
1156
+ - third_party/abseil-cpp/absl/base/internal/invoke.h
1157
+ - third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h
1158
+ - third_party/abseil-cpp/absl/base/internal/per_thread_tls.h
1159
+ - third_party/abseil-cpp/absl/base/internal/raw_logging.cc
1160
+ - third_party/abseil-cpp/absl/base/internal/raw_logging.h
1161
+ - third_party/abseil-cpp/absl/base/internal/scheduling_mode.h
1162
+ - third_party/abseil-cpp/absl/base/internal/spinlock.cc
1163
+ - third_party/abseil-cpp/absl/base/internal/spinlock.h
1164
+ - third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc
1165
+ - third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc
1166
+ - third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc
1167
+ - third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc
1168
+ - third_party/abseil-cpp/absl/base/internal/spinlock_wait.h
1169
+ - third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc
1170
+ - third_party/abseil-cpp/absl/base/internal/sysinfo.cc
1171
+ - third_party/abseil-cpp/absl/base/internal/sysinfo.h
1172
+ - third_party/abseil-cpp/absl/base/internal/thread_annotations.h
1173
+ - third_party/abseil-cpp/absl/base/internal/thread_identity.cc
1174
+ - third_party/abseil-cpp/absl/base/internal/thread_identity.h
1175
+ - third_party/abseil-cpp/absl/base/internal/throw_delegate.cc
1176
+ - third_party/abseil-cpp/absl/base/internal/throw_delegate.h
1177
+ - third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h
1178
+ - third_party/abseil-cpp/absl/base/internal/unaligned_access.h
1179
+ - third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
1180
+ - third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h
1181
+ - third_party/abseil-cpp/absl/base/log_severity.cc
1182
+ - third_party/abseil-cpp/absl/base/log_severity.h
1183
+ - third_party/abseil-cpp/absl/base/macros.h
1184
+ - third_party/abseil-cpp/absl/base/optimization.h
1185
+ - third_party/abseil-cpp/absl/base/options.h
1186
+ - third_party/abseil-cpp/absl/base/policy_checks.h
1187
+ - third_party/abseil-cpp/absl/base/port.h
1188
+ - third_party/abseil-cpp/absl/base/thread_annotations.h
1189
+ - third_party/abseil-cpp/absl/container/inlined_vector.h
1190
+ - third_party/abseil-cpp/absl/container/internal/compressed_tuple.h
1191
+ - third_party/abseil-cpp/absl/container/internal/inlined_vector.h
1192
+ - third_party/abseil-cpp/absl/memory/memory.h
1193
+ - third_party/abseil-cpp/absl/meta/type_traits.h
1194
+ - third_party/abseil-cpp/absl/numeric/int128.cc
1195
+ - third_party/abseil-cpp/absl/numeric/int128.h
1196
+ - third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc
1197
+ - third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc
1198
+ - third_party/abseil-cpp/absl/strings/ascii.cc
1199
+ - third_party/abseil-cpp/absl/strings/ascii.h
1200
+ - third_party/abseil-cpp/absl/strings/charconv.cc
1201
+ - third_party/abseil-cpp/absl/strings/charconv.h
1202
+ - third_party/abseil-cpp/absl/strings/escaping.cc
1203
+ - third_party/abseil-cpp/absl/strings/escaping.h
1204
+ - third_party/abseil-cpp/absl/strings/internal/char_map.h
1205
+ - third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc
1206
+ - third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h
1207
+ - third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc
1208
+ - third_party/abseil-cpp/absl/strings/internal/charconv_parse.h
1209
+ - third_party/abseil-cpp/absl/strings/internal/escaping.cc
1210
+ - third_party/abseil-cpp/absl/strings/internal/escaping.h
1211
+ - third_party/abseil-cpp/absl/strings/internal/memutil.cc
1212
+ - third_party/abseil-cpp/absl/strings/internal/memutil.h
1213
+ - third_party/abseil-cpp/absl/strings/internal/ostringstream.cc
1214
+ - third_party/abseil-cpp/absl/strings/internal/ostringstream.h
1215
+ - third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h
1216
+ - third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h
1217
+ - third_party/abseil-cpp/absl/strings/internal/str_join_internal.h
1218
+ - third_party/abseil-cpp/absl/strings/internal/str_split_internal.h
1219
+ - third_party/abseil-cpp/absl/strings/internal/utf8.cc
1220
+ - third_party/abseil-cpp/absl/strings/internal/utf8.h
1221
+ - third_party/abseil-cpp/absl/strings/match.cc
1222
+ - third_party/abseil-cpp/absl/strings/match.h
1223
+ - third_party/abseil-cpp/absl/strings/numbers.cc
1224
+ - third_party/abseil-cpp/absl/strings/numbers.h
1225
+ - third_party/abseil-cpp/absl/strings/str_cat.cc
1226
+ - third_party/abseil-cpp/absl/strings/str_cat.h
1227
+ - third_party/abseil-cpp/absl/strings/str_join.h
1228
+ - third_party/abseil-cpp/absl/strings/str_replace.cc
1229
+ - third_party/abseil-cpp/absl/strings/str_replace.h
1230
+ - third_party/abseil-cpp/absl/strings/str_split.cc
1231
+ - third_party/abseil-cpp/absl/strings/str_split.h
1232
+ - third_party/abseil-cpp/absl/strings/string_view.cc
1233
+ - third_party/abseil-cpp/absl/strings/string_view.h
1234
+ - third_party/abseil-cpp/absl/strings/strip.h
1235
+ - third_party/abseil-cpp/absl/strings/substitute.cc
1236
+ - third_party/abseil-cpp/absl/strings/substitute.h
1237
+ - third_party/abseil-cpp/absl/types/bad_optional_access.cc
1238
+ - third_party/abseil-cpp/absl/types/bad_optional_access.h
1239
+ - third_party/abseil-cpp/absl/types/internal/optional.h
1240
+ - third_party/abseil-cpp/absl/types/internal/span.h
1241
+ - third_party/abseil-cpp/absl/types/optional.h
1242
+ - third_party/abseil-cpp/absl/types/span.h
1243
+ - third_party/abseil-cpp/absl/utility/utility.h
1140
1244
  - third_party/address_sorting/address_sorting.c
1141
1245
  - third_party/address_sorting/address_sorting_internal.h
1142
1246
  - third_party/address_sorting/address_sorting_posix.c
@@ -1729,50 +1833,50 @@ required_ruby_version: !ruby/object:Gem::Requirement
1729
1833
  version: 2.3.0
1730
1834
  required_rubygems_version: !ruby/object:Gem::Requirement
1731
1835
  requirements:
1732
- - - ">="
1836
+ - - ">"
1733
1837
  - !ruby/object:Gem::Version
1734
- version: '0'
1838
+ version: 1.3.1
1735
1839
  requirements: []
1736
- rubygems_version: 3.1.1
1840
+ rubygems_version: 3.1.2
1737
1841
  signing_key:
1738
1842
  specification_version: 4
1739
1843
  summary: GRPC system in Ruby
1740
1844
  test_files:
1845
+ - src/ruby/spec/server_credentials_spec.rb
1846
+ - src/ruby/spec/client_auth_spec.rb
1847
+ - src/ruby/spec/channel_credentials_spec.rb
1848
+ - src/ruby/spec/server_spec.rb
1849
+ - src/ruby/spec/time_consts_spec.rb
1850
+ - src/ruby/spec/pb/duplicate/codegen_spec.rb
1851
+ - src/ruby/spec/pb/health/checker_spec.rb
1852
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
1853
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
1854
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options.proto
1855
+ - src/ruby/spec/pb/codegen/package_option_spec.rb
1741
1856
  - src/ruby/spec/testdata/client.pem
1857
+ - src/ruby/spec/testdata/ca.pem
1858
+ - src/ruby/spec/testdata/server1.key
1742
1859
  - src/ruby/spec/testdata/server1.pem
1743
1860
  - src/ruby/spec/testdata/README
1744
1861
  - src/ruby/spec/testdata/client.key
1745
- - src/ruby/spec/testdata/ca.pem
1746
- - src/ruby/spec/testdata/server1.key
1747
- - src/ruby/spec/error_sanity_spec.rb
1748
- - src/ruby/spec/call_credentials_spec.rb
1749
- - src/ruby/spec/channel_connection_spec.rb
1750
- - src/ruby/spec/client_server_spec.rb
1862
+ - src/ruby/spec/channel_spec.rb
1863
+ - src/ruby/spec/errors_spec.rb
1751
1864
  - src/ruby/spec/spec_helper.rb
1752
- - src/ruby/spec/server_spec.rb
1753
- - src/ruby/spec/server_credentials_spec.rb
1754
- - src/ruby/spec/client_auth_spec.rb
1755
1865
  - src/ruby/spec/google_rpc_status_utils_spec.rb
1756
- - src/ruby/spec/errors_spec.rb
1757
- - src/ruby/spec/channel_spec.rb
1758
- - src/ruby/spec/time_consts_spec.rb
1866
+ - src/ruby/spec/call_credentials_spec.rb
1867
+ - src/ruby/spec/client_server_spec.rb
1868
+ - src/ruby/spec/call_spec.rb
1869
+ - src/ruby/spec/support/services.rb
1870
+ - src/ruby/spec/support/helpers.rb
1759
1871
  - src/ruby/spec/generic/rpc_server_pool_spec.rb
1760
- - src/ruby/spec/generic/active_call_spec.rb
1761
- - src/ruby/spec/generic/rpc_server_spec.rb
1762
- - src/ruby/spec/generic/rpc_desc_spec.rb
1763
- - src/ruby/spec/generic/server_interceptors_spec.rb
1764
- - src/ruby/spec/generic/interceptor_registry_spec.rb
1765
1872
  - src/ruby/spec/generic/client_interceptors_spec.rb
1766
- - src/ruby/spec/generic/service_spec.rb
1767
1873
  - src/ruby/spec/generic/client_stub_spec.rb
1768
- - src/ruby/spec/support/services.rb
1769
- - src/ruby/spec/support/helpers.rb
1770
- - src/ruby/spec/channel_credentials_spec.rb
1771
- - src/ruby/spec/pb/duplicate/codegen_spec.rb
1772
- - src/ruby/spec/pb/health/checker_spec.rb
1773
- - src/ruby/spec/pb/codegen/package_option_spec.rb
1774
- - src/ruby/spec/pb/codegen/grpc/testing/package_options.proto
1775
- - src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
1776
- - src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
1874
+ - src/ruby/spec/generic/rpc_server_spec.rb
1875
+ - src/ruby/spec/generic/service_spec.rb
1876
+ - src/ruby/spec/generic/interceptor_registry_spec.rb
1877
+ - src/ruby/spec/generic/server_interceptors_spec.rb
1878
+ - src/ruby/spec/generic/rpc_desc_spec.rb
1879
+ - src/ruby/spec/generic/active_call_spec.rb
1880
+ - src/ruby/spec/channel_connection_spec.rb
1777
1881
  - src/ruby/spec/compression_options_spec.rb
1778
- - src/ruby/spec/call_spec.rb
1882
+ - src/ruby/spec/error_sanity_spec.rb