amqp 1.1.0.pre2 → 1.1.0.rc1

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: bf6a9a0cb453a3921f7de2457b275a75be95f468
4
- data.tar.gz: d8dc60d937d51493248f5813734cef62472504fd
3
+ metadata.gz: 7625109caea37f9496974e15387dc90e920baa99
4
+ data.tar.gz: 207ec33c2beaca7afe60f712825b84301fb63d77
5
5
  SHA512:
6
- metadata.gz: 3cb18aa1e1f532f2c82c32bc9ce6b0075fd43bf37952b2a8ada8f7f0bdfd043df13a5cf156b1c78d7b2d5cbbb6302987c6eeb9275af91d1ff1ba59a2a69b88bb
7
- data.tar.gz: d18e7ff42f621a27ea2363adb1ac733fbc53bb6880cee7b0b7b0b88fcbbb8392aec9236499b61a9f4475a20172211a861184eb337843431e1f7ebfb02e932fb2
6
+ metadata.gz: d1d85451a233fb14c1135629099ec8a1806ebac0ad46dd0c392339862a3936e69b32b50eec4c05f511e77f5bc7fe459d81a62a314e527f992544fb2d99a9d892
7
+ data.tar.gz: 35eed4d61c06807d19f7a9a08ff26dc34052085d38c5f5402ebd45abe9558a2b0ec9d799f24789e237d8ad11ed0e3657ed5c47859f448219bfa5626be268659e
@@ -1,5 +1,11 @@
1
1
  ## Changes Between 1.0.0 and 1.1.0
2
2
 
3
+ ### amq-protocol Update
4
+
5
+ Minimum `amq-protocol` version is now `1.8.0` which includes
6
+ a bug fix for messages exactly 128 Kb in size.
7
+
8
+
3
9
  ### AMQ::Client is Removed
4
10
 
5
11
  `amq-client` has been incorporated into amqp gem. `AMQ::Client` and related
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
24
24
 
25
25
  # Dependencies
26
26
  s.add_dependency "eventmachine"
27
- s.add_dependency "amq-protocol", ">= 1.6.0"
27
+ s.add_dependency "amq-protocol", ">= 1.8.0"
28
28
 
29
29
  s.rubyforge_project = "amqp"
30
30
  end
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ require "bundler"
5
+ Bundler.setup
6
+
7
+ $:.unshift(File.expand_path("../../../../lib", __FILE__))
8
+ require 'amqp'
9
+ require "amqp/extensions/rabbitmq"
10
+
11
+ puts "=> Demonstrating connection.blocked"
12
+ puts
13
+
14
+ # This example requires high memory watermark to be set
15
+ # really low to demonstrate blocking.
16
+ #
17
+ # rabbitmqctl set_vm_memory_high_watermark 0.00000001
18
+ #
19
+ # should do it.
20
+
21
+ EventMachine.run do
22
+ connection = AMQP.connect(:host => '127.0.0.1')
23
+
24
+ connection.on_blocked do |conn, conn_blocked|
25
+ puts "Connection blocked, reason: #{conn_blocked.reason}"
26
+ end
27
+
28
+ connection.on_unblocked do |conn, _|
29
+ puts "Connection unblocked"
30
+ end
31
+
32
+ puts "Connecting to RabbitMQ. Running #{AMQP::VERSION} version of the gem..."
33
+
34
+ AMQP::Channel.new(connection) do |ch|
35
+ x = ch.default_exchange
36
+
37
+ puts "Publishing..."
38
+ x.publish("z" * 1024 * 1024 * 24)
39
+ end
40
+
41
+ show_stopper = Proc.new {
42
+ connection.close { EventMachine.stop }
43
+ }
44
+
45
+ EM.add_timer(120, show_stopper)
46
+ Signal.trap('INT', show_stopper)
47
+ Signal.trap('TERM', show_stopper)
48
+ end
@@ -317,8 +317,7 @@ module AMQP
317
317
  @status = :unknown
318
318
  @default_publish_options = (opts.delete(:default_publish_options) || {
319
319
  :routing_key => @default_routing_key,
320
- :mandatory => false,
321
- :immediate => false
320
+ :mandatory => false
322
321
  }).freeze
323
322
 
324
323
  @default_headers = (opts.delete(:default_headers) || {
@@ -503,12 +502,6 @@ module AMQP
503
502
  # unroutable message back to the client with basic.return AMQPmethod.
504
503
  # If message is not mandatory, the server silently drops the message.
505
504
  #
506
- # @option options [Boolean] :immediate (false) This flag tells the server how to react if the message cannot be
507
- # routed to a queue consumer immediately. If this flag is set, the
508
- # server will return an undeliverable message with a Return method.
509
- # If this flag is zero, the server will queue the message, but with
510
- # no guarantee that it will ever be consumed.
511
- #
512
505
  # @option options [Boolean] :persistent (false) When true, this message will be persisted to disk and remain in the queue until
513
506
  # it is consumed. When false, the message is only kept in a transient store
514
507
  # and will lost in case of server restart.
@@ -539,7 +532,7 @@ module AMQP
539
532
  @channel.once_open do
540
533
  properties = @default_headers.merge(options)
541
534
  properties[:delivery_mode] = properties.delete(:persistent) ? 2 : 1
542
- basic_publish(payload.to_s, opts[:key] || opts[:routing_key] || @default_routing_key, properties, opts[:mandatory], opts[:immediate])
535
+ basic_publish(payload.to_s, opts[:key] || opts[:routing_key] || @default_routing_key, properties, opts[:mandatory])
543
536
 
544
537
  # don't pass block to AMQP::Exchange#publish because it will be executed
545
538
  # immediately and we want to do it later. See ruby-amqp/amqp/#67 MK.
@@ -664,9 +657,9 @@ module AMQP
664
657
  # @group Publishing Messages
665
658
 
666
659
  # @api public
667
- def basic_publish(payload, routing_key = AMQ::Protocol::EMPTY_STRING, user_headers = {}, mandatory = false, immediate = false, frame_size = nil)
660
+ def basic_publish(payload, routing_key = AMQ::Protocol::EMPTY_STRING, user_headers = {}, mandatory = false)
668
661
  headers = { :priority => 0, :delivery_mode => 2, :content_type => "application/octet-stream" }.merge(user_headers)
669
- @connection.send_frameset(AMQ::Protocol::Basic::Publish.encode(@channel.id, payload, headers, @name, routing_key, mandatory, immediate, (frame_size || @connection.frame_max)), @channel)
662
+ @connection.send_frameset(AMQ::Protocol::Basic::Publish.encode(@channel.id, payload, headers, @name, routing_key, mandatory, false, @connection.frame_max), @channel)
670
663
 
671
664
  # publisher confirms support. MK.
672
665
  @channel.exec_callback(:after_publish)
@@ -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.0.pre2'
9
+ VERSION = '1.1.0.rc1'
10
10
  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.0.pre2
4
+ version: 1.1.0.rc1
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-08-03 00:00:00.000000000 Z
13
+ date: 2013-09-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: eventmachine
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - '>='
34
34
  - !ruby/object:Gem::Version
35
- version: 1.6.0
35
+ version: 1.8.0
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '>='
41
41
  - !ruby/object:Gem::Version
42
- version: 1.6.0
42
+ version: 1.8.0
43
43
  description: Widely used, feature-rich asynchronous RabbitMQ client with batteries
44
44
  included.
45
45
  email:
@@ -140,6 +140,7 @@ files:
140
140
  - examples/error_handling/tcp_connection_failure_with_a_callback.rb
141
141
  - examples/exchanges/autodeletion_of_exchanges.rb
142
142
  - examples/exchanges/declare_an_exchange_without_assignment.rb
143
+ - examples/extensions/rabbitmq/connection_blocking.rb
143
144
  - examples/extensions/rabbitmq/per_queue_message_ttl.rb
144
145
  - examples/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
145
146
  - examples/extensions/rabbitmq/using_alternate_exchanges.rb