amqp 0.6.6 → 0.6.7
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/amqp.gemspec +4 -1
- data/lib/amqp.rb +6 -11
- data/lib/amqp/client.rb +1 -1
- data/lib/amqp/frame.rb +4 -4
- data/lib/amqp/protocol.rb +3 -3
- data/lib/amqp/server.rb +2 -2
- data/lib/amqp/version.rb +3 -0
- data/lib/mq.rb +3 -0
- data/lib/mq/rpc.rb +9 -9
- metadata +2 -1
data/amqp.gemspec
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
require File.expand_path('../lib/amqp/version', __FILE__)
|
2
|
+
|
1
3
|
spec = Gem::Specification.new do |s|
|
2
4
|
s.name = 'amqp'
|
3
|
-
s.version =
|
5
|
+
s.version = AMQP::VERSION
|
4
6
|
s.date = '2009-12-29'
|
5
7
|
s.summary = 'AMQP client implementation in Ruby/EventMachine'
|
6
8
|
s.email = "amqp@tmm1.net"
|
@@ -51,6 +53,7 @@ spec = Gem::Specification.new do |s|
|
|
51
53
|
"examples/mq/primes.rb",
|
52
54
|
"examples/mq/stocks.rb",
|
53
55
|
"lib/amqp.rb",
|
56
|
+
"lib/amqp/version.rb",
|
54
57
|
"lib/amqp/buffer.rb",
|
55
58
|
"lib/amqp/client.rb",
|
56
59
|
"lib/amqp/frame.rb",
|
data/lib/amqp.rb
CHANGED
@@ -1,16 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
DIR = File.expand_path(File.dirname(File.expand_path(__FILE__)))
|
5
|
-
$:.unshift DIR
|
6
|
-
|
7
|
-
require 'ext/em'
|
8
|
-
require 'ext/blankslate'
|
1
|
+
require File.expand_path('../ext/em', __FILE__)
|
2
|
+
require File.expand_path('../ext/blankslate', __FILE__)
|
9
3
|
|
10
|
-
|
11
|
-
|
12
|
-
|
4
|
+
%w[ version buffer spec protocol frame client ].each do |file|
|
5
|
+
require File.expand_path("../amqp/#{file}", __FILE__)
|
6
|
+
end
|
13
7
|
|
8
|
+
module AMQP
|
14
9
|
class << self
|
15
10
|
@logging = false
|
16
11
|
attr_accessor :logging
|
data/lib/amqp/client.rb
CHANGED
data/lib/amqp/frame.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
2
|
-
require '
|
3
|
-
require '
|
1
|
+
require File.expand_path('../spec', __FILE__)
|
2
|
+
require File.expand_path('../buffer', __FILE__)
|
3
|
+
require File.expand_path('../protocol', __FILE__)
|
4
4
|
|
5
5
|
module AMQP
|
6
6
|
class Frame #:nodoc: all
|
@@ -121,4 +121,4 @@ if $0 =~ /bacon/ or $0 == __FILE__
|
|
121
121
|
copy.should == orig
|
122
122
|
end
|
123
123
|
end
|
124
|
-
end
|
124
|
+
end
|
data/lib/amqp/protocol.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
require '
|
2
|
-
require '
|
1
|
+
require File.expand_path('../spec', __FILE__)
|
2
|
+
require File.expand_path('../buffer', __FILE__)
|
3
3
|
|
4
4
|
module AMQP
|
5
5
|
module Protocol
|
@@ -209,4 +209,4 @@ if $0 =~ /bacon/ or $0 == __FILE__
|
|
209
209
|
Protocol::Header.new(orig.to_binary).should == orig
|
210
210
|
end
|
211
211
|
end
|
212
|
-
end
|
212
|
+
end
|
data/lib/amqp/server.rb
CHANGED
data/lib/amqp/version.rb
ADDED
data/lib/mq.rb
CHANGED
@@ -740,6 +740,7 @@ class MQ
|
|
740
740
|
end
|
741
741
|
|
742
742
|
def prefetch(size)
|
743
|
+
@prefetch_size = size
|
743
744
|
send Protocol::Basic::Qos.new(:prefetch_size => 0, :prefetch_count => size, :global => false)
|
744
745
|
self
|
745
746
|
end
|
@@ -807,6 +808,8 @@ class MQ
|
|
807
808
|
qus = @queues
|
808
809
|
@queues = {}
|
809
810
|
qus.each{ |_,q| q.reset } if qus
|
811
|
+
|
812
|
+
prefetch(@prefetch_size) if @prefetch_size
|
810
813
|
end
|
811
814
|
|
812
815
|
private
|
data/lib/mq/rpc.rb
CHANGED
@@ -30,14 +30,14 @@ class MQ
|
|
30
30
|
#
|
31
31
|
# Marshalling and unmarshalling the objects is handled internally. This
|
32
32
|
# marshalling is subject to the same restrictions as defined in the
|
33
|
-
# Marshal[http://ruby-doc.org/core/classes/Marshal.html] standard
|
33
|
+
# Marshal[http://ruby-doc.org/core/classes/Marshal.html] standard
|
34
34
|
# library. See that documentation for further reference.
|
35
35
|
#
|
36
|
-
# When the optional object is not passed, the returned rpc reference is
|
37
|
-
# used to send messages and arguments to the queue. See #method_missing
|
38
|
-
# which does all of the heavy lifting with the proxy. Some client
|
39
|
-
# elsewhere must call this method *with* the optional block so that
|
40
|
-
# there is a valid destination. Failure to do so will just enqueue
|
36
|
+
# When the optional object is not passed, the returned rpc reference is
|
37
|
+
# used to send messages and arguments to the queue. See #method_missing
|
38
|
+
# which does all of the heavy lifting with the proxy. Some client
|
39
|
+
# elsewhere must call this method *with* the optional block so that
|
40
|
+
# there is a valid destination. Failure to do so will just enqueue
|
41
41
|
# marshalled messages that are never consumed.
|
42
42
|
#
|
43
43
|
def initialize mq, queue, obj = nil
|
@@ -53,7 +53,7 @@ class MQ
|
|
53
53
|
else
|
54
54
|
obj
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
@mq.queue(queue).subscribe(:ack=>true){ |info, request|
|
58
58
|
method, *args = ::Marshal.load(request)
|
59
59
|
ret = @obj.__send__(method, *args)
|
@@ -67,7 +67,7 @@ class MQ
|
|
67
67
|
else
|
68
68
|
@callbacks ||= {}
|
69
69
|
# XXX implement and use queue(nil)
|
70
|
-
@queue = @mq.queue(@name = "random identifier #{::Kernel.rand(999_999_999_999)}").subscribe{|info, msg|
|
70
|
+
@queue = @mq.queue(@name = "random identifier #{::Kernel.rand(999_999_999_999)}", :auto_delete => true).subscribe{|info, msg|
|
71
71
|
if blk = @callbacks.delete(info.message_id)
|
72
72
|
blk.call ::Marshal.load(msg)
|
73
73
|
end
|
@@ -97,4 +97,4 @@ class MQ
|
|
97
97
|
@remote.publish(::Marshal.dump([meth, *args]), :reply_to => blk ? @name : nil, :message_id => message_id)
|
98
98
|
end
|
99
99
|
end
|
100
|
-
end
|
100
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amqp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aman Gupta
|
@@ -62,6 +62,7 @@ files:
|
|
62
62
|
- examples/mq/primes.rb
|
63
63
|
- examples/mq/stocks.rb
|
64
64
|
- lib/amqp.rb
|
65
|
+
- lib/amqp/version.rb
|
65
66
|
- lib/amqp/buffer.rb
|
66
67
|
- lib/amqp/client.rb
|
67
68
|
- lib/amqp/frame.rb
|