jrpc 1.1.6 → 1.1.7

Sign up to get free protection for your applications and to get access to all the features.
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