xlogin 0.11.8 → 0.11.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/xlogin/factory.rb +1 -9
- data/lib/xlogin/session.rb +5 -1
- data/lib/xlogin/session_pool.rb +5 -6
- data/lib/xlogin/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 523b5807afae2b2175f43b09e7c05c00d0d5497dc0d639b517b2284081fd1bb9
|
4
|
+
data.tar.gz: e8fdb5028df03bb6c91f21164e2f350db7d1f225c257f8d736a17694ce33561a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12dcd547fc39f2f46300b4effc16653234444e172cc021c23fc6bd543088dd2d3cfe54a232f7f4b0fe8960d9cb646627143d58b8b6fed389ef1a222c8af5daa6
|
7
|
+
data.tar.gz: e2e1ac68aa439389b97ad59c230a6eb673971ce914fb99070a712b6d96ef82b245a7ee6012b77378b55e53d7bf8706a804a438de52e0c5fa371902138131d409
|
data/lib/xlogin/factory.rb
CHANGED
@@ -11,7 +11,6 @@ module Xlogin
|
|
11
11
|
def initialize
|
12
12
|
@inventory = Hash.new
|
13
13
|
@templates = Hash.new
|
14
|
-
@session_pool = Hash.new
|
15
14
|
end
|
16
15
|
|
17
16
|
def set_inventory(name, **opts)
|
@@ -59,14 +58,7 @@ module Xlogin
|
|
59
58
|
end
|
60
59
|
|
61
60
|
def build_pool(args, **opts)
|
62
|
-
|
63
|
-
when Hash then uri(args)
|
64
|
-
when String then uri(get_inventory(args))
|
65
|
-
else return
|
66
|
-
end
|
67
|
-
|
68
|
-
param = opts.map { |k, v| "#{k}=#{v}" }.join('&')
|
69
|
-
@session_pool["#{uri}?#{param}"] ||= Xlogin::SessionPool.new(args, **opts)
|
61
|
+
Xlogin::SessionPool.new(args, **opts)
|
70
62
|
end
|
71
63
|
|
72
64
|
def build_from_hostname(args, **opts)
|
data/lib/xlogin/session.rb
CHANGED
data/lib/xlogin/session_pool.rb
CHANGED
@@ -32,9 +32,9 @@ module Xlogin
|
|
32
32
|
def with
|
33
33
|
session = deq
|
34
34
|
begin
|
35
|
-
|
35
|
+
raise IOError if session.sock.closed?
|
36
36
|
rescue IOError, EOFError, Errno::ECONNABORTED, Errno::ECONNREFUSED, Errno::ECONNRESET
|
37
|
-
destroy
|
37
|
+
destroy(session)
|
38
38
|
session = deq
|
39
39
|
end
|
40
40
|
|
@@ -46,7 +46,7 @@ module Xlogin
|
|
46
46
|
def close
|
47
47
|
while @queue.empty?
|
48
48
|
session, _, _ = @queue.deq
|
49
|
-
destroy
|
49
|
+
destroy(session)
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
@@ -61,18 +61,17 @@ module Xlogin
|
|
61
61
|
|
62
62
|
session, created, cleaner = @queue.deq
|
63
63
|
if Time.now - created > @idle
|
64
|
-
destroy
|
64
|
+
destroy(session)
|
65
65
|
return deq
|
66
66
|
end
|
67
67
|
|
68
|
-
cleaner.kill
|
69
68
|
session
|
70
69
|
end
|
71
70
|
|
72
71
|
def enq(session)
|
73
72
|
created = Time.now
|
74
73
|
cleaner = Thread.new(session) do |s|
|
75
|
-
sleep @idle *
|
74
|
+
sleep @idle * 1.5
|
76
75
|
s.close rescue nil
|
77
76
|
end
|
78
77
|
|
data/lib/xlogin/version.rb
CHANGED
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.11.
|
4
|
+
version: 0.11.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- haccht
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-04-
|
11
|
+
date: 2019-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-telnet
|