grpc 1.17.1-universal-darwin → 1.18.0.pre1-universal-darwin
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/etc/roots.pem +242 -30
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
- data/src/ruby/lib/grpc/2.2/grpc_c.bundle +0 -0
- data/src/ruby/lib/grpc/2.3/grpc_c.bundle +0 -0
- data/src/ruby/lib/grpc/2.4/grpc_c.bundle +0 -0
- data/src/ruby/lib/grpc/2.5/grpc_c.bundle +0 -0
- data/src/ruby/lib/grpc/{2.0 → 2.6}/grpc_c.bundle +0 -0
- data/src/ruby/lib/grpc/generic/rpc_server.rb +61 -0
- data/src/ruby/lib/grpc/generic/service.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/checker.rb +2 -3
- data/src/ruby/pb/test/client.rb +10 -7
- data/src/ruby/spec/generic/rpc_server_spec.rb +22 -0
- data/src/ruby/spec/support/services.rb +1 -0
- metadata +8 -10
- data/src/ruby/lib/grpc/2.1/grpc_c.bundle +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e256b42aeabd96fc020e9440ad2098819d63137f1017311dd0f9a92c66d57206
|
4
|
+
data.tar.gz: 2a213835e68195fc6df8d32f760dfa57d94743a30b7f9c1b12c323d2fedba736
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8bef57ee717fdba4bf1643f28754b0352be8dae6322fdc7cf6a8945f482ae53a765198b9db4d05808e7ab8a79e3245385b9a191a28034b5ec841ebcab8b8216
|
7
|
+
data.tar.gz: 6bfaa2307222d64c471c0fa2707a1583c7774039b74a5c8c8b2239529722d223c315d74c4f54f4228ed8878433c68bb843afdfd1bff4de01be7fae512f24bb1c
|
data/etc/roots.pem
CHANGED
@@ -329,36 +329,6 @@ OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH
|
|
329
329
|
QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
|
330
330
|
-----END CERTIFICATE-----
|
331
331
|
|
332
|
-
# Issuer: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association
|
333
|
-
# Subject: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association
|
334
|
-
# Label: "Visa eCommerce Root"
|
335
|
-
# Serial: 25952180776285836048024890241505565794
|
336
|
-
# MD5 Fingerprint: fc:11:b8:d8:08:93:30:00:6d:23:f9:7e:eb:52:1e:02
|
337
|
-
# SHA1 Fingerprint: 70:17:9b:86:8c:00:a4:fa:60:91:52:22:3f:9f:3e:32:bd:e0:05:62
|
338
|
-
# SHA256 Fingerprint: 69:fa:c9:bd:55:fb:0a:c7:8d:53:bb:ee:5c:f1:d5:97:98:9f:d0:aa:ab:20:a2:51:51:bd:f1:73:3e:e7:d1:22
|
339
|
-
-----BEGIN CERTIFICATE-----
|
340
|
-
MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBr
|
341
|
-
MQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRl
|
342
|
-
cm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
|
343
|
-
bW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2WhcNMjIwNjI0MDAxNjEyWjBrMQsw
|
344
|
-
CQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5h
|
345
|
-
dGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1l
|
346
|
-
cmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h
|
347
|
-
2mCxlCfLF9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4E
|
348
|
-
lpF7sDPwsRROEW+1QK8bRaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdV
|
349
|
-
ZqW1LS7YgFmypw23RuwhY/81q6UCzyr0TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq
|
350
|
-
299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI/k4+oKsGGelT84ATB+0t
|
351
|
-
vz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzsGHxBvfaL
|
352
|
-
dXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
|
353
|
-
AgEGMB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUF
|
354
|
-
AAOCAQEAX/FBfXxcCLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcR
|
355
|
-
zCSs00Rsca4BIGsDoo8Ytyk6feUWYFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3
|
356
|
-
LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pzzkWKsKZJ/0x9nXGIxHYdkFsd
|
357
|
-
7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBuYQa7FkKMcPcw
|
358
|
-
++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
|
359
|
-
398znM/jra6O1I7mT1GvFpLgXPYHDw==
|
360
|
-
-----END CERTIFICATE-----
|
361
|
-
|
362
332
|
# Issuer: CN=AAA Certificate Services O=Comodo CA Limited
|
363
333
|
# Subject: CN=AAA Certificate Services O=Comodo CA Limited
|
364
334
|
# Label: "Comodo AAA Services root"
|
@@ -4340,3 +4310,245 @@ rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV
|
|
4340
4310
|
57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg
|
4341
4311
|
Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9
|
4342
4312
|
-----END CERTIFICATE-----
|
4313
|
+
|
4314
|
+
# Issuer: CN=GTS Root R1 O=Google Trust Services LLC
|
4315
|
+
# Subject: CN=GTS Root R1 O=Google Trust Services LLC
|
4316
|
+
# Label: "GTS Root R1"
|
4317
|
+
# Serial: 146587175971765017618439757810265552097
|
4318
|
+
# MD5 Fingerprint: 82:1a:ef:d4:d2:4a:f2:9f:e2:3d:97:06:14:70:72:85
|
4319
|
+
# SHA1 Fingerprint: e1:c9:50:e6:ef:22:f8:4c:56:45:72:8b:92:20:60:d7:d5:a7:a3:e8
|
4320
|
+
# SHA256 Fingerprint: 2a:57:54:71:e3:13:40:bc:21:58:1c:bd:2c:f1:3e:15:84:63:20:3e:ce:94:bc:f9:d3:cc:19:6b:f0:9a:54:72
|
4321
|
+
-----BEGIN CERTIFICATE-----
|
4322
|
+
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
|
4351
|
+
-----END CERTIFICATE-----
|
4352
|
+
|
4353
|
+
# Issuer: CN=GTS Root R2 O=Google Trust Services LLC
|
4354
|
+
# Subject: CN=GTS Root R2 O=Google Trust Services LLC
|
4355
|
+
# Label: "GTS Root R2"
|
4356
|
+
# Serial: 146587176055767053814479386953112547951
|
4357
|
+
# MD5 Fingerprint: 44:ed:9a:0e:a4:09:3b:00:f2:ae:4c:a3:c6:61:b0:8b
|
4358
|
+
# SHA1 Fingerprint: d2:73:96:2a:2a:5e:39:9f:73:3f:e1:c7:1e:64:3f:03:38:34:fc:4d
|
4359
|
+
# SHA256 Fingerprint: c4:5d:7b:b0:8e:6d:67:e6:2e:42:35:11:0b:56:4e:5f:78:fd:92:ef:05:8c:84:0a:ea:4e:64:55:d7:58:5c:60
|
4360
|
+
-----BEGIN CERTIFICATE-----
|
4361
|
+
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
|
4390
|
+
-----END CERTIFICATE-----
|
4391
|
+
|
4392
|
+
# Issuer: CN=GTS Root R3 O=Google Trust Services LLC
|
4393
|
+
# Subject: CN=GTS Root R3 O=Google Trust Services LLC
|
4394
|
+
# Label: "GTS Root R3"
|
4395
|
+
# Serial: 146587176140553309517047991083707763997
|
4396
|
+
# MD5 Fingerprint: 1a:79:5b:6b:04:52:9c:5d:c7:74:33:1b:25:9a:f9:25
|
4397
|
+
# SHA1 Fingerprint: 30:d4:24:6f:07:ff:db:91:89:8a:0b:e9:49:66:11:eb:8c:5e:46:e5
|
4398
|
+
# SHA256 Fingerprint: 15:d5:b8:77:46:19:ea:7d:54:ce:1c:a6:d0:b0:c4:03:e0:37:a9:17:f1:31:e8:a0:4e:1e:6b:7a:71:ba:bc:e5
|
4399
|
+
-----BEGIN CERTIFICATE-----
|
4400
|
+
MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQsw
|
4401
|
+
CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
|
4402
|
+
MBIGA1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw
|
4403
|
+
MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp
|
4404
|
+
Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQA
|
4405
|
+
IgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout
|
4406
|
+
736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2A
|
4407
|
+
DDL24CejQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
|
4408
|
+
DgQWBBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFuk
|
4409
|
+
fCPAlaUs3L6JbyO5o91lAFJekazInXJ0glMLfalAvWhgxeG4VDvBNhcl2MG9AjEA
|
4410
|
+
njWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOaKaqW04MjyaR7YbPMAuhd
|
4411
|
+
-----END CERTIFICATE-----
|
4412
|
+
|
4413
|
+
# Issuer: CN=GTS Root R4 O=Google Trust Services LLC
|
4414
|
+
# Subject: CN=GTS Root R4 O=Google Trust Services LLC
|
4415
|
+
# Label: "GTS Root R4"
|
4416
|
+
# Serial: 146587176229350439916519468929765261721
|
4417
|
+
# MD5 Fingerprint: 5d:b6:6a:c4:60:17:24:6a:1a:99:a8:4b:ee:5e:b4:26
|
4418
|
+
# SHA1 Fingerprint: 2a:1d:60:27:d9:4a:b1:0a:1c:4d:91:5c:cd:33:a0:cb:3e:2d:54:cb
|
4419
|
+
# SHA256 Fingerprint: 71:cc:a5:39:1f:9e:79:4b:04:80:25:30:b3:63:e1:21:da:8a:30:43:bb:26:66:2f:ea:4d:ca:7f:c9:51:a4:bd
|
4420
|
+
-----BEGIN CERTIFICATE-----
|
4421
|
+
MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQsw
|
4422
|
+
CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
|
4423
|
+
MBIGA1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw
|
4424
|
+
MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp
|
4425
|
+
Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQA
|
4426
|
+
IgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu
|
4427
|
+
hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/l
|
4428
|
+
xKvRHYqjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
|
4429
|
+
DgQWBBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0
|
4430
|
+
CMRw3J5QdCHojXohw0+WbhXRIjVhLfoIN+4Zba3bssx9BzT1YBkstTTZbyACMANx
|
4431
|
+
sbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11xzPKwTdb+mciUqXWi4w==
|
4432
|
+
-----END CERTIFICATE-----
|
4433
|
+
|
4434
|
+
# Issuer: CN=UCA Global G2 Root O=UniTrust
|
4435
|
+
# Subject: CN=UCA Global G2 Root O=UniTrust
|
4436
|
+
# Label: "UCA Global G2 Root"
|
4437
|
+
# Serial: 124779693093741543919145257850076631279
|
4438
|
+
# MD5 Fingerprint: 80:fe:f0:c4:4a:f0:5c:62:32:9f:1c:ba:78:a9:50:f8
|
4439
|
+
# SHA1 Fingerprint: 28:f9:78:16:19:7a:ff:18:25:18:aa:44:fe:c1:a0:ce:5c:b6:4c:8a
|
4440
|
+
# SHA256 Fingerprint: 9b:ea:11:c9:76:fe:01:47:64:c1:be:56:a6:f9:14:b5:a5:60:31:7a:bd:99:88:39:33:82:e5:16:1a:a0:49:3c
|
4441
|
+
-----BEGIN CERTIFICATE-----
|
4442
|
+
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
|
4470
|
+
UB+K+wb1whnw0A==
|
4471
|
+
-----END CERTIFICATE-----
|
4472
|
+
|
4473
|
+
# Issuer: CN=UCA Extended Validation Root O=UniTrust
|
4474
|
+
# Subject: CN=UCA Extended Validation Root O=UniTrust
|
4475
|
+
# Label: "UCA Extended Validation Root"
|
4476
|
+
# Serial: 106100277556486529736699587978573607008
|
4477
|
+
# MD5 Fingerprint: a1:f3:5f:43:c6:34:9b:da:bf:8c:7e:05:53:ad:96:e2
|
4478
|
+
# SHA1 Fingerprint: a3:a1:b0:6f:24:61:23:4a:e3:36:a5:c2:37:fc:a6:ff:dd:f0:d7:3a
|
4479
|
+
# SHA256 Fingerprint: d4:3a:f9:b3:54:73:75:5c:96:84:fc:06:d7:d8:cb:70:ee:5c:28:e7:73:fb:29:4e:b4:1e:e7:17:22:92:4d:24
|
4480
|
+
-----BEGIN CERTIFICATE-----
|
4481
|
+
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
|
4510
|
+
-----END CERTIFICATE-----
|
4511
|
+
|
4512
|
+
# Issuer: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036
|
4513
|
+
# Subject: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036
|
4514
|
+
# Label: "Certigna Root CA"
|
4515
|
+
# Serial: 269714418870597844693661054334862075617
|
4516
|
+
# MD5 Fingerprint: 0e:5c:30:62:27:eb:5b:bc:d7:ae:62:ba:e9:d5:df:77
|
4517
|
+
# SHA1 Fingerprint: 2d:0d:52:14:ff:9e:ad:99:24:01:74:20:47:6e:6c:85:27:27:f5:43
|
4518
|
+
# SHA256 Fingerprint: d4:8d:3d:23:ee:db:50:a4:59:e5:51:97:60:1c:27:77:4b:9d:7b:18:c9:4d:5a:05:95:11:a1:02:50:b9:31:68
|
4519
|
+
-----BEGIN CERTIFICATE-----
|
4520
|
+
MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw
|
4521
|
+
WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw
|
4522
|
+
MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x
|
4523
|
+
MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD
|
4524
|
+
VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX
|
4525
|
+
BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
|
4526
|
+
ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO
|
4527
|
+
ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M
|
4528
|
+
CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu
|
4529
|
+
I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm
|
4530
|
+
TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh
|
4531
|
+
C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf
|
4532
|
+
ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz
|
4533
|
+
IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT
|
4534
|
+
Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k
|
4535
|
+
JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5
|
4536
|
+
hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB
|
4537
|
+
GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
|
4538
|
+
FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of
|
4539
|
+
1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov
|
4540
|
+
L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo
|
4541
|
+
dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr
|
4542
|
+
aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq
|
4543
|
+
hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L
|
4544
|
+
6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG
|
4545
|
+
HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6
|
4546
|
+
0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB
|
4547
|
+
lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi
|
4548
|
+
o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1
|
4549
|
+
gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v
|
4550
|
+
faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63
|
4551
|
+
Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh
|
4552
|
+
jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw
|
4553
|
+
3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0=
|
4554
|
+
-----END CERTIFICATE-----
|
@@ -272,7 +272,7 @@ extern grpc_channelz_get_servers_type grpc_channelz_get_servers_import;
|
|
272
272
|
typedef char*(*grpc_channelz_get_server_type)(intptr_t server_id);
|
273
273
|
extern grpc_channelz_get_server_type grpc_channelz_get_server_import;
|
274
274
|
#define grpc_channelz_get_server grpc_channelz_get_server_import
|
275
|
-
typedef char*(*grpc_channelz_get_server_sockets_type)(intptr_t server_id, intptr_t start_socket_id);
|
275
|
+
typedef char*(*grpc_channelz_get_server_sockets_type)(intptr_t server_id, intptr_t start_socket_id, intptr_t max_results);
|
276
276
|
extern grpc_channelz_get_server_sockets_type grpc_channelz_get_server_sockets_import;
|
277
277
|
#define grpc_channelz_get_server_sockets grpc_channelz_get_server_sockets_import
|
278
278
|
typedef char*(*grpc_channelz_get_channel_type)(intptr_t channel_id);
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -240,6 +240,13 @@ module GRPC
|
|
240
240
|
# the call has no impact if the server is already stopped, otherwise
|
241
241
|
# server's current call loop is it's last.
|
242
242
|
def stop
|
243
|
+
# if called via run_till_terminated_or_interrupted,
|
244
|
+
# signal stop_server_thread and dont do anything
|
245
|
+
if @stop_server.nil? == false && @stop_server == false
|
246
|
+
@stop_server = true
|
247
|
+
@stop_server_cv.broadcast
|
248
|
+
return
|
249
|
+
end
|
243
250
|
@run_mutex.synchronize do
|
244
251
|
fail 'Cannot stop before starting' if @running_state == :not_started
|
245
252
|
return if @running_state != :running
|
@@ -354,6 +361,60 @@ module GRPC
|
|
354
361
|
|
355
362
|
alias_method :run_till_terminated, :run
|
356
363
|
|
364
|
+
# runs the server with signal handlers
|
365
|
+
# @param signals
|
366
|
+
# List of String, Integer or both representing signals that the user
|
367
|
+
# would like to send to the server for graceful shutdown
|
368
|
+
# @param wait_interval (optional)
|
369
|
+
# Integer seconds that user would like stop_server_thread to poll
|
370
|
+
# stop_server
|
371
|
+
def run_till_terminated_or_interrupted(signals, wait_interval = 60)
|
372
|
+
@stop_server = false
|
373
|
+
@stop_server_mu = Mutex.new
|
374
|
+
@stop_server_cv = ConditionVariable.new
|
375
|
+
|
376
|
+
@stop_server_thread = Thread.new do
|
377
|
+
loop do
|
378
|
+
break if @stop_server
|
379
|
+
@stop_server_mu.synchronize do
|
380
|
+
@stop_server_cv.wait(@stop_server_mu, wait_interval)
|
381
|
+
end
|
382
|
+
end
|
383
|
+
|
384
|
+
# stop is surrounded by mutex, should handle multiple calls to stop
|
385
|
+
# correctly
|
386
|
+
stop
|
387
|
+
end
|
388
|
+
|
389
|
+
valid_signals = Signal.list
|
390
|
+
|
391
|
+
# register signal handlers
|
392
|
+
signals.each do |sig|
|
393
|
+
# input validation
|
394
|
+
if sig.class == String
|
395
|
+
sig.upcase!
|
396
|
+
if sig.start_with?('SIG')
|
397
|
+
# cut out the SIG prefix to see if valid signal
|
398
|
+
sig = sig[3..-1]
|
399
|
+
end
|
400
|
+
end
|
401
|
+
|
402
|
+
# register signal traps for all valid signals
|
403
|
+
if valid_signals.value?(sig) || valid_signals.key?(sig)
|
404
|
+
Signal.trap(sig) do
|
405
|
+
@stop_server = true
|
406
|
+
@stop_server_cv.broadcast
|
407
|
+
end
|
408
|
+
else
|
409
|
+
fail "#{sig} not a valid signal"
|
410
|
+
end
|
411
|
+
end
|
412
|
+
|
413
|
+
run
|
414
|
+
|
415
|
+
@stop_server_thread.join
|
416
|
+
end
|
417
|
+
|
357
418
|
# Sends RESOURCE_EXHAUSTED if there are too many unprocessed jobs
|
358
419
|
def available?(an_rpc)
|
359
420
|
return an_rpc if @pool.ready_for_work?
|
@@ -95,7 +95,7 @@ module GRPC
|
|
95
95
|
rpc_descs[name] = RpcDesc.new(name, input, output,
|
96
96
|
marshal_class_method,
|
97
97
|
unmarshal_class_method)
|
98
|
-
define_method(GenericService.underscore(name.to_s).to_sym) do
|
98
|
+
define_method(GenericService.underscore(name.to_s).to_sym) do |*|
|
99
99
|
fail GRPC::BadStatus.new_status_exception(
|
100
100
|
GRPC::Core::StatusCodes::UNIMPLEMENTED)
|
101
101
|
end
|
@@ -14,7 +14,6 @@
|
|
14
14
|
|
15
15
|
require 'grpc'
|
16
16
|
require 'grpc/health/v1/health_services_pb'
|
17
|
-
require 'thread'
|
18
17
|
|
19
18
|
module Grpc
|
20
19
|
# Health contains classes and modules that support providing a health check
|
@@ -37,9 +36,9 @@ module Grpc
|
|
37
36
|
@status_mutex.synchronize do
|
38
37
|
status = @statuses["#{req.service}"]
|
39
38
|
end
|
40
|
-
|
39
|
+
if status.nil?
|
41
40
|
fail GRPC::BadStatus.new_status_exception(StatusCodes::NOT_FOUND)
|
42
|
-
|
41
|
+
end
|
43
42
|
HealthCheckResponse.new(status: status)
|
44
43
|
end
|
45
44
|
|
data/src/ruby/pb/test/client.rb
CHANGED
@@ -111,10 +111,13 @@ def create_stub(opts)
|
|
111
111
|
if opts.secure
|
112
112
|
creds = ssl_creds(opts.use_test_ca)
|
113
113
|
stub_opts = {
|
114
|
-
channel_args: {
|
115
|
-
GRPC::Core::Channel::SSL_TARGET => opts.server_host_override
|
116
|
-
}
|
114
|
+
channel_args: {}
|
117
115
|
}
|
116
|
+
unless opts.server_host_override.empty?
|
117
|
+
stub_opts[:channel_args].merge!({
|
118
|
+
GRPC::Core::Channel::SSL_TARGET => opts.server_host_override
|
119
|
+
})
|
120
|
+
end
|
118
121
|
|
119
122
|
# Add service account creds if specified
|
120
123
|
wants_creds = %w(all compute_engine_creds service_account_creds)
|
@@ -603,7 +606,7 @@ class NamedTests
|
|
603
606
|
if not op.metadata.has_key?(initial_metadata_key)
|
604
607
|
fail AssertionError, "Expected initial metadata. None received"
|
605
608
|
elsif op.metadata[initial_metadata_key] != metadata[initial_metadata_key]
|
606
|
-
fail AssertionError,
|
609
|
+
fail AssertionError,
|
607
610
|
"Expected initial metadata: #{metadata[initial_metadata_key]}. "\
|
608
611
|
"Received: #{op.metadata[initial_metadata_key]}"
|
609
612
|
end
|
@@ -611,7 +614,7 @@ class NamedTests
|
|
611
614
|
fail AssertionError, "Expected trailing metadata. None received"
|
612
615
|
elsif op.trailing_metadata[trailing_metadata_key] !=
|
613
616
|
metadata[trailing_metadata_key]
|
614
|
-
fail AssertionError,
|
617
|
+
fail AssertionError,
|
615
618
|
"Expected trailing metadata: #{metadata[trailing_metadata_key]}. "\
|
616
619
|
"Received: #{op.trailing_metadata[trailing_metadata_key]}"
|
617
620
|
end
|
@@ -639,7 +642,7 @@ class NamedTests
|
|
639
642
|
fail AssertionError, "Expected trailing metadata. None received"
|
640
643
|
elsif duplex_op.trailing_metadata[trailing_metadata_key] !=
|
641
644
|
metadata[trailing_metadata_key]
|
642
|
-
fail AssertionError,
|
645
|
+
fail AssertionError,
|
643
646
|
"Expected trailing metadata: #{metadata[trailing_metadata_key]}. "\
|
644
647
|
"Received: #{duplex_op.trailing_metadata[trailing_metadata_key]}"
|
645
648
|
end
|
@@ -710,7 +713,7 @@ Args = Struct.new(:default_service_account, :server_host, :server_host_override,
|
|
710
713
|
# validates the command line options, returning them as a Hash.
|
711
714
|
def parse_args
|
712
715
|
args = Args.new
|
713
|
-
args.server_host_override = '
|
716
|
+
args.server_host_override = ''
|
714
717
|
OptionParser.new do |opts|
|
715
718
|
opts.on('--oauth_scope scope',
|
716
719
|
'Scope for OAuth tokens') { |v| args['oauth_scope'] = v }
|
@@ -342,6 +342,28 @@ describe GRPC::RpcServer do
|
|
342
342
|
t.join
|
343
343
|
end
|
344
344
|
|
345
|
+
it 'should return UNIMPLEMENTED on unimplemented ' \
|
346
|
+
'methods for client_streamer', server: true do
|
347
|
+
@srv.handle(EchoService)
|
348
|
+
t = Thread.new { @srv.run }
|
349
|
+
@srv.wait_till_running
|
350
|
+
blk = proc do
|
351
|
+
stub = EchoStub.new(@host, :this_channel_is_insecure, **client_opts)
|
352
|
+
requests = [EchoMsg.new, EchoMsg.new]
|
353
|
+
stub.a_client_streaming_rpc_unimplemented(requests)
|
354
|
+
end
|
355
|
+
|
356
|
+
begin
|
357
|
+
expect(&blk).to raise_error do |error|
|
358
|
+
expect(error).to be_a(GRPC::BadStatus)
|
359
|
+
expect(error.code).to eq(GRPC::Core::StatusCodes::UNIMPLEMENTED)
|
360
|
+
end
|
361
|
+
ensure
|
362
|
+
@srv.stop # should be call not to crash
|
363
|
+
t.join
|
364
|
+
end
|
365
|
+
end
|
366
|
+
|
345
367
|
it 'should handle multiple sequential requests', server: true do
|
346
368
|
@srv.handle(EchoService)
|
347
369
|
t = Thread.new { @srv.run }
|
@@ -33,6 +33,7 @@ class EchoService
|
|
33
33
|
rpc :a_client_streaming_rpc, stream(EchoMsg), EchoMsg
|
34
34
|
rpc :a_server_streaming_rpc, EchoMsg, stream(EchoMsg)
|
35
35
|
rpc :a_bidi_rpc, stream(EchoMsg), stream(EchoMsg)
|
36
|
+
rpc :a_client_streaming_rpc_unimplemented, stream(EchoMsg), EchoMsg
|
36
37
|
attr_reader :received_md
|
37
38
|
|
38
39
|
def initialize(**kw)
|
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.18.0.pre1
|
5
5
|
platform: universal-darwin
|
6
6
|
authors:
|
7
7
|
- gRPC Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: src/ruby/bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|
@@ -243,12 +243,11 @@ files:
|
|
243
243
|
- src/ruby/ext/grpc/rb_server_credentials.c
|
244
244
|
- src/ruby/ext/grpc/rb_server_credentials.h
|
245
245
|
- src/ruby/lib/grpc.rb
|
246
|
-
- src/ruby/lib/grpc/2.0/grpc_c.bundle
|
247
|
-
- src/ruby/lib/grpc/2.1/grpc_c.bundle
|
248
246
|
- src/ruby/lib/grpc/2.2/grpc_c.bundle
|
249
247
|
- src/ruby/lib/grpc/2.3/grpc_c.bundle
|
250
248
|
- src/ruby/lib/grpc/2.4/grpc_c.bundle
|
251
249
|
- src/ruby/lib/grpc/2.5/grpc_c.bundle
|
250
|
+
- src/ruby/lib/grpc/2.6/grpc_c.bundle
|
252
251
|
- src/ruby/lib/grpc/core/time_consts.rb
|
253
252
|
- src/ruby/lib/grpc/errors.rb
|
254
253
|
- src/ruby/lib/grpc/generic/active_call.rb
|
@@ -327,18 +326,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
327
326
|
requirements:
|
328
327
|
- - ">="
|
329
328
|
- !ruby/object:Gem::Version
|
330
|
-
version: '2.
|
329
|
+
version: '2.2'
|
331
330
|
- - "<"
|
332
331
|
- !ruby/object:Gem::Version
|
333
|
-
version:
|
332
|
+
version: 2.7.dev
|
334
333
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
335
334
|
requirements:
|
336
|
-
- - "
|
335
|
+
- - ">"
|
337
336
|
- !ruby/object:Gem::Version
|
338
|
-
version:
|
337
|
+
version: 1.3.1
|
339
338
|
requirements: []
|
340
|
-
|
341
|
-
rubygems_version: 2.7.8
|
339
|
+
rubygems_version: 3.0.2
|
342
340
|
signing_key:
|
343
341
|
specification_version: 4
|
344
342
|
summary: GRPC system in Ruby
|
Binary file
|