io-endpoint 0.7.1 → 0.8.0
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/ssl_endpoint.rb +6 -0
- data/lib/io/endpoint/version.rb +1 -1
- data/lib/io/endpoint/wrapper.rb +2 -1
- data/readme.md +1 -1
- data.tar.gz.sig +0 -0
- metadata +2 -3
- metadata.gz.sig +0 -0
- data/lib/io/readable.rb +0 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 101337315cb2358a521c656373439b2a65807e61705907bfed1a0773223ea0b5
|
4
|
+
data.tar.gz: 98410d7c0e2ab39ec1fd4526c4716574a3316e4ca5660899f84ae36b699e8e3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1124ce85f59b84610293c4df08c40bccade1071405053031757dd9971ae100e359206a78a953a1f9afee0aca305a33a1bb42abd9eb91a69dae2a0bfc13373f5
|
7
|
+
data.tar.gz: bfa3f25fc5ec808a19173683d7c2356b97b4b54220011cf26b8a92758de3fc0f3ee4b95f1fa751c222ab71f186d1ae50f2d92ff07787f0993e398ee0bd10fba2
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/io/endpoint/version.rb
CHANGED
data/lib/io/endpoint/wrapper.rb
CHANGED
data/readme.md
CHANGED
@@ -28,4 +28,4 @@ This project is governed by the [Contributor Covenant](https://www.contributor-c
|
|
28
28
|
|
29
29
|
## See Also
|
30
30
|
|
31
|
-
- [async-io](https://github.com/socketry/async-io) —
|
31
|
+
- [async-io](https://github.com/socketry/async-io) — Where this implementation originally came from.
|
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.
|
4
|
+
version: 0.8.0
|
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-22 00:00:00.000000000 Z
|
41
41
|
dependencies: []
|
42
42
|
description:
|
43
43
|
email:
|
@@ -58,7 +58,6 @@ files:
|
|
58
58
|
- lib/io/endpoint/unix_endpoint.rb
|
59
59
|
- lib/io/endpoint/version.rb
|
60
60
|
- lib/io/endpoint/wrapper.rb
|
61
|
-
- lib/io/readable.rb
|
62
61
|
- license.md
|
63
62
|
- readme.md
|
64
63
|
homepage: https://github.com/socketry/io-endpoint
|
metadata.gz.sig
CHANGED
Binary file
|
data/lib/io/readable.rb
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
class IO
|
2
|
-
unless method_defined?(:readable?)
|
3
|
-
def readable?
|
4
|
-
# Do not call `eof?` here as it is not concurrency-safe and it can block.
|
5
|
-
!closed?
|
6
|
-
end
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
require 'socket'
|
11
|
-
|
12
|
-
class BasicSocket
|
13
|
-
unless method_defined?(:readable?)
|
14
|
-
def readable?
|
15
|
-
# If we can wait for the socket to become readable, we know that the socket may still be open.
|
16
|
-
result = self.recv_nonblock(1, MSG_PEEK, exception: false)
|
17
|
-
|
18
|
-
# No data was available - newer Ruby can return nil instead of empty string:
|
19
|
-
return false if result.nil?
|
20
|
-
|
21
|
-
# Either there was some data available, or we can wait to see if there is data avaialble.
|
22
|
-
return !result.empty? || result == :wait_readable
|
23
|
-
rescue Errno::ECONNRESET, IOError
|
24
|
-
# This might be thrown by recv_nonblock.
|
25
|
-
return false
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
require 'stringio'
|
31
|
-
|
32
|
-
class StringIO
|
33
|
-
unless method_defined?(:readable?)
|
34
|
-
def readable?
|
35
|
-
!eof?
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
require 'openssl'
|
41
|
-
|
42
|
-
class OpenSSL::SSL::SSLSocket
|
43
|
-
unless method_defined?(:readable?)
|
44
|
-
def readable?
|
45
|
-
to_io.readable?
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|