amq-client 0.9.0 → 0.9.1
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.
data/.travis.yml
CHANGED
@@ -151,6 +151,8 @@ module AMQ
|
|
151
151
|
headers = { :priority => 0, :delivery_mode => 2, :content_type => "application/octet-stream" }.merge(user_headers)
|
152
152
|
@connection.send_frameset(Protocol::Basic::Publish.encode(@channel.id, payload, headers, @name, routing_key, mandatory, immediate, (frame_size || @connection.frame_max)), @channel)
|
153
153
|
|
154
|
+
# publisher confirms support. MK.
|
155
|
+
@channel.exec_callback(:after_publish)
|
154
156
|
self
|
155
157
|
end
|
156
158
|
|
@@ -57,15 +57,15 @@ module AMQ
|
|
57
57
|
attr_writer :publisher_index
|
58
58
|
|
59
59
|
# Publisher index is an index of the last message since
|
60
|
-
# the confirmations were activated, started with
|
61
|
-
# incremented by 1
|
60
|
+
# the confirmations were activated, started with 0. It's
|
61
|
+
# incremented by 1 every time a message is published.
|
62
62
|
# This is done on both client and server, hence this
|
63
63
|
# acknowledged messages can be matched via its delivery-tag.
|
64
64
|
#
|
65
65
|
# @return [Integer] Current publisher index.
|
66
66
|
# @api public
|
67
67
|
def publisher_index
|
68
|
-
@publisher_index ||=
|
68
|
+
@publisher_index ||= 0
|
69
69
|
end
|
70
70
|
|
71
71
|
# Resets publisher index to 0
|
@@ -81,8 +81,8 @@ module AMQ
|
|
81
81
|
# can be actually matched.
|
82
82
|
#
|
83
83
|
# @api plugin
|
84
|
-
def
|
85
|
-
|
84
|
+
def increment_publisher_index!
|
85
|
+
@publisher_index += 1
|
86
86
|
end
|
87
87
|
|
88
88
|
# Turn on confirmations for this channel and, if given,
|
@@ -104,7 +104,12 @@ module AMQ
|
|
104
104
|
end
|
105
105
|
|
106
106
|
@uses_publisher_confirmations = true
|
107
|
+
reset_publisher_index!
|
108
|
+
|
107
109
|
self.redefine_callback(:confirm_select, &block) unless nowait
|
110
|
+
self.redefine_callback(:after_publish) do
|
111
|
+
increment_publisher_index!
|
112
|
+
end
|
108
113
|
@connection.send_frame(Protocol::Confirm::Select.encode(@id, nowait))
|
109
114
|
|
110
115
|
self
|
@@ -210,23 +215,6 @@ module AMQ
|
|
210
215
|
end
|
211
216
|
end # self.included(host)
|
212
217
|
end # ChannelMixin
|
213
|
-
|
214
|
-
|
215
|
-
module ExchangeMixin
|
216
|
-
# Publish message and then run #after_publish on channel belonging
|
217
|
-
# to the exchange. This is used for incrementing the publisher index.
|
218
|
-
#
|
219
|
-
# @api public
|
220
|
-
# @see AMQ::Client::Exchange#publish
|
221
|
-
# @see AMQ::Client::Extensions::RabbitMQ::Channel#publisher_index
|
222
|
-
# @return [self] self
|
223
|
-
def publish(*args, &block)
|
224
|
-
super(*args)
|
225
|
-
@channel.after_publish(*args, &block)
|
226
|
-
|
227
|
-
self
|
228
|
-
end # publish
|
229
|
-
end # ExchangeMixin
|
230
218
|
end # Confirm
|
231
219
|
end # RabbitMQ
|
232
220
|
end # Extensions
|
@@ -237,12 +225,6 @@ module AMQ
|
|
237
225
|
# instead of reckless monkey-patching. MK.
|
238
226
|
include Extensions::RabbitMQ::Confirm::ChannelMixin
|
239
227
|
end # Channel
|
240
|
-
|
241
|
-
class Exchange
|
242
|
-
# use modules, a native Ruby way of extension of existing classes,
|
243
|
-
# instead of reckless monkey-patching. MK.
|
244
|
-
include Extensions::RabbitMQ::Confirm::ExchangeMixin
|
245
|
-
end # Exchange
|
246
228
|
end # Async
|
247
229
|
end # Client
|
248
230
|
end # AMQ
|
data/lib/amq/client/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amq-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 57
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
9
|
+
- 1
|
10
|
+
version: 0.9.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jakub Stastny
|
@@ -18,7 +18,7 @@ autorequire:
|
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
20
|
|
21
|
-
date: 2012-01-
|
21
|
+
date: 2012-01-19 00:00:00 Z
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
24
24
|
name: eventmachine
|