grpc 1.59.2-x64-mingw-ucrt → 1.60.0-x64-mingw-ucrt
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grpc_c.64-ucrt.ruby +0 -0
- data/src/ruby/bin/math_pb.rb +1 -1
- data/src/ruby/ext/grpc/extconf.rb +77 -15
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -0
- data/src/ruby/lib/grpc/3.1/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/3.2/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +7 -2
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +2 -2
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +22 -0
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d96cb8b640606ed8097ac0f45f77341428616708e334b3f2905cd7eec42fd03b
|
4
|
+
data.tar.gz: 3b1b17bffa3b5a8bacd4578c6f9ec414af669b6054bd6a3ea87b650edb7ca628
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f9e849433440ff0cd1773b50971e191ccb03e0fe3804d622a48e4a8deeae818b81e19adb855625b99e22526c951bcef005d94bac07a3d6eb7d334d13fd9af58
|
7
|
+
data.tar.gz: bbf6a3740fa3309fe2d70631fd6d780d32fa948534c239b7ea9b1d45bab775a7fb4ac0d24cf45c5df939e425260f555969c0790c7593f251999fe5e96077d81b
|
data/grpc_c.64-ucrt.ruby
CHANGED
Binary file
|
data/src/ruby/bin/math_pb.rb
CHANGED
@@ -11,7 +11,7 @@ pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
11
11
|
|
12
12
|
begin
|
13
13
|
pool.add_serialized_file(descriptor_data)
|
14
|
-
rescue TypeError
|
14
|
+
rescue TypeError
|
15
15
|
# Compatibility code: will be removed in the next major version.
|
16
16
|
require 'google/protobuf/descriptor_pb'
|
17
17
|
parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
|
@@ -14,6 +14,7 @@
|
|
14
14
|
|
15
15
|
require 'etc'
|
16
16
|
require 'mkmf'
|
17
|
+
require_relative '../../lib/grpc/version.rb'
|
17
18
|
|
18
19
|
windows = RUBY_PLATFORM =~ /mingw|mswin/
|
19
20
|
windows_ucrt = RUBY_PLATFORM =~ /(mingw|mswin).*ucrt/
|
@@ -30,6 +31,27 @@ grpc_config = ENV['GRPC_CONFIG'] || 'opt'
|
|
30
31
|
|
31
32
|
ENV['MACOSX_DEPLOYMENT_TARGET'] = '10.10'
|
32
33
|
|
34
|
+
def debug_symbols_output_dir
|
35
|
+
d = ENV['GRPC_RUBY_DEBUG_SYMBOLS_OUTPUT_DIR']
|
36
|
+
return nil if d.nil? or d.size == 0
|
37
|
+
d
|
38
|
+
end
|
39
|
+
|
40
|
+
def maybe_remove_strip_all_linker_flag(flags)
|
41
|
+
if debug_symbols_output_dir
|
42
|
+
# Hack to prevent automatic stripping during shared library linking.
|
43
|
+
# rake-compiler-dock sets the -s LDFLAG when building rubies for
|
44
|
+
# cross compilation, and this -s flag propagates into RbConfig. Stripping
|
45
|
+
# during the link is problematic because it prevents us from saving
|
46
|
+
# debug symbols. We want to first link our shared library, then save
|
47
|
+
# debug symbols, and only after that strip.
|
48
|
+
flags = flags.split(' ')
|
49
|
+
flags = flags.reject {|flag| flag == '-s'}
|
50
|
+
flags = flags.join(' ')
|
51
|
+
end
|
52
|
+
flags
|
53
|
+
end
|
54
|
+
|
33
55
|
def env_unset?(name)
|
34
56
|
ENV[name].nil? || ENV[name].size == 0
|
35
57
|
end
|
@@ -38,21 +60,27 @@ def inherit_env_or_rbconfig(name)
|
|
38
60
|
ENV[name] = inherit_rbconfig(name) if env_unset?(name)
|
39
61
|
end
|
40
62
|
|
41
|
-
def inherit_rbconfig(name)
|
42
|
-
|
63
|
+
def inherit_rbconfig(name, linker_flag: false)
|
64
|
+
value = RbConfig::CONFIG[name] || ''
|
65
|
+
if linker_flag
|
66
|
+
value = maybe_remove_strip_all_linker_flag(value)
|
67
|
+
end
|
68
|
+
p "extconf.rb setting ENV[#{name}] = #{value}"
|
69
|
+
ENV[name] = value
|
43
70
|
end
|
44
71
|
|
45
72
|
def env_append(name, string)
|
46
73
|
ENV[name] += ' ' + string
|
47
74
|
end
|
48
75
|
|
76
|
+
# build grpc C-core
|
49
77
|
inherit_env_or_rbconfig 'AR'
|
50
78
|
inherit_env_or_rbconfig 'CC'
|
51
79
|
inherit_env_or_rbconfig 'CXX'
|
52
80
|
inherit_env_or_rbconfig 'RANLIB'
|
53
81
|
inherit_env_or_rbconfig 'STRIP'
|
54
82
|
inherit_rbconfig 'CPPFLAGS'
|
55
|
-
inherit_rbconfig
|
83
|
+
inherit_rbconfig('LDFLAGS', linker_flag: true)
|
56
84
|
|
57
85
|
ENV['LD'] = ENV['CC'] if env_unset?('LD')
|
58
86
|
ENV['LDXX'] = ENV['CXX'] if env_unset?('LDXX')
|
@@ -111,21 +139,15 @@ unless windows
|
|
111
139
|
puts "Building grpc native library: #{cmd}"
|
112
140
|
system(cmd)
|
113
141
|
exit 1 unless $? == 0
|
114
|
-
|
115
|
-
if grpc_config == 'opt'
|
116
|
-
rm_obj_cmd = "rm -rf #{File.join(output_dir, 'objs')}"
|
117
|
-
puts "Removing grpc object files: #{rm_obj_cmd}"
|
118
|
-
system(rm_obj_cmd)
|
119
|
-
exit 1 unless $? == 0
|
120
|
-
strip_cmd = "#{strip_tool} #{grpc_lib_dir}/*.a"
|
121
|
-
puts "Stripping grpc native library: #{strip_cmd}"
|
122
|
-
system(strip_cmd)
|
123
|
-
exit 1 unless $? == 0
|
124
|
-
end
|
125
142
|
end
|
126
143
|
|
144
|
+
# C-core built, generate Makefile for ruby extension
|
145
|
+
$LDFLAGS = maybe_remove_strip_all_linker_flag($LDFLAGS)
|
146
|
+
$DLDFLAGS = maybe_remove_strip_all_linker_flag($DLDFLAGS)
|
147
|
+
|
127
148
|
$CFLAGS << ' -DGRPC_RUBY_WINDOWS_UCRT' if windows_ucrt
|
128
149
|
$CFLAGS << ' -I' + File.join(grpc_root, 'include')
|
150
|
+
$CFLAGS << ' -g'
|
129
151
|
|
130
152
|
def have_ruby_abi_version()
|
131
153
|
return true if RUBY_ENGINE == 'truffleruby'
|
@@ -168,7 +190,7 @@ if grpc_config == 'gcov'
|
|
168
190
|
end
|
169
191
|
|
170
192
|
if grpc_config == 'dbg'
|
171
|
-
$CFLAGS << ' -O0
|
193
|
+
$CFLAGS << ' -O0'
|
172
194
|
end
|
173
195
|
|
174
196
|
$LDFLAGS << ' -Wl,-wrap,memcpy' if linux
|
@@ -184,9 +206,49 @@ $CFLAGS << ' -Wextra '
|
|
184
206
|
$CFLAGS << ' -pedantic '
|
185
207
|
|
186
208
|
output = File.join('grpc', 'grpc_c')
|
209
|
+
puts "extconf.rb $LDFLAGS: #{$LDFLAGS}"
|
210
|
+
puts "extconf.rb $DLDFLAGS: #{$DLDFLAGS}"
|
211
|
+
puts "extconf.rb $CFLAGS: #{$CFLAGS}"
|
187
212
|
puts 'Generating Makefile for ' + output
|
188
213
|
create_makefile(output)
|
189
214
|
|
215
|
+
ruby_major_minor = /(\d+\.\d+)/.match(RUBY_VERSION).to_s
|
216
|
+
debug_symbols = "grpc-#{GRPC::VERSION}-#{RUBY_PLATFORM}-ruby-#{ruby_major_minor}.dbg"
|
217
|
+
|
218
|
+
File.open('Makefile.new', 'w') do |o|
|
219
|
+
o.puts 'hijack_remove_unused_artifacts: all remove_unused_artifacts'
|
220
|
+
o.puts
|
221
|
+
o.write(File.read('Makefile'))
|
222
|
+
o.puts
|
223
|
+
o.puts 'remove_unused_artifacts: $(DLLIB)'
|
224
|
+
# Now that the extension library has been linked, we can remove unused artifacts
|
225
|
+
# that take up a lot of disk space.
|
226
|
+
rm_obj_cmd = "rm -rf #{File.join(output_dir, 'objs')}"
|
227
|
+
o.puts "\t$(ECHO) Removing unused object artifacts: #{rm_obj_cmd}"
|
228
|
+
o.puts "\t$(Q) #{rm_obj_cmd}"
|
229
|
+
rm_grpc_core_libs = "rm -f #{grpc_lib_dir}/*.a"
|
230
|
+
o.puts "\t$(ECHO) Removing unused grpc core libraries: #{rm_grpc_core_libs}"
|
231
|
+
o.puts "\t$(Q) #{rm_grpc_core_libs}"
|
232
|
+
end
|
233
|
+
File.rename('Makefile.new', 'Makefile')
|
234
|
+
|
235
|
+
if grpc_config == 'opt'
|
236
|
+
File.open('Makefile.new', 'w') do |o|
|
237
|
+
o.puts 'hijack: all strip'
|
238
|
+
o.puts
|
239
|
+
o.write(File.read('Makefile'))
|
240
|
+
o.puts
|
241
|
+
o.puts 'strip: $(DLLIB)'
|
242
|
+
if debug_symbols_output_dir
|
243
|
+
o.puts "\t$(ECHO) Saving debug symbols in #{debug_symbols_output_dir}/#{debug_symbols}"
|
244
|
+
o.puts "\t$(Q) objcopy --only-keep-debug $(DLLIB) #{debug_symbols_output_dir}/#{debug_symbols}"
|
245
|
+
end
|
246
|
+
o.puts "\t$(ECHO) Stripping $(DLLIB)"
|
247
|
+
o.puts "\t$(Q) #{strip_tool} $(DLLIB)"
|
248
|
+
end
|
249
|
+
File.rename('Makefile.new', 'Makefile')
|
250
|
+
end
|
251
|
+
|
190
252
|
if ENV['GRPC_RUBY_TEST_ONLY_WORKAROUND_MAKE_INSTALL_BUG']
|
191
253
|
# Note: this env var setting is intended to work around a problem observed
|
192
254
|
# with the ginstall command on grpc's macos automated test infrastructure,
|
@@ -180,6 +180,8 @@ grpc_tls_certificate_provider_static_data_create_type grpc_tls_certificate_provi
|
|
180
180
|
grpc_tls_certificate_provider_file_watcher_create_type grpc_tls_certificate_provider_file_watcher_create_import;
|
181
181
|
grpc_tls_certificate_provider_release_type grpc_tls_certificate_provider_release_import;
|
182
182
|
grpc_tls_credentials_options_create_type grpc_tls_credentials_options_create_import;
|
183
|
+
grpc_tls_credentials_options_copy_type grpc_tls_credentials_options_copy_import;
|
184
|
+
grpc_tls_credentials_options_destroy_type grpc_tls_credentials_options_destroy_import;
|
183
185
|
grpc_tls_credentials_options_set_certificate_provider_type grpc_tls_credentials_options_set_certificate_provider_import;
|
184
186
|
grpc_tls_credentials_options_watch_root_certs_type grpc_tls_credentials_options_watch_root_certs_import;
|
185
187
|
grpc_tls_credentials_options_set_root_cert_name_type grpc_tls_credentials_options_set_root_cert_name_import;
|
@@ -467,6 +469,8 @@ void grpc_rb_load_imports(HMODULE library) {
|
|
467
469
|
grpc_tls_certificate_provider_file_watcher_create_import = (grpc_tls_certificate_provider_file_watcher_create_type) GetProcAddress(library, "grpc_tls_certificate_provider_file_watcher_create");
|
468
470
|
grpc_tls_certificate_provider_release_import = (grpc_tls_certificate_provider_release_type) GetProcAddress(library, "grpc_tls_certificate_provider_release");
|
469
471
|
grpc_tls_credentials_options_create_import = (grpc_tls_credentials_options_create_type) GetProcAddress(library, "grpc_tls_credentials_options_create");
|
472
|
+
grpc_tls_credentials_options_copy_import = (grpc_tls_credentials_options_copy_type) GetProcAddress(library, "grpc_tls_credentials_options_copy");
|
473
|
+
grpc_tls_credentials_options_destroy_import = (grpc_tls_credentials_options_destroy_type) GetProcAddress(library, "grpc_tls_credentials_options_destroy");
|
470
474
|
grpc_tls_credentials_options_set_certificate_provider_import = (grpc_tls_credentials_options_set_certificate_provider_type) GetProcAddress(library, "grpc_tls_credentials_options_set_certificate_provider");
|
471
475
|
grpc_tls_credentials_options_watch_root_certs_import = (grpc_tls_credentials_options_watch_root_certs_type) GetProcAddress(library, "grpc_tls_credentials_options_watch_root_certs");
|
472
476
|
grpc_tls_credentials_options_set_root_cert_name_import = (grpc_tls_credentials_options_set_root_cert_name_type) GetProcAddress(library, "grpc_tls_credentials_options_set_root_cert_name");
|
@@ -515,6 +515,12 @@ extern grpc_tls_certificate_provider_release_type grpc_tls_certificate_provider_
|
|
515
515
|
typedef grpc_tls_credentials_options*(*grpc_tls_credentials_options_create_type)(void);
|
516
516
|
extern grpc_tls_credentials_options_create_type grpc_tls_credentials_options_create_import;
|
517
517
|
#define grpc_tls_credentials_options_create grpc_tls_credentials_options_create_import
|
518
|
+
typedef grpc_tls_credentials_options*(*grpc_tls_credentials_options_copy_type)(grpc_tls_credentials_options* options);
|
519
|
+
extern grpc_tls_credentials_options_copy_type grpc_tls_credentials_options_copy_import;
|
520
|
+
#define grpc_tls_credentials_options_copy grpc_tls_credentials_options_copy_import
|
521
|
+
typedef void(*grpc_tls_credentials_options_destroy_type)(grpc_tls_credentials_options* options);
|
522
|
+
extern grpc_tls_credentials_options_destroy_type grpc_tls_credentials_options_destroy_import;
|
523
|
+
#define grpc_tls_credentials_options_destroy grpc_tls_credentials_options_destroy_import
|
518
524
|
typedef void(*grpc_tls_credentials_options_set_certificate_provider_type)(grpc_tls_credentials_options* options, grpc_tls_certificate_provider* provider);
|
519
525
|
extern grpc_tls_credentials_options_set_certificate_provider_type grpc_tls_credentials_options_set_certificate_provider_import;
|
520
526
|
#define grpc_tls_credentials_options_set_certificate_provider grpc_tls_credentials_options_set_certificate_provider_import
|
Binary file
|
Binary file
|
@@ -11,7 +11,7 @@ pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
11
11
|
|
12
12
|
begin
|
13
13
|
pool.add_serialized_file(descriptor_data)
|
14
|
-
rescue TypeError
|
14
|
+
rescue TypeError
|
15
15
|
# Compatibility code: will be removed in the next major version.
|
16
16
|
require 'google/protobuf/descriptor_pb'
|
17
17
|
parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
|
@@ -11,7 +11,7 @@ pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
11
11
|
|
12
12
|
begin
|
13
13
|
pool.add_serialized_file(descriptor_data)
|
14
|
-
rescue TypeError
|
14
|
+
rescue TypeError
|
15
15
|
# Compatibility code: will be removed in the next major version.
|
16
16
|
require 'google/protobuf/descriptor_pb'
|
17
17
|
parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
|
@@ -5,13 +5,13 @@
|
|
5
5
|
require 'google/protobuf'
|
6
6
|
|
7
7
|
|
8
|
-
descriptor_data = "\n%src/proto/grpc/testing/messages.proto\x12\x0cgrpc.testing\"\x1a\n\tBoolValue\x12\r\n\x05value\x18\x01 \x01(\x08\"@\n\x07Payload\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x19.grpc.testing.PayloadType\x12\x0c\n\x04\x62ody\x18\x02 \x01(\x0c\"+\n\nEchoStatus\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xc3\x03\n\rSimpleRequest\x12\x30\n\rresponse_type\x18\x01 \x01(\x0e\x32\x19.grpc.testing.PayloadType\x12\x15\n\rresponse_size\x18\x02 \x01(\x05\x12&\n\x07payload\x18\x03 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x15\n\rfill_username\x18\x04 \x01(\x08\x12\x18\n\x10\x66ill_oauth_scope\x18\x05 \x01(\x08\x12\x34\n\x13response_compressed\x18\x06 \x01(\x0b\x32\x17.grpc.testing.BoolValue\x12\x31\n\x0fresponse_status\x18\x07 \x01(\x0b\x32\x18.grpc.testing.EchoStatus\x12\x32\n\x11\x65xpect_compressed\x18\x08 \x01(\x0b\x32\x17.grpc.testing.BoolValue\x12\x16\n\x0e\x66ill_server_id\x18\t \x01(\x08\x12\x1e\n\x16\x66ill_grpclb_route_type\x18\n \x01(\x08\x12;\n\x15orca_per_query_report\x18\x0b \x01(\x0b\x32\x1c.grpc.testing.TestOrcaReport\"\xbe\x01\n\x0eSimpleResponse\x12&\n\x07payload\x18\x01 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x13\n\x0boauth_scope\x18\x03 \x01(\t\x12\x11\n\tserver_id\x18\x04 \x01(\t\x12\x38\n\x11grpclb_route_type\x18\x05 \x01(\x0e\x32\x1d.grpc.testing.GrpclbRouteType\x12\x10\n\x08hostname\x18\x06 \x01(\t\"w\n\x19StreamingInputCallRequest\x12&\n\x07payload\x18\x01 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x32\n\x11\x65xpect_compressed\x18\x02 \x01(\x0b\x32\x17.grpc.testing.BoolValue\"=\n\x1aStreamingInputCallResponse\x12\x1f\n\x17\x61ggregated_payload_size\x18\x01 \x01(\x05\"d\n\x12ResponseParameters\x12\x0c\n\x04size\x18\x01 \x01(\x05\x12\x13\n\x0binterval_us\x18\x02 \x01(\x05\x12+\n\ncompressed\x18\x03 \x01(\x0b\x32\x17.grpc.testing.BoolValue\"\x9f\x02\n\x1aStreamingOutputCallRequest\x12\x30\n\rresponse_type\x18\x01 \x01(\x0e\x32\x19.grpc.testing.PayloadType\x12=\n\x13response_parameters\x18\x02 \x03(\x0b\x32 .grpc.testing.ResponseParameters\x12&\n\x07payload\x18\x03 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x31\n\x0fresponse_status\x18\x07 \x01(\x0b\x32\x18.grpc.testing.EchoStatus\x12\x35\n\x0forca_oob_report\x18\x08 \x01(\x0b\x32\x1c.grpc.testing.TestOrcaReport\"E\n\x1bStreamingOutputCallResponse\x12&\n\x07payload\x18\x01 \x01(\x0b\x32\x15.grpc.testing.Payload\"3\n\x0fReconnectParams\x12 \n\x18max_reconnect_backoff_ms\x18\x01 \x01(\x05\"3\n\rReconnectInfo\x12\x0e\n\x06passed\x18\x01 \x01(\x08\x12\x12\n\nbackoff_ms\x18\x02 \x03(\x05\"X\n\x18LoadBalancerStatsRequest\x12\x10\n\x08num_rpcs\x18\x01 \x01(\x05\x12\x13\n\x0btimeout_sec\x18\x02 \x01(\x05\x12\x15\n\rmetadata_keys\x18\x03 \x03(\t\"\
|
8
|
+
descriptor_data = "\n%src/proto/grpc/testing/messages.proto\x12\x0cgrpc.testing\"\x1a\n\tBoolValue\x12\r\n\x05value\x18\x01 \x01(\x08\"@\n\x07Payload\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x19.grpc.testing.PayloadType\x12\x0c\n\x04\x62ody\x18\x02 \x01(\x0c\"+\n\nEchoStatus\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xc3\x03\n\rSimpleRequest\x12\x30\n\rresponse_type\x18\x01 \x01(\x0e\x32\x19.grpc.testing.PayloadType\x12\x15\n\rresponse_size\x18\x02 \x01(\x05\x12&\n\x07payload\x18\x03 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x15\n\rfill_username\x18\x04 \x01(\x08\x12\x18\n\x10\x66ill_oauth_scope\x18\x05 \x01(\x08\x12\x34\n\x13response_compressed\x18\x06 \x01(\x0b\x32\x17.grpc.testing.BoolValue\x12\x31\n\x0fresponse_status\x18\x07 \x01(\x0b\x32\x18.grpc.testing.EchoStatus\x12\x32\n\x11\x65xpect_compressed\x18\x08 \x01(\x0b\x32\x17.grpc.testing.BoolValue\x12\x16\n\x0e\x66ill_server_id\x18\t \x01(\x08\x12\x1e\n\x16\x66ill_grpclb_route_type\x18\n \x01(\x08\x12;\n\x15orca_per_query_report\x18\x0b \x01(\x0b\x32\x1c.grpc.testing.TestOrcaReport\"\xbe\x01\n\x0eSimpleResponse\x12&\n\x07payload\x18\x01 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x13\n\x0boauth_scope\x18\x03 \x01(\t\x12\x11\n\tserver_id\x18\x04 \x01(\t\x12\x38\n\x11grpclb_route_type\x18\x05 \x01(\x0e\x32\x1d.grpc.testing.GrpclbRouteType\x12\x10\n\x08hostname\x18\x06 \x01(\t\"w\n\x19StreamingInputCallRequest\x12&\n\x07payload\x18\x01 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x32\n\x11\x65xpect_compressed\x18\x02 \x01(\x0b\x32\x17.grpc.testing.BoolValue\"=\n\x1aStreamingInputCallResponse\x12\x1f\n\x17\x61ggregated_payload_size\x18\x01 \x01(\x05\"d\n\x12ResponseParameters\x12\x0c\n\x04size\x18\x01 \x01(\x05\x12\x13\n\x0binterval_us\x18\x02 \x01(\x05\x12+\n\ncompressed\x18\x03 \x01(\x0b\x32\x17.grpc.testing.BoolValue\"\x9f\x02\n\x1aStreamingOutputCallRequest\x12\x30\n\rresponse_type\x18\x01 \x01(\x0e\x32\x19.grpc.testing.PayloadType\x12=\n\x13response_parameters\x18\x02 \x03(\x0b\x32 .grpc.testing.ResponseParameters\x12&\n\x07payload\x18\x03 \x01(\x0b\x32\x15.grpc.testing.Payload\x12\x31\n\x0fresponse_status\x18\x07 \x01(\x0b\x32\x18.grpc.testing.EchoStatus\x12\x35\n\x0forca_oob_report\x18\x08 \x01(\x0b\x32\x1c.grpc.testing.TestOrcaReport\"E\n\x1bStreamingOutputCallResponse\x12&\n\x07payload\x18\x01 \x01(\x0b\x32\x15.grpc.testing.Payload\"3\n\x0fReconnectParams\x12 \n\x18max_reconnect_backoff_ms\x18\x01 \x01(\x05\"3\n\rReconnectInfo\x12\x0e\n\x06passed\x18\x01 \x01(\x08\x12\x12\n\nbackoff_ms\x18\x02 \x03(\x05\"X\n\x18LoadBalancerStatsRequest\x12\x10\n\x08num_rpcs\x18\x01 \x01(\x05\x12\x13\n\x0btimeout_sec\x18\x02 \x01(\x05\x12\x15\n\rmetadata_keys\x18\x03 \x03(\t\"\xb2\x08\n\x19LoadBalancerStatsResponse\x12M\n\x0crpcs_by_peer\x18\x01 \x03(\x0b\x32\x37.grpc.testing.LoadBalancerStatsResponse.RpcsByPeerEntry\x12\x14\n\x0cnum_failures\x18\x02 \x01(\x05\x12Q\n\x0erpcs_by_method\x18\x03 \x03(\x0b\x32\x39.grpc.testing.LoadBalancerStatsResponse.RpcsByMethodEntry\x12W\n\x11metadatas_by_peer\x18\x04 \x03(\x0b\x32<.grpc.testing.LoadBalancerStatsResponse.MetadatasByPeerEntry\x1ao\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x42\n\x04type\x18\x03 \x01(\x0e\x32\x34.grpc.testing.LoadBalancerStatsResponse.MetadataType\x1aV\n\x0bRpcMetadata\x12G\n\x08metadata\x18\x01 \x03(\x0b\x32\x35.grpc.testing.LoadBalancerStatsResponse.MetadataEntry\x1a[\n\x0eMetadataByPeer\x12I\n\x0crpc_metadata\x18\x01 \x03(\x0b\x32\x33.grpc.testing.LoadBalancerStatsResponse.RpcMetadata\x1a\x99\x01\n\nRpcsByPeer\x12X\n\x0crpcs_by_peer\x18\x01 \x03(\x0b\x32\x42.grpc.testing.LoadBalancerStatsResponse.RpcsByPeer.RpcsByPeerEntry\x1a\x31\n\x0fRpcsByPeerEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a\x31\n\x0fRpcsByPeerEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1ag\n\x11RpcsByMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x41\n\x05value\x18\x02 \x01(\x0b\x32\x32.grpc.testing.LoadBalancerStatsResponse.RpcsByPeer:\x02\x38\x01\x1an\n\x14MetadatasByPeerEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x45\n\x05value\x18\x02 \x01(\x0b\x32\x36.grpc.testing.LoadBalancerStatsResponse.MetadataByPeer:\x02\x38\x01\"6\n\x0cMetadataType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07INITIAL\x10\x01\x12\x0c\n\x08TRAILING\x10\x02\"%\n#LoadBalancerAccumulatedStatsRequest\"\xd8\x07\n$LoadBalancerAccumulatedStatsResponse\x12v\n\x1anum_rpcs_started_by_method\x18\x01 \x03(\x0b\x32N.grpc.testing.LoadBalancerAccumulatedStatsResponse.NumRpcsStartedByMethodEntryB\x02\x18\x01\x12z\n\x1cnum_rpcs_succeeded_by_method\x18\x02 \x03(\x0b\x32P.grpc.testing.LoadBalancerAccumulatedStatsResponse.NumRpcsSucceededByMethodEntryB\x02\x18\x01\x12t\n\x19num_rpcs_failed_by_method\x18\x03 \x03(\x0b\x32M.grpc.testing.LoadBalancerAccumulatedStatsResponse.NumRpcsFailedByMethodEntryB\x02\x18\x01\x12`\n\x10stats_per_method\x18\x04 \x03(\x0b\x32\x46.grpc.testing.LoadBalancerAccumulatedStatsResponse.StatsPerMethodEntry\x1a=\n\x1bNumRpcsStartedByMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a?\n\x1dNumRpcsSucceededByMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a<\n\x1aNumRpcsFailedByMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a\xae\x01\n\x0bMethodStats\x12\x14\n\x0crpcs_started\x18\x01 \x01(\x05\x12Z\n\x06result\x18\x02 \x03(\x0b\x32J.grpc.testing.LoadBalancerAccumulatedStatsResponse.MethodStats.ResultEntry\x1a-\n\x0bResultEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1au\n\x13StatsPerMethodEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.grpc.testing.LoadBalancerAccumulatedStatsResponse.MethodStats:\x02\x38\x01\"\xba\x02\n\x16\x43lientConfigureRequest\x12;\n\x05types\x18\x01 \x03(\x0e\x32,.grpc.testing.ClientConfigureRequest.RpcType\x12?\n\x08metadata\x18\x02 \x03(\x0b\x32-.grpc.testing.ClientConfigureRequest.Metadata\x12\x13\n\x0btimeout_sec\x18\x03 \x01(\x05\x1a\x62\n\x08Metadata\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.grpc.testing.ClientConfigureRequest.RpcType\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\")\n\x07RpcType\x12\x0e\n\nEMPTY_CALL\x10\x00\x12\x0e\n\nUNARY_CALL\x10\x01\"\x19\n\x17\x43lientConfigureResponse\"\x19\n\nMemorySize\x12\x0b\n\x03rss\x18\x01 \x01(\x03\"\xb6\x02\n\x0eTestOrcaReport\x12\x17\n\x0f\x63pu_utilization\x18\x01 \x01(\x01\x12\x1a\n\x12memory_utilization\x18\x02 \x01(\x01\x12\x43\n\x0crequest_cost\x18\x03 \x03(\x0b\x32-.grpc.testing.TestOrcaReport.RequestCostEntry\x12\x42\n\x0butilization\x18\x04 \x03(\x0b\x32-.grpc.testing.TestOrcaReport.UtilizationEntry\x1a\x32\n\x10RequestCostEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a\x32\n\x10UtilizationEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\"V\n\x16SetReturnStatusRequest\x12\x1b\n\x13grpc_code_to_return\x18\x01 \x01(\x05\x12\x1f\n\x17grpc_status_description\x18\x02 \x01(\t\"\xe7\x01\n\x0bHookRequest\x12=\n\x07\x63ommand\x18\x01 \x01(\x0e\x32,.grpc.testing.HookRequest.HookRequestCommand\x12\x1b\n\x13grpc_code_to_return\x18\x02 \x01(\x05\x12\x1f\n\x17grpc_status_description\x18\x03 \x01(\t\x12\x13\n\x0bserver_port\x18\x04 \x01(\x05\"F\n\x12HookRequestCommand\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05START\x10\x01\x12\x08\n\x04STOP\x10\x02\x12\n\n\x06RETURN\x10\x03\"\x0e\n\x0cHookResponse*\x1f\n\x0bPayloadType\x12\x10\n\x0c\x43OMPRESSABLE\x10\x00*o\n\x0fGrpclbRouteType\x12\x1d\n\x19GRPCLB_ROUTE_TYPE_UNKNOWN\x10\x00\x12\x1e\n\x1aGRPCLB_ROUTE_TYPE_FALLBACK\x10\x01\x12\x1d\n\x19GRPCLB_ROUTE_TYPE_BACKEND\x10\x02\x42\x1d\n\x1bio.grpc.testing.integrationb\x06proto3"
|
9
9
|
|
10
10
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
11
11
|
|
12
12
|
begin
|
13
13
|
pool.add_serialized_file(descriptor_data)
|
14
|
-
rescue TypeError
|
14
|
+
rescue TypeError
|
15
15
|
# Compatibility code: will be removed in the next major version.
|
16
16
|
require 'google/protobuf/descriptor_pb'
|
17
17
|
parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
|
@@ -51,6 +51,7 @@ module Grpc
|
|
51
51
|
LoadBalancerStatsResponse::RpcMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.LoadBalancerStatsResponse.RpcMetadata").msgclass
|
52
52
|
LoadBalancerStatsResponse::MetadataByPeer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.LoadBalancerStatsResponse.MetadataByPeer").msgclass
|
53
53
|
LoadBalancerStatsResponse::RpcsByPeer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.LoadBalancerStatsResponse.RpcsByPeer").msgclass
|
54
|
+
LoadBalancerStatsResponse::MetadataType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.LoadBalancerStatsResponse.MetadataType").enummodule
|
54
55
|
LoadBalancerAccumulatedStatsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.LoadBalancerAccumulatedStatsRequest").msgclass
|
55
56
|
LoadBalancerAccumulatedStatsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.LoadBalancerAccumulatedStatsResponse").msgclass
|
56
57
|
LoadBalancerAccumulatedStatsResponse::MethodStats = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.LoadBalancerAccumulatedStatsResponse.MethodStats").msgclass
|
@@ -60,6 +61,10 @@ module Grpc
|
|
60
61
|
ClientConfigureResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientConfigureResponse").msgclass
|
61
62
|
MemorySize = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.MemorySize").msgclass
|
62
63
|
TestOrcaReport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.TestOrcaReport").msgclass
|
64
|
+
SetReturnStatusRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.SetReturnStatusRequest").msgclass
|
65
|
+
HookRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.HookRequest").msgclass
|
66
|
+
HookRequest::HookRequestCommand = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.HookRequest.HookRequestCommand").enummodule
|
67
|
+
HookResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.HookResponse").msgclass
|
63
68
|
PayloadType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.PayloadType").enummodule
|
64
69
|
GrpclbRouteType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.GrpclbRouteType").enummodule
|
65
70
|
end
|
@@ -8,13 +8,13 @@ require 'src/proto/grpc/testing/empty_pb'
|
|
8
8
|
require 'src/proto/grpc/testing/messages_pb'
|
9
9
|
|
10
10
|
|
11
|
-
descriptor_data = "\n!src/proto/grpc/testing/test.proto\x12\x0cgrpc.testing\x1a\"src/proto/grpc/testing/empty.proto\x1a%src/proto/grpc/testing/messages.proto2\xcb\x05\n\x0bTestService\x12\x35\n\tEmptyCall\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty\x12\x46\n\tUnaryCall\x12\x1b.grpc.testing.SimpleRequest\x1a\x1c.grpc.testing.SimpleResponse\x12O\n\x12\x43\x61\x63heableUnaryCall\x12\x1b.grpc.testing.SimpleRequest\x1a\x1c.grpc.testing.SimpleResponse\x12l\n\x13StreamingOutputCall\x12(.grpc.testing.StreamingOutputCallRequest\x1a).grpc.testing.StreamingOutputCallResponse0\x01\x12i\n\x12StreamingInputCall\x12\'.grpc.testing.StreamingInputCallRequest\x1a(.grpc.testing.StreamingInputCallResponse(\x01\x12i\n\x0e\x46ullDuplexCall\x12(.grpc.testing.StreamingOutputCallRequest\x1a).grpc.testing.StreamingOutputCallResponse(\x01\x30\x01\x12i\n\x0eHalfDuplexCall\x12(.grpc.testing.StreamingOutputCallRequest\x1a).grpc.testing.StreamingOutputCallResponse(\x01\x30\x01\x12=\n\x11UnimplementedCall\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty2U\n\x14UnimplementedService\x12=\n\x11UnimplementedCall\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty2\x89\x01\n\x10ReconnectService\x12;\n\x05Start\x12\x1d.grpc.testing.ReconnectParams\x1a\x13.grpc.testing.Empty\x12\x38\n\x04Stop\x12\x13.grpc.testing.Empty\x1a\x1b.grpc.testing.ReconnectInfo2\x86\x02\n\x18LoadBalancerStatsService\x12\x63\n\x0eGetClientStats\x12&.grpc.testing.LoadBalancerStatsRequest\x1a\'.grpc.testing.LoadBalancerStatsResponse\"\x00\x12\x84\x01\n\x19GetClientAccumulatedStats\x12\x31.grpc.testing.LoadBalancerAccumulatedStatsRequest\x1a\x32.grpc.testing.LoadBalancerAccumulatedStatsResponse\"\x00\x32\
|
11
|
+
descriptor_data = "\n!src/proto/grpc/testing/test.proto\x12\x0cgrpc.testing\x1a\"src/proto/grpc/testing/empty.proto\x1a%src/proto/grpc/testing/messages.proto2\xcb\x05\n\x0bTestService\x12\x35\n\tEmptyCall\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty\x12\x46\n\tUnaryCall\x12\x1b.grpc.testing.SimpleRequest\x1a\x1c.grpc.testing.SimpleResponse\x12O\n\x12\x43\x61\x63heableUnaryCall\x12\x1b.grpc.testing.SimpleRequest\x1a\x1c.grpc.testing.SimpleResponse\x12l\n\x13StreamingOutputCall\x12(.grpc.testing.StreamingOutputCallRequest\x1a).grpc.testing.StreamingOutputCallResponse0\x01\x12i\n\x12StreamingInputCall\x12\'.grpc.testing.StreamingInputCallRequest\x1a(.grpc.testing.StreamingInputCallResponse(\x01\x12i\n\x0e\x46ullDuplexCall\x12(.grpc.testing.StreamingOutputCallRequest\x1a).grpc.testing.StreamingOutputCallResponse(\x01\x30\x01\x12i\n\x0eHalfDuplexCall\x12(.grpc.testing.StreamingOutputCallRequest\x1a).grpc.testing.StreamingOutputCallResponse(\x01\x30\x01\x12=\n\x11UnimplementedCall\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty2U\n\x14UnimplementedService\x12=\n\x11UnimplementedCall\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty2\x89\x01\n\x10ReconnectService\x12;\n\x05Start\x12\x1d.grpc.testing.ReconnectParams\x1a\x13.grpc.testing.Empty\x12\x38\n\x04Stop\x12\x13.grpc.testing.Empty\x1a\x1b.grpc.testing.ReconnectInfo2\x86\x02\n\x18LoadBalancerStatsService\x12\x63\n\x0eGetClientStats\x12&.grpc.testing.LoadBalancerStatsRequest\x1a\'.grpc.testing.LoadBalancerStatsResponse\"\x00\x12\x84\x01\n\x19GetClientAccumulatedStats\x12\x31.grpc.testing.LoadBalancerAccumulatedStatsRequest\x1a\x32.grpc.testing.LoadBalancerAccumulatedStatsResponse\"\x00\x32\xcc\x01\n\x0bHookService\x12\x30\n\x04Hook\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty\x12L\n\x0fSetReturnStatus\x12$.grpc.testing.SetReturnStatusRequest\x1a\x13.grpc.testing.Empty\x12=\n\x11\x43learReturnStatus\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty2\xd5\x01\n\x16XdsUpdateHealthService\x12\x36\n\nSetServing\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty\x12\x39\n\rSetNotServing\x12\x13.grpc.testing.Empty\x1a\x13.grpc.testing.Empty\x12H\n\x0fSendHookRequest\x12\x19.grpc.testing.HookRequest\x1a\x1a.grpc.testing.HookResponse2{\n\x1fXdsUpdateClientConfigureService\x12X\n\tConfigure\x12$.grpc.testing.ClientConfigureRequest\x1a%.grpc.testing.ClientConfigureResponseB\x1d\n\x1bio.grpc.testing.integrationb\x06proto3"
|
12
12
|
|
13
13
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
14
14
|
|
15
15
|
begin
|
16
16
|
pool.add_serialized_file(descriptor_data)
|
17
|
-
rescue TypeError
|
17
|
+
rescue TypeError
|
18
18
|
# Compatibility code: will be removed in the next major version.
|
19
19
|
require 'google/protobuf/descriptor_pb'
|
20
20
|
parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
|
@@ -116,6 +116,27 @@ module Grpc
|
|
116
116
|
|
117
117
|
Stub = Service.rpc_stub_class
|
118
118
|
end
|
119
|
+
module HookService
|
120
|
+
# Hook service. Used to keep Kubernetes from shutting the pod down.
|
121
|
+
class Service
|
122
|
+
|
123
|
+
include ::GRPC::GenericService
|
124
|
+
|
125
|
+
self.marshal_class_method = :encode
|
126
|
+
self.unmarshal_class_method = :decode
|
127
|
+
self.service_name = 'grpc.testing.HookService'
|
128
|
+
|
129
|
+
# Sends a request that will "hang" until the return status is set by a call
|
130
|
+
# to a SetReturnStatus
|
131
|
+
rpc :Hook, ::Grpc::Testing::Empty, ::Grpc::Testing::Empty
|
132
|
+
# Sets a return status for pending and upcoming calls to Hook
|
133
|
+
rpc :SetReturnStatus, ::Grpc::Testing::SetReturnStatusRequest, ::Grpc::Testing::Empty
|
134
|
+
# Clears the return status. Incoming calls to Hook will "hang"
|
135
|
+
rpc :ClearReturnStatus, ::Grpc::Testing::Empty, ::Grpc::Testing::Empty
|
136
|
+
end
|
137
|
+
|
138
|
+
Stub = Service.rpc_stub_class
|
139
|
+
end
|
119
140
|
module XdsUpdateHealthService
|
120
141
|
# A service to remotely control health status of an xDS test server.
|
121
142
|
class Service
|
@@ -128,6 +149,7 @@ module Grpc
|
|
128
149
|
|
129
150
|
rpc :SetServing, ::Grpc::Testing::Empty, ::Grpc::Testing::Empty
|
130
151
|
rpc :SetNotServing, ::Grpc::Testing::Empty, ::Grpc::Testing::Empty
|
152
|
+
rpc :SendHookRequest, ::Grpc::Testing::HookRequest, ::Grpc::Testing::HookResponse
|
131
153
|
end
|
132
154
|
|
133
155
|
Stub = Service.rpc_stub_class
|
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.
|
4
|
+
version: 1.60.0
|
5
5
|
platform: x64-mingw-ucrt
|
6
6
|
authors:
|
7
7
|
- gRPC Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: src/ruby/bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-28 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.
|
19
|
+
version: '3.25'
|
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.
|
26
|
+
version: '3.25'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: googleapis-common-protos-types
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -350,7 +350,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
350
350
|
- !ruby/object:Gem::Version
|
351
351
|
version: '0'
|
352
352
|
requirements: []
|
353
|
-
rubygems_version: 3.4.
|
353
|
+
rubygems_version: 3.4.22
|
354
354
|
signing_key:
|
355
355
|
specification_version: 4
|
356
356
|
summary: GRPC system in Ruby
|