grpc 1.47.0-x86-mingw32 → 1.49.0.pre1-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.
- checksums.yaml +4 -4
- data/{grpc_c.32.ruby → grpc_c.32-msvcrt.ruby} +0 -0
- data/{grpc_c.64.ruby → grpc_c.64-msvcrt.ruby} +0 -0
- data/src/ruby/ext/grpc/ext-export-truffleruby.clang +2 -0
- data/src/ruby/ext/grpc/ext-export-truffleruby.gcc +7 -0
- data/src/ruby/ext/grpc/ext-export.clang +1 -0
- data/src/ruby/ext/grpc/ext-export.gcc +1 -0
- data/src/ruby/ext/grpc/extconf.rb +51 -18
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
- data/src/ruby/ext/grpc/rb_loader.c +6 -2
- data/src/ruby/lib/grpc/2.5/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.6/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.7/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/3.0/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/3.1/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/errors.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
- data/src/ruby/spec/generic/client_stub_spec.rb +23 -23
- metadata +10 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '04993cfda6343dc3c1480c9881096f5b0e78e532a1e339f184d0faa9165363ab'
|
4
|
+
data.tar.gz: bc87152f1a1b2935f9f7c163fd70c65032a49ae494068a5e7d643a86dbb62d8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31d6fa39580a09cd99927441fa3f0f550bce1a3aefc4fb439fd1f2d6fb9550545b2b4d9baf160ebfe9b5fb418ed0f7dbcdfd9b7b2c1c6c4571f9e49b0fede3b4
|
7
|
+
data.tar.gz: 8502bbb25771f7c380ea82ad34a93d5cca000589eb057437269d7ebf6a5098c2a3264342322b812195a520c5862cda8521c0244106cbe613b2da47ad8364f4a5
|
Binary file
|
File without changes
|
@@ -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
|
-
|
31
|
-
|
33
|
+
def env_unset?(name)
|
34
|
+
ENV[name].nil? || ENV[name].size == 0
|
32
35
|
end
|
33
|
-
|
34
|
-
|
36
|
+
|
37
|
+
def rbconfig_set?(name)
|
38
|
+
RbConfig::CONFIG[name] && RbConfig::CONFIG[name].size > 0
|
35
39
|
end
|
36
|
-
|
37
|
-
|
40
|
+
|
41
|
+
def inherit_rbconfig(name)
|
42
|
+
ENV[name] = RbConfig::CONFIG[name] if env_unset?(name) && rbconfig_set?(name)
|
38
43
|
end
|
39
|
-
|
40
|
-
|
44
|
+
|
45
|
+
def env_append(name, string)
|
46
|
+
ENV[name] ||= ''
|
47
|
+
ENV[name] += ' ' + string
|
48
|
+
end
|
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
|
66
|
+
if apple_toolchain && !cross_compiling
|
44
67
|
ENV['AR'] = 'libtool'
|
45
68
|
ENV['ARFLAGS'] = '-o'
|
46
69
|
end
|
47
70
|
|
48
|
-
|
49
|
-
ENV['
|
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
|
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,12 @@ if darwin && !cross_compiling
|
|
58
84
|
end
|
59
85
|
end
|
60
86
|
|
61
|
-
|
62
|
-
|
63
|
-
|
87
|
+
env_append 'CPPFLAGS', '-DGPR_BACKWARDS_COMPATIBILITY_MODE'
|
88
|
+
env_append 'CPPFLAGS', '-DGRPC_XDS_USER_AGENT_NAME_SUFFIX="\"RUBY\""'
|
89
|
+
env_append 'CPPFLAGS', '-DGRPC_RUBY_WINDOWS_UCRT' if windows_ucrt
|
90
|
+
|
91
|
+
require_relative '../../lib/grpc/version'
|
92
|
+
env_append 'CPPFLAGS', '-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX="\"' + GRPC::VERSION + '\""'
|
64
93
|
|
65
94
|
output_dir = File.expand_path(RbConfig::CONFIG['topdir'])
|
66
95
|
grpc_lib_dir = File.join(output_dir, 'libs', grpc_config)
|
@@ -85,8 +114,9 @@ end
|
|
85
114
|
$CFLAGS << ' -I' + File.join(grpc_root, 'include')
|
86
115
|
|
87
116
|
ext_export_file = File.join(grpc_root, 'src', 'ruby', 'ext', 'grpc', 'ext-export')
|
117
|
+
ext_export_file += '-truffleruby' if RUBY_ENGINE == 'truffleruby'
|
88
118
|
$LDFLAGS << ' -Wl,--version-script="' + ext_export_file + '.gcc"' if linux
|
89
|
-
$LDFLAGS << ' -Wl,-exported_symbols_list,"' + ext_export_file + '.clang"' if
|
119
|
+
$LDFLAGS << ' -Wl,-exported_symbols_list,"' + ext_export_file + '.clang"' if apple_toolchain
|
90
120
|
|
91
121
|
$LDFLAGS << ' ' + File.join(grpc_lib_dir, 'libgrpc.a') unless windows
|
92
122
|
if grpc_config == 'gcov'
|
@@ -99,7 +129,10 @@ if grpc_config == 'dbg'
|
|
99
129
|
end
|
100
130
|
|
101
131
|
$LDFLAGS << ' -Wl,-wrap,memcpy' if linux
|
102
|
-
|
132
|
+
# Do not statically link standard libraries on TruffleRuby as this does not work when compiling to bitcode
|
133
|
+
if linux && RUBY_ENGINE != 'truffleruby'
|
134
|
+
$LDFLAGS << ' -static-libgcc -static-libstdc++'
|
135
|
+
end
|
103
136
|
$LDFLAGS << ' -static' if windows
|
104
137
|
|
105
138
|
$CFLAGS << ' -std=c11 '
|
@@ -112,7 +145,7 @@ puts 'Generating Makefile for ' + output
|
|
112
145
|
create_makefile(output)
|
113
146
|
|
114
147
|
strip_tool = RbConfig::CONFIG['STRIP']
|
115
|
-
strip_tool += ' -x' if
|
148
|
+
strip_tool += ' -x' if apple_toolchain
|
116
149
|
|
117
150
|
if grpc_config == 'opt'
|
118
151
|
File.open('Makefile.new', 'w') do |o|
|
@@ -278,7 +278,7 @@ extern grpc_resource_quota_resize_type grpc_resource_quota_resize_import;
|
|
278
278
|
typedef void(*grpc_resource_quota_set_max_threads_type)(grpc_resource_quota* resource_quota, int new_max_threads);
|
279
279
|
extern grpc_resource_quota_set_max_threads_type grpc_resource_quota_set_max_threads_import;
|
280
280
|
#define grpc_resource_quota_set_max_threads grpc_resource_quota_set_max_threads_import
|
281
|
-
typedef grpc_slice(*grpc_dump_xds_configs_type)();
|
281
|
+
typedef grpc_slice(*grpc_dump_xds_configs_type)(void);
|
282
282
|
extern grpc_dump_xds_configs_type grpc_dump_xds_configs_import;
|
283
283
|
#define grpc_dump_xds_configs grpc_dump_xds_configs_import
|
284
284
|
typedef const grpc_arg_pointer_vtable*(*grpc_resource_quota_arg_vtable_type)(void);
|
@@ -23,9 +23,13 @@
|
|
23
23
|
|
24
24
|
int grpc_rb_load_core() {
|
25
25
|
#if GPR_ARCH_64
|
26
|
-
|
26
|
+
#if GRPC_RUBY_WINDOWS_UCRT
|
27
|
+
TCHAR fname[] = _T("grpc_c.64-ucrt.ruby");
|
27
28
|
#else
|
28
|
-
TCHAR fname[] = _T("grpc_c.
|
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
|
data/src/ruby/lib/grpc/errors.rb
CHANGED
@@ -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
|
46
|
+
exception_message += ". debug_error_string:{#{debug_error_string}}"
|
47
47
|
end
|
48
48
|
super(exception_message)
|
49
49
|
@code = code
|
@@ -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
|
@@ -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 =
|
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 =
|
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: {},
|
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.49.0.pre1
|
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-
|
11
|
+
date: 2022-08-18 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.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.
|
26
|
+
version: '3.21'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: googleapis-common-protos-types
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -205,15 +205,17 @@ extensions: []
|
|
205
205
|
extra_rdoc_files: []
|
206
206
|
files:
|
207
207
|
- etc/roots.pem
|
208
|
-
- grpc_c.32.ruby
|
208
|
+
- grpc_c.32-msvcrt.ruby
|
209
|
+
- grpc_c.64-msvcrt.ruby
|
209
210
|
- grpc_c.64-ucrt.ruby
|
210
|
-
- grpc_c.64.ruby
|
211
211
|
- src/ruby/bin/math_client.rb
|
212
212
|
- src/ruby/bin/math_pb.rb
|
213
213
|
- src/ruby/bin/math_server.rb
|
214
214
|
- src/ruby/bin/math_services_pb.rb
|
215
215
|
- src/ruby/bin/noproto_client.rb
|
216
216
|
- src/ruby/bin/noproto_server.rb
|
217
|
+
- src/ruby/ext/grpc/ext-export-truffleruby.clang
|
218
|
+
- src/ruby/ext/grpc/ext-export-truffleruby.gcc
|
217
219
|
- src/ruby/ext/grpc/ext-export.clang
|
218
220
|
- src/ruby/ext/grpc/ext-export.gcc
|
219
221
|
- src/ruby/ext/grpc/extconf.rb
|
@@ -351,9 +353,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
351
353
|
version: 3.2.dev
|
352
354
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
353
355
|
requirements:
|
354
|
-
- - "
|
356
|
+
- - ">"
|
355
357
|
- !ruby/object:Gem::Version
|
356
|
-
version:
|
358
|
+
version: 1.3.1
|
357
359
|
requirements: []
|
358
360
|
rubygems_version: 3.3.4
|
359
361
|
signing_key:
|