pcp-client 0.3.0 → 0.3.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 +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
|