fotonauts-amqp 0.6.1 → 0.6.4
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 +1 -2
- data/lib/amqp/client.rb +27 -7
- data/lib/amqp/protocol.rb +1 -1
- data/lib/amqp/spec.rb +6 -6
- data/protocol/codegen.rb +5 -5
- metadata +3 -2
data/amqp.gemspec
CHANGED
data/lib/amqp/client.rb
CHANGED
@@ -9,7 +9,7 @@ module AMQP
|
|
9
9
|
mq.process_frame(frame)
|
10
10
|
return
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
case frame
|
14
14
|
when Frame::Method
|
15
15
|
case method = frame.payload
|
@@ -49,7 +49,7 @@ module AMQP
|
|
49
49
|
def self.client
|
50
50
|
@client ||= BasicClient
|
51
51
|
end
|
52
|
-
|
52
|
+
|
53
53
|
def self.client= mod
|
54
54
|
mod.__send__ :include, AMQP
|
55
55
|
@client = mod
|
@@ -66,6 +66,8 @@ module AMQP
|
|
66
66
|
|
67
67
|
timeout @settings[:timeout] if @settings[:timeout]
|
68
68
|
errback{ @on_disconnect.call } unless @reconnecting
|
69
|
+
|
70
|
+
@connected = false
|
69
71
|
end
|
70
72
|
|
71
73
|
def connection_completed
|
@@ -73,16 +75,25 @@ module AMQP
|
|
73
75
|
log 'connected'
|
74
76
|
# @on_disconnect = proc{ raise Error, 'Disconnected from server' }
|
75
77
|
unless @closing
|
76
|
-
@on_disconnect = method(:
|
78
|
+
@on_disconnect = method(:disconnected)
|
77
79
|
@reconnecting = false
|
78
80
|
end
|
81
|
+
|
82
|
+
@connected = true
|
83
|
+
@connection_status.call(:connected) if @connection_status
|
84
|
+
|
79
85
|
@buf = Buffer.new
|
80
86
|
send_data HEADER
|
81
87
|
send_data [1, 1, VERSION_MAJOR, VERSION_MINOR].pack('C4')
|
82
88
|
end
|
83
89
|
|
90
|
+
def connected?
|
91
|
+
@connected
|
92
|
+
end
|
93
|
+
|
84
94
|
def unbind
|
85
95
|
log 'disconnected'
|
96
|
+
@connected = false
|
86
97
|
EM.next_tick{ @on_disconnect.call }
|
87
98
|
end
|
88
99
|
|
@@ -96,7 +107,7 @@ module AMQP
|
|
96
107
|
def channels
|
97
108
|
@channels ||= {}
|
98
109
|
end
|
99
|
-
|
110
|
+
|
100
111
|
def receive_data data
|
101
112
|
# log 'receive_data', data
|
102
113
|
@buf << data
|
@@ -111,7 +122,7 @@ module AMQP
|
|
111
122
|
# this is a stub meant to be
|
112
123
|
# replaced by the module passed into initialize
|
113
124
|
end
|
114
|
-
|
125
|
+
|
115
126
|
def send data, opts = {}
|
116
127
|
channel = opts[:channel] ||= 0
|
117
128
|
data = data.to_frame(channel) unless data.is_a? Frame
|
@@ -177,9 +188,18 @@ module AMQP
|
|
177
188
|
opts = AMQP.settings.merge(opts)
|
178
189
|
EM.connect opts[:host], opts[:port], self, opts
|
179
190
|
end
|
180
|
-
|
191
|
+
|
192
|
+
def connection_status &blk
|
193
|
+
@connection_status = blk
|
194
|
+
end
|
195
|
+
|
181
196
|
private
|
182
|
-
|
197
|
+
|
198
|
+
def disconnected
|
199
|
+
@connection_status.call(:disconnected) if @connection_status
|
200
|
+
reconnect
|
201
|
+
end
|
202
|
+
|
183
203
|
def log *args
|
184
204
|
return unless @settings[:logging] or AMQP.logging
|
185
205
|
require 'pp'
|
data/lib/amqp/protocol.rb
CHANGED
data/lib/amqp/spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
|
2
2
|
#:stopdoc:
|
3
|
-
# this file was autogenerated on
|
3
|
+
# this file was autogenerated on Thu Jul 09 15:17:33 -0700 2009
|
4
4
|
# using amqp-0.8.json (mtime: Sat Jan 03 08:58:13 -0600 2009)
|
5
5
|
#
|
6
6
|
# DO NOT EDIT! (edit protocol/codegen.rb instead, and run `rake codegen`)
|
@@ -96,9 +96,9 @@ module AMQP
|
|
96
96
|
|
97
97
|
def arguments() @arguments ||= [] end
|
98
98
|
|
99
|
-
def
|
100
|
-
def id()
|
101
|
-
def name()
|
99
|
+
def section() Protocol.const_get(self.to_s[/Protocol::(.+?)::/,1]) end
|
100
|
+
def id() self::ID end
|
101
|
+
def name() self::NAME end
|
102
102
|
end
|
103
103
|
|
104
104
|
def == b
|
@@ -117,8 +117,8 @@ module AMQP
|
|
117
117
|
def self.inherited klass
|
118
118
|
klass.const_set(:ID, #{id})
|
119
119
|
klass.const_set(:NAME, :#{name.to_s})
|
120
|
-
klass.
|
121
|
-
klass.
|
120
|
+
klass.section.methods[#{id}] = klass
|
121
|
+
klass.section.methods[klass::NAME] = klass
|
122
122
|
end
|
123
123
|
]
|
124
124
|
end
|
data/protocol/codegen.rb
CHANGED
@@ -90,9 +90,9 @@ puts ERB.new(%q[
|
|
90
90
|
|
91
91
|
def arguments() @arguments ||= [] end
|
92
92
|
|
93
|
-
def
|
94
|
-
def id()
|
95
|
-
def name()
|
93
|
+
def section() Protocol.const_get(self.to_s[/Protocol::(.+?)::/,1]) end
|
94
|
+
def id() self::ID end
|
95
|
+
def name() self::NAME end
|
96
96
|
end
|
97
97
|
|
98
98
|
def == b
|
@@ -111,8 +111,8 @@ puts ERB.new(%q[
|
|
111
111
|
def self.inherited klass
|
112
112
|
klass.const_set(:ID, #{id})
|
113
113
|
klass.const_set(:NAME, :#{name.to_s})
|
114
|
-
klass.
|
115
|
-
klass.
|
114
|
+
klass.section.methods[#{id}] = klass
|
115
|
+
klass.section.methods[klass::NAME] = klass
|
116
116
|
end
|
117
117
|
]
|
118
118
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fotonauts-amqp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aman Gupta
|
@@ -93,6 +93,7 @@ files:
|
|
93
93
|
- research/primes-threaded.rb
|
94
94
|
has_rdoc: true
|
95
95
|
homepage: http://amqp.rubyforge.org/
|
96
|
+
licenses:
|
96
97
|
post_install_message:
|
97
98
|
rdoc_options:
|
98
99
|
- --include=examples
|
@@ -113,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
114
|
requirements: []
|
114
115
|
|
115
116
|
rubyforge_project:
|
116
|
-
rubygems_version: 1.
|
117
|
+
rubygems_version: 1.3.5
|
117
118
|
signing_key:
|
118
119
|
specification_version: 2
|
119
120
|
summary: AMQP client implementation in Ruby/EventMachine
|