brontes3d-amqp 0.6.4.2 → 0.6.4.3
Sign up to get free protection for your applications and to get access to all the features.
- data/amqp.gemspec +1 -1
- data/bacon/client.rb +14 -0
- data/lib/amqp/client.rb +2 -1
- metadata +1 -1
data/amqp.gemspec
CHANGED
data/bacon/client.rb
CHANGED
@@ -276,6 +276,20 @@ describe Client do
|
|
276
276
|
# puts "\nreconnected #{@times_connected} times"
|
277
277
|
@times_connected.should > 7
|
278
278
|
end
|
279
|
+
|
280
|
+
should "give EM return value to AMQP reference @conn" do
|
281
|
+
EventMachine.stubs(:connect_server).returns(99).with do |arg1, arg2|
|
282
|
+
EM.next_tick do
|
283
|
+
@client = EM.class_eval{ @conns }[99]
|
284
|
+
@amqp_conn = AMQP.class_eval{ @conn }
|
285
|
+
@client.stubs(:send_data).returns(true)
|
286
|
+
end
|
287
|
+
true
|
288
|
+
end
|
289
|
+
EM.next_tick{ EM.add_timer(0.1){ EM.stop_event_loop } }
|
290
|
+
AMQP.start(:host => 'nonexistanthost')
|
291
|
+
@amqp_conn.should == @client
|
292
|
+
end
|
279
293
|
|
280
294
|
|
281
295
|
end
|
data/lib/amqp/client.rb
CHANGED
@@ -236,8 +236,9 @@ module AMQP
|
|
236
236
|
max_retry = ((opts[:fallback_servers] || []).size + 1) * 3
|
237
237
|
begin
|
238
238
|
(try_host, try_port) = determine_reconnect_server(opts)
|
239
|
-
EM.connect try_host, try_port, self, opts
|
239
|
+
result = EM.connect try_host, try_port, self, opts
|
240
240
|
connection_succeeded!
|
241
|
+
return result
|
241
242
|
rescue RuntimeError => e
|
242
243
|
STDERR.puts "'#{e.message}' on connect to #{try_host}:#{try_port}"
|
243
244
|
retry if e.message == "no connection" && @retry_count < max_retry
|