pcp-client 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pcp/client.rb +49 -42
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e54ff97949557ad0a4e596e76413517081ccd81
|
4
|
+
data.tar.gz: a0cea4f3e5409621326c214867455342bb268a55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90899dbd9a381d8e9fcdc43a679fb17667c60e354e7a8b8f2b1d0e31e565c5454b9d3d5b4243bea3df85d706e15798afc33c4326b2bedc995d050b7e9f556e2f
|
7
|
+
data.tar.gz: 43ed81721fbfd41efefd81c7c929b5da7ac464fbe174b2b19ef4f9ad1ae8433cd6e6d2c7133f30d6d1fab660227e20f799f07d5b4e9c700f850881032da41eef
|
data/lib/pcp/client.rb
CHANGED
@@ -50,55 +50,58 @@ module PCP
|
|
50
50
|
mutex = Mutex.new
|
51
51
|
associated_cv = ConditionVariable.new
|
52
52
|
|
53
|
-
@logger.debug { [:connect,
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
53
|
+
@logger.debug { [:connect, :scheduling] }
|
54
|
+
EM.next_tick do
|
55
|
+
@logger.debug { [:connect, @server] }
|
56
|
+
@connection = Faye::WebSocket::Client.new(@server, nil, {:tls => {:private_key_file => @ssl_key,
|
57
|
+
:cert_chain_file => @ssl_cert,
|
58
|
+
:ssl_version => ["TLSv1", "TLSv1_1", "TLSv1_2"]}})
|
59
|
+
|
60
|
+
@connection.on :open do |event|
|
61
|
+
begin
|
62
|
+
@logger.info { [:open] }
|
63
|
+
send(associate_request)
|
64
|
+
rescue Exception => e
|
65
|
+
@logger.error { [:open_exception, e] }
|
66
|
+
end
|
64
67
|
end
|
65
|
-
end
|
66
68
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
69
|
+
@connection.on :message do |event|
|
70
|
+
begin
|
71
|
+
message = ::PCP::Message.new(event.data)
|
72
|
+
@logger.debug { [:message, :decoded, message] }
|
73
|
+
|
74
|
+
if message[:message_type] == 'http://puppetlabs.com/associate_response'
|
75
|
+
mutex.synchronize do
|
76
|
+
@associated = JSON.load(message.data)["success"]
|
77
|
+
associated_cv.signal
|
78
|
+
end
|
79
|
+
elsif @on_message
|
80
|
+
@on_message.call(message)
|
81
|
+
end
|
82
|
+
rescue Exception => e
|
83
|
+
@logger.error { [:message_exception, e] }
|
84
|
+
end
|
85
|
+
end
|
71
86
|
|
72
|
-
|
87
|
+
@connection.on :close do |event|
|
88
|
+
begin
|
89
|
+
@logger.info { [:close, event.code, event.reason] }
|
73
90
|
mutex.synchronize do
|
74
|
-
@associated =
|
91
|
+
@associated = false
|
75
92
|
associated_cv.signal
|
76
93
|
end
|
77
|
-
|
78
|
-
@
|
94
|
+
rescue Exception => e
|
95
|
+
@logger.error { [:close_exception, e] }
|
79
96
|
end
|
80
|
-
rescue Exception => e
|
81
|
-
@logger.error { [:message_exception, e] }
|
82
97
|
end
|
83
|
-
end
|
84
98
|
|
85
|
-
|
86
|
-
|
87
|
-
@
|
88
|
-
mutex.synchronize do
|
89
|
-
@associated = false
|
90
|
-
associated_cv.signal
|
91
|
-
end
|
92
|
-
rescue Exception => e
|
93
|
-
@logger.error { [:close_exception, e] }
|
99
|
+
@connection.on :error do |event|
|
100
|
+
@logger.error { [:error, event] }
|
101
|
+
@associated = false
|
94
102
|
end
|
95
103
|
end
|
96
104
|
|
97
|
-
@connection.on :error do |event|
|
98
|
-
@logger.error { [:error, event] }
|
99
|
-
@associated = false
|
100
|
-
end
|
101
|
-
|
102
105
|
if !EM.reactor_running?
|
103
106
|
@logger.debug { [:no_eventmachine_reactor,
|
104
107
|
"Eventmachine reactor is not running" ] }
|
@@ -141,17 +144,21 @@ module PCP
|
|
141
144
|
# @param message [PCP::Message]
|
142
145
|
# @return unused
|
143
146
|
def send(message)
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
+
EM.next_tick do
|
148
|
+
@logger.debug { [:send, message] }
|
149
|
+
message[:sender] = identity
|
150
|
+
@connection.send(message.encode)
|
151
|
+
end
|
147
152
|
end
|
148
153
|
|
149
154
|
# Disconnect the client
|
150
155
|
# @api public
|
151
156
|
# @return unused
|
152
157
|
def close
|
153
|
-
|
154
|
-
|
158
|
+
EM.next_tick do
|
159
|
+
@logger.debug { [:close] }
|
160
|
+
@connection.close
|
161
|
+
end
|
155
162
|
end
|
156
163
|
|
157
164
|
private
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pcp-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eventmachine
|