bunny 1.0.7 → 2.24.0

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 (168) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +92 -87
  3. data/lib/amq/protocol/extensions.rb +2 -0
  4. data/lib/bunny/authentication/credentials_encoder.rb +2 -0
  5. data/lib/bunny/authentication/external_mechanism_encoder.rb +2 -0
  6. data/lib/bunny/authentication/plain_mechanism_encoder.rb +2 -0
  7. data/lib/bunny/channel.rb +485 -186
  8. data/lib/bunny/channel_id_allocator.rb +8 -4
  9. data/lib/bunny/concurrent/atomic_fixnum.rb +2 -0
  10. data/lib/bunny/concurrent/condition.rb +2 -0
  11. data/lib/bunny/concurrent/continuation_queue.rb +37 -13
  12. data/lib/bunny/concurrent/synchronized_sorted_set.rb +2 -0
  13. data/lib/bunny/consumer.rb +20 -13
  14. data/lib/bunny/consumer_tag_generator.rb +6 -2
  15. data/lib/bunny/consumer_work_pool.rb +37 -7
  16. data/lib/bunny/cruby/socket.rb +51 -22
  17. data/lib/bunny/cruby/ssl_socket.rb +68 -5
  18. data/lib/bunny/delivery_info.rb +3 -1
  19. data/lib/bunny/exceptions.rb +27 -4
  20. data/lib/bunny/exchange.rb +35 -29
  21. data/lib/bunny/framing.rb +2 -0
  22. data/lib/bunny/get_response.rb +85 -0
  23. data/lib/bunny/heartbeat_sender.rb +9 -6
  24. data/lib/bunny/message_properties.rb +2 -0
  25. data/lib/bunny/queue.rb +89 -41
  26. data/lib/bunny/reader_loop.rb +72 -28
  27. data/lib/bunny/return_info.rb +2 -0
  28. data/lib/bunny/session.rb +621 -225
  29. data/lib/bunny/socket.rb +7 -12
  30. data/lib/bunny/ssl_socket.rb +7 -12
  31. data/lib/bunny/test_kit.rb +15 -0
  32. data/lib/bunny/timeout.rb +3 -12
  33. data/lib/bunny/timestamp.rb +24 -0
  34. data/lib/bunny/transport.rb +223 -98
  35. data/lib/bunny/version.rb +2 -1
  36. data/lib/bunny/versioned_delivery_tag.rb +2 -0
  37. data/lib/bunny.rb +54 -8
  38. metadata +38 -224
  39. data/.gitignore +0 -22
  40. data/.rspec +0 -3
  41. data/.ruby-version +0 -1
  42. data/.travis.yml +0 -23
  43. data/.yardopts +0 -8
  44. data/ChangeLog.md +0 -1092
  45. data/Gemfile +0 -54
  46. data/LICENSE +0 -21
  47. data/benchmarks/basic_publish/with_128K_messages.rb +0 -35
  48. data/benchmarks/basic_publish/with_1k_messages.rb +0 -35
  49. data/benchmarks/basic_publish/with_4K_messages.rb +0 -35
  50. data/benchmarks/basic_publish/with_64K_messages.rb +0 -35
  51. data/benchmarks/channel_open.rb +0 -28
  52. data/benchmarks/mutex_and_monitor.rb +0 -42
  53. data/benchmarks/queue_declare.rb +0 -29
  54. data/benchmarks/queue_declare_and_bind.rb +0 -29
  55. data/benchmarks/queue_declare_bind_and_delete.rb +0 -29
  56. data/benchmarks/synchronized_sorted_set.rb +0 -53
  57. data/benchmarks/write_vs_write_nonblock.rb +0 -49
  58. data/bin/ci/before_build.sh +0 -31
  59. data/bunny.gemspec +0 -40
  60. data/examples/connection/authentication_failure.rb +0 -16
  61. data/examples/connection/automatic_recovery_with_basic_get.rb +0 -40
  62. data/examples/connection/automatic_recovery_with_client_named_queues.rb +0 -36
  63. data/examples/connection/automatic_recovery_with_multiple_consumers.rb +0 -46
  64. data/examples/connection/automatic_recovery_with_server_named_queues.rb +0 -35
  65. data/examples/connection/channel_level_exception.rb +0 -35
  66. data/examples/connection/disabled_automatic_recovery.rb +0 -34
  67. data/examples/connection/heartbeat.rb +0 -17
  68. data/examples/connection/manually_reconnecting_consumer.rb +0 -23
  69. data/examples/connection/manually_reconnecting_publisher.rb +0 -28
  70. data/examples/connection/unknown_host.rb +0 -16
  71. data/examples/guides/exchanges/direct_exchange_routing.rb +0 -36
  72. data/examples/guides/exchanges/fanout_exchange_routing.rb +0 -28
  73. data/examples/guides/exchanges/headers_exchange_routing.rb +0 -31
  74. data/examples/guides/exchanges/mandatory_messages.rb +0 -30
  75. data/examples/guides/extensions/alternate_exchange.rb +0 -28
  76. data/examples/guides/extensions/basic_nack.rb +0 -33
  77. data/examples/guides/extensions/connection_blocked.rb +0 -35
  78. data/examples/guides/extensions/consumer_cancellation_notification.rb +0 -39
  79. data/examples/guides/extensions/dead_letter_exchange.rb +0 -32
  80. data/examples/guides/extensions/exchange_to_exchange_bindings.rb +0 -29
  81. data/examples/guides/extensions/per_message_ttl.rb +0 -36
  82. data/examples/guides/extensions/per_queue_message_ttl.rb +0 -36
  83. data/examples/guides/extensions/publisher_confirms.rb +0 -28
  84. data/examples/guides/extensions/queue_lease.rb +0 -26
  85. data/examples/guides/extensions/sender_selected_distribution.rb +0 -32
  86. data/examples/guides/getting_started/blabbr.rb +0 -27
  87. data/examples/guides/getting_started/hello_world.rb +0 -20
  88. data/examples/guides/getting_started/weathr.rb +0 -47
  89. data/examples/guides/queues/one_off_consumer.rb +0 -23
  90. data/examples/guides/queues/redeliveries.rb +0 -79
  91. data/lib/bunny/compatibility.rb +0 -24
  92. data/lib/bunny/concurrent/linked_continuation_queue.rb +0 -61
  93. data/lib/bunny/jruby/socket.rb +0 -40
  94. data/lib/bunny/jruby/ssl_socket.rb +0 -53
  95. data/lib/bunny/system_timer.rb +0 -20
  96. data/profiling/basic_publish/with_4K_messages.rb +0 -33
  97. data/repl +0 -3
  98. data/spec/compatibility/queue_declare_spec.rb +0 -44
  99. data/spec/compatibility/queue_declare_with_default_channel_spec.rb +0 -33
  100. data/spec/higher_level_api/integration/basic_ack_spec.rb +0 -71
  101. data/spec/higher_level_api/integration/basic_cancel_spec.rb +0 -76
  102. data/spec/higher_level_api/integration/basic_consume_spec.rb +0 -225
  103. data/spec/higher_level_api/integration/basic_consume_with_objects_spec.rb +0 -54
  104. data/spec/higher_level_api/integration/basic_get_spec.rb +0 -48
  105. data/spec/higher_level_api/integration/basic_nack_spec.rb +0 -79
  106. data/spec/higher_level_api/integration/basic_publish_spec.rb +0 -89
  107. data/spec/higher_level_api/integration/basic_qos_spec.rb +0 -29
  108. data/spec/higher_level_api/integration/basic_recover_spec.rb +0 -18
  109. data/spec/higher_level_api/integration/basic_reject_spec.rb +0 -74
  110. data/spec/higher_level_api/integration/basic_return_spec.rb +0 -33
  111. data/spec/higher_level_api/integration/channel_close_spec.rb +0 -25
  112. data/spec/higher_level_api/integration/channel_flow_spec.rb +0 -21
  113. data/spec/higher_level_api/integration/channel_open_spec.rb +0 -57
  114. data/spec/higher_level_api/integration/confirm_select_spec.rb +0 -19
  115. data/spec/higher_level_api/integration/connection_spec.rb +0 -400
  116. data/spec/higher_level_api/integration/connection_stop_spec.rb +0 -26
  117. data/spec/higher_level_api/integration/consistent_hash_exchange_spec.rb +0 -50
  118. data/spec/higher_level_api/integration/consumer_cancellation_notification_spec.rb +0 -128
  119. data/spec/higher_level_api/integration/dead_lettering_spec.rb +0 -52
  120. data/spec/higher_level_api/integration/exchange_bind_spec.rb +0 -31
  121. data/spec/higher_level_api/integration/exchange_declare_spec.rb +0 -204
  122. data/spec/higher_level_api/integration/exchange_delete_spec.rb +0 -105
  123. data/spec/higher_level_api/integration/exchange_unbind_spec.rb +0 -40
  124. data/spec/higher_level_api/integration/exclusive_queue_spec.rb +0 -28
  125. data/spec/higher_level_api/integration/heartbeat_spec.rb +0 -31
  126. data/spec/higher_level_api/integration/merry_go_round_spec.rb +0 -85
  127. data/spec/higher_level_api/integration/message_properties_access_spec.rb +0 -95
  128. data/spec/higher_level_api/integration/predeclared_exchanges_spec.rb +0 -24
  129. data/spec/higher_level_api/integration/publisher_confirms_spec.rb +0 -77
  130. data/spec/higher_level_api/integration/publishing_edge_cases_spec.rb +0 -65
  131. data/spec/higher_level_api/integration/queue_bind_spec.rb +0 -109
  132. data/spec/higher_level_api/integration/queue_declare_spec.rb +0 -190
  133. data/spec/higher_level_api/integration/queue_delete_spec.rb +0 -41
  134. data/spec/higher_level_api/integration/queue_purge_spec.rb +0 -30
  135. data/spec/higher_level_api/integration/queue_unbind_spec.rb +0 -54
  136. data/spec/higher_level_api/integration/read_only_consumer_spec.rb +0 -60
  137. data/spec/higher_level_api/integration/sender_selected_distribution_spec.rb +0 -36
  138. data/spec/higher_level_api/integration/tls_connection_spec.rb +0 -127
  139. data/spec/higher_level_api/integration/tx_commit_spec.rb +0 -21
  140. data/spec/higher_level_api/integration/tx_rollback_spec.rb +0 -21
  141. data/spec/higher_level_api/integration/with_channel_spec.rb +0 -25
  142. data/spec/issues/issue100_spec.rb +0 -42
  143. data/spec/issues/issue141_spec.rb +0 -44
  144. data/spec/issues/issue78_spec.rb +0 -75
  145. data/spec/issues/issue83_spec.rb +0 -31
  146. data/spec/issues/issue97_attachment.json +0 -1
  147. data/spec/issues/issue97_spec.rb +0 -176
  148. data/spec/lower_level_api/integration/basic_cancel_spec.rb +0 -69
  149. data/spec/lower_level_api/integration/basic_consume_spec.rb +0 -100
  150. data/spec/spec_helper.rb +0 -64
  151. data/spec/stress/channel_open_stress_spec.rb +0 -51
  152. data/spec/stress/channel_open_stress_with_single_threaded_connection_spec.rb +0 -28
  153. data/spec/stress/concurrent_consumers_stress_spec.rb +0 -69
  154. data/spec/stress/concurrent_publishers_stress_spec.rb +0 -57
  155. data/spec/stress/connection_open_close_spec.rb +0 -40
  156. data/spec/stress/long_running_consumer_spec.rb +0 -83
  157. data/spec/tls/cacert.pem +0 -18
  158. data/spec/tls/client_cert.pem +0 -18
  159. data/spec/tls/client_key.pem +0 -27
  160. data/spec/tls/server_cert.pem +0 -18
  161. data/spec/tls/server_key.pem +0 -27
  162. data/spec/unit/bunny_spec.rb +0 -15
  163. data/spec/unit/concurrent/atomic_fixnum_spec.rb +0 -35
  164. data/spec/unit/concurrent/condition_spec.rb +0 -82
  165. data/spec/unit/concurrent/linked_continuation_queue_spec.rb +0 -35
  166. data/spec/unit/concurrent/synchronized_sorted_set_spec.rb +0 -73
  167. data/spec/unit/system_timer_spec.rb +0 -10
  168. data/spec/unit/version_delivery_tag_spec.rb +0 -28
data/lib/bunny.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8; mode: ruby -*-
2
+ # frozen_string_literal: true
2
3
 
3
4
  require "timeout"
4
5
 
@@ -10,14 +11,14 @@ require "bunny/framing"
10
11
  require "bunny/exceptions"
11
12
 
12
13
  require "bunny/socket"
13
-
14
+ require "bunny/timestamp"
14
15
  require "bunny/timeout"
15
16
 
16
17
  begin
17
18
  require "openssl"
18
19
 
19
20
  require "bunny/ssl_socket"
20
- rescue LoadError => e
21
+ rescue LoadError
21
22
  # no-op
22
23
  end
23
24
 
@@ -50,29 +51,74 @@ module Bunny
50
51
  AMQ::Protocol::PROTOCOL_VERSION
51
52
  end
52
53
 
53
- # Instantiates a new connection. The actual connection network
54
+ # Instantiates a new connection. The actual network
54
55
  # connection is started with {Bunny::Session#start}
55
56
  #
57
+ # @param [String, Hash] connection_string_or_opts Connection string or a hash of connection options
58
+ # @param [Hash] optz Extra options not related to connection
59
+ #
60
+ # @option connection_string_or_opts [String] :host ("127.0.0.1") Hostname or IP address to connect to
61
+ # @option connection_string_or_opts [Array<String>] :hosts (["127.0.0.1"]) list of hostname or IP addresses to select hostname from when connecting
62
+ # @option connection_string_or_opts [Array<String>] :addresses (["127.0.0.1:5672"]) list of addresses to select hostname and port from when connecting
63
+ # @option connection_string_or_opts [Integer] :port (5672) Port RabbitMQ listens on
64
+ # @option connection_string_or_opts [String] :username ("guest") Username
65
+ # @option connection_string_or_opts [String] :password ("guest") Password
66
+ # @option connection_string_or_opts [String] :vhost ("/") Virtual host to use
67
+ # @option connection_string_or_opts [Integer, Symbol] :heartbeat (:server) Heartbeat timeout to offer to the server. :server means use the value suggested by RabbitMQ. 0 means heartbeats and socket read timeouts will be disabled (not recommended).
68
+ # @option connection_string_or_opts [Integer] :network_recovery_interval (4) Recovery interval periodic network recovery will use. This includes initial pause after network failure.
69
+ # @option connection_string_or_opts [Boolean] :tls (false) Should TLS/SSL be used?
70
+ # @option connection_string_or_opts [String] :tls_cert (nil) Path to client TLS/SSL certificate file (.pem)
71
+ # @option connection_string_or_opts [String] :tls_key (nil) Path to client TLS/SSL private key file (.pem)
72
+ # @option connection_string_or_opts [Array<String>] :tls_ca_certificates Array of paths to TLS/SSL CA files (.pem), by default detected from OpenSSL configuration
73
+ # @option connection_string_or_opts [String] :verify_peer (true) Whether TLS peer verification should be performed
74
+ # @option connection_string_or_opts [Symbol] :tls_protocol (negotiated) What TLS version should be used (:TLSv1, :TLSv1_1, or :TLSv1_2)
75
+ # @option connection_string_or_opts [Integer] :channel_max (2047) Maximum number of channels allowed on this connection, minus 1 to account for the special channel 0.
76
+ # @option connection_string_or_opts [Integer] :continuation_timeout (15000) Timeout for client operations that expect a response (e.g. {Bunny::Queue#get}), in milliseconds.
77
+ # @option connection_string_or_opts [Integer] :connection_timeout (30) Timeout in seconds for connecting to the server.
78
+ # @option connection_string_or_opts [Integer] :read_timeout (30) TCP socket read timeout in seconds. If heartbeats are disabled this will be ignored.
79
+ # @option connection_string_or_opts [Integer] :write_timeout (30) TCP socket write timeout in seconds.
80
+ # @option connection_string_or_opts [Proc] :hosts_shuffle_strategy a callable that reorders a list of host strings, defaults to Array#shuffle
81
+ # @option connection_string_or_opts [Proc] :recovery_completed a callable that will be called when a network recovery is performed
82
+ # @option connection_string_or_opts [Logger] :logger The logger. If missing, one is created using :log_file and :log_level.
83
+ # @option connection_string_or_opts [IO, String] :log_file The file or path to use when creating a logger. Defaults to STDOUT.
84
+ # @option connection_string_or_opts [IO, String] :logfile DEPRECATED: use :log_file instead. The file or path to use when creating a logger. Defaults to STDOUT.
85
+ # @option connection_string_or_opts [Integer] :log_level The log level to use when creating a logger. Defaults to LOGGER::WARN
86
+ # @option connection_string_or_opts [Boolean] :automatically_recover (true) Should automatically recover from network failures?
87
+ # @option connection_string_or_opts [Integer] :recovery_attempts (nil) Max number of recovery attempts, nil means forever
88
+ # @option connection_string_or_opts [Integer] :reset_recovery_attempts_after_reconnection (true) Should recovery attempt counter be reset after successful reconnection? When set to false, the attempt counter will last through the entire lifetime of the connection object.
89
+ # @option connection_string_or_opts [Proc] :recovery_attempt_started (nil) Will be called before every connection recovery attempt
90
+ # @option connection_string_or_opts [Proc] :recovery_completed (nil) Will be called after successful connection recovery
91
+ # @option connection_string_or_opts [Boolean] :recover_from_connection_close (true) Should this connection recover after receiving a server-sent connection.close (e.g. connection was force closed)?
92
+ # @option connection_string_or_opts [Object] :session_error_handler (Thread.current) Object which responds to #raise that will act as a session error handler. Defaults to Thread.current, which will raise asynchronous exceptions in the thread that created the session.
93
+ #
94
+ # @option optz [String] :auth_mechanism ("PLAIN") Authentication mechanism, PLAIN or EXTERNAL
95
+ # @option optz [String] :locale ("PLAIN") Locale RabbitMQ should use
96
+ # @option optz [String] :connection_name (nil) Client-provided connection name, if any. Note that the value returned does not uniquely identify a connection and cannot be used as a connection identifier in HTTP API requests.
97
+ #
56
98
  # @return [Bunny::Session]
57
99
  # @see Bunny::Session#start
58
100
  # @see http://rubybunny.info/articles/getting_started.html
59
101
  # @see http://rubybunny.info/articles/connecting.html
60
102
  # @api public
61
- def self.new(connection_string_or_opts = {}, opts = {}, &block)
62
- if connection_string_or_opts.respond_to?(:keys) && opts.empty?
63
- opts = connection_string_or_opts
103
+ def self.new(connection_string_or_opts = ENV['RABBITMQ_URL'], optz = {})
104
+ if connection_string_or_opts.respond_to?(:keys) && optz.empty?
105
+ optz = connection_string_or_opts
64
106
  end
65
107
 
66
- conn = Session.new(connection_string_or_opts, opts)
108
+ conn = Session.new(connection_string_or_opts, optz)
67
109
  @default_connection ||= conn
68
110
 
69
111
  conn
70
112
  end
71
113
 
72
114
 
73
- def self.run(connection_string_or_opts = {}, opts = {}, &block)
115
+ def self.run(connection_string_or_opts = ENV['RABBITMQ_URL'], opts = {}, &block)
74
116
  raise ArgumentError, 'Bunny#run requires a block' unless block
75
117
 
118
+ if connection_string_or_opts.respond_to?(:keys) && opts.empty?
119
+ opts = connection_string_or_opts
120
+ end
121
+
76
122
  client = Session.new(connection_string_or_opts, opts)
77
123
 
78
124
  begin
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bunny
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 2.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Duncan
@@ -9,91 +9,54 @@ authors:
9
9
  - Jakub Stastny aka botanicus
10
10
  - Michael S. Klishin
11
11
  - Stefan Kaes
12
- autorequire:
13
12
  bindir: bin
14
13
  cert_chain: []
15
- date: 2013-12-23 00:00:00.000000000 Z
14
+ date: 2025-03-23 00:00:00.000000000 Z
16
15
  dependencies:
17
16
  - !ruby/object:Gem::Dependency
18
17
  name: amq-protocol
19
18
  requirement: !ruby/object:Gem::Requirement
20
19
  requirements:
21
- - - '>='
20
+ - - "~>"
22
21
  - !ruby/object:Gem::Version
23
- version: 1.9.2
22
+ version: '2.3'
24
23
  type: :runtime
25
24
  prerelease: false
26
25
  version_requirements: !ruby/object:Gem::Requirement
27
26
  requirements:
28
- - - '>='
27
+ - - "~>"
29
28
  - !ruby/object:Gem::Version
30
- version: 1.9.2
31
- description: Easy to use, feature complete Ruby client for RabbitMQ 2.0 and later
29
+ version: '2.3'
30
+ - !ruby/object:Gem::Dependency
31
+ name: sorted_set
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - "~>"
35
+ - !ruby/object:Gem::Version
36
+ version: '1'
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 1.0.2
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1'
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 1.0.2
50
+ description: Easy to use, feature complete Ruby client for RabbitMQ 3.9 and later
32
51
  versions.
33
52
  email:
34
- - celldee@gmail.com
35
- - eric@5stops.com
36
- - stastny@101ideas.cz
37
- - michael@novemberain.com
38
- - skaes@railsexpress.de
53
+ - michael.s.klishin@gmail.com
39
54
  executables: []
40
55
  extensions: []
41
56
  extra_rdoc_files:
42
57
  - README.md
43
58
  files:
44
- - .gitignore
45
- - .rspec
46
- - .ruby-version
47
- - .travis.yml
48
- - .yardopts
49
- - ChangeLog.md
50
- - Gemfile
51
- - LICENSE
52
59
  - README.md
53
- - benchmarks/basic_publish/with_128K_messages.rb
54
- - benchmarks/basic_publish/with_1k_messages.rb
55
- - benchmarks/basic_publish/with_4K_messages.rb
56
- - benchmarks/basic_publish/with_64K_messages.rb
57
- - benchmarks/channel_open.rb
58
- - benchmarks/mutex_and_monitor.rb
59
- - benchmarks/queue_declare.rb
60
- - benchmarks/queue_declare_and_bind.rb
61
- - benchmarks/queue_declare_bind_and_delete.rb
62
- - benchmarks/synchronized_sorted_set.rb
63
- - benchmarks/write_vs_write_nonblock.rb
64
- - bin/ci/before_build.sh
65
- - bunny.gemspec
66
- - examples/connection/authentication_failure.rb
67
- - examples/connection/automatic_recovery_with_basic_get.rb
68
- - examples/connection/automatic_recovery_with_client_named_queues.rb
69
- - examples/connection/automatic_recovery_with_multiple_consumers.rb
70
- - examples/connection/automatic_recovery_with_server_named_queues.rb
71
- - examples/connection/channel_level_exception.rb
72
- - examples/connection/disabled_automatic_recovery.rb
73
- - examples/connection/heartbeat.rb
74
- - examples/connection/manually_reconnecting_consumer.rb
75
- - examples/connection/manually_reconnecting_publisher.rb
76
- - examples/connection/unknown_host.rb
77
- - examples/guides/exchanges/direct_exchange_routing.rb
78
- - examples/guides/exchanges/fanout_exchange_routing.rb
79
- - examples/guides/exchanges/headers_exchange_routing.rb
80
- - examples/guides/exchanges/mandatory_messages.rb
81
- - examples/guides/extensions/alternate_exchange.rb
82
- - examples/guides/extensions/basic_nack.rb
83
- - examples/guides/extensions/connection_blocked.rb
84
- - examples/guides/extensions/consumer_cancellation_notification.rb
85
- - examples/guides/extensions/dead_letter_exchange.rb
86
- - examples/guides/extensions/exchange_to_exchange_bindings.rb
87
- - examples/guides/extensions/per_message_ttl.rb
88
- - examples/guides/extensions/per_queue_message_ttl.rb
89
- - examples/guides/extensions/publisher_confirms.rb
90
- - examples/guides/extensions/queue_lease.rb
91
- - examples/guides/extensions/sender_selected_distribution.rb
92
- - examples/guides/getting_started/blabbr.rb
93
- - examples/guides/getting_started/hello_world.rb
94
- - examples/guides/getting_started/weathr.rb
95
- - examples/guides/queues/one_off_consumer.rb
96
- - examples/guides/queues/redeliveries.rb
97
60
  - lib/amq/protocol/extensions.rb
98
61
  - lib/bunny.rb
99
62
  - lib/bunny/authentication/credentials_encoder.rb
@@ -101,11 +64,9 @@ files:
101
64
  - lib/bunny/authentication/plain_mechanism_encoder.rb
102
65
  - lib/bunny/channel.rb
103
66
  - lib/bunny/channel_id_allocator.rb
104
- - lib/bunny/compatibility.rb
105
67
  - lib/bunny/concurrent/atomic_fixnum.rb
106
68
  - lib/bunny/concurrent/condition.rb
107
69
  - lib/bunny/concurrent/continuation_queue.rb
108
- - lib/bunny/concurrent/linked_continuation_queue.rb
109
70
  - lib/bunny/concurrent/synchronized_sorted_set.rb
110
71
  - lib/bunny/consumer.rb
111
72
  - lib/bunny/consumer_tag_generator.rb
@@ -116,9 +77,8 @@ files:
116
77
  - lib/bunny/exceptions.rb
117
78
  - lib/bunny/exchange.rb
118
79
  - lib/bunny/framing.rb
80
+ - lib/bunny/get_response.rb
119
81
  - lib/bunny/heartbeat_sender.rb
120
- - lib/bunny/jruby/socket.rb
121
- - lib/bunny/jruby/ssl_socket.rb
122
82
  - lib/bunny/message_properties.rb
123
83
  - lib/bunny/queue.rb
124
84
  - lib/bunny/reader_loop.rb
@@ -126,179 +86,33 @@ files:
126
86
  - lib/bunny/session.rb
127
87
  - lib/bunny/socket.rb
128
88
  - lib/bunny/ssl_socket.rb
129
- - lib/bunny/system_timer.rb
130
89
  - lib/bunny/test_kit.rb
131
90
  - lib/bunny/timeout.rb
91
+ - lib/bunny/timestamp.rb
132
92
  - lib/bunny/transport.rb
133
93
  - lib/bunny/version.rb
134
94
  - lib/bunny/versioned_delivery_tag.rb
135
- - profiling/basic_publish/with_4K_messages.rb
136
- - repl
137
- - spec/compatibility/queue_declare_spec.rb
138
- - spec/compatibility/queue_declare_with_default_channel_spec.rb
139
- - spec/higher_level_api/integration/basic_ack_spec.rb
140
- - spec/higher_level_api/integration/basic_cancel_spec.rb
141
- - spec/higher_level_api/integration/basic_consume_spec.rb
142
- - spec/higher_level_api/integration/basic_consume_with_objects_spec.rb
143
- - spec/higher_level_api/integration/basic_get_spec.rb
144
- - spec/higher_level_api/integration/basic_nack_spec.rb
145
- - spec/higher_level_api/integration/basic_publish_spec.rb
146
- - spec/higher_level_api/integration/basic_qos_spec.rb
147
- - spec/higher_level_api/integration/basic_recover_spec.rb
148
- - spec/higher_level_api/integration/basic_reject_spec.rb
149
- - spec/higher_level_api/integration/basic_return_spec.rb
150
- - spec/higher_level_api/integration/channel_close_spec.rb
151
- - spec/higher_level_api/integration/channel_flow_spec.rb
152
- - spec/higher_level_api/integration/channel_open_spec.rb
153
- - spec/higher_level_api/integration/confirm_select_spec.rb
154
- - spec/higher_level_api/integration/connection_spec.rb
155
- - spec/higher_level_api/integration/connection_stop_spec.rb
156
- - spec/higher_level_api/integration/consistent_hash_exchange_spec.rb
157
- - spec/higher_level_api/integration/consumer_cancellation_notification_spec.rb
158
- - spec/higher_level_api/integration/dead_lettering_spec.rb
159
- - spec/higher_level_api/integration/exchange_bind_spec.rb
160
- - spec/higher_level_api/integration/exchange_declare_spec.rb
161
- - spec/higher_level_api/integration/exchange_delete_spec.rb
162
- - spec/higher_level_api/integration/exchange_unbind_spec.rb
163
- - spec/higher_level_api/integration/exclusive_queue_spec.rb
164
- - spec/higher_level_api/integration/heartbeat_spec.rb
165
- - spec/higher_level_api/integration/merry_go_round_spec.rb
166
- - spec/higher_level_api/integration/message_properties_access_spec.rb
167
- - spec/higher_level_api/integration/predeclared_exchanges_spec.rb
168
- - spec/higher_level_api/integration/publisher_confirms_spec.rb
169
- - spec/higher_level_api/integration/publishing_edge_cases_spec.rb
170
- - spec/higher_level_api/integration/queue_bind_spec.rb
171
- - spec/higher_level_api/integration/queue_declare_spec.rb
172
- - spec/higher_level_api/integration/queue_delete_spec.rb
173
- - spec/higher_level_api/integration/queue_purge_spec.rb
174
- - spec/higher_level_api/integration/queue_unbind_spec.rb
175
- - spec/higher_level_api/integration/read_only_consumer_spec.rb
176
- - spec/higher_level_api/integration/sender_selected_distribution_spec.rb
177
- - spec/higher_level_api/integration/tls_connection_spec.rb
178
- - spec/higher_level_api/integration/tx_commit_spec.rb
179
- - spec/higher_level_api/integration/tx_rollback_spec.rb
180
- - spec/higher_level_api/integration/with_channel_spec.rb
181
- - spec/issues/issue100_spec.rb
182
- - spec/issues/issue141_spec.rb
183
- - spec/issues/issue78_spec.rb
184
- - spec/issues/issue83_spec.rb
185
- - spec/issues/issue97_attachment.json
186
- - spec/issues/issue97_spec.rb
187
- - spec/lower_level_api/integration/basic_cancel_spec.rb
188
- - spec/lower_level_api/integration/basic_consume_spec.rb
189
- - spec/spec_helper.rb
190
- - spec/stress/channel_open_stress_spec.rb
191
- - spec/stress/channel_open_stress_with_single_threaded_connection_spec.rb
192
- - spec/stress/concurrent_consumers_stress_spec.rb
193
- - spec/stress/concurrent_publishers_stress_spec.rb
194
- - spec/stress/connection_open_close_spec.rb
195
- - spec/stress/long_running_consumer_spec.rb
196
- - spec/tls/cacert.pem
197
- - spec/tls/client_cert.pem
198
- - spec/tls/client_key.pem
199
- - spec/tls/server_cert.pem
200
- - spec/tls/server_key.pem
201
- - spec/unit/bunny_spec.rb
202
- - spec/unit/concurrent/atomic_fixnum_spec.rb
203
- - spec/unit/concurrent/condition_spec.rb
204
- - spec/unit/concurrent/linked_continuation_queue_spec.rb
205
- - spec/unit/concurrent/synchronized_sorted_set_spec.rb
206
- - spec/unit/system_timer_spec.rb
207
- - spec/unit/version_delivery_tag_spec.rb
208
95
  homepage: http://rubybunny.info
209
96
  licenses:
210
97
  - MIT
211
- metadata: {}
212
- post_install_message:
98
+ metadata:
99
+ changelog_uri: https://github.com/ruby-amqp/bunny/blob/main/ChangeLog.md
100
+ source_code_uri: https://github.com/ruby-amqp/bunny/
213
101
  rdoc_options: []
214
102
  require_paths:
215
103
  - lib
216
104
  required_ruby_version: !ruby/object:Gem::Requirement
217
105
  requirements:
218
- - - '>='
106
+ - - ">="
219
107
  - !ruby/object:Gem::Version
220
- version: '0'
108
+ version: '2.5'
221
109
  required_rubygems_version: !ruby/object:Gem::Requirement
222
110
  requirements:
223
- - - '>='
111
+ - - ">="
224
112
  - !ruby/object:Gem::Version
225
113
  version: '0'
226
114
  requirements: []
227
- rubyforge_project:
228
- rubygems_version: 2.1.11
229
- signing_key:
115
+ rubygems_version: 3.6.2
230
116
  specification_version: 4
231
117
  summary: Popular easy to use Ruby client for RabbitMQ
232
- test_files:
233
- - spec/compatibility/queue_declare_spec.rb
234
- - spec/compatibility/queue_declare_with_default_channel_spec.rb
235
- - spec/higher_level_api/integration/basic_ack_spec.rb
236
- - spec/higher_level_api/integration/basic_cancel_spec.rb
237
- - spec/higher_level_api/integration/basic_consume_spec.rb
238
- - spec/higher_level_api/integration/basic_consume_with_objects_spec.rb
239
- - spec/higher_level_api/integration/basic_get_spec.rb
240
- - spec/higher_level_api/integration/basic_nack_spec.rb
241
- - spec/higher_level_api/integration/basic_publish_spec.rb
242
- - spec/higher_level_api/integration/basic_qos_spec.rb
243
- - spec/higher_level_api/integration/basic_recover_spec.rb
244
- - spec/higher_level_api/integration/basic_reject_spec.rb
245
- - spec/higher_level_api/integration/basic_return_spec.rb
246
- - spec/higher_level_api/integration/channel_close_spec.rb
247
- - spec/higher_level_api/integration/channel_flow_spec.rb
248
- - spec/higher_level_api/integration/channel_open_spec.rb
249
- - spec/higher_level_api/integration/confirm_select_spec.rb
250
- - spec/higher_level_api/integration/connection_spec.rb
251
- - spec/higher_level_api/integration/connection_stop_spec.rb
252
- - spec/higher_level_api/integration/consistent_hash_exchange_spec.rb
253
- - spec/higher_level_api/integration/consumer_cancellation_notification_spec.rb
254
- - spec/higher_level_api/integration/dead_lettering_spec.rb
255
- - spec/higher_level_api/integration/exchange_bind_spec.rb
256
- - spec/higher_level_api/integration/exchange_declare_spec.rb
257
- - spec/higher_level_api/integration/exchange_delete_spec.rb
258
- - spec/higher_level_api/integration/exchange_unbind_spec.rb
259
- - spec/higher_level_api/integration/exclusive_queue_spec.rb
260
- - spec/higher_level_api/integration/heartbeat_spec.rb
261
- - spec/higher_level_api/integration/merry_go_round_spec.rb
262
- - spec/higher_level_api/integration/message_properties_access_spec.rb
263
- - spec/higher_level_api/integration/predeclared_exchanges_spec.rb
264
- - spec/higher_level_api/integration/publisher_confirms_spec.rb
265
- - spec/higher_level_api/integration/publishing_edge_cases_spec.rb
266
- - spec/higher_level_api/integration/queue_bind_spec.rb
267
- - spec/higher_level_api/integration/queue_declare_spec.rb
268
- - spec/higher_level_api/integration/queue_delete_spec.rb
269
- - spec/higher_level_api/integration/queue_purge_spec.rb
270
- - spec/higher_level_api/integration/queue_unbind_spec.rb
271
- - spec/higher_level_api/integration/read_only_consumer_spec.rb
272
- - spec/higher_level_api/integration/sender_selected_distribution_spec.rb
273
- - spec/higher_level_api/integration/tls_connection_spec.rb
274
- - spec/higher_level_api/integration/tx_commit_spec.rb
275
- - spec/higher_level_api/integration/tx_rollback_spec.rb
276
- - spec/higher_level_api/integration/with_channel_spec.rb
277
- - spec/issues/issue100_spec.rb
278
- - spec/issues/issue141_spec.rb
279
- - spec/issues/issue78_spec.rb
280
- - spec/issues/issue83_spec.rb
281
- - spec/issues/issue97_attachment.json
282
- - spec/issues/issue97_spec.rb
283
- - spec/lower_level_api/integration/basic_cancel_spec.rb
284
- - spec/lower_level_api/integration/basic_consume_spec.rb
285
- - spec/spec_helper.rb
286
- - spec/stress/channel_open_stress_spec.rb
287
- - spec/stress/channel_open_stress_with_single_threaded_connection_spec.rb
288
- - spec/stress/concurrent_consumers_stress_spec.rb
289
- - spec/stress/concurrent_publishers_stress_spec.rb
290
- - spec/stress/connection_open_close_spec.rb
291
- - spec/stress/long_running_consumer_spec.rb
292
- - spec/tls/cacert.pem
293
- - spec/tls/client_cert.pem
294
- - spec/tls/client_key.pem
295
- - spec/tls/server_cert.pem
296
- - spec/tls/server_key.pem
297
- - spec/unit/bunny_spec.rb
298
- - spec/unit/concurrent/atomic_fixnum_spec.rb
299
- - spec/unit/concurrent/condition_spec.rb
300
- - spec/unit/concurrent/linked_continuation_queue_spec.rb
301
- - spec/unit/concurrent/synchronized_sorted_set_spec.rb
302
- - spec/unit/system_timer_spec.rb
303
- - spec/unit/version_delivery_tag_spec.rb
304
- has_rdoc: true
118
+ test_files: []
data/.gitignore DELETED
@@ -1,22 +0,0 @@
1
- .DS_Store
2
- .*.swp
3
- *.class
4
- *.rbc
5
- *.gem
6
- /doc/
7
- .yardoc
8
- .rvmrc
9
- Gemfile.lock
10
- .rbx/*
11
- .tags
12
- .tags_sorted_by_file
13
- .Apple*
14
- bin/*
15
- .bundle/*
16
- vendor/*
17
- playground/*
18
- *.org
19
- repl-*
20
- debug/*
21
- *.dump
22
- deploy.docs.sh
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --color
2
- --format
3
- progress
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.0@rabbitmq
data/.travis.yml DELETED
@@ -1,23 +0,0 @@
1
- language: ruby
2
- bundler_args: --without development
3
- before_script: "./bin/ci/before_build.sh"
4
- script: "bundle exec rspec -cfs spec"
5
- rvm:
6
- - "2.0"
7
- - "1.9.3"
8
- - "jruby-19mode"
9
- - "1.9.2"
10
- - "rbx-19mode"
11
- - "1.8.7"
12
- notifications:
13
- email: michael@rabbitmq.com
14
- services:
15
- - rabbitmq
16
- branches:
17
- only:
18
- - master
19
- - 0.9.x-stable
20
- matrix:
21
- allow_failures:
22
- - rvm: rbx-19mode
23
- - rvm: 1.8.7
data/.yardopts DELETED
@@ -1,8 +0,0 @@
1
- --no-private
2
- --protected
3
- --markup="markdown" lib/**/*.rb
4
- --main README.md
5
- --hide-tag todo
6
- -
7
- LICENSE
8
- ChangeLog.md