amqp 1.1.8 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 149ce59ec667f2680ed18e7aaf13135a63fd2a45
4
- data.tar.gz: b1c307a1be91c838469d6bab945bc44ec589d168
3
+ metadata.gz: bd66c91f55ab8045cc63d46592f2e909ae43dccf
4
+ data.tar.gz: 2cd03735c97ee93a70b0fe43ee027e909f1e7c52
5
5
  SHA512:
6
- metadata.gz: a961a55d34df907a3cb44d0317bca8c7df242f3ab92a36ea8100ccd2d9445a46197fb45be5113ccd68e26974ecf15ec29ce5591c0f2b0b6bd897dbb0c0e1d707
7
- data.tar.gz: e7e7b5843be628d65422b8ddc5ffbba34e00999e7f0239d4b7f4dc3b3c1d54b1ec64c6e4613ff34c387c1ed71f0403e7d3cca986b0bb7e28609ba6a93d50db10
6
+ metadata.gz: 5fcd3df4e73c1d14209b9bd9036cadf708e4e8869f15b16bab775a13b0f796a1f55f9bdcbad5d9f12dc039eb1c17e8eb79e1eebca0b41d9e151e64694ac97625
7
+ data.tar.gz: 679dca56fb7b1dd36ab7eec48eb8a70249e7ec7117c2405436feaa2c6c7863ba7cc1c1b2acc52fc5d28ac7e5568c501859a136458df400ce53b4578e67322507
@@ -6,7 +6,6 @@ env:
6
6
  - CI=true
7
7
  rvm:
8
8
  - 1.8.7
9
- - rbx
10
9
  - jruby-19mode
11
10
  - 1.9.2
12
11
  - 1.9.3
@@ -1,11 +1,23 @@
1
- ## Changes Between 1.1.7 and 1.1.8
1
+ ## Changes Between 1.1.0 and 1.2.0
2
2
 
3
- ### amq-protocol Update
3
+ ### [Authentication Failure Notification](http://www.rabbitmq.com/auth-notification.html) Support
4
4
 
5
- Minimum `amq-protocol` version is now `1.9.2`.
5
+ amqp gem now supports [Authentication Failure
6
+ Notification](http://www.rabbitmq.com/auth-notification.html). Public
7
+ API for authentication failure handling hasn't changed.
8
+
9
+ This extension is available in RabbitMQ 3.2+.
6
10
 
11
+ ## basic.qos Recovery Fix
7
12
 
8
- ## Changes Between 1.1.6 and 1.1.7
13
+ `basic.qos` setting will now be recovered first thing after
14
+ channel recovery, to the most recent value passed via `:prefetch` channel
15
+ constructor option or `AMQP::Channel#prefetch`.
16
+
17
+
18
+ ### amq-protocol Update
19
+
20
+ Minimum `amq-protocol` version is now `1.9.2`.
9
21
 
10
22
  ### Automatic Recovery Fix
11
23
 
@@ -14,52 +26,31 @@ Automatic connection recovery now correctly recovers bindings again.
14
26
  Contributed by Devin Christensen.
15
27
 
16
28
 
17
- ## Changes Between 1.1.5 and 1.1.6
18
-
19
29
  ### 65535 Channels Per Connection
20
30
 
21
- amqp gem now allows for 65535 channels per connection and
31
+ amqp gem now allows for 65535 channels per connection and
22
32
  not Ruby process.
23
33
 
24
34
  Contributed by Neo (http://neo.com) developers.
25
35
 
26
-
27
- ## Changes Between 1.1.4 and 1.1.5
28
-
29
36
  ### channel.close is Delayed Until After Channel is Open
30
37
 
31
38
  This eliminates a race condition in some codebases that use
32
39
  very short lived channels.
33
40
 
34
-
35
- ## Changes Between 1.1.3 and 1.1.4
36
-
37
41
  ### ConnectionClosedError is Back
38
42
 
39
- `ConnectionClosedError` is now defined again.
40
-
41
-
42
- ## Changes Between 1.1.2 and 1.1.3
43
-
44
- ### Fixed Exception in AMQP::Exchange#handle_declare_ok
43
+ `ConnectionClosedError` from `amq-client` is now defined again.
45
44
 
46
- `AMQP::Exchange#handle_declare_ok` no longer raises an exception
47
- about undefined method.
48
-
49
-
50
- ## Changes Between 1.1.1 and 1.1.2
51
45
 
52
46
  ### amq-protocol Update
53
47
 
54
48
  Minimum `amq-protocol` version is now `1.9.0`.
55
49
 
56
-
57
- ## Changes Between 1.1.0 and 1.1.1
58
-
59
- ### Fixed Exception in AMQP::Exchange#handle_declare_ok
50
+ ### Fixed Exceptions in AMQP::Exchange#handle_declare_ok
60
51
 
61
52
  `AMQP::Exchange#handle_declare_ok` no longer raises an exception
62
- about undefined method `#anonymous?`.
53
+ about undefined methods `#anonymous?` and `#exchange`.
63
54
 
64
55
 
65
56
  ## Changes Between 1.0.0 and 1.1.0
data/README.md CHANGED
@@ -220,7 +220,7 @@ AMQP gem is licensed under the [Ruby License](http://www.ruby-lang.org/en/LICENS
220
220
  * The Initial Developer of the Original Code is Aman Gupta.
221
221
  * Copyright (c) 2008 - 2010 [Aman Gupta](http://github.com/tmm1).
222
222
  * Contributions from [Jakub Stastny](http://github.com/botanicus) are Copyright (c) 2011-2012 VMware, Inc.
223
- * Copyright (c) 2010 — 2012 [ruby-amqp](https://github.com/ruby-amqp) group members.
223
+ * Copyright (c) 2010 — 2014 [ruby-amqp](https://github.com/ruby-amqp) group members.
224
224
 
225
225
  Currently maintained by [ruby-amqp](https://github.com/ruby-amqp) group members
226
226
  Special thanks to Dmitriy Samovskiy, Ben Hood and Tony Garnock-Jones.
@@ -273,3 +273,7 @@ we do not expect this to change at this time.
273
273
  ### How does amqp gem relate to amq-client gem, amq-protocol and libraries like Bunny?
274
274
 
275
275
  See [this page about AMQP gems family](https://github.com/ruby-amqp/amq-client/blob/master/README.textile)
276
+
277
+
278
+ [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/ruby-amqp/amqp/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
279
+
@@ -295,7 +295,7 @@ module AMQP
295
295
  end # case
296
296
  end # if
297
297
 
298
- self.prefetch(options[:prefetch], false) if options[:prefetch]
298
+ self.prefetch(@options[:prefetch], false) if @options[:prefetch]
299
299
  end # self.open
300
300
  end # @connection.on_open
301
301
  end
@@ -997,8 +997,10 @@ module AMQP
997
997
  # @api public
998
998
  def prefetch(count, global = false, &block)
999
999
  self.once_open do
1000
- # RabbitMQ as of 2.3.1 does not support prefetch_size.
1000
+ # RabbitMQ does not support prefetch_size.
1001
1001
  self.qos(0, count, global, &block)
1002
+
1003
+ @options[:prefetch] = count
1002
1004
  end
1003
1005
 
1004
1006
  self
@@ -1,7 +1,7 @@
1
1
  module AMQP
2
2
  module ChannelIdAllocator
3
3
 
4
- MAX_CHANNELS_PER_CONNECTION = (2**16)
4
+ MAX_CHANNELS_PER_CONNECTION = (2**16) - 1
5
5
 
6
6
  # Resets channel allocator. This method is thread safe.
7
7
  # @api public
@@ -148,25 +148,6 @@ module AMQP
148
148
  settings[:logging] = boolean
149
149
  end
150
150
 
151
-
152
- # Establishes connection to AMQ broker and returns it. New connection object is yielded to
153
- # the block if it is given.
154
- #
155
- # @example Specifying adapter via the :adapter option
156
- # AMQP::Adapter.connect(:adapter => "socket")
157
- # @example Specifying using custom adapter class
158
- # AMQP::SocketClient.connect
159
- # @param [Hash] Connection parameters, including :adapter to use.
160
- # @api public
161
- def connect(settings = nil, &block)
162
- @settings = Settings.configure(settings)
163
-
164
- instance = self.new
165
- instance.establish_connection(settings)
166
- instance.register_connection_callback(&block)
167
-
168
- instance
169
- end
170
151
  end
171
152
 
172
153
 
@@ -533,15 +514,6 @@ module AMQP
533
514
  end
534
515
  end
535
516
 
536
-
537
-
538
- # For EventMachine adapter, this is a no-op.
539
- # @api public
540
- def establish_connection(settings)
541
- # Unfortunately there doesn't seem to be any sane way
542
- # how to get EventMachine connect to the instance level.
543
- end
544
-
545
517
  alias close disconnect
546
518
 
547
519
 
@@ -1056,6 +1028,12 @@ module AMQP
1056
1028
  # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference (Section 1.5.2.9)
1057
1029
  def handle_close(conn_close)
1058
1030
  closed!
1031
+ # getting connection.close during connection negotiation means authentication
1032
+ # has failed (RabbitMQ 3.2+):
1033
+ # http://www.rabbitmq.com/auth-notification.html
1034
+ if authenticating?
1035
+ @on_possible_authentication_failure.call(@settings) if @on_possible_authentication_failure
1036
+ end
1059
1037
  self.exec_callback_yielding_self(:error, conn_close)
1060
1038
  end
1061
1039
 
@@ -6,5 +6,5 @@ module AMQP
6
6
  #
7
7
  # @see AMQ::Protocol::VERSION
8
8
  # @return [String] AMQP gem version
9
- VERSION = '1.1.8'
9
+ VERSION = '1.2.0'
10
10
  end
@@ -47,6 +47,7 @@ describe AMQP do
47
47
  it "uses server-assigned queue name" do
48
48
  @channel.queue("") do |queue, *args|
49
49
  queue.name.should_not be_empty
50
+ queue.should be_anonymous
50
51
  queue.delete
51
52
  done
52
53
  end
@@ -9,7 +9,7 @@ describe AMQP::ChannelIdAllocator do
9
9
 
10
10
  describe "#next_channel_id" do
11
11
  subject do
12
- ChannelAllocator.new()
12
+ ChannelAllocator.new
13
13
  end
14
14
 
15
15
  context "when there is a channel id available for allocation" do
@@ -20,7 +20,7 @@ describe AMQP::ChannelIdAllocator do
20
20
  end
21
21
  end
22
22
 
23
- context "when THERE IS NOT channel id available for allocation" do
23
+ context "when THERE IS NO a channel id available for allocation" do
24
24
  it "raises an exception" do
25
25
  (ChannelAllocator::MAX_CHANNELS_PER_CONNECTION - 1).times do
26
26
  subject.next_channel_id
@@ -34,7 +34,7 @@ describe AMQP::ChannelIdAllocator do
34
34
 
35
35
  describe ".release_channel_id" do
36
36
  subject do
37
- ChannelAllocator.new()
37
+ ChannelAllocator.new
38
38
  end
39
39
 
40
40
  it "releases that channel id" do
@@ -49,12 +49,12 @@ describe AMQP::ChannelIdAllocator do
49
49
 
50
50
  describe "each instance gets its own channel IDs" do
51
51
  it "has an allocator per instance" do
52
- one = ChannelAllocator.new()
53
- two = ChannelAllocator.new()
52
+ one = ChannelAllocator.new
53
+ two = ChannelAllocator.new
54
54
  one.next_channel_id.should == 1
55
55
  one.next_channel_id.should == 2
56
56
  two.next_channel_id.should == 1
57
57
  two.next_channel_id.should == 2
58
58
  end
59
59
  end
60
- end
60
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amqp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.8
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aman Gupta
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-12-21 00:00:00.000000000 Z
13
+ date: 2014-01-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: eventmachine