xlogin 0.9.11 → 0.10.1

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: 28cb6da4487ca47b89f51e47062381da8fa717f7
4
- data.tar.gz: 025f251c6b0faaee4cb65efb0331f0cba384f70d
2
+ SHA256:
3
+ metadata.gz: '068b993d779d9f268051cb764b5aeef1cf1b42c9d72d0fa3d6ce6c714b9a9d82'
4
+ data.tar.gz: b97c92f6e5a0f5f8100204939ff2cd8013b50da67ed14ad89fd8b42da151f485
5
5
  SHA512:
6
- metadata.gz: 99e938853de8d38f268f2b78472078b92b78306c8284ca87ae43923fb4ae06f10674965827b8da20268dd95b69c36d22b7200c13444f3c4934748f74cedc0c2f
7
- data.tar.gz: e0eda12bcc603852a8342fb5cfbdc08b2483db4a15d01c06eec6f222cfd1ad3697c90ce2a5ef0c608a0745c364ae0a67ebf94025445f5ec514eb5657a837a3eb
6
+ metadata.gz: 495f64a821db65e51fd9e53ce19262ae673571e48ac796064874d074a07506bff350d3fbedb39ccbec623901523681412506e6cc7b3aa8aea27116d57c626160
7
+ data.tar.gz: adb2e3d004d856e0ddd0d8d7e912ba78c822017f29b1cea0c9bbc41a665b41d82204c5f3d531354ea0563993b1faa3f6cd333f4b35e0eda499d7c4aff44f08b7
@@ -7,6 +7,8 @@ module Xlogin
7
7
  DEFAULT_POOL_SIZE = 1
8
8
  DEFAULT_POOL_IDLE = 60
9
9
 
10
+ attr_reader :size, :idle
11
+
10
12
  def initialize(args, **opts)
11
13
  @args = args
12
14
  @opts = opts
@@ -25,13 +27,21 @@ module Xlogin
25
27
  @created = 0
26
28
  end
27
29
 
30
+ def size=(val)
31
+ @mutex.synchronize { @size = val }
32
+ end
33
+
34
+ def idle=(val)
35
+ @mutex.synchronize { @idle = val }
36
+ end
37
+
28
38
  def with
29
39
  session = deq
30
40
  begin
31
41
  session.prompt
32
42
  rescue IOError, EOFError, Errno::ECONNABORTED, Errno::ECONNREFUSED, Errno::ECONNRESET
33
43
  destroy session
34
- session = try_create
44
+ session = deq
35
45
  end
36
46
 
37
47
  Thread.handle_interrupt(Exception => :immediate) { yield session }
@@ -57,7 +67,7 @@ module Xlogin
57
67
 
58
68
  def enq(session)
59
69
  timer = Thread.new do
60
- sleep @idle * 1.2
70
+ sleep @idle
61
71
  session.close rescue nil
62
72
  end
63
73
 
@@ -1,3 +1,3 @@
1
1
  module Xlogin
2
- VERSION = "0.9.11"
2
+ VERSION = "0.10.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xlogin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.11
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - haccht
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-07 00:00:00.000000000 Z
11
+ date: 2018-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-telnet
@@ -180,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
180
  version: '0'
181
181
  requirements: []
182
182
  rubyforge_project:
183
- rubygems_version: 2.6.14.1
183
+ rubygems_version: 2.7.8
184
184
  signing_key:
185
185
  specification_version: 4
186
186
  summary: rancid clogin alternative