jrpc 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7ff3b918c137543a58deef9ec59a2afc0c3ed043
4
- data.tar.gz: a681f3ef3aece2d7f4f8ec2f5c2ff73819330577
2
+ SHA256:
3
+ metadata.gz: 67534bff4d06dfed8a49ddf71bb56356d65f9c119731b220e6490394a187f720
4
+ data.tar.gz: fd53da1804ddc60f54d549811b7d866541601dc4b3f58dc15de2a112c10039cf
5
5
  SHA512:
6
- metadata.gz: 94a89c191c1570bd1ae1ff5a1685cddd6ec989a03b9bcde127effffeb6dce2ee65d94bef3de5e73d6789c557c482750b79d667ae4c713330e91e3759acf8875a
7
- data.tar.gz: 32c10ccc3af98101f5dee9ec190e491ea8d3afd2ca44846c923ed8ec4fcf435a2273a111f628bd952acc19a86fd696094ce4b26a1eb19ab9635180a93e47295b
6
+ metadata.gz: c99a86b3b5a59ff431d5356604d4cfcd1803212a8e3be22819de4bbab9d826d985a47bec9fed72cc82f8adfa80f208b1823ab85566325fe3f7965db52d631911
7
+ data.tar.gz: d565e6cf0cd0afa20b935d1ca6e554d2aa6142dd46bfbefd1468f4910175f326656a6015fae7a160ef5ad8da41574e0c8c9d000ea8d624e5e989e5f8683ca262
@@ -67,16 +67,25 @@ module JRPC
67
67
  def build_socket
68
68
  host = @server.split(':').first
69
69
  addr = Socket.getaddrinfo(host, nil)
70
- sock = Socket.new(Socket.const_get(addr[0][0]), Socket::SOCK_STREAM, 0)
71
- set_timeout_to(sock, Socket::SO_RCVTIMEO, @connect_timeout) if @connect_timeout
72
- sock
70
+ Socket.new(Socket.const_get(addr[0][0]), Socket::SOCK_STREAM, 0)
73
71
  end
74
72
 
75
73
  def connect_socket
76
74
  host, port = @server.split(':')
77
75
  addr = Socket.getaddrinfo(host, nil)
78
76
  full_addr = Socket.pack_sockaddr_in(port, addr[0][3])
79
- socket.connect(full_addr)
77
+
78
+ begin
79
+ socket.connect_nonblock(full_addr)
80
+ rescue IO::WaitWritable => _
81
+ if IO.select(nil, [socket], nil, @connect_timeout)
82
+ socket.connect_nonblock(full_addr)
83
+ else
84
+ clear_socket!
85
+ raise ConnectionFailedError, "Can't connect during #{@connect_timeout}"
86
+ end
87
+ end
88
+
80
89
  rescue Errno::EISCONN => _
81
90
  # already connected
82
91
  rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Errno::ETIMEDOUT, Errno::EPIPE => e
@@ -1,3 +1,3 @@
1
1
  module JRPC
2
- VERSION = '1.1.6'
2
+ VERSION = '1.1.7'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jrpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 1.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Talakevich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-29 00:00:00.000000000 Z
11
+ date: 2020-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: netstring
@@ -132,8 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
132
  - !ruby/object:Gem::Version
133
133
  version: '0'
134
134
  requirements: []
135
- rubyforge_project:
136
- rubygems_version: 2.4.8
135
+ rubygems_version: 3.1.2
137
136
  signing_key:
138
137
  specification_version: 4
139
138
  summary: JSON RPC client