totty-amqp 0.6.7.1.totty

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/README +143 -0
  2. data/Rakefile +20 -0
  3. data/amqp.todo +32 -0
  4. data/doc/EXAMPLE_01_PINGPONG +2 -0
  5. data/doc/EXAMPLE_02_CLOCK +2 -0
  6. data/doc/EXAMPLE_03_STOCKS +2 -0
  7. data/doc/EXAMPLE_04_MULTICLOCK +2 -0
  8. data/doc/EXAMPLE_05_ACK +2 -0
  9. data/doc/EXAMPLE_05_POP +2 -0
  10. data/doc/EXAMPLE_06_HASHTABLE +2 -0
  11. data/examples/amqp/simple.rb +79 -0
  12. data/examples/mq/ack.rb +45 -0
  13. data/examples/mq/clock.rb +56 -0
  14. data/examples/mq/hashtable.rb +52 -0
  15. data/examples/mq/internal.rb +49 -0
  16. data/examples/mq/logger.rb +88 -0
  17. data/examples/mq/multiclock.rb +49 -0
  18. data/examples/mq/pingpong.rb +45 -0
  19. data/examples/mq/pop.rb +43 -0
  20. data/examples/mq/primes-simple.rb +19 -0
  21. data/examples/mq/primes.rb +99 -0
  22. data/examples/mq/stocks.rb +58 -0
  23. data/lib/amqp/buffer.rb +395 -0
  24. data/lib/amqp/client.rb +210 -0
  25. data/lib/amqp/frame.rb +124 -0
  26. data/lib/amqp/protocol.rb +212 -0
  27. data/lib/amqp/server.rb +99 -0
  28. data/lib/amqp/spec.rb +832 -0
  29. data/lib/amqp/version.rb +3 -0
  30. data/lib/amqp.rb +152 -0
  31. data/lib/ext/blankslate.rb +7 -0
  32. data/lib/ext/em.rb +8 -0
  33. data/lib/ext/emfork.rb +69 -0
  34. data/lib/mq/exchange.rb +314 -0
  35. data/lib/mq/header.rb +33 -0
  36. data/lib/mq/logger.rb +89 -0
  37. data/lib/mq/queue.rb +455 -0
  38. data/lib/mq/rpc.rb +100 -0
  39. data/lib/mq.rb +877 -0
  40. data/old/README +30 -0
  41. data/old/Rakefile +12 -0
  42. data/old/amqp-0.8.json +606 -0
  43. data/old/amqp_spec.rb +796 -0
  44. data/old/amqpc.rb +695 -0
  45. data/old/codegen.rb +148 -0
  46. data/protocol/amqp-0.8.json +617 -0
  47. data/protocol/amqp-0.8.xml +3908 -0
  48. data/protocol/codegen.rb +173 -0
  49. data/protocol/doc.txt +281 -0
  50. data/research/api.rb +88 -0
  51. data/research/primes-forked.rb +63 -0
  52. data/research/primes-processes.rb +135 -0
  53. data/research/primes-threaded.rb +49 -0
  54. data/totty-amqp.gemspec +87 -0
  55. metadata +142 -0
data/old/README ADDED
@@ -0,0 +1,30 @@
1
+ Simple AMQP client for Ruby/EventMachine.
2
+
3
+ To use with RabbitMQ, first run the server:
4
+
5
+ hg clone http://hg.rabbitmq.com/rabbitmq-codegen
6
+ hg clone http://hg.rabbitmq.com/rabbitmq-server
7
+ cd rabbitmq-server
8
+ make run
9
+
10
+ Then run the client:
11
+
12
+ ruby amqpc.rb
13
+
14
+ The client includes some basic specs (requires bacon >= 0.9.10). To run them:
15
+
16
+ bacon amqpc.rb
17
+
18
+ The amqp_spec.rb file is generated automatically based on the AMQP specification. To generate it:
19
+
20
+ ruby codegen.rb > amqp_spec.rb
21
+
22
+ This project was inspired by py-amqplib, rabbitmq, qpid and rubbyt.
23
+ Special thanks go to Dmitriy Samovskiy, Ben Hood and Tony Garnock-Jones.
24
+
25
+ Other AMQP resources:
26
+
27
+ Barry Pederson's py-amqplib: http://barryp.org/software/py-amqplib/
28
+ Ben Hood's article on writing an AMQP article: http://hopper.squarespace.com/blog/2008/6/21/build-your-own-amqp-client.html
29
+ Dmitriy Samovskiy's introduction to ruby+rabbitmq: http://somic-org.homelinux.org/blog/2008/06/24/ruby-amqp-rabbitmq-example/
30
+ Ben Hood's AMQP client in AS3: http://github.com/0x6e6562/as3-amqp
data/old/Rakefile ADDED
@@ -0,0 +1,12 @@
1
+ task :codegen do
2
+ sh 'ruby codegen.rb > amqp_spec.rb'
3
+ sh 'ruby amqp_spec.rb'
4
+ end
5
+
6
+ task :spec do
7
+ sh 'bacon amqpc.rb'
8
+ end
9
+
10
+ task :test do
11
+ sh 'ruby amqpc.rb'
12
+ end
data/old/amqp-0.8.json ADDED
@@ -0,0 +1,606 @@
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
+ "name": "queue"
280
+ },
281
+ {
282
+ "id": 60,
283
+ "methods": [{"id": 10,
284
+ "arguments": [{"type": "long", "name": "prefetch-size"},
285
+ {"type": "short", "name": "prefetch-count"},
286
+ {"type": "bit", "name": "global"}],
287
+ "name": "qos"},
288
+ {"id": 11,
289
+ "arguments": [],
290
+ "name": "qos-ok"},
291
+ {"id": 20,
292
+ "arguments": [{"domain": "access-ticket", "name": "ticket"},
293
+ {"domain": "queue-name", "name": "queue"},
294
+ {"type": "shortstr", "name": "consumer-tag"},
295
+ {"type": "bit", "name": "no-local"},
296
+ {"type": "bit", "name": "no-ack"},
297
+ {"type": "bit", "name": "exclusive"},
298
+ {"type": "bit", "name": "nowait"}],
299
+ "name": "consume"},
300
+ {"id": 21,
301
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
302
+ "name": "consume-ok"},
303
+ {"id": 30,
304
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
305
+ {"type": "bit", "name": "nowait"}],
306
+ "name": "cancel"},
307
+ {"id": 31,
308
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
309
+ "name": "cancel-ok"},
310
+ {"content": true,
311
+ "id": 40,
312
+ "arguments": [{"type": "short", "name": "ticket"},
313
+ {"type": "shortstr", "name": "exchange"},
314
+ {"type": "shortstr", "name": "routing-key"},
315
+ {"type": "bit", "name": "mandatory"},
316
+ {"type": "bit", "name": "immediate"}],
317
+ "name": "publish"},
318
+ {"content": true,
319
+ "id": 50,
320
+ "arguments": [{"type": "short", "name": "reply-code"},
321
+ {"type": "shortstr", "name": "reply-text"},
322
+ {"type": "shortstr", "name": "exchange"},
323
+ {"type": "shortstr", "name": "routing-key"}],
324
+ "name": "return"},
325
+ {"content": true,
326
+ "id": 60,
327
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
328
+ {"type": "longlong", "name": "delivery-tag"},
329
+ {"type": "bit", "name": "redelivered"},
330
+ {"type": "shortstr", "name": "exchange"},
331
+ {"type": "shortstr", "name": "routing-key"}],
332
+ "name": "deliver"},
333
+ {"id": 70,
334
+ "arguments": [{"type": "short", "name": "ticket"},
335
+ {"type": "shortstr", "name": "queue"},
336
+ {"type": "bit", "name": "no-ack"}],
337
+ "name": "get"},
338
+ {"content": true,
339
+ "id": 71,
340
+ "arguments": [{"type": "longlong", "name": "delivery-tag"},
341
+ {"type": "bit", "name": "redelivered"},
342
+ {"type": "shortstr", "name": "exchange"},
343
+ {"type": "shortstr", "name": "routing-key"},
344
+ {"type": "long", "name": "message-count"}],
345
+ "name": "get-ok"},
346
+ {"id": 72,
347
+ "arguments": [{"type": "shortstr", "name": "cluster-id"}],
348
+ "name": "get-empty"},
349
+ {"id": 80,
350
+ "arguments": [{"type": "longlong", "name": "delivery-tag"},
351
+ {"type": "bit", "name": "multiple"}],
352
+ "name": "ack"},
353
+ {"id": 90,
354
+ "arguments": [{"type": "longlong", "name": "delivery-tag"},
355
+ {"type": "bit", "name": "requeue"}],
356
+ "name": "reject"},
357
+ {"id": 100,
358
+ "arguments": [{"type": "bit", "name": "requeue"}],
359
+ "name": "recover"}],
360
+ "name": "basic",
361
+ "properties": [{"type": "shortstr", "name": "content-type"},
362
+ {"type": "shortstr", "name": "content-encoding"},
363
+ {"type": "table", "name": "headers"},
364
+ {"type": "octet", "name": "delivery-mode"},
365
+ {"type": "octet", "name": "priority"},
366
+ {"type": "shortstr", "name": "correlation-id"},
367
+ {"type": "shortstr", "name": "reply-to"},
368
+ {"type": "shortstr", "name": "expiration"},
369
+ {"type": "shortstr", "name": "message-id"},
370
+ {"type": "timestamp", "name": "timestamp"},
371
+ {"type": "shortstr", "name": "type"},
372
+ {"type": "shortstr", "name": "user-id"},
373
+ {"type": "shortstr", "name": "app-id"},
374
+ {"type": "shortstr", "name": "cluster-id"}]
375
+ },
376
+ {
377
+ "id": 70,
378
+ "methods": [{"id": 10,
379
+ "arguments": [{"type": "long", "name": "prefetch-size"},
380
+ {"type": "short", "name": "prefetch-count"},
381
+ {"type": "bit", "name": "global"}],
382
+ "name": "qos"},
383
+ {"id": 11,
384
+ "arguments": [],
385
+ "name": "qos-ok"},
386
+ {"id": 20,
387
+ "arguments": [{"type": "short", "name": "ticket"},
388
+ {"type": "shortstr", "name": "queue"},
389
+ {"type": "shortstr", "name": "consumer-tag"},
390
+ {"type": "bit", "name": "no-local"},
391
+ {"type": "bit", "name": "no-ack"},
392
+ {"type": "bit", "name": "exclusive"},
393
+ {"type": "bit", "name": "nowait"}],
394
+ "name": "consume"},
395
+ {"id": 21,
396
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
397
+ "name": "consume-ok"},
398
+ {"id": 30,
399
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
400
+ {"type": "bit", "name": "nowait"}],
401
+ "name": "cancel"},
402
+ {"id": 31,
403
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
404
+ "name": "cancel-ok"},
405
+ {"id": 40,
406
+ "arguments": [{"type": "shortstr", "name": "identifier"},
407
+ {"type": "longlong", "name": "content-size"}],
408
+ "name": "open"},
409
+ {"id": 41,
410
+ "arguments": [{"type": "longlong", "name": "staged-size"}],
411
+ "name": "open-ok"},
412
+ {"content": true,
413
+ "id": 50,
414
+ "arguments": [],
415
+ "name": "stage"},
416
+ {"id": 60,
417
+ "arguments": [{"type": "short", "name": "ticket"},
418
+ {"type": "shortstr", "name": "exchange"},
419
+ {"type": "shortstr", "name": "routing-key"},
420
+ {"type": "bit", "name": "mandatory"},
421
+ {"type": "bit", "name": "immediate"},
422
+ {"type": "shortstr", "name": "identifier"}],
423
+ "name": "publish"},
424
+ {"content": true,
425
+ "id": 70,
426
+ "arguments": [{"type": "short", "name": "reply-code"},
427
+ {"type": "shortstr", "name": "reply-text"},
428
+ {"type": "shortstr", "name": "exchange"},
429
+ {"type": "shortstr", "name": "routing-key"}],
430
+ "name": "return"},
431
+ {"id": 80,
432
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
433
+ {"type": "longlong", "name": "delivery-tag"},
434
+ {"type": "bit", "name": "redelivered"},
435
+ {"type": "shortstr", "name": "exchange"},
436
+ {"type": "shortstr", "name": "routing-key"},
437
+ {"type": "shortstr", "name": "identifier"}],
438
+ "name": "deliver"},
439
+ {"id": 90,
440
+ "arguments": [{"type": "longlong", "name": "delivery-tag"},
441
+ {"type": "bit", "name": "multiple"}],
442
+ "name": "ack"},
443
+ {"id": 100,
444
+ "arguments": [{"type": "longlong", "name": "delivery-tag"},
445
+ {"type": "bit", "name": "requeue"}],
446
+ "name": "reject"}],
447
+ "name": "file",
448
+ "properties": [{"type": "shortstr", "name": "content-type"},
449
+ {"type": "shortstr", "name": "content-encoding"},
450
+ {"type": "table", "name": "headers"},
451
+ {"type": "octet", "name": "priority"},
452
+ {"type": "shortstr", "name": "reply-to"},
453
+ {"type": "shortstr", "name": "message-id"},
454
+ {"type": "shortstr", "name": "filename"},
455
+ {"type": "timestamp", "name": "timestamp"},
456
+ {"type": "shortstr", "name": "cluster-id"}]
457
+ },
458
+ {
459
+ "id": 80,
460
+ "methods": [{"id": 10,
461
+ "arguments": [{"type": "long", "name": "prefetch-size"},
462
+ {"type": "short", "name": "prefetch-count"},
463
+ {"type": "long", "name": "consume-rate"},
464
+ {"type": "bit", "name": "global"}],
465
+ "name": "qos"},
466
+ {"id": 11,
467
+ "arguments": [],
468
+ "name": "qos-ok"},
469
+ {"id": 20,
470
+ "arguments": [{"type": "short", "name": "ticket"},
471
+ {"type": "shortstr", "name": "queue"},
472
+ {"type": "shortstr", "name": "consumer-tag"},
473
+ {"type": "bit", "name": "no-local"},
474
+ {"type": "bit", "name": "exclusive"},
475
+ {"type": "bit", "name": "nowait"}],
476
+ "name": "consume"},
477
+ {"id": 21,
478
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
479
+ "name": "consume-ok"},
480
+ {"id": 30,
481
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
482
+ {"type": "bit", "name": "nowait"}],
483
+ "name": "cancel"},
484
+ {"id": 31,
485
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
486
+ "name": "cancel-ok"},
487
+ {"content": true,
488
+ "id": 40,
489
+ "arguments": [{"type": "short", "name": "ticket"},
490
+ {"type": "shortstr", "name": "exchange"},
491
+ {"type": "shortstr", "name": "routing-key"},
492
+ {"type": "bit", "name": "mandatory"},
493
+ {"type": "bit", "name": "immediate"}],
494
+ "name": "publish"},
495
+ {"content": true,
496
+ "id": 50,
497
+ "arguments": [{"type": "short", "name": "reply-code"},
498
+ {"type": "shortstr", "name": "reply-text"},
499
+ {"type": "shortstr", "name": "exchange"},
500
+ {"type": "shortstr", "name": "routing-key"}],
501
+ "name": "return"},
502
+ {"content": true,
503
+ "id": 60,
504
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
505
+ {"type": "longlong", "name": "delivery-tag"},
506
+ {"type": "shortstr", "name": "exchange"},
507
+ {"type": "shortstr", "name": "queue"}],
508
+ "name": "deliver"}],
509
+ "name": "stream",
510
+ "properties": [{"type": "shortstr", "name": "content-type"},
511
+ {"type": "shortstr", "name": "content-encoding"},
512
+ {"type": "table", "name": "headers"},
513
+ {"type": "octet", "name": "priority"},
514
+ {"type": "timestamp", "name": "timestamp"}]
515
+ },
516
+ {
517
+ "id": 90,
518
+ "methods": [{"id": 10,
519
+ "arguments": [],
520
+ "name": "select"},
521
+ {"id": 11,
522
+ "arguments": [],
523
+ "name": "select-ok"},
524
+ {"id": 20,
525
+ "arguments": [],
526
+ "name": "commit"},
527
+ {"id": 21,
528
+ "arguments": [],
529
+ "name": "commit-ok"},
530
+ {"id": 30,
531
+ "arguments": [],
532
+ "name": "rollback"},
533
+ {"id": 31,
534
+ "arguments": [],
535
+ "name": "rollback-ok"}],
536
+ "name": "tx"
537
+ },
538
+ {
539
+ "id": 100,
540
+ "methods": [{"id": 10,
541
+ "arguments": [],
542
+ "name": "select"},
543
+ {"id": 11,
544
+ "arguments": [],
545
+ "name": "select-ok"},
546
+ {"id": 20,
547
+ "arguments": [{"type": "shortstr", "name": "dtx-identifier"}],
548
+ "name": "start"},
549
+ {"id": 21,
550
+ "arguments": [], "name": "start-ok"}],
551
+ "name": "dtx"
552
+ },
553
+ {
554
+ "id": 110,
555
+ "methods": [{"content": true,
556
+ "id": 10,
557
+ "arguments": [{"type": "table", "name": "meta-data"}],
558
+ "name": "request"}],
559
+ "name": "tunnel",
560
+ "properties": [{"type": "table", "name": "headers"},
561
+ {"type": "shortstr", "name": "proxy-name"},
562
+ {"type": "shortstr", "name": "data-name"},
563
+ {"type": "octet", "name": "durable"},
564
+ {"type": "octet", "name": "broadcast"}]
565
+ },
566
+ {
567
+ "id": 120,
568
+ "methods": [{"id": 10,
569
+ "arguments": [{"type": "octet", "name": "integer-1"},
570
+ {"type": "short", "name": "integer-2"},
571
+ {"type": "long", "name": "integer-3"},
572
+ {"type": "longlong", "name": "integer-4"},
573
+ {"type": "octet", "name": "operation"}],
574
+ "name": "integer"},
575
+ {"id": 11,
576
+ "arguments": [{"type": "longlong", "name": "result"}],
577
+ "name": "integer-ok"},
578
+ {"id": 20,
579
+ "arguments": [{"type": "shortstr", "name": "string-1"},
580
+ {"type": "longstr", "name": "string-2"},
581
+ {"type": "octet", "name": "operation"}],
582
+ "name": "string"},
583
+ {"id": 21,
584
+ "arguments": [{"type": "longstr", "name": "result"}],
585
+ "name": "string-ok"},
586
+ {"id": 30,
587
+ "arguments": [{"type": "table", "name": "table"},
588
+ {"type": "octet", "name": "integer-op"},
589
+ {"type": "octet", "name": "string-op"}],
590
+ "name": "table"},
591
+ {"id": 31,
592
+ "arguments": [{"type": "longlong", "name": "integer-result"},
593
+ {"type": "longstr", "name": "string-result"}],
594
+ "name": "table-ok"},
595
+ {"content": true,
596
+ "id": 40,
597
+ "arguments": [],
598
+ "name": "content"},
599
+ {"content": true,
600
+ "id": 41,
601
+ "arguments": [{"type": "long", "name": "content-checksum"}],
602
+ "name": "content-ok"}],
603
+ "name": "test"
604
+ }
605
+ ]
606
+ }