grpc 1.45.0-x86-mingw32 → 1.53.0-x86-mingw32

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/{grpc_c.32.ruby → grpc_c.32-msvcrt.ruby} +0 -0
  3. data/grpc_c.64-ucrt.ruby +0 -0
  4. data/src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.clang +2 -0
  5. data/src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.gcc +7 -0
  6. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.clang +2 -0
  7. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.gcc +7 -0
  8. data/src/ruby/ext/grpc/ext-export.gcc +1 -1
  9. data/src/ruby/ext/grpc/extconf.rb +98 -20
  10. data/src/ruby/ext/grpc/rb_call.c +1 -0
  11. data/src/ruby/ext/grpc/rb_channel.c +1 -0
  12. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  13. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  14. data/src/ruby/ext/grpc/rb_grpc.c +1 -0
  15. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +38 -38
  16. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +60 -60
  17. data/src/ruby/ext/grpc/rb_loader.c +6 -2
  18. data/src/ruby/lib/grpc/2.6/grpc_c.so +0 -0
  19. data/src/ruby/lib/grpc/2.7/grpc_c.so +0 -0
  20. data/src/ruby/lib/grpc/3.0/grpc_c.so +0 -0
  21. data/src/ruby/lib/grpc/3.1/grpc_c.so +0 -0
  22. data/src/ruby/lib/grpc/3.2/grpc_c.so +0 -0
  23. data/src/ruby/lib/grpc/errors.rb +1 -1
  24. data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
  25. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  26. data/src/ruby/lib/grpc/grpc.rb +1 -1
  27. data/src/ruby/lib/grpc/version.rb +1 -1
  28. data/src/ruby/pb/generate_proto_ruby.sh +1 -6
  29. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
  30. data/src/ruby/spec/channel_spec.rb +5 -43
  31. data/src/ruby/spec/client_server_spec.rb +20 -8
  32. data/src/ruby/spec/generic/active_call_spec.rb +12 -3
  33. data/src/ruby/spec/generic/client_stub_spec.rb +23 -23
  34. data/src/ruby/spec/generic/server_interceptors_spec.rb +1 -1
  35. data/src/ruby/spec/user_agent_spec.rb +1 -1
  36. metadata +56 -47
  37. data/src/ruby/lib/grpc/2.5/grpc_c.so +0 -0
  38. /data/{grpc_c.64.ruby → grpc_c.64-msvcrt.ruby} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a1da9f66af6cba84f9ae845d82f30c7b3568d370650603a1a3286d78d54f8d6
4
- data.tar.gz: ef06cd82b523aee3b58618c1c81467151e4203af252900bc592b0f118084caa3
3
+ metadata.gz: 3ef40d8601435e190fe9de0e01b65e2e47f2d4e91d972beea2bcaf477a89faa6
4
+ data.tar.gz: e21541a3af8827de1d3e123de07517622bbdaeac7920316fa868f1b64713a44f
5
5
  SHA512:
6
- metadata.gz: 588c2642abb7dd1cca3473232e08bfe9355cd3e006a54a304a421a785a864e675cad3b21dcfa81e85856611db026347c9eddcff7ccdfce91c418692b9bce90c8
7
- data.tar.gz: 749a63a9655609d0c4e79d131fce43a0c276d8f3bfd9a95413e8a4159c21ea03b1d49d4e0b1c17a50e12f197b487e047ed55aca193b88fe0b46853a633357a78
6
+ metadata.gz: 86a3de8e24b172ce18c7cbb67b3ed3d408c910a429538676908eb5e23dc73b64e353fea035aa9adcc54c400f3ebf03b61eb6016ceff9d719eb0625536d0c2c0b
7
+ data.tar.gz: 3f6d3ce0453de0f3574824c06de0819fbb8b2541275b02c5a9603f2f96cbffd596df3156b064c267f2695291f81049678430a93515b07ad91e7dfaac9464e268
File without changes
@@ -0,0 +1,2 @@
1
+ _Init_grpc_c
2
+ _rb_tr_abi_version
@@ -0,0 +1,7 @@
1
+ grpc_1.0 {
2
+ global:
3
+ Init_grpc_c;
4
+ rb_tr_abi_version;
5
+ local:
6
+ *;
7
+ };
@@ -0,0 +1,2 @@
1
+ _Init_grpc_c
2
+ _ruby_abi_version
@@ -0,0 +1,7 @@
1
+ grpc_1.0 {
2
+ global:
3
+ Init_grpc_c;
4
+ ruby_abi_version;
5
+ local:
6
+ *;
7
+ };
@@ -3,4 +3,4 @@ grpc_1.0 {
3
3
  Init_grpc_c;
4
4
  local:
5
5
  *;
6
- };
6
+ };
@@ -16,10 +16,13 @@ require 'etc'
16
16
  require 'mkmf'
17
17
 
18
18
  windows = RUBY_PLATFORM =~ /mingw|mswin/
19
+ windows_ucrt = RUBY_PLATFORM =~ /(mingw|mswin).*ucrt/
19
20
  bsd = RUBY_PLATFORM =~ /bsd/
20
21
  darwin = RUBY_PLATFORM =~ /darwin/
21
22
  linux = RUBY_PLATFORM =~ /linux/
22
23
  cross_compiling = ENV['RCD_HOST_RUBY_VERSION'] # set by rake-compiler-dock in build containers
24
+ # TruffleRuby uses the Sulong LLVM runtime, which is different from Apple's.
25
+ apple_toolchain = darwin && RUBY_ENGINE != 'truffleruby'
23
26
 
24
27
  grpc_root = File.expand_path(File.join(File.dirname(__FILE__), '../../../..'))
25
28
 
@@ -27,30 +30,53 @@ grpc_config = ENV['GRPC_CONFIG'] || 'opt'
27
30
 
28
31
  ENV['MACOSX_DEPLOYMENT_TARGET'] = '10.10'
29
32
 
30
- if ENV['AR'].nil? || ENV['AR'].size == 0
31
- ENV['AR'] = RbConfig::CONFIG['AR']
33
+ def env_unset?(name)
34
+ ENV[name].nil? || ENV[name].size == 0
32
35
  end
33
- if ENV['CC'].nil? || ENV['CC'].size == 0
34
- ENV['CC'] = RbConfig::CONFIG['CC']
36
+
37
+ def rbconfig_set?(name)
38
+ RbConfig::CONFIG[name] && RbConfig::CONFIG[name].size > 0
39
+ end
40
+
41
+ def inherit_rbconfig(name)
42
+ ENV[name] = RbConfig::CONFIG[name] if env_unset?(name) && rbconfig_set?(name)
35
43
  end
36
- if ENV['CXX'].nil? || ENV['CXX'].size == 0
37
- ENV['CXX'] = RbConfig::CONFIG['CXX']
44
+
45
+ def env_append(name, string)
46
+ ENV[name] ||= ''
47
+ ENV[name] += ' ' + string
38
48
  end
39
- if ENV['LD'].nil? || ENV['LD'].size == 0
40
- ENV['LD'] = ENV['CC']
49
+
50
+ inherit_rbconfig 'AR'
51
+ inherit_rbconfig 'CC'
52
+ inherit_rbconfig 'CXX'
53
+ inherit_rbconfig 'RANLIB'
54
+ inherit_rbconfig 'STRIP'
55
+ inherit_rbconfig 'CPPFLAGS'
56
+ inherit_rbconfig 'LDFLAGS'
57
+
58
+ ENV['LD'] = ENV['CC'] if env_unset?('LD')
59
+ ENV['LDXX'] = ENV['CXX'] if env_unset?('LDXX')
60
+
61
+ if RUBY_ENGINE == 'truffleruby'
62
+ # ensure we can find the system's OpenSSL
63
+ env_append 'CPPFLAGS', RbConfig::CONFIG['cppflags']
41
64
  end
42
65
 
43
- if darwin && !cross_compiling
66
+ if apple_toolchain && !cross_compiling
44
67
  ENV['AR'] = 'libtool'
45
68
  ENV['ARFLAGS'] = '-o'
46
69
  end
47
70
 
48
- ENV['EMBED_OPENSSL'] = 'true'
49
- ENV['EMBED_ZLIB'] = 'true'
71
+ # Don't embed on TruffleRuby (constant-time crypto is unsafe with Sulong, slow build times)
72
+ ENV['EMBED_OPENSSL'] = (RUBY_ENGINE != 'truffleruby').to_s
73
+ # Don't embed on TruffleRuby (the system zlib is already linked for the zlib C extension, slow build times)
74
+ ENV['EMBED_ZLIB'] = (RUBY_ENGINE != 'truffleruby').to_s
75
+
50
76
  ENV['EMBED_CARES'] = 'true'
51
77
 
52
78
  ENV['ARCH_FLAGS'] = RbConfig::CONFIG['ARCH_FLAG']
53
- if darwin && !cross_compiling
79
+ if apple_toolchain && !cross_compiling
54
80
  if RUBY_PLATFORM =~ /arm64/
55
81
  ENV['ARCH_FLAGS'] = '-arch arm64'
56
82
  else
@@ -58,9 +84,11 @@ if darwin && !cross_compiling
58
84
  end
59
85
  end
60
86
 
61
- ENV['CPPFLAGS'] = '-DGPR_BACKWARDS_COMPATIBILITY_MODE'
62
- ENV['CPPFLAGS'] += ' -DGRPC_XDS_USER_AGENT_NAME_SUFFIX="\"RUBY\"" '
63
- ENV['CPPFLAGS'] += ' -DGRPC_XDS_USER_AGENT_VERSION_SUFFIX="\"1.45.0\"" '
87
+ env_append 'CPPFLAGS', '-DGPR_BACKWARDS_COMPATIBILITY_MODE'
88
+ env_append 'CPPFLAGS', '-DGRPC_XDS_USER_AGENT_NAME_SUFFIX="\"RUBY\""'
89
+
90
+ require_relative '../../lib/grpc/version'
91
+ env_append 'CPPFLAGS', '-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX="\"' + GRPC::VERSION + '\""'
64
92
 
65
93
  output_dir = File.expand_path(RbConfig::CONFIG['topdir'])
66
94
  grpc_lib_dir = File.join(output_dir, 'libs', grpc_config)
@@ -82,11 +110,39 @@ unless windows
82
110
  exit 1 unless $? == 0
83
111
  end
84
112
 
113
+ $CFLAGS << ' -DGRPC_RUBY_WINDOWS_UCRT' if windows_ucrt
85
114
  $CFLAGS << ' -I' + File.join(grpc_root, 'include')
86
115
 
87
- ext_export_file = File.join(grpc_root, 'src', 'ruby', 'ext', 'grpc', 'ext-export')
116
+ def have_ruby_abi_version()
117
+ return true if RUBY_ENGINE == 'truffleruby'
118
+ # ruby_abi_version is only available in development versions: https://github.com/ruby/ruby/pull/6231
119
+ return false if RUBY_PATCHLEVEL >= 0
120
+
121
+ m = /(\d+)\.(\d+)/.match(RUBY_VERSION)
122
+ if m.nil?
123
+ puts "Failed to parse ruby version: #{RUBY_VERSION}. Assuming ruby_abi_version symbol is NOT present."
124
+ return false
125
+ end
126
+ major = m[1].to_i
127
+ minor = m[2].to_i
128
+ if major >= 3 and minor >= 2
129
+ puts "Ruby version #{RUBY_VERSION} >= 3.2. Assuming ruby_abi_version symbol is present."
130
+ return true
131
+ end
132
+ puts "Ruby version #{RUBY_VERSION} < 3.2. Assuming ruby_abi_version symbol is NOT present."
133
+ false
134
+ end
135
+
136
+ def ext_export_filename()
137
+ name = 'ext-export'
138
+ name += '-truffleruby' if RUBY_ENGINE == 'truffleruby'
139
+ name += '-with-ruby-abi-version' if have_ruby_abi_version()
140
+ name
141
+ end
142
+
143
+ ext_export_file = File.join(grpc_root, 'src', 'ruby', 'ext', 'grpc', ext_export_filename())
88
144
  $LDFLAGS << ' -Wl,--version-script="' + ext_export_file + '.gcc"' if linux
89
- $LDFLAGS << ' -Wl,-exported_symbols_list,"' + ext_export_file + '.clang"' if darwin
145
+ $LDFLAGS << ' -Wl,-exported_symbols_list,"' + ext_export_file + '.clang"' if apple_toolchain
90
146
 
91
147
  $LDFLAGS << ' ' + File.join(grpc_lib_dir, 'libgrpc.a') unless windows
92
148
  if grpc_config == 'gcov'
@@ -99,10 +155,13 @@ if grpc_config == 'dbg'
99
155
  end
100
156
 
101
157
  $LDFLAGS << ' -Wl,-wrap,memcpy' if linux
102
- $LDFLAGS << ' -static-libgcc -static-libstdc++' if linux
158
+ # Do not statically link standard libraries on TruffleRuby as this does not work when compiling to bitcode
159
+ if linux && RUBY_ENGINE != 'truffleruby'
160
+ $LDFLAGS << ' -static-libgcc -static-libstdc++'
161
+ end
103
162
  $LDFLAGS << ' -static' if windows
104
163
 
105
- $CFLAGS << ' -std=c99 '
164
+ $CFLAGS << ' -std=c11 '
106
165
  $CFLAGS << ' -Wall '
107
166
  $CFLAGS << ' -Wextra '
108
167
  $CFLAGS << ' -pedantic '
@@ -112,7 +171,7 @@ puts 'Generating Makefile for ' + output
112
171
  create_makefile(output)
113
172
 
114
173
  strip_tool = RbConfig::CONFIG['STRIP']
115
- strip_tool += ' -x' if darwin
174
+ strip_tool += ' -x' if apple_toolchain
116
175
 
117
176
  if grpc_config == 'opt'
118
177
  File.open('Makefile.new', 'w') do |o|
@@ -128,3 +187,22 @@ if grpc_config == 'opt'
128
187
  end
129
188
  File.rename('Makefile.new', 'Makefile')
130
189
  end
190
+ if ENV['GRPC_RUBY_TEST_ONLY_WORKAROUND_MAKE_INSTALL_BUG']
191
+ # Note: this env var setting is intended to work around a problem observed
192
+ # with the ginstall command on grpc's macos automated test infrastructure,
193
+ # and is not guaranteed to work in the wild.
194
+ # Also see https://github.com/rake-compiler/rake-compiler/issues/210.
195
+ puts 'Overriding the generated Makefile install target to use cp'
196
+ File.open('Makefile.new', 'w') do |o|
197
+ File.foreach('Makefile') do |i|
198
+ if i.start_with?('INSTALL_PROG = ')
199
+ override = 'INSTALL_PROG = cp'
200
+ puts "Replacing generated Makefile line: |#{i}|, with: |#{override}|"
201
+ o.puts override
202
+ else
203
+ o.puts i
204
+ end
205
+ end
206
+ end
207
+ File.rename('Makefile.new', 'Makefile')
208
+ end
@@ -973,6 +973,7 @@ void Init_grpc_call() {
973
973
  grpc_rb_cCall = rb_define_class_under(grpc_rb_mGrpcCore, "Call", rb_cObject);
974
974
  grpc_rb_cMdAry =
975
975
  rb_define_class_under(grpc_rb_mGrpcCore, "MetadataArray", rb_cObject);
976
+ rb_undef_alloc_func(grpc_rb_cMdAry);
976
977
 
977
978
  /* Prevent allocation or inialization of the Call class */
978
979
  rb_define_alloc_func(grpc_rb_cCall, grpc_rb_cannot_alloc);
@@ -804,6 +804,7 @@ static void Init_grpc_connectivity_states() {
804
804
 
805
805
  void Init_grpc_channel() {
806
806
  grpc_rb_cChannelArgs = rb_define_class("TmpChannelArgs", rb_cObject);
807
+ rb_undef_alloc_func(grpc_rb_cChannelArgs);
807
808
  grpc_rb_cChannel =
808
809
  rb_define_class_under(grpc_rb_mGrpcCore, "Channel", rb_cObject);
809
810
 
@@ -111,6 +111,7 @@ typedef struct channel_convert_params {
111
111
  static VALUE grpc_rb_hash_convert_to_channel_args0(VALUE as_value) {
112
112
  ID id_size = rb_intern("size");
113
113
  VALUE grpc_rb_cChannelArgs = rb_define_class("TmpChannelArgs", rb_cObject);
114
+ rb_undef_alloc_func(grpc_rb_cChannelArgs);
114
115
  channel_convert_params* params = (channel_convert_params*)as_value;
115
116
  size_t num_args = 0;
116
117
 
@@ -29,7 +29,7 @@
29
29
  #include <grpc/compression.h>
30
30
  #include <grpc/grpc.h>
31
31
  #include <grpc/impl/codegen/compression_types.h>
32
- #include <grpc/impl/codegen/grpc_types.h>
32
+ #include <grpc/impl/grpc_types.h>
33
33
  #include <grpc/support/alloc.h>
34
34
  #include <grpc/support/log.h>
35
35
  #include <grpc/support/string_util.h>
@@ -198,6 +198,7 @@ static void Init_grpc_time_consts() {
198
198
  rb_define_module_under(grpc_rb_mGrpcCore, "TimeConsts");
199
199
  grpc_rb_cTimeVal =
200
200
  rb_define_class_under(grpc_rb_mGrpcCore, "TimeSpec", rb_cObject);
201
+ rb_undef_alloc_func(grpc_rb_cTimeVal);
201
202
  zero_realtime = gpr_time_0(GPR_CLOCK_REALTIME);
202
203
  inf_future_realtime = gpr_inf_future(GPR_CLOCK_REALTIME);
203
204
  inf_past_realtime = gpr_inf_past(GPR_CLOCK_REALTIME);
@@ -22,6 +22,17 @@
22
22
 
23
23
  #include "rb_grpc_imports.generated.h"
24
24
 
25
+ grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
26
+ grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
27
+ grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
28
+ grpc_byte_buffer_length_type grpc_byte_buffer_length_import;
29
+ grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import;
30
+ grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import;
31
+ grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
32
+ grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
33
+ grpc_byte_buffer_reader_peek_type grpc_byte_buffer_reader_peek_import;
34
+ grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
35
+ grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
25
36
  grpc_compression_algorithm_is_message_type grpc_compression_algorithm_is_message_import;
26
37
  grpc_compression_algorithm_is_stream_type grpc_compression_algorithm_is_stream_import;
27
38
  grpc_compression_algorithm_parse_type grpc_compression_algorithm_parse_import;
@@ -35,7 +46,6 @@ grpc_metadata_array_init_type grpc_metadata_array_init_import;
35
46
  grpc_metadata_array_destroy_type grpc_metadata_array_destroy_import;
36
47
  grpc_call_details_init_type grpc_call_details_init_import;
37
48
  grpc_call_details_destroy_type grpc_call_details_destroy_import;
38
- grpc_register_plugin_type grpc_register_plugin_import;
39
49
  grpc_init_type grpc_init_import;
40
50
  grpc_shutdown_type grpc_shutdown_import;
41
51
  grpc_is_initialized_type grpc_is_initialized_import;
@@ -187,24 +197,6 @@ grpc_authorization_policy_provider_static_data_create_type grpc_authorization_po
187
197
  grpc_authorization_policy_provider_file_watcher_create_type grpc_authorization_policy_provider_file_watcher_create_import;
188
198
  grpc_authorization_policy_provider_release_type grpc_authorization_policy_provider_release_import;
189
199
  grpc_tls_credentials_options_set_tls_session_key_log_file_path_type grpc_tls_credentials_options_set_tls_session_key_log_file_path_import;
190
- grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
191
- grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
192
- grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
193
- grpc_byte_buffer_length_type grpc_byte_buffer_length_import;
194
- grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import;
195
- grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import;
196
- grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
197
- grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
198
- grpc_byte_buffer_reader_peek_type grpc_byte_buffer_reader_peek_import;
199
- grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
200
- grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
201
- gpr_log_severity_string_type gpr_log_severity_string_import;
202
- gpr_log_type gpr_log_import;
203
- gpr_should_log_type gpr_should_log_import;
204
- gpr_log_message_type gpr_log_message_import;
205
- gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
206
- gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
207
- gpr_set_log_function_type gpr_set_log_function_import;
208
200
  grpc_slice_ref_type grpc_slice_ref_import;
209
201
  grpc_slice_unref_type grpc_slice_unref_import;
210
202
  grpc_slice_copy_type grpc_slice_copy_import;
@@ -257,6 +249,14 @@ gpr_malloc_aligned_type gpr_malloc_aligned_import;
257
249
  gpr_free_aligned_type gpr_free_aligned_import;
258
250
  gpr_cpu_num_cores_type gpr_cpu_num_cores_import;
259
251
  gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import;
252
+ gpr_log_severity_string_type gpr_log_severity_string_import;
253
+ gpr_log_type gpr_log_import;
254
+ gpr_should_log_type gpr_should_log_import;
255
+ gpr_log_message_type gpr_log_message_import;
256
+ gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
257
+ gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
258
+ gpr_set_log_function_type gpr_set_log_function_import;
259
+ gpr_assertion_failed_type gpr_assertion_failed_import;
260
260
  gpr_format_message_type gpr_format_message_import;
261
261
  gpr_strdup_type gpr_strdup_import;
262
262
  gpr_asprintf_type gpr_asprintf_import;
@@ -308,6 +308,17 @@ gpr_sleep_until_type gpr_sleep_until_import;
308
308
  gpr_timespec_to_micros_type gpr_timespec_to_micros_import;
309
309
 
310
310
  void grpc_rb_load_imports(HMODULE library) {
311
+ grpc_raw_byte_buffer_create_import = (grpc_raw_byte_buffer_create_type) GetProcAddress(library, "grpc_raw_byte_buffer_create");
312
+ grpc_raw_compressed_byte_buffer_create_import = (grpc_raw_compressed_byte_buffer_create_type) GetProcAddress(library, "grpc_raw_compressed_byte_buffer_create");
313
+ grpc_byte_buffer_copy_import = (grpc_byte_buffer_copy_type) GetProcAddress(library, "grpc_byte_buffer_copy");
314
+ grpc_byte_buffer_length_import = (grpc_byte_buffer_length_type) GetProcAddress(library, "grpc_byte_buffer_length");
315
+ grpc_byte_buffer_destroy_import = (grpc_byte_buffer_destroy_type) GetProcAddress(library, "grpc_byte_buffer_destroy");
316
+ grpc_byte_buffer_reader_init_import = (grpc_byte_buffer_reader_init_type) GetProcAddress(library, "grpc_byte_buffer_reader_init");
317
+ grpc_byte_buffer_reader_destroy_import = (grpc_byte_buffer_reader_destroy_type) GetProcAddress(library, "grpc_byte_buffer_reader_destroy");
318
+ grpc_byte_buffer_reader_next_import = (grpc_byte_buffer_reader_next_type) GetProcAddress(library, "grpc_byte_buffer_reader_next");
319
+ grpc_byte_buffer_reader_peek_import = (grpc_byte_buffer_reader_peek_type) GetProcAddress(library, "grpc_byte_buffer_reader_peek");
320
+ grpc_byte_buffer_reader_readall_import = (grpc_byte_buffer_reader_readall_type) GetProcAddress(library, "grpc_byte_buffer_reader_readall");
321
+ grpc_raw_byte_buffer_from_reader_import = (grpc_raw_byte_buffer_from_reader_type) GetProcAddress(library, "grpc_raw_byte_buffer_from_reader");
311
322
  grpc_compression_algorithm_is_message_import = (grpc_compression_algorithm_is_message_type) GetProcAddress(library, "grpc_compression_algorithm_is_message");
312
323
  grpc_compression_algorithm_is_stream_import = (grpc_compression_algorithm_is_stream_type) GetProcAddress(library, "grpc_compression_algorithm_is_stream");
313
324
  grpc_compression_algorithm_parse_import = (grpc_compression_algorithm_parse_type) GetProcAddress(library, "grpc_compression_algorithm_parse");
@@ -321,7 +332,6 @@ void grpc_rb_load_imports(HMODULE library) {
321
332
  grpc_metadata_array_destroy_import = (grpc_metadata_array_destroy_type) GetProcAddress(library, "grpc_metadata_array_destroy");
322
333
  grpc_call_details_init_import = (grpc_call_details_init_type) GetProcAddress(library, "grpc_call_details_init");
323
334
  grpc_call_details_destroy_import = (grpc_call_details_destroy_type) GetProcAddress(library, "grpc_call_details_destroy");
324
- grpc_register_plugin_import = (grpc_register_plugin_type) GetProcAddress(library, "grpc_register_plugin");
325
335
  grpc_init_import = (grpc_init_type) GetProcAddress(library, "grpc_init");
326
336
  grpc_shutdown_import = (grpc_shutdown_type) GetProcAddress(library, "grpc_shutdown");
327
337
  grpc_is_initialized_import = (grpc_is_initialized_type) GetProcAddress(library, "grpc_is_initialized");
@@ -473,24 +483,6 @@ void grpc_rb_load_imports(HMODULE library) {
473
483
  grpc_authorization_policy_provider_file_watcher_create_import = (grpc_authorization_policy_provider_file_watcher_create_type) GetProcAddress(library, "grpc_authorization_policy_provider_file_watcher_create");
474
484
  grpc_authorization_policy_provider_release_import = (grpc_authorization_policy_provider_release_type) GetProcAddress(library, "grpc_authorization_policy_provider_release");
475
485
  grpc_tls_credentials_options_set_tls_session_key_log_file_path_import = (grpc_tls_credentials_options_set_tls_session_key_log_file_path_type) GetProcAddress(library, "grpc_tls_credentials_options_set_tls_session_key_log_file_path");
476
- grpc_raw_byte_buffer_create_import = (grpc_raw_byte_buffer_create_type) GetProcAddress(library, "grpc_raw_byte_buffer_create");
477
- grpc_raw_compressed_byte_buffer_create_import = (grpc_raw_compressed_byte_buffer_create_type) GetProcAddress(library, "grpc_raw_compressed_byte_buffer_create");
478
- grpc_byte_buffer_copy_import = (grpc_byte_buffer_copy_type) GetProcAddress(library, "grpc_byte_buffer_copy");
479
- grpc_byte_buffer_length_import = (grpc_byte_buffer_length_type) GetProcAddress(library, "grpc_byte_buffer_length");
480
- grpc_byte_buffer_destroy_import = (grpc_byte_buffer_destroy_type) GetProcAddress(library, "grpc_byte_buffer_destroy");
481
- grpc_byte_buffer_reader_init_import = (grpc_byte_buffer_reader_init_type) GetProcAddress(library, "grpc_byte_buffer_reader_init");
482
- grpc_byte_buffer_reader_destroy_import = (grpc_byte_buffer_reader_destroy_type) GetProcAddress(library, "grpc_byte_buffer_reader_destroy");
483
- grpc_byte_buffer_reader_next_import = (grpc_byte_buffer_reader_next_type) GetProcAddress(library, "grpc_byte_buffer_reader_next");
484
- grpc_byte_buffer_reader_peek_import = (grpc_byte_buffer_reader_peek_type) GetProcAddress(library, "grpc_byte_buffer_reader_peek");
485
- grpc_byte_buffer_reader_readall_import = (grpc_byte_buffer_reader_readall_type) GetProcAddress(library, "grpc_byte_buffer_reader_readall");
486
- grpc_raw_byte_buffer_from_reader_import = (grpc_raw_byte_buffer_from_reader_type) GetProcAddress(library, "grpc_raw_byte_buffer_from_reader");
487
- gpr_log_severity_string_import = (gpr_log_severity_string_type) GetProcAddress(library, "gpr_log_severity_string");
488
- gpr_log_import = (gpr_log_type) GetProcAddress(library, "gpr_log");
489
- gpr_should_log_import = (gpr_should_log_type) GetProcAddress(library, "gpr_should_log");
490
- gpr_log_message_import = (gpr_log_message_type) GetProcAddress(library, "gpr_log_message");
491
- gpr_set_log_verbosity_import = (gpr_set_log_verbosity_type) GetProcAddress(library, "gpr_set_log_verbosity");
492
- gpr_log_verbosity_init_import = (gpr_log_verbosity_init_type) GetProcAddress(library, "gpr_log_verbosity_init");
493
- gpr_set_log_function_import = (gpr_set_log_function_type) GetProcAddress(library, "gpr_set_log_function");
494
486
  grpc_slice_ref_import = (grpc_slice_ref_type) GetProcAddress(library, "grpc_slice_ref");
495
487
  grpc_slice_unref_import = (grpc_slice_unref_type) GetProcAddress(library, "grpc_slice_unref");
496
488
  grpc_slice_copy_import = (grpc_slice_copy_type) GetProcAddress(library, "grpc_slice_copy");
@@ -543,6 +535,14 @@ void grpc_rb_load_imports(HMODULE library) {
543
535
  gpr_free_aligned_import = (gpr_free_aligned_type) GetProcAddress(library, "gpr_free_aligned");
544
536
  gpr_cpu_num_cores_import = (gpr_cpu_num_cores_type) GetProcAddress(library, "gpr_cpu_num_cores");
545
537
  gpr_cpu_current_cpu_import = (gpr_cpu_current_cpu_type) GetProcAddress(library, "gpr_cpu_current_cpu");
538
+ gpr_log_severity_string_import = (gpr_log_severity_string_type) GetProcAddress(library, "gpr_log_severity_string");
539
+ gpr_log_import = (gpr_log_type) GetProcAddress(library, "gpr_log");
540
+ gpr_should_log_import = (gpr_should_log_type) GetProcAddress(library, "gpr_should_log");
541
+ gpr_log_message_import = (gpr_log_message_type) GetProcAddress(library, "gpr_log_message");
542
+ gpr_set_log_verbosity_import = (gpr_set_log_verbosity_type) GetProcAddress(library, "gpr_set_log_verbosity");
543
+ gpr_log_verbosity_init_import = (gpr_log_verbosity_init_type) GetProcAddress(library, "gpr_log_verbosity_init");
544
+ gpr_set_log_function_import = (gpr_set_log_function_type) GetProcAddress(library, "gpr_set_log_function");
545
+ gpr_assertion_failed_import = (gpr_assertion_failed_type) GetProcAddress(library, "gpr_assertion_failed");
546
546
  gpr_format_message_import = (gpr_format_message_type) GetProcAddress(library, "gpr_format_message");
547
547
  gpr_strdup_import = (gpr_strdup_type) GetProcAddress(library, "gpr_strdup");
548
548
  gpr_asprintf_import = (gpr_asprintf_type) GetProcAddress(library, "gpr_asprintf");
@@ -25,22 +25,55 @@
25
25
 
26
26
  #include <windows.h>
27
27
 
28
+ #include <grpc/byte_buffer.h>
28
29
  #include <grpc/compression.h>
29
30
  #include <grpc/grpc.h>
30
31
  #include <grpc/grpc_posix.h>
31
32
  #include <grpc/grpc_security.h>
32
- #include <grpc/impl/codegen/byte_buffer.h>
33
- #include <grpc/impl/codegen/log.h>
34
33
  #include <grpc/slice.h>
35
34
  #include <grpc/slice_buffer.h>
36
35
  #include <grpc/support/alloc.h>
37
36
  #include <grpc/support/cpu.h>
37
+ #include <grpc/support/log.h>
38
38
  #include <grpc/support/log_windows.h>
39
39
  #include <grpc/support/string_util.h>
40
40
  #include <grpc/support/sync.h>
41
41
  #include <grpc/support/thd_id.h>
42
42
  #include <grpc/support/time.h>
43
43
 
44
+ typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_create_type)(grpc_slice* slices, size_t nslices);
45
+ extern grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
46
+ #define grpc_raw_byte_buffer_create grpc_raw_byte_buffer_create_import
47
+ typedef grpc_byte_buffer*(*grpc_raw_compressed_byte_buffer_create_type)(grpc_slice* slices, size_t nslices, grpc_compression_algorithm compression);
48
+ extern grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
49
+ #define grpc_raw_compressed_byte_buffer_create grpc_raw_compressed_byte_buffer_create_import
50
+ typedef grpc_byte_buffer*(*grpc_byte_buffer_copy_type)(grpc_byte_buffer* bb);
51
+ extern grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
52
+ #define grpc_byte_buffer_copy grpc_byte_buffer_copy_import
53
+ typedef size_t(*grpc_byte_buffer_length_type)(grpc_byte_buffer* bb);
54
+ extern grpc_byte_buffer_length_type grpc_byte_buffer_length_import;
55
+ #define grpc_byte_buffer_length grpc_byte_buffer_length_import
56
+ typedef void(*grpc_byte_buffer_destroy_type)(grpc_byte_buffer* bb);
57
+ extern grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import;
58
+ #define grpc_byte_buffer_destroy grpc_byte_buffer_destroy_import
59
+ typedef int(*grpc_byte_buffer_reader_init_type)(grpc_byte_buffer_reader* reader, grpc_byte_buffer* buffer);
60
+ extern grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import;
61
+ #define grpc_byte_buffer_reader_init grpc_byte_buffer_reader_init_import
62
+ typedef void(*grpc_byte_buffer_reader_destroy_type)(grpc_byte_buffer_reader* reader);
63
+ extern grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
64
+ #define grpc_byte_buffer_reader_destroy grpc_byte_buffer_reader_destroy_import
65
+ typedef int(*grpc_byte_buffer_reader_next_type)(grpc_byte_buffer_reader* reader, grpc_slice* slice);
66
+ extern grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
67
+ #define grpc_byte_buffer_reader_next grpc_byte_buffer_reader_next_import
68
+ typedef int(*grpc_byte_buffer_reader_peek_type)(grpc_byte_buffer_reader* reader, grpc_slice** slice);
69
+ extern grpc_byte_buffer_reader_peek_type grpc_byte_buffer_reader_peek_import;
70
+ #define grpc_byte_buffer_reader_peek grpc_byte_buffer_reader_peek_import
71
+ typedef grpc_slice(*grpc_byte_buffer_reader_readall_type)(grpc_byte_buffer_reader* reader);
72
+ extern grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
73
+ #define grpc_byte_buffer_reader_readall grpc_byte_buffer_reader_readall_import
74
+ typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_from_reader_type)(grpc_byte_buffer_reader* reader);
75
+ extern grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
76
+ #define grpc_raw_byte_buffer_from_reader grpc_raw_byte_buffer_from_reader_import
44
77
  typedef int(*grpc_compression_algorithm_is_message_type)(grpc_compression_algorithm algorithm);
45
78
  extern grpc_compression_algorithm_is_message_type grpc_compression_algorithm_is_message_import;
46
79
  #define grpc_compression_algorithm_is_message grpc_compression_algorithm_is_message_import
@@ -80,9 +113,6 @@ extern grpc_call_details_init_type grpc_call_details_init_import;
80
113
  typedef void(*grpc_call_details_destroy_type)(grpc_call_details* details);
81
114
  extern grpc_call_details_destroy_type grpc_call_details_destroy_import;
82
115
  #define grpc_call_details_destroy grpc_call_details_destroy_import
83
- typedef void(*grpc_register_plugin_type)(void (*init)(void), void (*destroy)(void));
84
- extern grpc_register_plugin_type grpc_register_plugin_import;
85
- #define grpc_register_plugin grpc_register_plugin_import
86
116
  typedef void(*grpc_init_type)(void);
87
117
  extern grpc_init_type grpc_init_import;
88
118
  #define grpc_init grpc_init_import
@@ -278,7 +308,7 @@ extern grpc_resource_quota_resize_type grpc_resource_quota_resize_import;
278
308
  typedef void(*grpc_resource_quota_set_max_threads_type)(grpc_resource_quota* resource_quota, int new_max_threads);
279
309
  extern grpc_resource_quota_set_max_threads_type grpc_resource_quota_set_max_threads_import;
280
310
  #define grpc_resource_quota_set_max_threads grpc_resource_quota_set_max_threads_import
281
- typedef grpc_slice(*grpc_dump_xds_configs_type)();
311
+ typedef grpc_slice(*grpc_dump_xds_configs_type)(void);
282
312
  extern grpc_dump_xds_configs_type grpc_dump_xds_configs_import;
283
313
  #define grpc_dump_xds_configs grpc_dump_xds_configs_import
284
314
  typedef const grpc_arg_pointer_vtable*(*grpc_resource_quota_arg_vtable_type)(void);
@@ -536,60 +566,6 @@ extern grpc_authorization_policy_provider_release_type grpc_authorization_policy
536
566
  typedef void(*grpc_tls_credentials_options_set_tls_session_key_log_file_path_type)(grpc_tls_credentials_options* options, const char* path);
537
567
  extern grpc_tls_credentials_options_set_tls_session_key_log_file_path_type grpc_tls_credentials_options_set_tls_session_key_log_file_path_import;
538
568
  #define grpc_tls_credentials_options_set_tls_session_key_log_file_path grpc_tls_credentials_options_set_tls_session_key_log_file_path_import
539
- typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_create_type)(grpc_slice* slices, size_t nslices);
540
- extern grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
541
- #define grpc_raw_byte_buffer_create grpc_raw_byte_buffer_create_import
542
- typedef grpc_byte_buffer*(*grpc_raw_compressed_byte_buffer_create_type)(grpc_slice* slices, size_t nslices, grpc_compression_algorithm compression);
543
- extern grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
544
- #define grpc_raw_compressed_byte_buffer_create grpc_raw_compressed_byte_buffer_create_import
545
- typedef grpc_byte_buffer*(*grpc_byte_buffer_copy_type)(grpc_byte_buffer* bb);
546
- extern grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
547
- #define grpc_byte_buffer_copy grpc_byte_buffer_copy_import
548
- typedef size_t(*grpc_byte_buffer_length_type)(grpc_byte_buffer* bb);
549
- extern grpc_byte_buffer_length_type grpc_byte_buffer_length_import;
550
- #define grpc_byte_buffer_length grpc_byte_buffer_length_import
551
- typedef void(*grpc_byte_buffer_destroy_type)(grpc_byte_buffer* bb);
552
- extern grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import;
553
- #define grpc_byte_buffer_destroy grpc_byte_buffer_destroy_import
554
- typedef int(*grpc_byte_buffer_reader_init_type)(grpc_byte_buffer_reader* reader, grpc_byte_buffer* buffer);
555
- extern grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import;
556
- #define grpc_byte_buffer_reader_init grpc_byte_buffer_reader_init_import
557
- typedef void(*grpc_byte_buffer_reader_destroy_type)(grpc_byte_buffer_reader* reader);
558
- extern grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
559
- #define grpc_byte_buffer_reader_destroy grpc_byte_buffer_reader_destroy_import
560
- typedef int(*grpc_byte_buffer_reader_next_type)(grpc_byte_buffer_reader* reader, grpc_slice* slice);
561
- extern grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
562
- #define grpc_byte_buffer_reader_next grpc_byte_buffer_reader_next_import
563
- typedef int(*grpc_byte_buffer_reader_peek_type)(grpc_byte_buffer_reader* reader, grpc_slice** slice);
564
- extern grpc_byte_buffer_reader_peek_type grpc_byte_buffer_reader_peek_import;
565
- #define grpc_byte_buffer_reader_peek grpc_byte_buffer_reader_peek_import
566
- typedef grpc_slice(*grpc_byte_buffer_reader_readall_type)(grpc_byte_buffer_reader* reader);
567
- extern grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
568
- #define grpc_byte_buffer_reader_readall grpc_byte_buffer_reader_readall_import
569
- typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_from_reader_type)(grpc_byte_buffer_reader* reader);
570
- extern grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
571
- #define grpc_raw_byte_buffer_from_reader grpc_raw_byte_buffer_from_reader_import
572
- typedef const char*(*gpr_log_severity_string_type)(gpr_log_severity severity);
573
- extern gpr_log_severity_string_type gpr_log_severity_string_import;
574
- #define gpr_log_severity_string gpr_log_severity_string_import
575
- typedef void(*gpr_log_type)(const char* file, int line, gpr_log_severity severity, const char* format, ...) GPR_PRINT_FORMAT_CHECK(4, 5);
576
- extern gpr_log_type gpr_log_import;
577
- #define gpr_log gpr_log_import
578
- typedef int(*gpr_should_log_type)(gpr_log_severity severity);
579
- extern gpr_should_log_type gpr_should_log_import;
580
- #define gpr_should_log gpr_should_log_import
581
- typedef void(*gpr_log_message_type)(const char* file, int line, gpr_log_severity severity, const char* message);
582
- extern gpr_log_message_type gpr_log_message_import;
583
- #define gpr_log_message gpr_log_message_import
584
- typedef void(*gpr_set_log_verbosity_type)(gpr_log_severity min_severity_to_print);
585
- extern gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
586
- #define gpr_set_log_verbosity gpr_set_log_verbosity_import
587
- typedef void(*gpr_log_verbosity_init_type)(void);
588
- extern gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
589
- #define gpr_log_verbosity_init gpr_log_verbosity_init_import
590
- typedef void(*gpr_set_log_function_type)(gpr_log_func func);
591
- extern gpr_set_log_function_type gpr_set_log_function_import;
592
- #define gpr_set_log_function gpr_set_log_function_import
593
569
  typedef grpc_slice(*grpc_slice_ref_type)(grpc_slice s);
594
570
  extern grpc_slice_ref_type grpc_slice_ref_import;
595
571
  #define grpc_slice_ref grpc_slice_ref_import
@@ -746,6 +722,30 @@ extern gpr_cpu_num_cores_type gpr_cpu_num_cores_import;
746
722
  typedef unsigned(*gpr_cpu_current_cpu_type)(void);
747
723
  extern gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import;
748
724
  #define gpr_cpu_current_cpu gpr_cpu_current_cpu_import
725
+ typedef const char*(*gpr_log_severity_string_type)(gpr_log_severity severity);
726
+ extern gpr_log_severity_string_type gpr_log_severity_string_import;
727
+ #define gpr_log_severity_string gpr_log_severity_string_import
728
+ typedef void(*gpr_log_type)(const char* file, int line, gpr_log_severity severity, const char* format, ...) GPR_PRINT_FORMAT_CHECK(4, 5);
729
+ extern gpr_log_type gpr_log_import;
730
+ #define gpr_log gpr_log_import
731
+ typedef int(*gpr_should_log_type)(gpr_log_severity severity);
732
+ extern gpr_should_log_type gpr_should_log_import;
733
+ #define gpr_should_log gpr_should_log_import
734
+ typedef void(*gpr_log_message_type)(const char* file, int line, gpr_log_severity severity, const char* message);
735
+ extern gpr_log_message_type gpr_log_message_import;
736
+ #define gpr_log_message gpr_log_message_import
737
+ typedef void(*gpr_set_log_verbosity_type)(gpr_log_severity min_severity_to_print);
738
+ extern gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
739
+ #define gpr_set_log_verbosity gpr_set_log_verbosity_import
740
+ typedef void(*gpr_log_verbosity_init_type)(void);
741
+ extern gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
742
+ #define gpr_log_verbosity_init gpr_log_verbosity_init_import
743
+ typedef void(*gpr_set_log_function_type)(gpr_log_func func);
744
+ extern gpr_set_log_function_type gpr_set_log_function_import;
745
+ #define gpr_set_log_function gpr_set_log_function_import
746
+ typedef void(*gpr_assertion_failed_type)(const char* filename, int line, const char* message);
747
+ extern gpr_assertion_failed_type gpr_assertion_failed_import;
748
+ #define gpr_assertion_failed gpr_assertion_failed_import
749
749
  typedef char*(*gpr_format_message_type)(int messageid);
750
750
  extern gpr_format_message_type gpr_format_message_import;
751
751
  #define gpr_format_message gpr_format_message_import
@@ -23,9 +23,13 @@
23
23
 
24
24
  int grpc_rb_load_core() {
25
25
  #if GPR_ARCH_64
26
- TCHAR fname[] = _T("grpc_c.64.ruby");
26
+ #if GRPC_RUBY_WINDOWS_UCRT
27
+ TCHAR fname[] = _T("grpc_c.64-ucrt.ruby");
27
28
  #else
28
- TCHAR fname[] = _T("grpc_c.32.ruby");
29
+ TCHAR fname[] = _T("grpc_c.64-msvcrt.ruby");
30
+ #endif
31
+ #else
32
+ TCHAR fname[] = _T("grpc_c.32-msvcrt.ruby");
29
33
  #endif
30
34
  HMODULE module = GetModuleHandle(_T("grpc_c.so"));
31
35
  TCHAR path[2048 + 32] = _T("");
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -43,7 +43,7 @@ module GRPC
43
43
  debug_error_string = nil)
44
44
  exception_message = "#{code}:#{details}"
45
45
  if debug_error_string
46
- exception_message += ". debug_error_string:#{debug_error_string}"
46
+ exception_message += ". debug_error_string:{#{debug_error_string}}"
47
47
  end
48
48
  super(exception_message)
49
49
  @code = code
@@ -164,7 +164,13 @@ module GRPC
164
164
  end
165
165
 
166
166
  def receive_and_check_status
167
- batch_result = @call.run_batch(RECV_STATUS_ON_CLIENT => nil)
167
+ ops = { RECV_STATUS_ON_CLIENT => nil }
168
+ ops[RECV_INITIAL_METADATA] = nil unless @metadata_received
169
+ batch_result = @call.run_batch(ops)
170
+ unless @metadata_received
171
+ @call.metadata = batch_result.metadata
172
+ @metadata_received = true
173
+ end
168
174
  set_input_stream_done
169
175
  attach_status_results_and_complete_call(batch_result)
170
176
  end
@@ -139,6 +139,7 @@ module GRPC
139
139
  end
140
140
 
141
141
  # set_output_stream_done is relevant on client-side
142
+ # rubocop:disable Metrics/PerceivedComplexity
142
143
  def write_loop(requests, is_client: true, set_output_stream_done: nil)
143
144
  GRPC.logger.debug('bidi-write-loop: starting')
144
145
  count = 0
@@ -182,6 +183,7 @@ module GRPC
182
183
  ensure
183
184
  set_output_stream_done.call if is_client
184
185
  end
186
+ # rubocop:enable Metrics/PerceivedComplexity
185
187
 
186
188
  # Provides an enumerator that yields results of remote reads
187
189
  def read_loop(set_input_stream_done, is_client: true)
@@ -16,7 +16,7 @@ begin
16
16
  ruby_version_dirname = /(\d+\.\d+)/.match(RUBY_VERSION).to_s
17
17
  distrib_lib_dir = File.expand_path(ruby_version_dirname,
18
18
  File.dirname(__FILE__))
19
- if File.directory?(distrib_lib_dir)
19
+ if !Dir.glob("#{distrib_lib_dir}/grpc_c*").empty?
20
20
  require "#{distrib_lib_dir}/grpc_c"
21
21
  else
22
22
  require 'grpc/grpc_c'
@@ -14,5 +14,5 @@
14
14
 
15
15
  # GRPC contains the General RPC module.
16
16
  module GRPC
17
- VERSION = '1.45.0'
17
+ VERSION = '1.53.0'
18
18
  end
@@ -34,12 +34,7 @@ $PROTOC -I . \
34
34
  --plugin=$PLUGIN
35
35
 
36
36
  $PROTOC -I . \
37
- src/proto/grpc/core/stats.proto \
38
- --grpc_out=src/ruby/qps \
39
- --ruby_out=src/ruby/qps \
40
- --plugin=$PLUGIN
41
-
42
- $PROTOC -I . \
37
+ -I third_party/protobuf/src \
43
38
  src/proto/grpc/testing/{messages,payloads,stats,benchmark_service,report_qps_scenario_service,worker_service,control}.proto \
44
39
  --grpc_out=src/ruby/qps \
45
40
  --ruby_out=src/ruby/qps \
@@ -104,6 +104,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
104
104
  end
105
105
  add_message "grpc.testing.ClientConfigureResponse" do
106
106
  end
107
+ add_message "grpc.testing.MemorySize" do
108
+ optional :rss, :int64, 1
109
+ end
107
110
  add_enum "grpc.testing.PayloadType" do
108
111
  value :COMPRESSABLE, 0
109
112
  end
@@ -139,6 +142,7 @@ module Grpc
139
142
  ClientConfigureRequest::Metadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientConfigureRequest.Metadata").msgclass
140
143
  ClientConfigureRequest::RpcType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientConfigureRequest.RpcType").enummodule
141
144
  ClientConfigureResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.ClientConfigureResponse").msgclass
145
+ MemorySize = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.MemorySize").msgclass
142
146
  PayloadType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.PayloadType").enummodule
143
147
  GrpclbRouteType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("grpc.testing.GrpclbRouteType").enummodule
144
148
  end
@@ -28,28 +28,6 @@ describe GRPC::Core::Channel do
28
28
  GRPC::Core::ChannelCredentials.new(load_test_certs[0])
29
29
  end
30
30
 
31
- def fork_with_propagated_error_message
32
- pipe_read, pipe_write = IO.pipe
33
- pid = fork do
34
- pipe_read.close
35
- begin
36
- yield
37
- rescue => exc
38
- pipe_write.syswrite(exc.message)
39
- end
40
- pipe_write.close
41
- end
42
- pipe_write.close
43
-
44
- exc_message = pipe_read.read
45
- Process.wait(pid)
46
-
47
- unless $CHILD_STATUS.success?
48
- raise "forked process failed with #{$CHILD_STATUS}"
49
- end
50
- raise exc_message unless exc_message.empty?
51
- end
52
-
53
31
  shared_examples '#new' do
54
32
  it 'take a host name without channel args' do
55
33
  blk = proc do
@@ -102,14 +80,6 @@ describe GRPC::Core::Channel do
102
80
  blk = construct_with_args(args)
103
81
  expect(&blk).to_not raise_error
104
82
  end
105
-
106
- it 'raises if grpc was initialized in another process' do
107
- blk = construct_with_args({})
108
- expect(&blk).not_to raise_error
109
- expect do
110
- fork_with_propagated_error_message(&blk)
111
- end.to raise_error(RuntimeError, 'grpc cannot be used before and after forking')
112
- end
113
83
  end
114
84
 
115
85
  describe '#new for secure channels' do
@@ -154,27 +124,19 @@ describe GRPC::Core::Channel do
154
124
  end
155
125
 
156
126
  it 'raises an error if called on a closed channel' do
127
+ STDERR.puts "#{Time.now}: begin: raises an error if called on a closed channel"
157
128
  ch = GRPC::Core::Channel.new(fake_host, nil, :this_channel_is_insecure)
129
+ STDERR.puts "#{Time.now}: created channel"
158
130
  ch.close
131
+ STDERR.puts "#{Time.now}: closed channel"
159
132
 
160
133
  deadline = Time.now + 5
161
134
  blk = proc do
162
135
  ch.create_call(nil, nil, 'phony_method', nil, deadline)
136
+ STDERR.puts "#{Time.now}: created call"
163
137
  end
164
138
  expect(&blk).to raise_error(RuntimeError)
165
- end
166
-
167
- it 'raises if grpc was initialized in another process' do
168
- ch = GRPC::Core::Channel.new(fake_host, nil, :this_channel_is_insecure)
169
-
170
- deadline = Time.now + 5
171
-
172
- blk = proc do
173
- fork_with_propagated_error_message do
174
- ch.create_call(nil, nil, 'phony_method', nil, deadline)
175
- end
176
- end
177
- expect(&blk).to raise_error(RuntimeError, 'grpc cannot be used before and after forking')
139
+ STDERR.puts "#{Time.now}: finished: raises an error if called on a closed channel"
178
140
  end
179
141
  end
180
142
 
@@ -85,12 +85,15 @@ shared_examples 'basic GRPC message delivery is OK' do
85
85
  # confirm the server can read the inbound message
86
86
  server_thread.join
87
87
  server_ops = {
88
- CallOps::RECV_MESSAGE => nil,
88
+ CallOps::RECV_MESSAGE => nil
89
+ }
90
+ server_batch = server_call.run_batch(server_ops)
91
+ expect(server_batch.message).to eq(sent_message)
92
+ server_ops = {
89
93
  CallOps::RECV_CLOSE_ON_SERVER => nil,
90
94
  CallOps::SEND_STATUS_FROM_SERVER => ok_status
91
95
  }
92
96
  server_batch = server_call.run_batch(server_ops)
93
- expect(server_batch.message).to eq(sent_message)
94
97
  expect(server_batch.send_close).to be true
95
98
  expect(server_batch.send_status).to be true
96
99
 
@@ -123,13 +126,16 @@ shared_examples 'basic GRPC message delivery is OK' do
123
126
  # confirm the server can read the inbound message
124
127
  server_thread.join
125
128
  server_ops = {
126
- CallOps::RECV_MESSAGE => nil,
129
+ CallOps::RECV_MESSAGE => nil
130
+ }
131
+ server_batch = server_call.run_batch(server_ops)
132
+ expect(server_batch.message).to eq(sent_message)
133
+ server_ops = {
127
134
  CallOps::RECV_CLOSE_ON_SERVER => nil,
128
135
  CallOps::SEND_MESSAGE => reply_text,
129
136
  CallOps::SEND_STATUS_FROM_SERVER => ok_status
130
137
  }
131
138
  server_batch = server_call.run_batch(server_ops)
132
- expect(server_batch.message).to eq(sent_message)
133
139
  expect(server_batch.send_close).to be true
134
140
  expect(server_batch.send_message).to be true
135
141
  expect(server_batch.send_status).to be true
@@ -168,13 +174,16 @@ shared_examples 'basic GRPC message delivery is OK' do
168
174
  # confirm the server can read the inbound message
169
175
  server_thread.join
170
176
  server_ops = {
171
- CallOps::RECV_MESSAGE => nil,
177
+ CallOps::RECV_MESSAGE => nil
178
+ }
179
+ server_batch = server_call.run_batch(server_ops)
180
+ expect(server_batch.message).to eq(long_request_str)
181
+ server_ops = {
172
182
  CallOps::RECV_CLOSE_ON_SERVER => nil,
173
183
  CallOps::SEND_MESSAGE => long_response_str,
174
184
  CallOps::SEND_STATUS_FROM_SERVER => ok_status
175
185
  }
176
186
  server_batch = server_call.run_batch(server_ops)
177
- expect(server_batch.message).to eq(long_request_str)
178
187
  expect(server_batch.send_close).to be true
179
188
  expect(server_batch.send_message).to be true
180
189
  expect(server_batch.send_status).to be true
@@ -245,12 +254,15 @@ shared_examples 'basic GRPC message delivery is OK' do
245
254
  the_status = Struct::Status.new(StatusCodes::OK, 'OK', {})
246
255
  server_thread.join
247
256
  server_ops = {
248
- CallOps::RECV_MESSAGE => nil,
257
+ CallOps::RECV_MESSAGE => nil
258
+ }
259
+ server_batch = server_call.run_batch(server_ops)
260
+ expect(server_batch.message).to eq sent_message
261
+ server_ops = {
249
262
  CallOps::SEND_MESSAGE => reply_text,
250
263
  CallOps::SEND_STATUS_FROM_SERVER => the_status
251
264
  }
252
265
  server_batch = server_call.run_batch(server_ops)
253
- expect(server_batch.message).to eq sent_message
254
266
  expect(server_batch.send_status).to be true
255
267
  expect(server_batch.send_message).to be true
256
268
 
@@ -65,12 +65,21 @@ describe GRPC::ActiveCall do
65
65
 
66
66
  describe 'restricted view methods' do
67
67
  before(:each) do
68
- call = make_test_call
69
- ActiveCall.client_invoke(call)
70
- @client_call = ActiveCall.new(call, @pass_through,
68
+ @call = make_test_call
69
+ ActiveCall.client_invoke(@call)
70
+ @client_call = ActiveCall.new(@call, @pass_through,
71
71
  @pass_through, deadline)
72
72
  end
73
73
 
74
+ after(:each) do
75
+ # terminate the RPC that was started in before(:each)
76
+ recvd_rpc = @received_rpcs_queue.pop
77
+ recvd_call = recvd_rpc.call
78
+ recvd_call.run_batch(CallOps::SEND_INITIAL_METADATA => nil)
79
+ @call.run_batch(CallOps::RECV_INITIAL_METADATA => nil)
80
+ send_and_receive_close_and_status(@call, recvd_call)
81
+ end
82
+
74
83
  describe '#multi_req_view' do
75
84
  it 'exposes a fixed subset of the ActiveCall.methods' do
76
85
  want = %w(cancelled?, deadline, each_remote_read, metadata, \
@@ -498,31 +498,10 @@ describe 'ClientStub' do # rubocop:disable Metrics/BlockLength
498
498
  /Header values must be of type string or array/)
499
499
  end
500
500
 
501
- def run_server_streamer_against_client_with_unmarshal_error(
502
- expected_input, replys)
503
- wakey_thread do |notifier|
504
- c = expect_server_to_be_invoked(notifier)
505
- expect(c.remote_read).to eq(expected_input)
506
- begin
507
- replys.each { |r| c.remote_send(r) }
508
- rescue GRPC::Core::CallError
509
- # An attempt to write to the client might fail. This is ok
510
- # because the client call is expected to fail when
511
- # unmarshalling the first response, and to cancel the call,
512
- # and there is a race as for when the server-side call will
513
- # start to fail.
514
- p 'remote_send failed (allowed because call expected to cancel)'
515
- ensure
516
- c.send_status(OK, 'OK', true)
517
- close_active_server_call(c)
518
- end
519
- end
520
- end
521
-
522
501
  it 'the call terminates when there is an unmarshalling error' do
523
502
  server_port = create_test_server
524
503
  host = "localhost:#{server_port}"
525
- th = run_server_streamer_against_client_with_unmarshal_error(
504
+ th = run_server_streamer_handle_client_cancellation(
526
505
  @sent_msg, @replys)
527
506
  stub = GRPC::ClientStub.new(host, :this_channel_is_insecure)
528
507
 
@@ -597,7 +576,8 @@ describe 'ClientStub' do # rubocop:disable Metrics/BlockLength
597
576
  it 'raises GRPC::Cancelled after the call has been cancelled' do
598
577
  server_port = create_test_server
599
578
  host = "localhost:#{server_port}"
600
- th = run_server_streamer(@sent_msg, @replys, @pass)
579
+ th = run_server_streamer_handle_client_cancellation(
580
+ @sent_msg, @replys)
601
581
  stub = GRPC::ClientStub.new(host, :this_channel_is_insecure)
602
582
  resp = get_responses(stub, run_start_call_first: false)
603
583
  expect(resp.next).to eq('reply_1')
@@ -1037,6 +1017,26 @@ describe 'ClientStub' do # rubocop:disable Metrics/BlockLength
1037
1017
  end
1038
1018
  end
1039
1019
 
1020
+ def run_server_streamer_handle_client_cancellation(
1021
+ expected_input, replys)
1022
+ wakey_thread do |notifier|
1023
+ c = expect_server_to_be_invoked(notifier)
1024
+ expect(c.remote_read).to eq(expected_input)
1025
+ begin
1026
+ replys.each { |r| c.remote_send(r) }
1027
+ rescue GRPC::Core::CallError
1028
+ # An attempt to write to the client might fail. This is ok
1029
+ # because the client call is expected to cancel the call,
1030
+ # and there is a race as for when the server-side call will
1031
+ # start to fail.
1032
+ p 'remote_send failed (allowed because call expected to cancel)'
1033
+ ensure
1034
+ c.send_status(OK, 'OK', true)
1035
+ close_active_server_call(c)
1036
+ end
1037
+ end
1038
+ end
1039
+
1040
1040
  def run_request_response(expected_input, resp, status,
1041
1041
  expected_metadata: {},
1042
1042
  server_initial_md: {},
@@ -17,7 +17,7 @@ describe 'Server Interceptors' do
17
17
  let(:interceptor) { TestServerInterceptor.new }
18
18
  let(:request) { EchoMsg.new }
19
19
  let(:trailing_metadata) { {} }
20
- let(:service) { EchoService.new(trailing_metadata) }
20
+ let(:service) { EchoService.new(**trailing_metadata) }
21
21
  let(:interceptors) { [] }
22
22
 
23
23
  before(:each) do
@@ -49,7 +49,7 @@ describe 'user agent' do
49
49
  it 'client sends expected user agent' do
50
50
  stub = UserAgentEchoServiceStub.new("localhost:#{@port}",
51
51
  :this_channel_is_insecure,
52
- {})
52
+ channel_args: {})
53
53
  response = stub.an_rpc(EchoMsg.new)
54
54
  expected_user_agent_prefix = "grpc-ruby/#{GRPC::VERSION}"
55
55
  expect(response.msg.start_with?(expected_user_agent_prefix)).to be true
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.45.0
4
+ version: 1.53.0
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - gRPC Authors
8
8
  autorequire:
9
9
  bindir: src/ruby/bin
10
10
  cert_chain: []
11
- date: 2022-03-18 00:00:00.000000000 Z
11
+ date: 2023-03-22 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'
19
+ version: '3.21'
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.19'
26
+ version: '3.21'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: googleapis-common-protos-types
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.14.1
89
+ version: '0.22'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.14.1
96
+ version: '0.22'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -112,30 +112,30 @@ dependencies:
112
112
  name: rake-compiler
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "<="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.1.1
117
+ version: 1.2.1
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "<="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 1.1.1
124
+ version: 1.2.1
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rake-compiler-dock
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '1.1'
131
+ version: '1.3'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '1.1'
138
+ version: '1.3'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rspec
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -156,14 +156,14 @@ dependencies:
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 0.49.1
159
+ version: 1.41.0
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 0.49.1
166
+ version: 1.41.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: signet
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -205,14 +205,19 @@ extensions: []
205
205
  extra_rdoc_files: []
206
206
  files:
207
207
  - etc/roots.pem
208
- - grpc_c.32.ruby
209
- - grpc_c.64.ruby
208
+ - grpc_c.32-msvcrt.ruby
209
+ - grpc_c.64-msvcrt.ruby
210
+ - grpc_c.64-ucrt.ruby
210
211
  - src/ruby/bin/math_client.rb
211
212
  - src/ruby/bin/math_pb.rb
212
213
  - src/ruby/bin/math_server.rb
213
214
  - src/ruby/bin/math_services_pb.rb
214
215
  - src/ruby/bin/noproto_client.rb
215
216
  - src/ruby/bin/noproto_server.rb
217
+ - src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.clang
218
+ - src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.gcc
219
+ - src/ruby/ext/grpc/ext-export-with-ruby-abi-version.clang
220
+ - src/ruby/ext/grpc/ext-export-with-ruby-abi-version.gcc
216
221
  - src/ruby/ext/grpc/ext-export.clang
217
222
  - src/ruby/ext/grpc/ext-export.gcc
218
223
  - src/ruby/ext/grpc/extconf.rb
@@ -250,10 +255,11 @@ files:
250
255
  - src/ruby/ext/grpc/rb_xds_server_credentials.c
251
256
  - src/ruby/ext/grpc/rb_xds_server_credentials.h
252
257
  - src/ruby/lib/grpc.rb
253
- - src/ruby/lib/grpc/2.5/grpc_c.so
254
258
  - src/ruby/lib/grpc/2.6/grpc_c.so
255
259
  - src/ruby/lib/grpc/2.7/grpc_c.so
256
260
  - src/ruby/lib/grpc/3.0/grpc_c.so
261
+ - src/ruby/lib/grpc/3.1/grpc_c.so
262
+ - src/ruby/lib/grpc/3.2/grpc_c.so
257
263
  - src/ruby/lib/grpc/core/status_codes.rb
258
264
  - src/ruby/lib/grpc/core/time_consts.rb
259
265
  - src/ruby/lib/grpc/errors.rb
@@ -343,61 +349,64 @@ required_ruby_version: !ruby/object:Gem::Requirement
343
349
  requirements:
344
350
  - - ">="
345
351
  - !ruby/object:Gem::Version
346
- version: '2.5'
352
+ version: '2.6'
347
353
  - - "<"
348
354
  - !ruby/object:Gem::Version
349
- version: 3.1.dev
355
+ version: 3.3.dev
350
356
  required_rubygems_version: !ruby/object:Gem::Requirement
351
357
  requirements:
352
358
  - - ">="
353
359
  - !ruby/object:Gem::Version
354
360
  version: '0'
355
361
  requirements: []
356
- rubygems_version: 3.3.9
362
+ rubygems_version: 3.4.9
357
363
  signing_key:
358
364
  specification_version: 4
359
365
  summary: GRPC system in Ruby
360
366
  test_files:
367
+ - src/ruby/spec/call_credentials_spec.rb
368
+ - src/ruby/spec/call_spec.rb
369
+ - src/ruby/spec/channel_connection_spec.rb
370
+ - src/ruby/spec/channel_credentials_spec.rb
361
371
  - src/ruby/spec/channel_spec.rb
362
- - src/ruby/spec/time_consts_spec.rb
372
+ - src/ruby/spec/client_auth_spec.rb
373
+ - src/ruby/spec/client_server_spec.rb
374
+ - src/ruby/spec/compression_options_spec.rb
363
375
  - src/ruby/spec/debug_message_spec.rb
364
- - src/ruby/spec/generic/service_spec.rb
365
- - src/ruby/spec/generic/interceptor_registry_spec.rb
376
+ - src/ruby/spec/error_sanity_spec.rb
377
+ - src/ruby/spec/errors_spec.rb
366
378
  - src/ruby/spec/generic/active_call_spec.rb
367
379
  - src/ruby/spec/generic/client_interceptors_spec.rb
380
+ - src/ruby/spec/generic/client_stub_spec.rb
381
+ - src/ruby/spec/generic/interceptor_registry_spec.rb
368
382
  - src/ruby/spec/generic/rpc_desc_spec.rb
369
- - src/ruby/spec/generic/server_interceptors_spec.rb
370
383
  - src/ruby/spec/generic/rpc_server_pool_spec.rb
371
- - src/ruby/spec/generic/client_stub_spec.rb
372
384
  - src/ruby/spec/generic/rpc_server_spec.rb
373
- - src/ruby/spec/server_spec.rb
374
- - src/ruby/spec/spec_helper.rb
375
- - src/ruby/spec/client_server_spec.rb
376
- - src/ruby/spec/error_sanity_spec.rb
377
- - src/ruby/spec/testdata/ca.pem
378
- - src/ruby/spec/testdata/server1.key
379
- - src/ruby/spec/testdata/client.pem
380
- - src/ruby/spec/testdata/README
381
- - src/ruby/spec/testdata/server1.pem
382
- - src/ruby/spec/testdata/client.key
383
- - src/ruby/spec/channel_credentials_spec.rb
385
+ - src/ruby/spec/generic/server_interceptors_spec.rb
386
+ - src/ruby/spec/generic/service_spec.rb
384
387
  - src/ruby/spec/google_rpc_status_utils_spec.rb
385
- - src/ruby/spec/compression_options_spec.rb
386
- - src/ruby/spec/errors_spec.rb
387
- - src/ruby/spec/call_credentials_spec.rb
388
- - src/ruby/spec/pb/duplicate/codegen_spec.rb
389
- - src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
390
388
  - src/ruby/spec/pb/codegen/grpc/testing/package_options.proto
389
+ - src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
391
390
  - src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto
392
- - src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto
393
391
  - src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
392
+ - src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto
394
393
  - src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto
395
394
  - src/ruby/spec/pb/codegen/package_option_spec.rb
395
+ - src/ruby/spec/pb/duplicate/codegen_spec.rb
396
396
  - src/ruby/spec/pb/health/checker_spec.rb
397
- - src/ruby/spec/user_agent_spec.rb
398
- - src/ruby/spec/client_auth_spec.rb
397
+ - src/ruby/spec/server_credentials_spec.rb
398
+ - src/ruby/spec/server_spec.rb
399
+ - src/ruby/spec/spec_helper.rb
399
400
  - src/ruby/spec/support/helpers.rb
400
401
  - src/ruby/spec/support/services.rb
401
- - src/ruby/spec/channel_connection_spec.rb
402
- - src/ruby/spec/server_credentials_spec.rb
403
- - src/ruby/spec/call_spec.rb
402
+ - src/ruby/spec/testdata/README
403
+ - src/ruby/spec/testdata/ca.pem
404
+ - src/ruby/spec/testdata/client.key
405
+ - src/ruby/spec/testdata/client.pem
406
+ - src/ruby/spec/testdata/server1.key
407
+ - src/ruby/spec/testdata/server1.pem
408
+ - src/ruby/spec/time_consts_spec.rb
409
+ - src/ruby/spec/user_agent_spec.rb
410
+ - src/ruby/pb/test/client.rb
411
+ - src/ruby/pb/test/server.rb
412
+ - src/ruby/pb/test/xds_client.rb
Binary file
File without changes