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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pcp/client.rb +49 -42
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4bbadd16844a443623b6d9d1389b580960b17592
4
- data.tar.gz: cfe1c97388dbab0db4496b316f57961cc6e30d9d
3
+ metadata.gz: 8e54ff97949557ad0a4e596e76413517081ccd81
4
+ data.tar.gz: a0cea4f3e5409621326c214867455342bb268a55
5
5
  SHA512:
6
- metadata.gz: d006505e2bfdee5de658da1a1dff1215d3a483ce4e7326815f8229b39f9acf61597686ad7c4a83e1e0d46e712aa8420742387743792df3212ef760bbeb25947d
7
- data.tar.gz: ef1ab13ddaeffda48954bc65c8d7b1d28c62037667dad6d40708eb79c37c69544767cd41198778cf690bd35b547d759665020897f82774aa7c85c31af5a30f04
6
+ metadata.gz: 90899dbd9a381d8e9fcdc43a679fb17667c60e354e7a8b8f2b1d0e31e565c5454b9d3d5b4243bea3df85d706e15798afc33c4326b2bedc995d050b7e9f556e2f
7
+ data.tar.gz: 43ed81721fbfd41efefd81c7c929b5da7ac464fbe174b2b19ef4f9ad1ae8433cd6e6d2c7133f30d6d1fab660227e20f799f07d5b4e9c700f850881032da41eef
@@ -50,55 +50,58 @@ module PCP
50
50
  mutex = Mutex.new
51
51
  associated_cv = ConditionVariable.new
52
52
 
53
- @logger.debug { [:connect, @server] }
54
- @connection = Faye::WebSocket::Client.new(@server, nil, {:tls => {:private_key_file => @ssl_key,
55
- :cert_chain_file => @ssl_cert,
56
- :ssl_version => ["TLSv1", "TLSv1_1", "TLSv1_2"]}})
57
-
58
- @connection.on :open do |event|
59
- begin
60
- @logger.info { [:open] }
61
- send(associate_request)
62
- rescue Exception => e
63
- @logger.error { [:open_exception, e] }
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
- @connection.on :message do |event|
68
- begin
69
- message = ::PCP::Message.new(event.data)
70
- @logger.debug { [:message, :decoded, message] }
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
- if message[:message_type] == 'http://puppetlabs.com/associate_response'
87
+ @connection.on :close do |event|
88
+ begin
89
+ @logger.info { [:close, event.code, event.reason] }
73
90
  mutex.synchronize do
74
- @associated = JSON.load(message.data)["success"]
91
+ @associated = false
75
92
  associated_cv.signal
76
93
  end
77
- elsif @on_message
78
- @on_message.call(message)
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
- @connection.on :close do |event|
86
- begin
87
- @logger.info { [:close, event.code, event.reason] }
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
- @logger.debug { [:send, message] }
145
- message[:sender] = identity
146
- @connection.send(message.encode)
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
- @logger.debug { [:close] }
154
- @connection.close
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.0
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-05 00:00:00.000000000 Z
11
+ date: 2016-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eventmachine