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.
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