bunny 0.3.1 → 0.4.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.
@@ -0,0 +1,28 @@
1
+ $: << File.expand_path(File.dirname(__FILE__))
2
+
3
+ require 'protocol/spec'
4
+ require 'protocol/protocol'
5
+
6
+ require 'transport/buffer'
7
+ require 'transport/frame'
8
+
9
+ require 'client'
10
+
11
+ module Qrack
12
+
13
+ include Protocol
14
+ include Transport
15
+
16
+ # Errors
17
+ class BufferOverflowError < StandardError; end
18
+ class InvalidTypeError < StandardError; end
19
+
20
+ # Qrack version number
21
+ VERSION = '0.0.1'
22
+
23
+ # Return the Qrack version
24
+ def self.version
25
+ VERSION
26
+ end
27
+
28
+ end
@@ -1,7 +1,8 @@
1
- module Bunny
1
+ module Qrack
2
2
  module Transport #:nodoc: all
3
3
  class Buffer
4
-
4
+ require 'enumerator' if RUBY_VERSION < '1.8.7'
5
+
5
6
  def initialize data = ''
6
7
  @data = data
7
8
  @pos = 0
@@ -123,7 +124,7 @@ module Bunny
123
124
 
124
125
  @bits.shift
125
126
  else
126
- raise Bunny::InvalidTypeError, "Cannot read data of type #{type}"
127
+ raise Qrack::InvalidTypeError, "Cannot read data of type #{type}"
127
128
  end
128
129
  end
129
130
 
@@ -220,7 +221,7 @@ module Bunny
220
221
  write(type, value) unless type == :bit
221
222
  end
222
223
  else
223
- raise Bunny::InvalidTypeError, "Cannot write data of type #{type}"
224
+ raise Qrack::InvalidTypeError, "Cannot write data of type #{type}"
224
225
  end
225
226
 
226
227
  self
@@ -230,21 +231,21 @@ module Bunny
230
231
  begin
231
232
  cur_data, cur_pos = @data.clone, @pos
232
233
  yield self
233
- rescue Bunny::BufferOverflowError
234
+ rescue Qrack::BufferOverflowError
234
235
  @data, @pos = cur_data, cur_pos
235
236
  nil
236
237
  end
237
238
  end
238
239
 
239
240
  def _read(size, pack = nil)
240
- if @data.is_a?(Bunny::Client)
241
+ if @data.is_a?(Qrack::Client)
241
242
  raw = @data.read(size)
242
243
  return raw if raw.nil? or pack.nil?
243
244
  return raw.unpack(pack).first
244
245
  end
245
246
 
246
247
  if @pos + size > length
247
- raise Bunny::BufferOverflowError
248
+ raise Qrack::BufferOverflowError
248
249
  else
249
250
  data = @data[@pos,size]
250
251
  @data[@pos,size] = ''
@@ -0,0 +1,100 @@
1
+
2
+ #:stopdoc:
3
+ # this file was autogenerated on Fri May 15 10:11:23 +0100 2009
4
+ #
5
+ # DO NOT EDIT! (edit ext/qparser.rb and config.yml instead, and run 'ruby qparser.rb')
6
+
7
+ module Qrack
8
+ module Transport
9
+ class Frame
10
+ def self.types
11
+ @types ||= {}
12
+ end
13
+
14
+ def self.Frame id
15
+ (@_base_frames ||= {})[id] ||= Class.new(Frame) do
16
+ class_eval %[
17
+ def self.inherited klass
18
+ klass.const_set(:ID, #{id})
19
+ Frame.types[#{id}] = klass
20
+ end
21
+ ]
22
+ end
23
+ end
24
+
25
+ class Method < Frame( 1 ); end
26
+ class Header < Frame( 2 ); end
27
+ class Body < Frame( 3 ); end
28
+ class OobMethod < Frame( 4 ); end
29
+ class OobHeader < Frame( 5 ); end
30
+ class OobBody < Frame( 6 ); end
31
+ class Trace < Frame( 7 ); end
32
+ class Heartbeat < Frame( 8 ); end
33
+
34
+ FOOTER = 206
35
+ end
36
+ end
37
+ end
38
+
39
+ module Qrack
40
+ module Transport
41
+ class Frame
42
+ def initialize payload = nil, channel = 0
43
+ @channel, @payload = channel, payload
44
+ end
45
+ attr_accessor :channel, :payload
46
+
47
+ def id
48
+ self.class::ID
49
+ end
50
+
51
+ def to_binary
52
+ buf = Transport::Buffer.new
53
+ buf.write :octet, id
54
+ buf.write :short, channel
55
+ buf.write :longstr, payload
56
+ buf.write :octet, Transport::Frame::FOOTER
57
+ buf.rewind
58
+ buf
59
+ end
60
+
61
+ def to_s
62
+ to_binary.to_s
63
+ end
64
+
65
+ def == frame
66
+ [ :id, :channel, :payload ].inject(true) do |eql, field|
67
+ eql and __send__(field) == frame.__send__(field)
68
+ end
69
+ end
70
+
71
+ class Method
72
+ def initialize payload = nil, channel = 0
73
+ super
74
+ unless @payload.is_a? Protocol::Class::Method or @payload.nil?
75
+ @payload = Protocol.parse(@payload)
76
+ end
77
+ end
78
+ end
79
+
80
+ class Header
81
+ def initialize payload = nil, channel = 0
82
+ super
83
+ unless @payload.is_a? Protocol::Header or @payload.nil?
84
+ @payload = Protocol::Header.new(@payload)
85
+ end
86
+ end
87
+ end
88
+
89
+ class Body; end
90
+
91
+ def self.parse buf
92
+ buf = Transport::Buffer.new(buf) unless buf.is_a? Transport::Buffer
93
+ buf.extract do
94
+ id, channel, payload, footer = buf.read(:octet, :short, :longstr, :octet)
95
+ Transport::Frame.types[id].new(payload, channel) if footer == Transport::Frame::FOOTER
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
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: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Duncan
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-10 00:00:00 +01:00
12
+ date: 2009-05-15 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -32,16 +32,16 @@ files:
32
32
  - examples/simple_fanout.rb
33
33
  - examples/simple_publisher.rb
34
34
  - examples/simple_topic.rb
35
- - ext/amqp-0.8.json
36
- - ext/codegen.rb
37
35
  - lib/bunny.rb
38
36
  - lib/bunny/client.rb
39
37
  - lib/bunny/exchange.rb
40
- - lib/bunny/protocol/protocol.rb
41
- - lib/bunny/protocol/spec.rb
42
38
  - lib/bunny/queue.rb
43
- - lib/bunny/transport/buffer.rb
44
- - lib/bunny/transport/frame.rb
39
+ - lib/qrack/client.rb
40
+ - lib/qrack/protocol/protocol.rb
41
+ - lib/qrack/protocol/spec.rb
42
+ - lib/qrack/qrack.rb
43
+ - lib/qrack/transport/buffer.rb
44
+ - lib/qrack/transport/frame.rb
45
45
  - spec/bunny_spec.rb
46
46
  - spec/exchange_spec.rb
47
47
  - spec/queue_spec.rb
@@ -1,617 +0,0 @@
1
- /*
2
- Copyright (c) 2008 John Leuner
3
-
4
- Permission is hereby granted, free of charge, to any person
5
- obtaining a copy of this file (the "Software"), to deal in the
6
- Software without restriction, including without limitation the
7
- rights to use, copy, modify, merge, publish, distribute,
8
- sublicense, and/or sell copies of the Software, and to permit
9
- persons to whom the Software is furnished to do so, subject to
10
- the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be
13
- included in all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
- OTHER DEALINGS IN THE SOFTWARE.
23
-
24
- Class information entered from amqp_xml0-8.pdf and domain types from amqp-xml-doc0-9.pdf
25
-
26
- b3cb053f15e7b98808c0ccc67f23cb3e amqp_xml0-8.pdf
27
- http://www.twiststandards.org/index.php?option=com_docman&task=cat_view&gid=28&&Itemid=90
28
- 8444db91e2949dbecfb2585e9eef6d64 amqp-xml-doc0-9.pdf
29
- https://jira.amqp.org/confluence/download/attachments/720900/amqp-xml-doc0-9.pdf?version=1
30
- */
31
-
32
- {
33
- "name": "AMQP",
34
- "major-version": 8,
35
- "minor-version": 0,
36
- "port": 5672,
37
-
38
- "domains": [
39
- ["access-ticket", "short"],
40
- ["bit", "bit"],
41
- ["channel-id", "longstr"],
42
- ["class-id", "short"],
43
- ["consumer-tag", "shortstr"],
44
- ["delivery-tag", "longlong"],
45
- ["destination", "shortstr"],
46
- ["duration", "longlong"],
47
- ["exchange-name", "shortstr"],
48
- ["known-hosts", "shortstr"],
49
- ["long", "long"],
50
- ["longlong", "longlong"],
51
- ["longstr", "longstr"],
52
- ["method-id", "short"],
53
- ["no-ack", "bit"],
54
- ["no-local", "bit"],
55
- ["octet", "octet"],
56
- ["offset", "longlong"],
57
- ["path", "shortstr"],
58
- ["peer-properties", "table"],
59
- ["queue-name", "shortstr"],
60
- ["redelivered", "bit"],
61
- ["reference", "longstr"],
62
- ["reject-code", "short"],
63
- ["reject-text", "shortstr"],
64
- ["reply-code", "short"],
65
- ["reply-text", "shortstr"],
66
- ["security-token", "longstr"],
67
- ["short", "short"],
68
- ["shortstr", "shortstr"],
69
- ["table", "table"],
70
- ["timestamp", "timestamp"]
71
- ],
72
-
73
- "constants": [
74
- {"name": "FRAME-METHOD", "value": 1},
75
- {"name": "FRAME-HEADER", "value": 2},
76
- {"name": "FRAME-BODY", "value": 3},
77
- {"name": "FRAME-OOB-METHOD", "value": 4},
78
- {"name": "FRAME-OOB-HEADER", "value": 5},
79
- {"name": "FRAME-OOB-BODY", "value": 6},
80
- {"name": "FRAME-TRACE", "value": 7},
81
- {"name": "FRAME-HEARTBEAT", "value": 8},
82
- {"name": "FRAME-MIN-SIZE", "value": 4096},
83
- {"name": "FRAME-END", "value": 206},
84
- {"name": "REPLY-SUCCESS", "value": 200},
85
- {"name": "NOT-DELIVERED", "value": 310, "class": "soft-error"},
86
- {"name": "CONTENT-TOO-LARGE", "value": 311, "class": "soft-error"},
87
- {"name": "NO-ROUTE", "value": 312, "class": "soft-error"},
88
- {"name": "NO-CONSUMERS", "value": 313, "class": "soft-error"},
89
- {"name": "ACCESS-REFUSED", "value": 403, "class": "soft-error"},
90
- {"name": "NOT-FOUND", "value": 404, "class": "soft-error"},
91
- {"name": "RESOURCE-LOCKED", "value": 405, "class": "soft-error"},
92
- {"name": "PRECONDITION-FAILED", "value": 406, "class": "soft-error"},
93
- {"name": "CONNECTION-FORCED", "value": 320, "class": "hard-error"},
94
- {"name": "INVALID-PATH", "value": 402, "class": "hard-error"},
95
- {"name": "FRAME-ERROR", "value": 501, "class": "hard-error"},
96
- {"name": "SYNTAX-ERROR", "value": 502, "class": "hard-error"},
97
- {"name": "COMMAND-INVALID", "value": 503, "class": "hard-error"},
98
- {"name": "CHANNEL-ERROR", "value": 504, "class": "hard-error"},
99
- {"name": "RESOURCE-ERROR", "value": 506, "class": "hard-error"},
100
- {"name": "NOT-ALLOWED", "value": 530, "class": "hard-error"},
101
- {"name": "NOT-IMPLEMENTED", "value": 540, "class": "hard-error"},
102
- {"name": "INTERNAL-ERROR", "value": 541, "class": "hard-error"}
103
- ],
104
-
105
- "classes": [
106
- {
107
- "id": 10,
108
- "methods": [{"id": 10,
109
- "arguments": [{"type": "octet", "name": "version-major"},
110
- {"type": "octet", "name": "version-minor"},
111
- {"domain": "peer-properties", "name": "server properties"},
112
- {"type": "longstr", "name": "mechanisms"},
113
- {"type": "longstr", "name": "locales"}],
114
- "name": "start"},
115
- {"id": 11,
116
- "arguments": [{"domain": "peer-properties", "name": "client-properties"},
117
- {"type": "shortstr", "name": "mechanism"},
118
- {"type": "longstr", "name": "response"},
119
- {"type": "shortstr", "name": "locale"}],
120
- "name": "start-ok"},
121
- {"id": 20,
122
- "arguments": [{"type": "longstr", "name": "challenge"}],
123
- "name": "secure"},
124
- {"id": 21,
125
- "arguments": [{"type": "longstr", "name": "response"}],
126
- "name": "secure-ok"},
127
- {"id": 30,
128
- "arguments": [{"type": "short", "name": "channel-max"},
129
- {"type": "long", "name": "frame-max"},
130
- {"type": "short", "name": "heartbeat"}],
131
- "name": "tune"},
132
- {"id": 31,
133
- "arguments": [{"type": "short", "name": "channel-max"},
134
- {"type": "long", "name": "frame-max"},
135
- {"type": "short", "name": "heartbeat"}],
136
- "name": "tune-ok"},
137
- {"id": 40,
138
- "arguments": [{"type": "shortstr", "name": "virtual-host"},
139
- {"type": "shortstr", "name": "capabilities"},
140
- {"type": "bit", "name": "insist"}],
141
- "name": "open"},
142
- {"id": 41,
143
- "arguments": [{"type": "shortstr", "name": "known-hosts"}],
144
- "name": "open-ok"},
145
- {"id": 50,
146
- "arguments": [{"type": "shortstr", "name": "host"},
147
- {"type": "shortstr", "name": "known-hosts"}],
148
- "name": "redirect"},
149
- {"id": 60,
150
- "arguments": [{"type": "short", "name": "reply-code"},
151
- {"type": "shortstr", "name": "reply-text"},
152
- {"type": "short", "name": "class-id"},
153
- {"type": "short", "name": "method-id"}],
154
- "name": "close"},
155
- {"id": 61,
156
- "arguments": [],
157
- "name": "close-ok"}],
158
- "name": "connection",
159
- "properties": []
160
- },
161
- {
162
- "id": 20,
163
- "methods": [{"id": 10,
164
- "arguments": [{"type": "shortstr", "name": "out-of-band"}],
165
- "name": "open"},
166
- {"id": 11,
167
- "arguments": [],
168
- "name": "open-ok"},
169
- {"id": 20,
170
- "arguments": [{"type": "bit", "name": "active"}],
171
- "name": "flow"},
172
- {"id": 21,
173
- "arguments": [{"type": "bit", "name": "active"}],
174
- "name": "flow-ok"},
175
- {"id": 30,
176
- "arguments": [{"type": "short", "name": "reply-code"},
177
- {"type": "shortstr", "name": "reply-text"},
178
- {"type": "table", "name": "details"}],
179
- "name": "alert"},
180
- {"id": 40,
181
- "arguments": [{"type": "short", "name": "reply-code"},
182
- {"type": "shortstr", "name": "reply-text"},
183
- {"type": "short", "name": "class-id"},
184
- {"type": "short", "name": "method-id"}],
185
- "name": "close"},
186
- {"id": 41,
187
- "arguments": [],
188
- "name": "close-ok"}],
189
- "name": "channel"
190
- },
191
- {
192
- "id": 30,
193
- "methods": [{"id": 10,
194
- "arguments": [{"type": "shortstr", "name": "realm"},
195
- {"type": "bit", "name": "exclusive"},
196
- {"type": "bit", "name": "passive"},
197
- {"type": "bit", "name": "active"},
198
- {"type": "bit", "name": "write"},
199
- {"type": "bit", "name": "read"}],
200
- "name": "request"},
201
- {"id": 11,
202
- "arguments": [{"type": "short", "name": "ticket"}],
203
- "name": "request-ok"}],
204
- "name": "access"
205
- },
206
- {
207
- "id": 40,
208
- "methods": [{"id": 10,
209
- "arguments": [{"type": "short", "name": "ticket"},
210
- {"type": "shortstr", "name": "exchange"},
211
- {"type": "shortstr", "name": "type"},
212
- {"type": "bit", "name": "passive"},
213
- {"type": "bit", "name": "durable"},
214
- {"type": "bit", "name": "auto-delete"},
215
- {"type": "bit", "name": "internal"},
216
- {"type": "bit", "name": "nowait"},
217
- {"type": "table", "name": "arguments"}],
218
- "name": "declare"},
219
- {"id": 11,
220
- "arguments": [],
221
- "name": "declare-ok"},
222
- {"id": 20,
223
- "arguments": [{"type": "short", "name": "ticket"},
224
- {"type": "shortstr", "name": "exchange"},
225
- {"type": "bit", "name": "if-unused"},
226
- {"type": "bit", "name": "nowait"}],
227
- "name": "delete"},
228
- {"id": 21,
229
- "arguments": [],
230
- "name": "delete-ok"}],
231
- "name": "exchange"
232
- },
233
- {
234
- "id": 50,
235
- "methods": [{"id": 10,
236
- "arguments": [{"type": "short", "name": "ticket"},
237
- {"type": "shortstr", "name": "queue"},
238
- {"type": "bit", "name": "passive"},
239
- {"type": "bit", "name": "durable"},
240
- {"type": "bit", "name": "exclusive"},
241
- {"type": "bit", "name": "auto-delete"},
242
- {"type": "bit", "name": "nowait"},
243
- {"type": "table", "name": "arguments"}],
244
- "name": "declare"},
245
- {"id": 11,
246
- "arguments": [{"type": "shortstr", "name": "queue"},
247
- {"type": "long", "name": "message-count"},
248
- {"type": "long", "name": "consumer-count"}],
249
- "name": "declare-ok"},
250
- {"id": 20,
251
- "arguments": [{"type": "short", "name": "ticket"},
252
- {"type": "shortstr", "name": "queue"},
253
- {"type": "shortstr", "name": "exchange"},
254
- {"type": "shortstr", "name": "routing-key"},
255
- {"type": "bit", "name": "nowait"},
256
- {"type": "table", "name": "arguments"}],
257
- "name": "bind"},
258
- {"id": 21,
259
- "arguments": [],
260
- "name": "bind-ok"},
261
- {"id": 30,
262
- "arguments": [{"type": "short", "name": "ticket"},
263
- {"type": "shortstr", "name": "queue"},
264
- {"type": "bit", "name": "nowait"}],
265
- "name": "purge"},
266
- {"id": 31,
267
- "arguments": [{"type": "long", "name": "message-count"}],
268
- "name": "purge-ok"},
269
- {"id": 40,
270
- "arguments": [{"type": "short", "name": "ticket"},
271
- {"type": "shortstr", "name": "queue"},
272
- {"type": "bit", "name": "if-unused"},
273
- {"type": "bit", "name": "if-empty"},
274
- {"type": "bit", "name": "nowait"}],
275
- "name": "delete"},
276
- {"id": 41,
277
- "arguments": [{"type": "long", "name": "message-count"}],
278
- "name": "delete-ok"},
279
- {"id": 50,
280
- "arguments": [{"type": "short", "name": "ticket"},
281
- {"type": "shortstr", "name": "queue"},
282
- {"type": "shortstr", "name": "exchange"},
283
- {"type": "shortstr", "name": "routing-key"},
284
- {"type": "table", "name": "arguments"}],
285
- "name": "unbind"},
286
- {"id": 51,
287
- "arguments": [],
288
- "name": "unbind-ok"}
289
- ],
290
- "name": "queue"
291
- },
292
- {
293
- "id": 60,
294
- "methods": [{"id": 10,
295
- "arguments": [{"type": "long", "name": "prefetch-size"},
296
- {"type": "short", "name": "prefetch-count"},
297
- {"type": "bit", "name": "global"}],
298
- "name": "qos"},
299
- {"id": 11,
300
- "arguments": [],
301
- "name": "qos-ok"},
302
- {"id": 20,
303
- "arguments": [{"domain": "access-ticket", "name": "ticket"},
304
- {"domain": "queue-name", "name": "queue"},
305
- {"type": "shortstr", "name": "consumer-tag"},
306
- {"type": "bit", "name": "no-local"},
307
- {"type": "bit", "name": "no-ack"},
308
- {"type": "bit", "name": "exclusive"},
309
- {"type": "bit", "name": "nowait"}],
310
- "name": "consume"},
311
- {"id": 21,
312
- "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
313
- "name": "consume-ok"},
314
- {"id": 30,
315
- "arguments": [{"type": "shortstr", "name": "consumer-tag"},
316
- {"type": "bit", "name": "nowait"}],
317
- "name": "cancel"},
318
- {"id": 31,
319
- "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
320
- "name": "cancel-ok"},
321
- {"content": true,
322
- "id": 40,
323
- "arguments": [{"type": "short", "name": "ticket"},
324
- {"type": "shortstr", "name": "exchange"},
325
- {"type": "shortstr", "name": "routing-key"},
326
- {"type": "bit", "name": "mandatory"},
327
- {"type": "bit", "name": "immediate"}],
328
- "name": "publish"},
329
- {"content": true,
330
- "id": 50,
331
- "arguments": [{"type": "short", "name": "reply-code"},
332
- {"type": "shortstr", "name": "reply-text"},
333
- {"type": "shortstr", "name": "exchange"},
334
- {"type": "shortstr", "name": "routing-key"}],
335
- "name": "return"},
336
- {"content": true,
337
- "id": 60,
338
- "arguments": [{"type": "shortstr", "name": "consumer-tag"},
339
- {"type": "longlong", "name": "delivery-tag"},
340
- {"type": "bit", "name": "redelivered"},
341
- {"type": "shortstr", "name": "exchange"},
342
- {"type": "shortstr", "name": "routing-key"}],
343
- "name": "deliver"},
344
- {"id": 70,
345
- "arguments": [{"type": "short", "name": "ticket"},
346
- {"type": "shortstr", "name": "queue"},
347
- {"type": "bit", "name": "no-ack"}],
348
- "name": "get"},
349
- {"content": true,
350
- "id": 71,
351
- "arguments": [{"type": "longlong", "name": "delivery-tag"},
352
- {"type": "bit", "name": "redelivered"},
353
- {"type": "shortstr", "name": "exchange"},
354
- {"type": "shortstr", "name": "routing-key"},
355
- {"type": "long", "name": "message-count"}],
356
- "name": "get-ok"},
357
- {"id": 72,
358
- "arguments": [{"type": "shortstr", "name": "cluster-id"}],
359
- "name": "get-empty"},
360
- {"id": 80,
361
- "arguments": [{"type": "longlong", "name": "delivery-tag"},
362
- {"type": "bit", "name": "multiple"}],
363
- "name": "ack"},
364
- {"id": 90,
365
- "arguments": [{"type": "longlong", "name": "delivery-tag"},
366
- {"type": "bit", "name": "requeue"}],
367
- "name": "reject"},
368
- {"id": 100,
369
- "arguments": [{"type": "bit", "name": "requeue"}],
370
- "name": "recover"}],
371
- "name": "basic",
372
- "properties": [{"type": "shortstr", "name": "content-type"},
373
- {"type": "shortstr", "name": "content-encoding"},
374
- {"type": "table", "name": "headers"},
375
- {"type": "octet", "name": "delivery-mode"},
376
- {"type": "octet", "name": "priority"},
377
- {"type": "shortstr", "name": "correlation-id"},
378
- {"type": "shortstr", "name": "reply-to"},
379
- {"type": "shortstr", "name": "expiration"},
380
- {"type": "shortstr", "name": "message-id"},
381
- {"type": "timestamp", "name": "timestamp"},
382
- {"type": "shortstr", "name": "type"},
383
- {"type": "shortstr", "name": "user-id"},
384
- {"type": "shortstr", "name": "app-id"},
385
- {"type": "shortstr", "name": "cluster-id"}]
386
- },
387
- {
388
- "id": 70,
389
- "methods": [{"id": 10,
390
- "arguments": [{"type": "long", "name": "prefetch-size"},
391
- {"type": "short", "name": "prefetch-count"},
392
- {"type": "bit", "name": "global"}],
393
- "name": "qos"},
394
- {"id": 11,
395
- "arguments": [],
396
- "name": "qos-ok"},
397
- {"id": 20,
398
- "arguments": [{"type": "short", "name": "ticket"},
399
- {"type": "shortstr", "name": "queue"},
400
- {"type": "shortstr", "name": "consumer-tag"},
401
- {"type": "bit", "name": "no-local"},
402
- {"type": "bit", "name": "no-ack"},
403
- {"type": "bit", "name": "exclusive"},
404
- {"type": "bit", "name": "nowait"}],
405
- "name": "consume"},
406
- {"id": 21,
407
- "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
408
- "name": "consume-ok"},
409
- {"id": 30,
410
- "arguments": [{"type": "shortstr", "name": "consumer-tag"},
411
- {"type": "bit", "name": "nowait"}],
412
- "name": "cancel"},
413
- {"id": 31,
414
- "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
415
- "name": "cancel-ok"},
416
- {"id": 40,
417
- "arguments": [{"type": "shortstr", "name": "identifier"},
418
- {"type": "longlong", "name": "content-size"}],
419
- "name": "open"},
420
- {"id": 41,
421
- "arguments": [{"type": "longlong", "name": "staged-size"}],
422
- "name": "open-ok"},
423
- {"content": true,
424
- "id": 50,
425
- "arguments": [],
426
- "name": "stage"},
427
- {"id": 60,
428
- "arguments": [{"type": "short", "name": "ticket"},
429
- {"type": "shortstr", "name": "exchange"},
430
- {"type": "shortstr", "name": "routing-key"},
431
- {"type": "bit", "name": "mandatory"},
432
- {"type": "bit", "name": "immediate"},
433
- {"type": "shortstr", "name": "identifier"}],
434
- "name": "publish"},
435
- {"content": true,
436
- "id": 70,
437
- "arguments": [{"type": "short", "name": "reply-code"},
438
- {"type": "shortstr", "name": "reply-text"},
439
- {"type": "shortstr", "name": "exchange"},
440
- {"type": "shortstr", "name": "routing-key"}],
441
- "name": "return"},
442
- {"id": 80,
443
- "arguments": [{"type": "shortstr", "name": "consumer-tag"},
444
- {"type": "longlong", "name": "delivery-tag"},
445
- {"type": "bit", "name": "redelivered"},
446
- {"type": "shortstr", "name": "exchange"},
447
- {"type": "shortstr", "name": "routing-key"},
448
- {"type": "shortstr", "name": "identifier"}],
449
- "name": "deliver"},
450
- {"id": 90,
451
- "arguments": [{"type": "longlong", "name": "delivery-tag"},
452
- {"type": "bit", "name": "multiple"}],
453
- "name": "ack"},
454
- {"id": 100,
455
- "arguments": [{"type": "longlong", "name": "delivery-tag"},
456
- {"type": "bit", "name": "requeue"}],
457
- "name": "reject"}],
458
- "name": "file",
459
- "properties": [{"type": "shortstr", "name": "content-type"},
460
- {"type": "shortstr", "name": "content-encoding"},
461
- {"type": "table", "name": "headers"},
462
- {"type": "octet", "name": "priority"},
463
- {"type": "shortstr", "name": "reply-to"},
464
- {"type": "shortstr", "name": "message-id"},
465
- {"type": "shortstr", "name": "filename"},
466
- {"type": "timestamp", "name": "timestamp"},
467
- {"type": "shortstr", "name": "cluster-id"}]
468
- },
469
- {
470
- "id": 80,
471
- "methods": [{"id": 10,
472
- "arguments": [{"type": "long", "name": "prefetch-size"},
473
- {"type": "short", "name": "prefetch-count"},
474
- {"type": "long", "name": "consume-rate"},
475
- {"type": "bit", "name": "global"}],
476
- "name": "qos"},
477
- {"id": 11,
478
- "arguments": [],
479
- "name": "qos-ok"},
480
- {"id": 20,
481
- "arguments": [{"type": "short", "name": "ticket"},
482
- {"type": "shortstr", "name": "queue"},
483
- {"type": "shortstr", "name": "consumer-tag"},
484
- {"type": "bit", "name": "no-local"},
485
- {"type": "bit", "name": "exclusive"},
486
- {"type": "bit", "name": "nowait"}],
487
- "name": "consume"},
488
- {"id": 21,
489
- "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
490
- "name": "consume-ok"},
491
- {"id": 30,
492
- "arguments": [{"type": "shortstr", "name": "consumer-tag"},
493
- {"type": "bit", "name": "nowait"}],
494
- "name": "cancel"},
495
- {"id": 31,
496
- "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
497
- "name": "cancel-ok"},
498
- {"content": true,
499
- "id": 40,
500
- "arguments": [{"type": "short", "name": "ticket"},
501
- {"type": "shortstr", "name": "exchange"},
502
- {"type": "shortstr", "name": "routing-key"},
503
- {"type": "bit", "name": "mandatory"},
504
- {"type": "bit", "name": "immediate"}],
505
- "name": "publish"},
506
- {"content": true,
507
- "id": 50,
508
- "arguments": [{"type": "short", "name": "reply-code"},
509
- {"type": "shortstr", "name": "reply-text"},
510
- {"type": "shortstr", "name": "exchange"},
511
- {"type": "shortstr", "name": "routing-key"}],
512
- "name": "return"},
513
- {"content": true,
514
- "id": 60,
515
- "arguments": [{"type": "shortstr", "name": "consumer-tag"},
516
- {"type": "longlong", "name": "delivery-tag"},
517
- {"type": "shortstr", "name": "exchange"},
518
- {"type": "shortstr", "name": "queue"}],
519
- "name": "deliver"}],
520
- "name": "stream",
521
- "properties": [{"type": "shortstr", "name": "content-type"},
522
- {"type": "shortstr", "name": "content-encoding"},
523
- {"type": "table", "name": "headers"},
524
- {"type": "octet", "name": "priority"},
525
- {"type": "timestamp", "name": "timestamp"}]
526
- },
527
- {
528
- "id": 90,
529
- "methods": [{"id": 10,
530
- "arguments": [],
531
- "name": "select"},
532
- {"id": 11,
533
- "arguments": [],
534
- "name": "select-ok"},
535
- {"id": 20,
536
- "arguments": [],
537
- "name": "commit"},
538
- {"id": 21,
539
- "arguments": [],
540
- "name": "commit-ok"},
541
- {"id": 30,
542
- "arguments": [],
543
- "name": "rollback"},
544
- {"id": 31,
545
- "arguments": [],
546
- "name": "rollback-ok"}],
547
- "name": "tx"
548
- },
549
- {
550
- "id": 100,
551
- "methods": [{"id": 10,
552
- "arguments": [],
553
- "name": "select"},
554
- {"id": 11,
555
- "arguments": [],
556
- "name": "select-ok"},
557
- {"id": 20,
558
- "arguments": [{"type": "shortstr", "name": "dtx-identifier"}],
559
- "name": "start"},
560
- {"id": 21,
561
- "arguments": [], "name": "start-ok"}],
562
- "name": "dtx"
563
- },
564
- {
565
- "id": 110,
566
- "methods": [{"content": true,
567
- "id": 10,
568
- "arguments": [{"type": "table", "name": "meta-data"}],
569
- "name": "request"}],
570
- "name": "tunnel",
571
- "properties": [{"type": "table", "name": "headers"},
572
- {"type": "shortstr", "name": "proxy-name"},
573
- {"type": "shortstr", "name": "data-name"},
574
- {"type": "octet", "name": "durable"},
575
- {"type": "octet", "name": "broadcast"}]
576
- },
577
- {
578
- "id": 120,
579
- "methods": [{"id": 10,
580
- "arguments": [{"type": "octet", "name": "integer-1"},
581
- {"type": "short", "name": "integer-2"},
582
- {"type": "long", "name": "integer-3"},
583
- {"type": "longlong", "name": "integer-4"},
584
- {"type": "octet", "name": "operation"}],
585
- "name": "integer"},
586
- {"id": 11,
587
- "arguments": [{"type": "longlong", "name": "result"}],
588
- "name": "integer-ok"},
589
- {"id": 20,
590
- "arguments": [{"type": "shortstr", "name": "string-1"},
591
- {"type": "longstr", "name": "string-2"},
592
- {"type": "octet", "name": "operation"}],
593
- "name": "string"},
594
- {"id": 21,
595
- "arguments": [{"type": "longstr", "name": "result"}],
596
- "name": "string-ok"},
597
- {"id": 30,
598
- "arguments": [{"type": "table", "name": "table"},
599
- {"type": "octet", "name": "integer-op"},
600
- {"type": "octet", "name": "string-op"}],
601
- "name": "table"},
602
- {"id": 31,
603
- "arguments": [{"type": "longlong", "name": "integer-result"},
604
- {"type": "longstr", "name": "string-result"}],
605
- "name": "table-ok"},
606
- {"content": true,
607
- "id": 40,
608
- "arguments": [],
609
- "name": "content"},
610
- {"content": true,
611
- "id": 41,
612
- "arguments": [{"type": "long", "name": "content-checksum"}],
613
- "name": "content-ok"}],
614
- "name": "test"
615
- }
616
- ]
617
- }