bunny 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- }