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.
- checksums.yaml +5 -5
- data/README.md +92 -87
- data/lib/amq/protocol/extensions.rb +2 -0
- data/lib/bunny/authentication/credentials_encoder.rb +2 -0
- data/lib/bunny/authentication/external_mechanism_encoder.rb +2 -0
- data/lib/bunny/authentication/plain_mechanism_encoder.rb +2 -0
- data/lib/bunny/channel.rb +485 -186
- data/lib/bunny/channel_id_allocator.rb +8 -4
- data/lib/bunny/concurrent/atomic_fixnum.rb +2 -0
- data/lib/bunny/concurrent/condition.rb +2 -0
- data/lib/bunny/concurrent/continuation_queue.rb +37 -13
- data/lib/bunny/concurrent/synchronized_sorted_set.rb +2 -0
- data/lib/bunny/consumer.rb +20 -13
- data/lib/bunny/consumer_tag_generator.rb +6 -2
- data/lib/bunny/consumer_work_pool.rb +37 -7
- data/lib/bunny/cruby/socket.rb +51 -22
- data/lib/bunny/cruby/ssl_socket.rb +68 -5
- data/lib/bunny/delivery_info.rb +3 -1
- data/lib/bunny/exceptions.rb +27 -4
- data/lib/bunny/exchange.rb +35 -29
- data/lib/bunny/framing.rb +2 -0
- data/lib/bunny/get_response.rb +85 -0
- data/lib/bunny/heartbeat_sender.rb +9 -6
- data/lib/bunny/message_properties.rb +2 -0
- data/lib/bunny/queue.rb +89 -41
- data/lib/bunny/reader_loop.rb +72 -28
- data/lib/bunny/return_info.rb +2 -0
- data/lib/bunny/session.rb +621 -225
- data/lib/bunny/socket.rb +7 -12
- data/lib/bunny/ssl_socket.rb +7 -12
- data/lib/bunny/test_kit.rb +15 -0
- data/lib/bunny/timeout.rb +3 -12
- data/lib/bunny/timestamp.rb +24 -0
- data/lib/bunny/transport.rb +223 -98
- data/lib/bunny/version.rb +2 -1
- data/lib/bunny/versioned_delivery_tag.rb +2 -0
- data/lib/bunny.rb +54 -8
- metadata +38 -224
- data/.gitignore +0 -22
- data/.rspec +0 -3
- data/.ruby-version +0 -1
- data/.travis.yml +0 -23
- data/.yardopts +0 -8
- data/ChangeLog.md +0 -1092
- data/Gemfile +0 -54
- data/LICENSE +0 -21
- data/benchmarks/basic_publish/with_128K_messages.rb +0 -35
- data/benchmarks/basic_publish/with_1k_messages.rb +0 -35
- data/benchmarks/basic_publish/with_4K_messages.rb +0 -35
- data/benchmarks/basic_publish/with_64K_messages.rb +0 -35
- data/benchmarks/channel_open.rb +0 -28
- data/benchmarks/mutex_and_monitor.rb +0 -42
- data/benchmarks/queue_declare.rb +0 -29
- data/benchmarks/queue_declare_and_bind.rb +0 -29
- data/benchmarks/queue_declare_bind_and_delete.rb +0 -29
- data/benchmarks/synchronized_sorted_set.rb +0 -53
- data/benchmarks/write_vs_write_nonblock.rb +0 -49
- data/bin/ci/before_build.sh +0 -31
- data/bunny.gemspec +0 -40
- data/examples/connection/authentication_failure.rb +0 -16
- data/examples/connection/automatic_recovery_with_basic_get.rb +0 -40
- data/examples/connection/automatic_recovery_with_client_named_queues.rb +0 -36
- data/examples/connection/automatic_recovery_with_multiple_consumers.rb +0 -46
- data/examples/connection/automatic_recovery_with_server_named_queues.rb +0 -35
- data/examples/connection/channel_level_exception.rb +0 -35
- data/examples/connection/disabled_automatic_recovery.rb +0 -34
- data/examples/connection/heartbeat.rb +0 -17
- data/examples/connection/manually_reconnecting_consumer.rb +0 -23
- data/examples/connection/manually_reconnecting_publisher.rb +0 -28
- data/examples/connection/unknown_host.rb +0 -16
- data/examples/guides/exchanges/direct_exchange_routing.rb +0 -36
- data/examples/guides/exchanges/fanout_exchange_routing.rb +0 -28
- data/examples/guides/exchanges/headers_exchange_routing.rb +0 -31
- data/examples/guides/exchanges/mandatory_messages.rb +0 -30
- data/examples/guides/extensions/alternate_exchange.rb +0 -28
- data/examples/guides/extensions/basic_nack.rb +0 -33
- data/examples/guides/extensions/connection_blocked.rb +0 -35
- data/examples/guides/extensions/consumer_cancellation_notification.rb +0 -39
- data/examples/guides/extensions/dead_letter_exchange.rb +0 -32
- data/examples/guides/extensions/exchange_to_exchange_bindings.rb +0 -29
- data/examples/guides/extensions/per_message_ttl.rb +0 -36
- data/examples/guides/extensions/per_queue_message_ttl.rb +0 -36
- data/examples/guides/extensions/publisher_confirms.rb +0 -28
- data/examples/guides/extensions/queue_lease.rb +0 -26
- data/examples/guides/extensions/sender_selected_distribution.rb +0 -32
- data/examples/guides/getting_started/blabbr.rb +0 -27
- data/examples/guides/getting_started/hello_world.rb +0 -20
- data/examples/guides/getting_started/weathr.rb +0 -47
- data/examples/guides/queues/one_off_consumer.rb +0 -23
- data/examples/guides/queues/redeliveries.rb +0 -79
- data/lib/bunny/compatibility.rb +0 -24
- data/lib/bunny/concurrent/linked_continuation_queue.rb +0 -61
- data/lib/bunny/jruby/socket.rb +0 -40
- data/lib/bunny/jruby/ssl_socket.rb +0 -53
- data/lib/bunny/system_timer.rb +0 -20
- data/profiling/basic_publish/with_4K_messages.rb +0 -33
- data/repl +0 -3
- data/spec/compatibility/queue_declare_spec.rb +0 -44
- data/spec/compatibility/queue_declare_with_default_channel_spec.rb +0 -33
- data/spec/higher_level_api/integration/basic_ack_spec.rb +0 -71
- data/spec/higher_level_api/integration/basic_cancel_spec.rb +0 -76
- data/spec/higher_level_api/integration/basic_consume_spec.rb +0 -225
- data/spec/higher_level_api/integration/basic_consume_with_objects_spec.rb +0 -54
- data/spec/higher_level_api/integration/basic_get_spec.rb +0 -48
- data/spec/higher_level_api/integration/basic_nack_spec.rb +0 -79
- data/spec/higher_level_api/integration/basic_publish_spec.rb +0 -89
- data/spec/higher_level_api/integration/basic_qos_spec.rb +0 -29
- data/spec/higher_level_api/integration/basic_recover_spec.rb +0 -18
- data/spec/higher_level_api/integration/basic_reject_spec.rb +0 -74
- data/spec/higher_level_api/integration/basic_return_spec.rb +0 -33
- data/spec/higher_level_api/integration/channel_close_spec.rb +0 -25
- data/spec/higher_level_api/integration/channel_flow_spec.rb +0 -21
- data/spec/higher_level_api/integration/channel_open_spec.rb +0 -57
- data/spec/higher_level_api/integration/confirm_select_spec.rb +0 -19
- data/spec/higher_level_api/integration/connection_spec.rb +0 -400
- data/spec/higher_level_api/integration/connection_stop_spec.rb +0 -26
- data/spec/higher_level_api/integration/consistent_hash_exchange_spec.rb +0 -50
- data/spec/higher_level_api/integration/consumer_cancellation_notification_spec.rb +0 -128
- data/spec/higher_level_api/integration/dead_lettering_spec.rb +0 -52
- data/spec/higher_level_api/integration/exchange_bind_spec.rb +0 -31
- data/spec/higher_level_api/integration/exchange_declare_spec.rb +0 -204
- data/spec/higher_level_api/integration/exchange_delete_spec.rb +0 -105
- data/spec/higher_level_api/integration/exchange_unbind_spec.rb +0 -40
- data/spec/higher_level_api/integration/exclusive_queue_spec.rb +0 -28
- data/spec/higher_level_api/integration/heartbeat_spec.rb +0 -31
- data/spec/higher_level_api/integration/merry_go_round_spec.rb +0 -85
- data/spec/higher_level_api/integration/message_properties_access_spec.rb +0 -95
- data/spec/higher_level_api/integration/predeclared_exchanges_spec.rb +0 -24
- data/spec/higher_level_api/integration/publisher_confirms_spec.rb +0 -77
- data/spec/higher_level_api/integration/publishing_edge_cases_spec.rb +0 -65
- data/spec/higher_level_api/integration/queue_bind_spec.rb +0 -109
- data/spec/higher_level_api/integration/queue_declare_spec.rb +0 -190
- data/spec/higher_level_api/integration/queue_delete_spec.rb +0 -41
- data/spec/higher_level_api/integration/queue_purge_spec.rb +0 -30
- data/spec/higher_level_api/integration/queue_unbind_spec.rb +0 -54
- data/spec/higher_level_api/integration/read_only_consumer_spec.rb +0 -60
- data/spec/higher_level_api/integration/sender_selected_distribution_spec.rb +0 -36
- data/spec/higher_level_api/integration/tls_connection_spec.rb +0 -127
- data/spec/higher_level_api/integration/tx_commit_spec.rb +0 -21
- data/spec/higher_level_api/integration/tx_rollback_spec.rb +0 -21
- data/spec/higher_level_api/integration/with_channel_spec.rb +0 -25
- data/spec/issues/issue100_spec.rb +0 -42
- data/spec/issues/issue141_spec.rb +0 -44
- data/spec/issues/issue78_spec.rb +0 -75
- data/spec/issues/issue83_spec.rb +0 -31
- data/spec/issues/issue97_attachment.json +0 -1
- data/spec/issues/issue97_spec.rb +0 -176
- data/spec/lower_level_api/integration/basic_cancel_spec.rb +0 -69
- data/spec/lower_level_api/integration/basic_consume_spec.rb +0 -100
- data/spec/spec_helper.rb +0 -64
- data/spec/stress/channel_open_stress_spec.rb +0 -51
- data/spec/stress/channel_open_stress_with_single_threaded_connection_spec.rb +0 -28
- data/spec/stress/concurrent_consumers_stress_spec.rb +0 -69
- data/spec/stress/concurrent_publishers_stress_spec.rb +0 -57
- data/spec/stress/connection_open_close_spec.rb +0 -40
- data/spec/stress/long_running_consumer_spec.rb +0 -83
- data/spec/tls/cacert.pem +0 -18
- data/spec/tls/client_cert.pem +0 -18
- data/spec/tls/client_key.pem +0 -27
- data/spec/tls/server_cert.pem +0 -18
- data/spec/tls/server_key.pem +0 -27
- data/spec/unit/bunny_spec.rb +0 -15
- data/spec/unit/concurrent/atomic_fixnum_spec.rb +0 -35
- data/spec/unit/concurrent/condition_spec.rb +0 -82
- data/spec/unit/concurrent/linked_continuation_queue_spec.rb +0 -35
- data/spec/unit/concurrent/synchronized_sorted_set_spec.rb +0 -73
- data/spec/unit/system_timer_spec.rb +0 -10
- 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
|
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
|
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 =
|
62
|
-
if connection_string_or_opts.respond_to?(:keys) &&
|
63
|
-
|
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,
|
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 =
|
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:
|
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:
|
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:
|
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:
|
31
|
-
|
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
|
-
-
|
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
|
-
|
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: '
|
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
|
-
|
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
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
|