io-endpoint 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/io/endpoint/version.rb +1 -1
- data/lib/io/readable.rb +4 -12
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91e540b7ee9ece1ff33ae69f5a13e9dbe44c1df4ac52b144df3ec197d94b7bd4
|
4
|
+
data.tar.gz: 8f361d92b3ccf94ba25a38bc28b821d416a9edf785245d2a8dda299d5aa498e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 360fda4a0e74ef82f96312ab1b06ed6bfe34e77da5b52502a065ded56952597ace1d70f2e7e943bfe5c47d73263ba4add67ac159e226ab957042fbe3710b82ee
|
7
|
+
data.tar.gz: '08df3c2f0882872e505a90241e2b424ad53732dec26048b2d96074f69acb8f92ac7162ca15dec5f844d6b318192c2085b30c268f57b823806d936eb2eaa42574'
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/io/endpoint/version.rb
CHANGED
data/lib/io/readable.rb
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
class IO
|
2
2
|
unless method_defined?(:readable?)
|
3
3
|
def readable?
|
4
|
-
|
5
|
-
|
6
|
-
return true
|
7
|
-
else
|
8
|
-
!self.eof?
|
9
|
-
end
|
4
|
+
# Do not call `eof?` here as it is not concurrency-safe and it can block.
|
5
|
+
!closed?
|
10
6
|
end
|
11
7
|
end
|
12
8
|
end
|
@@ -16,19 +12,15 @@ require 'socket'
|
|
16
12
|
class BasicSocket
|
17
13
|
unless method_defined?(:readable?)
|
18
14
|
def readable?
|
19
|
-
# Is it likely that the socket is still connected?
|
20
|
-
# May return false positive, but won't return false negative.
|
21
|
-
return false unless super
|
22
|
-
|
23
15
|
# If we can wait for the socket to become readable, we know that the socket may still be open.
|
24
|
-
result =
|
16
|
+
result = self.recv_nonblock(1, MSG_PEEK, exception: false)
|
25
17
|
|
26
18
|
# No data was available - newer Ruby can return nil instead of empty string:
|
27
19
|
return false if result.nil?
|
28
20
|
|
29
21
|
# Either there was some data available, or we can wait to see if there is data avaialble.
|
30
22
|
return !result.empty? || result == :wait_readable
|
31
|
-
rescue Errno::ECONNRESET
|
23
|
+
rescue Errno::ECONNRESET, IOError
|
32
24
|
# This might be thrown by recv_nonblock.
|
33
25
|
return false
|
34
26
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: io-endpoint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
@@ -37,7 +37,7 @@ cert_chain:
|
|
37
37
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
38
38
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
39
39
|
-----END CERTIFICATE-----
|
40
|
-
date: 2024-04-
|
40
|
+
date: 2024-04-21 00:00:00.000000000 Z
|
41
41
|
dependencies: []
|
42
42
|
description:
|
43
43
|
email:
|
metadata.gz.sig
CHANGED
Binary file
|