amq-client 0.7.0.alpha19 → 0.7.0.alpha20
Sign up to get free protection for your applications and to get access to all the features.
- data/examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb +3 -3
- data/examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_unroutable_message.rb +3 -3
- data/lib/amq/client/extensions/rabbitmq/confirm.rb +54 -62
- data/lib/amq/client/queue.rb +3 -0
- data/lib/amq/client/version.rb +1 -1
- metadata +216 -195
@@ -11,13 +11,13 @@ amq_client_example "Publisher confirmations using RabbitMQ extension: routable m
|
|
11
11
|
channel.open do
|
12
12
|
puts "Channel #{channel.id} is now open"
|
13
13
|
|
14
|
-
channel.
|
14
|
+
channel.confirm_select
|
15
15
|
channel.on_error do
|
16
16
|
puts "Oops, there is a channel-levle exceptions!"
|
17
17
|
end
|
18
18
|
|
19
19
|
|
20
|
-
channel.
|
20
|
+
channel.on_ack do |basic_ack|
|
21
21
|
puts "Received basic_ack: multiple = #{basic_ack.multiple}, delivery_tag = #{basic_ack.delivery_tag}"
|
22
22
|
end
|
23
23
|
|
@@ -53,4 +53,4 @@ amq_client_example "Publisher confirmations using RabbitMQ extension: routable m
|
|
53
53
|
|
54
54
|
EM.add_timer(3, show_stopper)
|
55
55
|
end
|
56
|
-
end
|
56
|
+
end
|
@@ -11,13 +11,13 @@ amq_client_example "Publisher confirmations using RabbitMQ extension: unroutable
|
|
11
11
|
channel.open do
|
12
12
|
puts "Channel #{channel.id} is now open"
|
13
13
|
|
14
|
-
channel.
|
14
|
+
channel.confirm_select
|
15
15
|
channel.on_error do
|
16
16
|
puts "Oops, there is a channel-levle exceptions!"
|
17
17
|
end
|
18
18
|
|
19
19
|
|
20
|
-
channel.
|
20
|
+
channel.on_ack do |basic_ack|
|
21
21
|
puts "Received basic_ack: multiple = #{basic_ack.multiple}, delivery_tag = #{basic_ack.delivery_tag}"
|
22
22
|
end
|
23
23
|
|
@@ -43,4 +43,4 @@ amq_client_example "Publisher confirmations using RabbitMQ extension: unroutable
|
|
43
43
|
|
44
44
|
EM.add_timer(3, show_stopper)
|
45
45
|
end
|
46
|
-
end
|
46
|
+
end
|
@@ -1,60 +1,51 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
# === Purpose === #
|
4
|
-
# In case that the broker crashes, some messages can get lost.
|
5
|
-
# Thanks to this extension, broker sends Basic.Ack when the message
|
6
|
-
# is processed by the broker. In case of persistent messages, it must
|
7
|
-
# be written to disk or ack'd on all the queues it was delivered to.
|
8
|
-
# However it doesn't have to be necessarily 1:1, because the broker
|
9
|
-
# can send Basic.Ack with multi flag to acknowledge multiple messages.
|
10
|
-
#
|
11
|
-
# So it provides clients a lightweight way of keeping track of which
|
12
|
-
# messages have been processed by the broker and which would need
|
13
|
-
# re-publishing in case of broker shutdown or network failure.
|
14
|
-
#
|
15
|
-
# Transactions are solving the same problem, but they are very slow:
|
16
|
-
# confirmations are more than 100 times faster.
|
17
|
-
#
|
18
|
-
# === Workflow === #
|
19
|
-
# * Client asks broker to confirm messages on given channel (Confirm.Select).
|
20
|
-
# * Broker sends back Confirm.Select-Ok, unless we sent Confirm.Select with nowait=true.
|
21
|
-
# * After each published message, the client receives Basic.Ack from the broker.
|
22
|
-
# * If something bad happens inside the broker, it sends Basic.Nack.
|
23
|
-
#
|
24
|
-
# === Gotchas === #
|
25
|
-
# Note that we don't keep track of messages awaiting confirmation.
|
26
|
-
# It'd add a huge overhead and it's impossible to come up with one-suits-all solution.
|
27
|
-
# If you want to create such module, you'll probably want to redefine Channel#after_publish,
|
28
|
-
# so it will put messages into a queue and then handlers for Basic.Ack and Basic.Nack.
|
29
|
-
# This is the reason why we pass every argument from Exchange#publish to Channel#after_publish.
|
30
|
-
# You should not forget though, that both of these methods can have multi flag!
|
31
|
-
#
|
32
|
-
# Transactional channel cannot be put into confirm mode and a confirm
|
33
|
-
# mode channel cannot be made transactional.
|
34
|
-
#
|
35
|
-
# If the connection between the publisher and broker drops with outstanding
|
36
|
-
# confirms, it does not necessarily mean that the messages were lost, so
|
37
|
-
# republishing may result in duplicate messages.
|
38
|
-
|
39
|
-
# === Links === #
|
40
|
-
# http://www.rabbitmq.com/blog/2011/02/10/introducing-publisher-confirms
|
41
|
-
# http://www.rabbitmq.com/amqp-0-9-1-quickref.html#class.confirm
|
42
|
-
# http://www.rabbitmq.com/amqp-0-9-1-reference.html#basic.ack
|
43
|
-
|
44
|
-
puts "in confirm.rb"
|
45
|
-
|
46
3
|
module AMQ
|
47
4
|
module Client
|
48
5
|
module Extensions
|
49
6
|
module RabbitMQ
|
7
|
+
# h2. Purpose
|
8
|
+
# In case that the broker crashes, some messages can get lost.
|
9
|
+
# Thanks to this extension, broker sends Basic.Ack when the message
|
10
|
+
# is processed by the broker. In case of persistent messages, it must
|
11
|
+
# be written to disk or ack'd on all the queues it was delivered to.
|
12
|
+
# However it doesn't have to be necessarily 1:1, because the broker
|
13
|
+
# can send Basic.Ack with multi flag to acknowledge multiple messages.
|
14
|
+
#
|
15
|
+
# So it provides clients a lightweight way of keeping track of which
|
16
|
+
# messages have been processed by the broker and which would need
|
17
|
+
# re-publishing in case of broker shutdown or network failure.
|
18
|
+
#
|
19
|
+
# Transactions are solving the same problem, but they are very slow:
|
20
|
+
# confirmations are more than 100 times faster.
|
21
|
+
#
|
22
|
+
# h2. Workflow
|
23
|
+
# * Client asks broker to confirm messages on given channel (Confirm.Select).
|
24
|
+
# * Broker sends back Confirm.Select-Ok, unless we sent Confirm.Select with nowait=true.
|
25
|
+
# * After each published message, the client receives Basic.Ack from the broker.
|
26
|
+
# * If something bad happens inside the broker, it sends Basic.Nack.
|
27
|
+
#
|
28
|
+
# h2. Gotchas
|
29
|
+
# Note that we don't keep track of messages awaiting confirmation.
|
30
|
+
# It'd add a huge overhead and it's impossible to come up with one-suits-all solution.
|
31
|
+
# If you want to create such module, you'll probably want to redefine Channel#after_publish,
|
32
|
+
# so it will put messages into a queue and then handlers for Basic.Ack and Basic.Nack.
|
33
|
+
# This is the reason why we pass every argument from Exchange#publish to Channel#after_publish.
|
34
|
+
# You should not forget though, that both of these methods can have multi flag!
|
35
|
+
#
|
36
|
+
# Transactional channel cannot be put into confirm mode and a confirm
|
37
|
+
# mode channel cannot be made transactional.
|
38
|
+
#
|
39
|
+
# If the connection between the publisher and broker drops with outstanding
|
40
|
+
# confirms, it does not necessarily mean that the messages were lost, so
|
41
|
+
# republishing may result in duplicate messages.
|
42
|
+
|
43
|
+
# h2. Learn more
|
44
|
+
# @see http://www.rabbitmq.com/blog/2011/02/10/introducing-publisher-confirms
|
45
|
+
# @see http://www.rabbitmq.com/amqp-0-9-1-quickref.html#class.confirm
|
46
|
+
# @see http://www.rabbitmq.com/amqp-0-9-1-reference.html#basic.ack
|
50
47
|
module Confirm
|
51
48
|
module ChannelMixin
|
52
|
-
# Boolean value expressing whether confirmations are
|
53
|
-
# on or off, aka whether Confirm.Select was sent or not.
|
54
|
-
#
|
55
|
-
# @api public
|
56
|
-
# @return [Boolean] Whether confirmations are on or off.
|
57
|
-
attr_reader :confirmations
|
58
49
|
|
59
50
|
# Change publisher index. Publisher index is incremented
|
60
51
|
# by 1 after each Basic.Publish starting at 1. This is done
|
@@ -106,22 +97,23 @@ module AMQ
|
|
106
97
|
# @return [self] self.
|
107
98
|
#
|
108
99
|
# @see #confirm
|
109
|
-
def
|
110
|
-
if @confirmations
|
111
|
-
raise "Confirmations are already activated!"
|
112
|
-
end
|
113
|
-
|
100
|
+
def confirm_select(nowait = false, &block)
|
114
101
|
if nowait && block
|
115
102
|
raise "You can't use Confirm.Select with nowait=true and a callback at the same time."
|
116
103
|
end
|
117
104
|
|
118
|
-
@
|
119
|
-
self.redefine_callback(:
|
105
|
+
@uses_publisher_confirmations = true
|
106
|
+
self.redefine_callback(:confirm_select, &block)
|
120
107
|
@client.send(Protocol::Confirm::Select.encode(@id, nowait))
|
121
108
|
|
122
109
|
self
|
123
110
|
end
|
124
111
|
|
112
|
+
# @return [Boolean]
|
113
|
+
def uses_publisher_confirmations?
|
114
|
+
@uses_publisher_confirmations
|
115
|
+
end # uses_publisher_confirmations?
|
116
|
+
|
125
117
|
|
126
118
|
# Turn on confirmations for this channel and, if given,
|
127
119
|
# register callback for basic.ack from the broker.
|
@@ -134,8 +126,8 @@ module AMQ
|
|
134
126
|
# @yieldparam [AMQ::Protocol::Basic::Ack] basick_ack Protocol method class instance.
|
135
127
|
#
|
136
128
|
# @return [self] self.
|
137
|
-
def
|
138
|
-
self.
|
129
|
+
def on_ack(nowait = false, &block)
|
130
|
+
self.use_publisher_confirmations! unless self.uses_publisher_confirmations?
|
139
131
|
|
140
132
|
self.define_callback(:ack, &block) if block
|
141
133
|
|
@@ -144,10 +136,10 @@ module AMQ
|
|
144
136
|
|
145
137
|
|
146
138
|
# Register error callback for Basic.Nack. It's called
|
147
|
-
# when
|
139
|
+
# when message(s) is rejected.
|
148
140
|
#
|
149
141
|
# @return [self] self
|
150
|
-
def
|
142
|
+
def on_nack(&block)
|
151
143
|
self.define_callback(:nack, &block) if block
|
152
144
|
|
153
145
|
self
|
@@ -165,7 +157,7 @@ module AMQ
|
|
165
157
|
#
|
166
158
|
# @api plugin
|
167
159
|
def handle_select_ok(method)
|
168
|
-
self.exec_callback_once(:
|
160
|
+
self.exec_callback_once(:confirm_select, method)
|
169
161
|
end
|
170
162
|
|
171
163
|
# Handler for Basic.Ack. By default, it just
|
@@ -193,7 +185,7 @@ module AMQ
|
|
193
185
|
def reset_state!
|
194
186
|
super
|
195
187
|
|
196
|
-
@
|
188
|
+
@uses_publisher_confirmations = false
|
197
189
|
end
|
198
190
|
|
199
191
|
|
data/lib/amq/client/queue.rb
CHANGED
@@ -26,6 +26,9 @@ module AMQ
|
|
26
26
|
# Channel this queue belongs to.
|
27
27
|
attr_reader :channel
|
28
28
|
|
29
|
+
# Consumer tag identifies subscription for message delivery. It is nil for queues that are not subscribed for messages. See AMQ::Client::Queue#subscribe.
|
30
|
+
attr_reader :consumer_tag
|
31
|
+
|
29
32
|
# @param [AMQ::Client::Adapter] AMQ networking adapter to use.
|
30
33
|
# @param [AMQ::Client::Channel] AMQ channel this queue object uses.
|
31
34
|
# @param [String] Queue name. Please note that AMQP spec does not require brokers to support Unicode for queue names.
|
data/lib/amq/client/version.rb
CHANGED
metadata
CHANGED
@@ -1,210 +1,223 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amq-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 1552698946208022711
|
4
5
|
prerelease: 6
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 7
|
9
|
+
- 0
|
10
|
+
- alpha
|
11
|
+
- 20
|
12
|
+
version: 0.7.0.alpha20
|
6
13
|
platform: ruby
|
7
14
|
authors:
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
15
|
+
- Jakub Stastny
|
16
|
+
- Michael S. Klishin
|
17
|
+
- Theo Hultberg
|
18
|
+
- Mark Abramov
|
12
19
|
autorequire:
|
13
20
|
bindir: bin
|
14
21
|
cert_chain:
|
15
22
|
date: 2011-05-06 00:00:00 +04:00
|
16
23
|
default_executable:
|
17
24
|
dependencies:
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: eventmachine
|
27
|
+
prerelease: false
|
28
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
hash: 3
|
34
|
+
segments:
|
35
|
+
- 0
|
36
|
+
version: "0"
|
37
|
+
type: :runtime
|
38
|
+
version_requirements: *id001
|
39
|
+
- !ruby/object:Gem::Dependency
|
40
|
+
name: amq-protocol
|
41
|
+
prerelease: false
|
42
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
hash: 3
|
48
|
+
segments:
|
49
|
+
- 0
|
50
|
+
version: "0"
|
51
|
+
type: :runtime
|
52
|
+
version_requirements: *id002
|
40
53
|
description: amq-client supports multiple networking adapters (EventMachine, TCP sockets, cool.io) and supposed to back more opinionated AMQP clients (such as amqp gem, bunny, et cetera) or be used directly in cases when access to more advanced AMQP 0.9.1 features is more important that convenient APIs
|
41
54
|
email:
|
42
|
-
|
43
|
-
|
55
|
+
- stastny@101ideas.cz
|
56
|
+
- michael@novemberain.com
|
44
57
|
executables: []
|
45
58
|
|
46
59
|
extensions: []
|
47
60
|
|
48
61
|
extra_rdoc_files:
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
62
|
+
- README.textile
|
63
|
+
- doc/_index.html
|
64
|
+
- doc/AMQ.html
|
65
|
+
- doc/class_list.html
|
66
|
+
- doc/file.README.html
|
67
|
+
- doc/file_list.html
|
68
|
+
- doc/frames.html
|
69
|
+
- doc/index.html
|
70
|
+
- doc/method_list.html
|
71
|
+
- doc/top-level-namespace.html
|
59
72
|
files:
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
73
|
+
- .gitignore
|
74
|
+
- .gitmodules
|
75
|
+
- .rspec
|
76
|
+
- .travis.yml
|
77
|
+
- .yardopts
|
78
|
+
- CONTRIBUTORS
|
79
|
+
- Gemfile
|
80
|
+
- LICENSE
|
81
|
+
- README.textile
|
82
|
+
- amq-client.gemspec
|
83
|
+
- bin/jenkins.sh
|
84
|
+
- bin/set_test_suite_realms_up.sh
|
85
|
+
- examples/coolio_adapter/basic_consume.rb
|
86
|
+
- examples/coolio_adapter/basic_consume_with_acknowledgements.rb
|
87
|
+
- examples/coolio_adapter/basic_consume_with_rejections.rb
|
88
|
+
- examples/coolio_adapter/basic_publish.rb
|
89
|
+
- examples/coolio_adapter/channel_close.rb
|
90
|
+
- examples/coolio_adapter/example_helper.rb
|
91
|
+
- examples/coolio_adapter/exchange_declare.rb
|
92
|
+
- examples/coolio_adapter/kitchen_sink1.rb
|
93
|
+
- examples/coolio_adapter/queue_bind.rb
|
94
|
+
- examples/coolio_adapter/queue_purge.rb
|
95
|
+
- examples/coolio_adapter/queue_unbind.rb
|
96
|
+
- examples/eventmachine_adapter/authentication/plain_password_with_custom_role_credentials.rb
|
97
|
+
- examples/eventmachine_adapter/authentication/plain_password_with_default_role_credentials.rb
|
98
|
+
- examples/eventmachine_adapter/authentication/plain_password_with_incorrect_credentials_handled_with_a_callback.rb
|
99
|
+
- examples/eventmachine_adapter/authentication/plain_password_with_incorrect_credentials_handled_with_a_rescue_block.rb
|
100
|
+
- examples/eventmachine_adapter/basic_cancel.rb
|
101
|
+
- examples/eventmachine_adapter/basic_consume.rb
|
102
|
+
- examples/eventmachine_adapter/basic_consume_with_acknowledgements.rb
|
103
|
+
- examples/eventmachine_adapter/basic_consume_with_rejections.rb
|
104
|
+
- examples/eventmachine_adapter/basic_get.rb
|
105
|
+
- examples/eventmachine_adapter/basic_get_with_empty_queue.rb
|
106
|
+
- examples/eventmachine_adapter/basic_publish.rb
|
107
|
+
- examples/eventmachine_adapter/basic_qos.rb
|
108
|
+
- examples/eventmachine_adapter/basic_recover.rb
|
109
|
+
- examples/eventmachine_adapter/basic_return.rb
|
110
|
+
- examples/eventmachine_adapter/channel_close.rb
|
111
|
+
- examples/eventmachine_adapter/channel_flow.rb
|
112
|
+
- examples/eventmachine_adapter/channel_level_exception_handling.rb
|
113
|
+
- examples/eventmachine_adapter/connection_failure_callback.rb
|
114
|
+
- examples/eventmachine_adapter/connection_failure_exception.rb
|
115
|
+
- examples/eventmachine_adapter/connection_loss_handler.rb
|
116
|
+
- examples/eventmachine_adapter/example_helper.rb
|
117
|
+
- examples/eventmachine_adapter/exchange_declare.rb
|
118
|
+
- examples/eventmachine_adapter/extensions/rabbitmq/handling_confirm_select_ok.rb
|
119
|
+
- examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
|
120
|
+
- examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_unroutable_message.rb
|
121
|
+
- examples/eventmachine_adapter/kitchen_sink1.rb
|
122
|
+
- examples/eventmachine_adapter/queue_bind.rb
|
123
|
+
- examples/eventmachine_adapter/queue_declare.rb
|
124
|
+
- examples/eventmachine_adapter/queue_purge.rb
|
125
|
+
- examples/eventmachine_adapter/queue_unbind.rb
|
126
|
+
- examples/eventmachine_adapter/tls/tls_without_peer_verification.rb
|
127
|
+
- examples/eventmachine_adapter/tx_commit.rb
|
128
|
+
- examples/eventmachine_adapter/tx_rollback.rb
|
129
|
+
- examples/eventmachine_adapter/tx_select.rb
|
130
|
+
- examples/socket_adapter/basics.rb
|
131
|
+
- examples/socket_adapter/connection.rb
|
132
|
+
- examples/socket_adapter/multiple_connections.rb
|
133
|
+
- examples/tls_certificates/client/cert.pem
|
134
|
+
- examples/tls_certificates/client/key.pem
|
135
|
+
- examples/tls_certificates/client/keycert.p12
|
136
|
+
- examples/tls_certificates/client/req.pem
|
137
|
+
- examples/tls_certificates/server/cert.pem
|
138
|
+
- examples/tls_certificates/server/key.pem
|
139
|
+
- examples/tls_certificates/server/keycert.p12
|
140
|
+
- examples/tls_certificates/server/req.pem
|
141
|
+
- examples/tls_certificates/testca/cacert.cer
|
142
|
+
- examples/tls_certificates/testca/cacert.pem
|
143
|
+
- examples/tls_certificates/testca/certs/01.pem
|
144
|
+
- examples/tls_certificates/testca/certs/02.pem
|
145
|
+
- examples/tls_certificates/testca/index.txt
|
146
|
+
- examples/tls_certificates/testca/index.txt.attr
|
147
|
+
- examples/tls_certificates/testca/index.txt.attr.old
|
148
|
+
- examples/tls_certificates/testca/index.txt.old
|
149
|
+
- examples/tls_certificates/testca/openssl.cnf
|
150
|
+
- examples/tls_certificates/testca/private/cakey.pem
|
151
|
+
- examples/tls_certificates/testca/serial
|
152
|
+
- examples/tls_certificates/testca/serial.old
|
153
|
+
- irb.rb
|
154
|
+
- lib/amq/client.rb
|
155
|
+
- lib/amq/client/adapter.rb
|
156
|
+
- lib/amq/client/adapters/coolio.rb
|
157
|
+
- lib/amq/client/adapters/event_machine.rb
|
158
|
+
- lib/amq/client/adapters/socket.rb
|
159
|
+
- lib/amq/client/channel.rb
|
160
|
+
- lib/amq/client/connection.rb
|
161
|
+
- lib/amq/client/entity.rb
|
162
|
+
- lib/amq/client/exceptions.rb
|
163
|
+
- lib/amq/client/exchange.rb
|
164
|
+
- lib/amq/client/extensions/rabbitmq.rb
|
165
|
+
- lib/amq/client/extensions/rabbitmq/basic.rb
|
166
|
+
- lib/amq/client/extensions/rabbitmq/confirm.rb
|
167
|
+
- lib/amq/client/framing/io/frame.rb
|
168
|
+
- lib/amq/client/framing/string/frame.rb
|
169
|
+
- lib/amq/client/logging.rb
|
170
|
+
- lib/amq/client/mixins/anonymous_entity.rb
|
171
|
+
- lib/amq/client/mixins/status.rb
|
172
|
+
- lib/amq/client/protocol/get_response.rb
|
173
|
+
- lib/amq/client/queue.rb
|
174
|
+
- lib/amq/client/settings.rb
|
175
|
+
- lib/amq/client/version.rb
|
176
|
+
- spec/benchmarks/adapters.rb
|
177
|
+
- spec/client/framing/io_frame_spec.rb
|
178
|
+
- spec/client/framing/string_frame_spec.rb
|
179
|
+
- spec/client/protocol/get_response_spec.rb
|
180
|
+
- spec/integration/coolio/basic_ack_spec.rb
|
181
|
+
- spec/integration/coolio/basic_get_spec.rb
|
182
|
+
- spec/integration/coolio/basic_return_spec.rb
|
183
|
+
- spec/integration/coolio/channel_close_spec.rb
|
184
|
+
- spec/integration/coolio/channel_flow_spec.rb
|
185
|
+
- spec/integration/coolio/connection_close_spec.rb
|
186
|
+
- spec/integration/coolio/connection_start_spec.rb
|
187
|
+
- spec/integration/coolio/exchange_declare_spec.rb
|
188
|
+
- spec/integration/coolio/spec_helper.rb
|
189
|
+
- spec/integration/coolio/tx_commit_spec.rb
|
190
|
+
- spec/integration/coolio/tx_rollback_spec.rb
|
191
|
+
- spec/integration/eventmachine/basic_ack_spec.rb
|
192
|
+
- spec/integration/eventmachine/basic_get_spec.rb
|
193
|
+
- spec/integration/eventmachine/basic_return_spec.rb
|
194
|
+
- spec/integration/eventmachine/channel_close_spec.rb
|
195
|
+
- spec/integration/eventmachine/channel_flow_spec.rb
|
196
|
+
- spec/integration/eventmachine/connection_close_spec.rb
|
197
|
+
- spec/integration/eventmachine/connection_start_spec.rb
|
198
|
+
- spec/integration/eventmachine/exchange_declare_spec.rb
|
199
|
+
- spec/integration/eventmachine/regressions/amqp_gem_issue66_spec.rb
|
200
|
+
- spec/integration/eventmachine/spec_helper.rb
|
201
|
+
- spec/integration/eventmachine/tx_commit_spec.rb
|
202
|
+
- spec/integration/eventmachine/tx_rollback_spec.rb
|
203
|
+
- spec/regression/bad_frame_slicing_in_adapters_spec.rb
|
204
|
+
- spec/spec_helper.rb
|
205
|
+
- spec/unit/client/adapter_spec.rb
|
206
|
+
- spec/unit/client/entity_spec.rb
|
207
|
+
- spec/unit/client/logging_spec.rb
|
208
|
+
- spec/unit/client/mixins/status_spec.rb
|
209
|
+
- spec/unit/client/settings_spec.rb
|
210
|
+
- spec/unit/client_spec.rb
|
211
|
+
- tasks.rb
|
212
|
+
- doc/_index.html
|
213
|
+
- doc/AMQ.html
|
214
|
+
- doc/class_list.html
|
215
|
+
- doc/file.README.html
|
216
|
+
- doc/file_list.html
|
217
|
+
- doc/frames.html
|
218
|
+
- doc/index.html
|
219
|
+
- doc/method_list.html
|
220
|
+
- doc/top-level-namespace.html
|
208
221
|
has_rdoc: true
|
209
222
|
homepage: http://github.com/ruby-amqp/amq-client
|
210
223
|
licenses: []
|
@@ -213,23 +226,31 @@ post_install_message:
|
|
213
226
|
rdoc_options: []
|
214
227
|
|
215
228
|
require_paths:
|
216
|
-
|
229
|
+
- lib
|
217
230
|
required_ruby_version: !ruby/object:Gem::Requirement
|
218
231
|
none: false
|
219
232
|
requirements:
|
220
|
-
|
221
|
-
|
222
|
-
|
233
|
+
- - ">="
|
234
|
+
- !ruby/object:Gem::Version
|
235
|
+
hash: 3
|
236
|
+
segments:
|
237
|
+
- 0
|
238
|
+
version: "0"
|
223
239
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
224
240
|
none: false
|
225
241
|
requirements:
|
226
|
-
|
227
|
-
|
228
|
-
|
242
|
+
- - ">"
|
243
|
+
- !ruby/object:Gem::Version
|
244
|
+
hash: 25
|
245
|
+
segments:
|
246
|
+
- 1
|
247
|
+
- 3
|
248
|
+
- 1
|
249
|
+
version: 1.3.1
|
229
250
|
requirements: []
|
230
251
|
|
231
252
|
rubyforge_project: amq-client
|
232
|
-
rubygems_version: 1.5.
|
253
|
+
rubygems_version: 1.5.2
|
233
254
|
signing_key:
|
234
255
|
specification_version: 3
|
235
256
|
summary: amq-client is a fully-featured, low-level AMQP 0.9.1 client
|