bunny 0.6.3.rc2 → 0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. data/.gitignore +8 -0
  2. data/.rspec +3 -0
  3. data/.travis.yml +15 -0
  4. data/.yardopts +9 -0
  5. data/CHANGELOG +3 -0
  6. data/Gemfile +39 -0
  7. data/Gemfile.lock +34 -0
  8. data/LICENSE +5 -4
  9. data/README.textile +54 -0
  10. data/Rakefile +15 -13
  11. data/bunny.gemspec +42 -61
  12. data/examples/simple_08.rb +4 -2
  13. data/examples/simple_09.rb +4 -2
  14. data/examples/simple_ack_08.rb +3 -1
  15. data/examples/simple_ack_09.rb +3 -1
  16. data/examples/simple_consumer_08.rb +4 -2
  17. data/examples/simple_consumer_09.rb +4 -2
  18. data/examples/simple_fanout_08.rb +3 -1
  19. data/examples/simple_fanout_09.rb +3 -1
  20. data/examples/simple_headers_08.rb +5 -3
  21. data/examples/simple_headers_09.rb +5 -3
  22. data/examples/simple_publisher_08.rb +3 -1
  23. data/examples/simple_publisher_09.rb +3 -1
  24. data/examples/simple_topic_08.rb +5 -3
  25. data/examples/simple_topic_09.rb +5 -3
  26. data/ext/amqp-0.8.json +616 -0
  27. data/ext/amqp-0.9.1.json +388 -0
  28. data/ext/config.yml +4 -0
  29. data/ext/qparser.rb +463 -0
  30. data/lib/bunny.rb +88 -66
  31. data/lib/bunny/channel08.rb +38 -38
  32. data/lib/bunny/channel09.rb +37 -37
  33. data/lib/bunny/client08.rb +184 -206
  34. data/lib/bunny/client09.rb +277 -363
  35. data/lib/bunny/consumer.rb +35 -0
  36. data/lib/bunny/exchange08.rb +37 -41
  37. data/lib/bunny/exchange09.rb +106 -124
  38. data/lib/bunny/queue08.rb +216 -202
  39. data/lib/bunny/queue09.rb +256 -326
  40. data/lib/bunny/subscription08.rb +30 -29
  41. data/lib/bunny/subscription09.rb +84 -83
  42. data/lib/bunny/version.rb +5 -0
  43. data/lib/qrack/amq-client-url.rb +165 -0
  44. data/lib/qrack/channel.rb +19 -17
  45. data/lib/qrack/client.rb +152 -151
  46. data/lib/qrack/errors.rb +5 -0
  47. data/lib/qrack/protocol/protocol08.rb +132 -130
  48. data/lib/qrack/protocol/protocol09.rb +133 -131
  49. data/lib/qrack/protocol/spec08.rb +2 -0
  50. data/lib/qrack/protocol/spec09.rb +2 -0
  51. data/lib/qrack/qrack08.rb +7 -10
  52. data/lib/qrack/qrack09.rb +7 -10
  53. data/lib/qrack/queue.rb +27 -40
  54. data/lib/qrack/subscription.rb +102 -101
  55. data/lib/qrack/transport/buffer08.rb +266 -264
  56. data/lib/qrack/transport/buffer09.rb +268 -264
  57. data/lib/qrack/transport/frame08.rb +13 -11
  58. data/lib/qrack/transport/frame09.rb +9 -7
  59. data/spec/spec_08/bunny_spec.rb +48 -45
  60. data/spec/spec_08/connection_spec.rb +10 -7
  61. data/spec/spec_08/exchange_spec.rb +145 -143
  62. data/spec/spec_08/queue_spec.rb +161 -161
  63. data/spec/spec_09/bunny_spec.rb +46 -44
  64. data/spec/spec_09/connection_spec.rb +15 -8
  65. data/spec/spec_09/exchange_spec.rb +147 -145
  66. data/spec/spec_09/queue_spec.rb +182 -184
  67. metadata +60 -41
  68. data/README.rdoc +0 -66
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  # simple_fanout_08.rb
2
4
 
3
5
  # Assumes that target message broker/server has a user called 'guest' with a password 'guest'
@@ -36,4 +38,4 @@ msg = q2.pop[:payload]
36
38
  puts 'This is the message from q2: ' + msg + "\n\n"
37
39
 
38
40
  # close the client connection
39
- b.stop
41
+ b.stop
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  # simple_fanout_09.rb
2
4
 
3
5
  # Assumes that target message broker/server has a user called 'guest' with a password 'guest'
@@ -36,4 +38,4 @@ msg = q2.pop[:payload]
36
38
  puts 'This is the message from q2: ' + msg + "\n\n"
37
39
 
38
40
  # close the client connection
39
- b.stop
41
+ b.stop
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  # simple_headers_08.rb
2
4
 
3
5
  # Assumes that target message broker/server has a user called 'guest' with a password 'guest'
@@ -32,9 +34,9 @@ header_exch.publish('Headers test msg 2', :headers => {'h1'=>'z'})
32
34
  # get messages from the queue - should only be msg 1 that got through
33
35
  msg = ""
34
36
  until msg == :queue_empty do
35
- msg = q.pop[:payload]
36
- puts 'This is a message from the header_q1 queue: ' + msg + "\n" unless msg == :queue_empty
37
+ msg = q.pop[:payload]
38
+ puts 'This is a message from the header_q1 queue: ' + msg + "\n" unless msg == :queue_empty
37
39
  end
38
40
 
39
41
  # close the client connection
40
- b.stop
42
+ b.stop
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  # simple_headers_09.rb
2
4
 
3
5
  # Assumes that target message broker/server has a user called 'guest' with a password 'guest'
@@ -32,9 +34,9 @@ header_exch.publish('Headers test msg 2', :headers => {'h1'=>'z'})
32
34
  # get messages from the queue - should only be msg 1 that got through
33
35
  msg = ""
34
36
  until msg == :queue_empty do
35
- msg = q.pop[:payload]
36
- puts 'This is a message from the header_q1 queue: ' + msg + "\n" unless msg == :queue_empty
37
+ msg = q.pop[:payload]
38
+ puts 'This is a message from the header_q1 queue: ' + msg + "\n" unless msg == :queue_empty
37
39
  end
38
40
 
39
41
  # close the client connection
40
- b.stop
42
+ b.stop
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  # simple_publisher_08.rb
2
4
 
3
5
  # N.B. To be used in conjunction with simple_consumer_08.rb. See simple_consumer.rb for explanation.
@@ -24,4 +26,4 @@ exch = b.exchange('sorting_room')
24
26
  exch.publish('This is a message from the publisher', :key => 'fred')
25
27
 
26
28
  # message should now be picked up by the consumer so we can stop
27
- b.stop
29
+ b.stop
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  # simple_publisher.rb
2
4
 
3
5
  # N.B. To be used in conjunction with simple_consumer.rb. See simple_consumer.rb for explanation.
@@ -24,4 +26,4 @@ exch = b.exchange('sorting_room')
24
26
  exch.publish('This is a message from the publisher', :key => 'fred')
25
27
 
26
28
  # message should now be picked up by the consumer so we can stop
27
- b.stop
29
+ b.stop
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  # simple_topic_08.rb
2
4
 
3
5
  # Assumes that target message broker/server has a user called 'guest' with a password 'guest'
@@ -51,9 +53,9 @@ puts 'This is a message from the rugby q: ' + msg + "\n\n"
51
53
 
52
54
  # allsport queue got all of the messages
53
55
  until msg == :queue_empty do
54
- msg = allsport.pop[:payload]
55
- puts 'This is a message from the allsport q: ' + msg + "\n\n" unless msg == :queue_empty
56
+ msg = allsport.pop[:payload]
57
+ puts 'This is a message from the allsport q: ' + msg + "\n\n" unless msg == :queue_empty
56
58
  end
57
59
 
58
60
  # close the client connection
59
- b.stop
61
+ b.stop
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  # simple_topic_09.rb
2
4
 
3
5
  # Assumes that target message broker/server has a user called 'guest' with a password 'guest'
@@ -51,9 +53,9 @@ puts 'This is a message from the rugby q: ' + msg + "\n\n"
51
53
 
52
54
  # allsport queue got all of the messages
53
55
  until msg == :queue_empty do
54
- msg = allsport.pop[:payload]
55
- puts 'This is a message from the allsport q: ' + msg + "\n\n" unless msg == :queue_empty
56
+ msg = allsport.pop[:payload]
57
+ puts 'This is a message from the allsport q: ' + msg + "\n\n" unless msg == :queue_empty
56
58
  end
57
59
 
58
60
  # close the client connection
59
- b.stop
61
+ b.stop
@@ -0,0 +1,616 @@
1
+ {
2
+ "name": "AMQP",
3
+ "major-version": 8,
4
+ "minor-version": 0,
5
+ "port": 5672,
6
+ "copyright": [
7
+ "Copyright (C) 2008-2009 LShift Ltd, Cohesive Financial Technologies LLC,\n",
8
+ "and Rabbit Technologies Ltd\n",
9
+ "\n",
10
+ "Permission is hereby granted, free of charge, to any person\n",
11
+ "obtaining a copy of this file (the \"Software\"), to deal in the\n",
12
+ "Software without restriction, including without limitation the \n",
13
+ "rights to use, copy, modify, merge, publish, distribute, \n",
14
+ "sublicense, and/or sell copies of the Software, and to permit \n",
15
+ "persons to whom the Software is furnished to do so, subject to \n",
16
+ "the following conditions:\n",
17
+ "\n",
18
+ "The above copyright notice and this permission notice shall be\n",
19
+ "included in all copies or substantial portions of the Software.\n",
20
+ "\n",
21
+ "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n",
22
+ "EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n",
23
+ "OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n",
24
+ "NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n",
25
+ "HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n",
26
+ "WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n",
27
+ "FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n",
28
+ "OTHER DEALINGS IN THE SOFTWARE.\n",
29
+ "\n",
30
+ "Class information entered from amqp_xml0-8.pdf and domain types from amqp-xml-doc0-9.pdf\n",
31
+ "\n",
32
+ "b3cb053f15e7b98808c0ccc67f23cb3e amqp_xml0-8.pdf\n",
33
+ "http://www.twiststandards.org/index.php?option=com_docman&task=cat_view&gid=28&&Itemid=90\n",
34
+ "8444db91e2949dbecfb2585e9eef6d64 amqp-xml-doc0-9.pdf\n",
35
+ "https://jira.amqp.org/confluence/download/attachments/720900/amqp-xml-doc0-9.pdf?version=1\n"],
36
+
37
+ "domains": [
38
+ ["access-ticket", "short"],
39
+ ["bit", "bit"],
40
+ ["channel-id", "longstr"],
41
+ ["class-id", "short"],
42
+ ["consumer-tag", "shortstr"],
43
+ ["delivery-tag", "longlong"],
44
+ ["destination", "shortstr"],
45
+ ["duration", "longlong"],
46
+ ["exchange-name", "shortstr"],
47
+ ["known-hosts", "shortstr"],
48
+ ["long", "long"],
49
+ ["longlong", "longlong"],
50
+ ["longstr", "longstr"],
51
+ ["method-id", "short"],
52
+ ["no-ack", "bit"],
53
+ ["no-local", "bit"],
54
+ ["octet", "octet"],
55
+ ["offset", "longlong"],
56
+ ["path", "shortstr"],
57
+ ["peer-properties", "table"],
58
+ ["queue-name", "shortstr"],
59
+ ["redelivered", "bit"],
60
+ ["reference", "longstr"],
61
+ ["reject-code", "short"],
62
+ ["reject-text", "shortstr"],
63
+ ["reply-code", "short"],
64
+ ["reply-text", "shortstr"],
65
+ ["security-token", "longstr"],
66
+ ["short", "short"],
67
+ ["shortstr", "shortstr"],
68
+ ["table", "table"],
69
+ ["timestamp", "timestamp"]
70
+ ],
71
+
72
+ "constants": [
73
+ {"name": "FRAME-METHOD", "value": 1},
74
+ {"name": "FRAME-HEADER", "value": 2},
75
+ {"name": "FRAME-BODY", "value": 3},
76
+ {"name": "FRAME-OOB-METHOD", "value": 4},
77
+ {"name": "FRAME-OOB-HEADER", "value": 5},
78
+ {"name": "FRAME-OOB-BODY", "value": 6},
79
+ {"name": "FRAME-TRACE", "value": 7},
80
+ {"name": "FRAME-HEARTBEAT", "value": 8},
81
+ {"name": "FRAME-MIN-SIZE", "value": 4096},
82
+ {"name": "FRAME-END", "value": 206},
83
+ {"name": "REPLY-SUCCESS", "value": 200},
84
+ {"name": "NOT-DELIVERED", "value": 310, "class": "soft-error"},
85
+ {"name": "CONTENT-TOO-LARGE", "value": 311, "class": "soft-error"},
86
+ {"name": "NO-ROUTE", "value": 312, "class": "soft-error"},
87
+ {"name": "NO-CONSUMERS", "value": 313, "class": "soft-error"},
88
+ {"name": "ACCESS-REFUSED", "value": 403, "class": "soft-error"},
89
+ {"name": "NOT-FOUND", "value": 404, "class": "soft-error"},
90
+ {"name": "RESOURCE-LOCKED", "value": 405, "class": "soft-error"},
91
+ {"name": "PRECONDITION-FAILED", "value": 406, "class": "soft-error"},
92
+ {"name": "CONNECTION-FORCED", "value": 320, "class": "hard-error"},
93
+ {"name": "INVALID-PATH", "value": 402, "class": "hard-error"},
94
+ {"name": "FRAME-ERROR", "value": 501, "class": "hard-error"},
95
+ {"name": "SYNTAX-ERROR", "value": 502, "class": "hard-error"},
96
+ {"name": "COMMAND-INVALID", "value": 503, "class": "hard-error"},
97
+ {"name": "CHANNEL-ERROR", "value": 504, "class": "hard-error"},
98
+ {"name": "RESOURCE-ERROR", "value": 506, "class": "hard-error"},
99
+ {"name": "NOT-ALLOWED", "value": 530, "class": "hard-error"},
100
+ {"name": "NOT-IMPLEMENTED", "value": 540, "class": "hard-error"},
101
+ {"name": "INTERNAL-ERROR", "value": 541, "class": "hard-error"}
102
+ ],
103
+
104
+ "classes": [
105
+ {
106
+ "id": 10,
107
+ "methods": [{"id": 10,
108
+ "arguments": [{"type": "octet", "name": "version-major", "default-value": 0},
109
+ {"type": "octet", "name": "version-minor", "default-value": 8},
110
+ {"domain": "peer-properties", "name": "server properties"},
111
+ {"type": "longstr", "name": "mechanisms", "default-value": "PLAIN"},
112
+ {"type": "longstr", "name": "locales", "default-value": "en_US"}],
113
+ "name": "start"},
114
+ {"id": 11,
115
+ "arguments": [{"domain": "peer-properties", "name": "client-properties"},
116
+ {"type": "shortstr", "name": "mechanism", "default-value": "PLAIN"},
117
+ {"type": "longstr", "name": "response"},
118
+ {"type": "shortstr", "name": "locale", "default-value": "en_US"}],
119
+ "name": "start-ok"},
120
+ {"id": 20,
121
+ "arguments": [{"type": "longstr", "name": "challenge"}],
122
+ "name": "secure"},
123
+ {"id": 21,
124
+ "arguments": [{"type": "longstr", "name": "response"}],
125
+ "name": "secure-ok"},
126
+ {"id": 30,
127
+ "arguments": [{"type": "short", "name": "channel-max", "default-value": 0},
128
+ {"type": "long", "name": "frame-max", "default-value": 0},
129
+ {"type": "short", "name": "heartbeat", "default-value": 0}],
130
+ "name": "tune"},
131
+ {"id": 31,
132
+ "arguments": [{"type": "short", "name": "channel-max", "default-value": 0},
133
+ {"type": "long", "name": "frame-max", "default-value": 0},
134
+ {"type": "short", "name": "heartbeat", "default-value": 0}],
135
+ "name": "tune-ok"},
136
+ {"id": 40,
137
+ "arguments": [{"type": "shortstr", "name": "virtual-host", "default-value": "/"},
138
+ {"type": "shortstr", "name": "capabilities", "default-value": ""},
139
+ {"type": "bit", "name": "insist", "default-value": false}],
140
+ "name": "open"},
141
+ {"id": 41,
142
+ "arguments": [{"type": "shortstr", "name": "known-hosts", "default-value": ""}],
143
+ "name": "open-ok"},
144
+ {"id": 50,
145
+ "arguments": [{"type": "shortstr", "name": "host"},
146
+ {"type": "shortstr", "name": "known-hosts", "default-value": ""}],
147
+ "name": "redirect"},
148
+ {"id": 60,
149
+ "arguments": [{"type": "short", "name": "reply-code"},
150
+ {"type": "shortstr", "name": "reply-text", "default-value": ""},
151
+ {"type": "short", "name": "class-id"},
152
+ {"type": "short", "name": "method-id"}],
153
+ "name": "close"},
154
+ {"id": 61,
155
+ "arguments": [],
156
+ "name": "close-ok"}],
157
+ "name": "connection",
158
+ "properties": []
159
+ },
160
+ {
161
+ "id": 20,
162
+ "methods": [{"id": 10,
163
+ "arguments": [{"type": "shortstr", "name": "out-of-band", "default-value": ""}],
164
+ "name": "open"},
165
+ {"id": 11,
166
+ "arguments": [],
167
+ "name": "open-ok"},
168
+ {"id": 20,
169
+ "arguments": [{"type": "bit", "name": "active"}],
170
+ "name": "flow"},
171
+ {"id": 21,
172
+ "arguments": [{"type": "bit", "name": "active"}],
173
+ "name": "flow-ok"},
174
+ {"id": 30,
175
+ "arguments": [{"type": "short", "name": "reply-code"},
176
+ {"type": "shortstr", "name": "reply-text", "default-value": ""},
177
+ {"type": "table", "name": "details", "default-value": {}}],
178
+ "name": "alert"},
179
+ {"id": 40,
180
+ "arguments": [{"type": "short", "name": "reply-code"},
181
+ {"type": "shortstr", "name": "reply-text", "default-value": ""},
182
+ {"type": "short", "name": "class-id"},
183
+ {"type": "short", "name": "method-id"}],
184
+ "name": "close"},
185
+ {"id": 41,
186
+ "arguments": [],
187
+ "name": "close-ok"}],
188
+ "name": "channel"
189
+ },
190
+ {
191
+ "id": 30,
192
+ "methods": [{"id": 10,
193
+ "arguments": [{"type": "shortstr", "name": "realm", "default-value": "/data"},
194
+ {"type": "bit", "name": "exclusive", "default-value": false},
195
+ {"type": "bit", "name": "passive", "default-value": true},
196
+ {"type": "bit", "name": "active", "default-value": true},
197
+ {"type": "bit", "name": "write", "default-value": true},
198
+ {"type": "bit", "name": "read", "default-value": true}],
199
+ "name": "request"},
200
+ {"id": 11,
201
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1}],
202
+ "name": "request-ok"}],
203
+ "name": "access"
204
+ },
205
+ {
206
+ "id": 40,
207
+ "methods": [{"id": 10,
208
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
209
+ {"type": "shortstr", "name": "exchange"},
210
+ {"type": "shortstr", "name": "type", "default-value": "direct"},
211
+ {"type": "bit", "name": "passive", "default-value": false},
212
+ {"type": "bit", "name": "durable", "default-value": false},
213
+ {"type": "bit", "name": "auto-delete", "default-value": false},
214
+ {"type": "bit", "name": "internal", "default-value": false},
215
+ {"type": "bit", "name": "nowait", "default-value": false},
216
+ {"type": "table", "name": "arguments", "default-value": {}}],
217
+ "name": "declare"},
218
+ {"id": 11,
219
+ "arguments": [],
220
+ "name": "declare-ok"},
221
+ {"id": 20,
222
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
223
+ {"type": "shortstr", "name": "exchange"},
224
+ {"type": "bit", "name": "if-unused", "default-value": false},
225
+ {"type": "bit", "name": "nowait", "default-value": false}],
226
+ "name": "delete"},
227
+ {"id": 21,
228
+ "arguments": [],
229
+ "name": "delete-ok"}],
230
+ "name": "exchange"
231
+ },
232
+ {
233
+ "id": 50,
234
+ "methods": [{"id": 10,
235
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
236
+ {"type": "shortstr", "name": "queue", "default-value": ""},
237
+ {"type": "bit", "name": "passive", "default-value": false},
238
+ {"type": "bit", "name": "durable", "default-value": false},
239
+ {"type": "bit", "name": "exclusive", "default-value": false},
240
+ {"type": "bit", "name": "auto-delete", "default-value": false},
241
+ {"type": "bit", "name": "nowait", "default-value": false},
242
+ {"type": "table", "name": "arguments", "default-value": {}}],
243
+ "name": "declare"},
244
+ {"id": 11,
245
+ "arguments": [{"type": "shortstr", "name": "queue"},
246
+ {"type": "long", "name": "message-count"},
247
+ {"type": "long", "name": "consumer-count"}],
248
+ "name": "declare-ok"},
249
+ {"id": 20,
250
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
251
+ {"type": "shortstr", "name": "queue"},
252
+ {"type": "shortstr", "name": "exchange"},
253
+ {"type": "shortstr", "name": "routing-key"},
254
+ {"type": "bit", "name": "nowait", "default-value": false},
255
+ {"type": "table", "name": "arguments", "default-value": {}}],
256
+ "name": "bind"},
257
+ {"id": 21,
258
+ "arguments": [],
259
+ "name": "bind-ok"},
260
+ {"id": 30,
261
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
262
+ {"type": "shortstr", "name": "queue"},
263
+ {"type": "bit", "name": "nowait", "default-value": false}],
264
+ "name": "purge"},
265
+ {"id": 31,
266
+ "arguments": [{"type": "long", "name": "message-count"}],
267
+ "name": "purge-ok"},
268
+ {"id": 40,
269
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
270
+ {"type": "shortstr", "name": "queue"},
271
+ {"type": "bit", "name": "if-unused", "default-value": false},
272
+ {"type": "bit", "name": "if-empty", "default-value": false},
273
+ {"type": "bit", "name": "nowait", "default-value": false}],
274
+ "name": "delete"},
275
+ {"id": 41,
276
+ "arguments": [{"type": "long", "name": "message-count"}],
277
+ "name": "delete-ok"},
278
+ {"id": 50,
279
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
280
+ {"type": "shortstr", "name": "queue"},
281
+ {"type": "shortstr", "name": "exchange"},
282
+ {"type": "shortstr", "name": "routing-key"},
283
+ {"type": "table", "name": "arguments"}],
284
+ "name": "unbind"},
285
+ {"id": 51,
286
+ "arguments": [],
287
+ "name": "unbind-ok"}
288
+ ],
289
+ "name": "queue"
290
+ },
291
+ {
292
+ "id": 60,
293
+ "methods": [{"id": 10,
294
+ "arguments": [{"type": "long", "name": "prefetch-size", "default-value": 0},
295
+ {"type": "short", "name": "prefetch-count", "default-value": 0},
296
+ {"type": "bit", "name": "global", "default-value": false}],
297
+ "name": "qos"},
298
+ {"id": 11,
299
+ "arguments": [],
300
+ "name": "qos-ok"},
301
+ {"id": 20,
302
+ "arguments": [{"domain": "access-ticket", "name": "ticket", "default-value": 1},
303
+ {"domain": "queue-name", "name": "queue"},
304
+ {"type": "shortstr", "name": "consumer-tag"},
305
+ {"type": "bit", "name": "no-local", "default-value": false},
306
+ {"type": "bit", "name": "no-ack", "default-value": false},
307
+ {"type": "bit", "name": "exclusive", "default-value": false},
308
+ {"type": "bit", "name": "nowait", "default-value": false}],
309
+ "name": "consume"},
310
+ {"id": 21,
311
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
312
+ "name": "consume-ok"},
313
+ {"id": 30,
314
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
315
+ {"type": "bit", "name": "nowait", "default-value": false}],
316
+ "name": "cancel"},
317
+ {"id": 31,
318
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
319
+ "name": "cancel-ok"},
320
+ {"content": true,
321
+ "id": 40,
322
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
323
+ {"type": "shortstr", "name": "exchange", "default-value": ""},
324
+ {"type": "shortstr", "name": "routing-key"},
325
+ {"type": "bit", "name": "mandatory", "default-value": false},
326
+ {"type": "bit", "name": "immediate", "default-value": false}],
327
+ "name": "publish"},
328
+ {"content": true,
329
+ "id": 50,
330
+ "arguments": [{"type": "short", "name": "reply-code"},
331
+ {"type": "shortstr", "name": "reply-text", "default-value": ""},
332
+ {"type": "shortstr", "name": "exchange"},
333
+ {"type": "shortstr", "name": "routing-key"}],
334
+ "name": "return"},
335
+ {"content": true,
336
+ "id": 60,
337
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
338
+ {"type": "longlong", "name": "delivery-tag"},
339
+ {"type": "bit", "name": "redelivered", "default-value": false},
340
+ {"type": "shortstr", "name": "exchange"},
341
+ {"type": "shortstr", "name": "routing-key"}],
342
+ "name": "deliver"},
343
+ {"id": 70,
344
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
345
+ {"type": "shortstr", "name": "queue"},
346
+ {"type": "bit", "name": "no-ack", "default-value": false}],
347
+ "name": "get"},
348
+ {"content": true,
349
+ "id": 71,
350
+ "arguments": [{"type": "longlong", "name": "delivery-tag"},
351
+ {"type": "bit", "name": "redelivered", "default-value": false},
352
+ {"type": "shortstr", "name": "exchange"},
353
+ {"type": "shortstr", "name": "routing-key"},
354
+ {"type": "long", "name": "message-count"}],
355
+ "name": "get-ok"},
356
+ {"id": 72,
357
+ "arguments": [{"type": "shortstr", "name": "cluster-id", "default-value": ""}],
358
+ "name": "get-empty"},
359
+ {"id": 80,
360
+ "arguments": [{"type": "longlong", "name": "delivery-tag", "default-value": 0},
361
+ {"type": "bit", "name": "multiple", "default-value": true}],
362
+ "name": "ack"},
363
+ {"id": 90,
364
+ "arguments": [{"type": "longlong", "name": "delivery-tag"},
365
+ {"type": "bit", "name": "requeue", "default-value": true}],
366
+ "name": "reject"},
367
+ {"id": 100,
368
+ "arguments": [{"type": "bit", "name": "requeue", "default-value": false}],
369
+ "name": "recover"}],
370
+ "name": "basic",
371
+ "properties": [{"type": "shortstr", "name": "content-type"},
372
+ {"type": "shortstr", "name": "content-encoding"},
373
+ {"type": "table", "name": "headers"},
374
+ {"type": "octet", "name": "delivery-mode"},
375
+ {"type": "octet", "name": "priority"},
376
+ {"type": "shortstr", "name": "correlation-id"},
377
+ {"type": "shortstr", "name": "reply-to"},
378
+ {"type": "shortstr", "name": "expiration"},
379
+ {"type": "shortstr", "name": "message-id"},
380
+ {"type": "timestamp", "name": "timestamp"},
381
+ {"type": "shortstr", "name": "type"},
382
+ {"type": "shortstr", "name": "user-id"},
383
+ {"type": "shortstr", "name": "app-id"},
384
+ {"type": "shortstr", "name": "cluster-id"}]
385
+ },
386
+ {
387
+ "id": 70,
388
+ "methods": [{"id": 10,
389
+ "arguments": [{"type": "long", "name": "prefetch-size", "default-value": 0},
390
+ {"type": "short", "name": "prefetch-count", "default-value": 0},
391
+ {"type": "bit", "name": "global", "default-value": false}],
392
+ "name": "qos"},
393
+ {"id": 11,
394
+ "arguments": [],
395
+ "name": "qos-ok"},
396
+ {"id": 20,
397
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
398
+ {"type": "shortstr", "name": "queue"},
399
+ {"type": "shortstr", "name": "consumer-tag"},
400
+ {"type": "bit", "name": "no-local", "default-value": false},
401
+ {"type": "bit", "name": "no-ack", "default-value": false},
402
+ {"type": "bit", "name": "exclusive", "default-value": false},
403
+ {"type": "bit", "name": "nowait", "default-value": false}],
404
+ "name": "consume"},
405
+ {"id": 21,
406
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
407
+ "name": "consume-ok"},
408
+ {"id": 30,
409
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
410
+ {"type": "bit", "name": "nowait", "default-value": false}],
411
+ "name": "cancel"},
412
+ {"id": 31,
413
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
414
+ "name": "cancel-ok"},
415
+ {"id": 40,
416
+ "arguments": [{"type": "shortstr", "name": "identifier"},
417
+ {"type": "longlong", "name": "content-size"}],
418
+ "name": "open"},
419
+ {"id": 41,
420
+ "arguments": [{"type": "longlong", "name": "staged-size"}],
421
+ "name": "open-ok"},
422
+ {"content": true,
423
+ "id": 50,
424
+ "arguments": [],
425
+ "name": "stage"},
426
+ {"id": 60,
427
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
428
+ {"type": "shortstr", "name": "exchange", "default-value": ""},
429
+ {"type": "shortstr", "name": "routing-key"},
430
+ {"type": "bit", "name": "mandatory", "default-value": false},
431
+ {"type": "bit", "name": "immediate", "default-value": false},
432
+ {"type": "shortstr", "name": "identifier"}],
433
+ "name": "publish"},
434
+ {"content": true,
435
+ "id": 70,
436
+ "arguments": [{"type": "short", "name": "reply-code", "default-value": 200},
437
+ {"type": "shortstr", "name": "reply-text", "default-value": ""},
438
+ {"type": "shortstr", "name": "exchange"},
439
+ {"type": "shortstr", "name": "routing-key"}],
440
+ "name": "return"},
441
+ {"id": 80,
442
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
443
+ {"type": "longlong", "name": "delivery-tag"},
444
+ {"type": "bit", "name": "redelivered", "default-value": false},
445
+ {"type": "shortstr", "name": "exchange"},
446
+ {"type": "shortstr", "name": "routing-key"},
447
+ {"type": "shortstr", "name": "identifier"}],
448
+ "name": "deliver"},
449
+ {"id": 90,
450
+ "arguments": [{"type": "longlong", "name": "delivery-tag", "default-value": 0},
451
+ {"type": "bit", "name": "multiple", "default-value": true}],
452
+ "name": "ack"},
453
+ {"id": 100,
454
+ "arguments": [{"type": "longlong", "name": "delivery-tag"},
455
+ {"type": "bit", "name": "requeue", "default-value": true}],
456
+ "name": "reject"}],
457
+ "name": "file",
458
+ "properties": [{"type": "shortstr", "name": "content-type"},
459
+ {"type": "shortstr", "name": "content-encoding"},
460
+ {"type": "table", "name": "headers"},
461
+ {"type": "octet", "name": "priority"},
462
+ {"type": "shortstr", "name": "reply-to"},
463
+ {"type": "shortstr", "name": "message-id"},
464
+ {"type": "shortstr", "name": "filename"},
465
+ {"type": "timestamp", "name": "timestamp"},
466
+ {"type": "shortstr", "name": "cluster-id"}]
467
+ },
468
+ {
469
+ "id": 80,
470
+ "methods": [{"id": 10,
471
+ "arguments": [{"type": "long", "name": "prefetch-size", "default-value": 0},
472
+ {"type": "short", "name": "prefetch-count", "default-value": 0},
473
+ {"type": "long", "name": "consume-rate", "default-value": 0},
474
+ {"type": "bit", "name": "global", "default-value": false}],
475
+ "name": "qos"},
476
+ {"id": 11,
477
+ "arguments": [],
478
+ "name": "qos-ok"},
479
+ {"id": 20,
480
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
481
+ {"type": "shortstr", "name": "queue"},
482
+ {"type": "shortstr", "name": "consumer-tag", "default-value": ""},
483
+ {"type": "bit", "name": "no-local", "default-value": false},
484
+ {"type": "bit", "name": "exclusive", "default-value": false},
485
+ {"type": "bit", "name": "nowait", "default-value": false}],
486
+ "name": "consume"},
487
+ {"id": 21,
488
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
489
+ "name": "consume-ok"},
490
+ {"id": 30,
491
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
492
+ {"type": "bit", "name": "nowait", "default-value": false}],
493
+ "name": "cancel"},
494
+ {"id": 31,
495
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
496
+ "name": "cancel-ok"},
497
+ {"content": true,
498
+ "id": 40,
499
+ "arguments": [{"type": "short", "name": "ticket", "default-value": 1},
500
+ {"type": "shortstr", "name": "exchange", "default-value": ""},
501
+ {"type": "shortstr", "name": "routing-key"},
502
+ {"type": "bit", "name": "mandatory", "default-value": false},
503
+ {"type": "bit", "name": "immediate", "default-value": false}],
504
+ "name": "publish"},
505
+ {"content": true,
506
+ "id": 50,
507
+ "arguments": [{"type": "short", "name": "reply-code", "default-value": 200},
508
+ {"type": "shortstr", "name": "reply-text", "default-value": ""},
509
+ {"type": "shortstr", "name": "exchange"},
510
+ {"type": "shortstr", "name": "routing-key"}],
511
+ "name": "return"},
512
+ {"content": true,
513
+ "id": 60,
514
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
515
+ {"type": "longlong", "name": "delivery-tag"},
516
+ {"type": "shortstr", "name": "exchange"},
517
+ {"type": "shortstr", "name": "queue"}],
518
+ "name": "deliver"}],
519
+ "name": "stream",
520
+ "properties": [{"type": "shortstr", "name": "content-type"},
521
+ {"type": "shortstr", "name": "content-encoding"},
522
+ {"type": "table", "name": "headers"},
523
+ {"type": "octet", "name": "priority"},
524
+ {"type": "timestamp", "name": "timestamp"}]
525
+ },
526
+ {
527
+ "id": 90,
528
+ "methods": [{"id": 10,
529
+ "arguments": [],
530
+ "name": "select"},
531
+ {"id": 11,
532
+ "arguments": [],
533
+ "name": "select-ok"},
534
+ {"id": 20,
535
+ "arguments": [],
536
+ "name": "commit"},
537
+ {"id": 21,
538
+ "arguments": [],
539
+ "name": "commit-ok"},
540
+ {"id": 30,
541
+ "arguments": [],
542
+ "name": "rollback"},
543
+ {"id": 31,
544
+ "arguments": [],
545
+ "name": "rollback-ok"}],
546
+ "name": "tx"
547
+ },
548
+ {
549
+ "id": 100,
550
+ "methods": [{"id": 10,
551
+ "arguments": [],
552
+ "name": "select"},
553
+ {"id": 11,
554
+ "arguments": [],
555
+ "name": "select-ok"},
556
+ {"id": 20,
557
+ "arguments": [{"type": "shortstr", "name": "dtx-identifier"}],
558
+ "name": "start"},
559
+ {"id": 21,
560
+ "arguments": [], "name": "start-ok"}],
561
+ "name": "dtx"
562
+ },
563
+ {
564
+ "id": 110,
565
+ "methods": [{"content": true,
566
+ "id": 10,
567
+ "arguments": [{"type": "table", "name": "meta-data"}],
568
+ "name": "request"}],
569
+ "name": "tunnel",
570
+ "properties": [{"type": "table", "name": "headers"},
571
+ {"type": "shortstr", "name": "proxy-name"},
572
+ {"type": "shortstr", "name": "data-name"},
573
+ {"type": "octet", "name": "durable"},
574
+ {"type": "octet", "name": "broadcast"}]
575
+ },
576
+ {
577
+ "id": 120,
578
+ "methods": [{"id": 10,
579
+ "arguments": [{"type": "octet", "name": "integer-1"},
580
+ {"type": "short", "name": "integer-2"},
581
+ {"type": "long", "name": "integer-3"},
582
+ {"type": "longlong", "name": "integer-4"},
583
+ {"type": "octet", "name": "operation"}],
584
+ "name": "integer"},
585
+ {"id": 11,
586
+ "arguments": [{"type": "longlong", "name": "result"}],
587
+ "name": "integer-ok"},
588
+ {"id": 20,
589
+ "arguments": [{"type": "shortstr", "name": "string-1"},
590
+ {"type": "longstr", "name": "string-2"},
591
+ {"type": "octet", "name": "operation"}],
592
+ "name": "string"},
593
+ {"id": 21,
594
+ "arguments": [{"type": "longstr", "name": "result"}],
595
+ "name": "string-ok"},
596
+ {"id": 30,
597
+ "arguments": [{"type": "table", "name": "table"},
598
+ {"type": "octet", "name": "integer-op"},
599
+ {"type": "octet", "name": "string-op"}],
600
+ "name": "table"},
601
+ {"id": 31,
602
+ "arguments": [{"type": "longlong", "name": "integer-result"},
603
+ {"type": "longstr", "name": "string-result"}],
604
+ "name": "table-ok"},
605
+ {"content": true,
606
+ "id": 40,
607
+ "arguments": [],
608
+ "name": "content"},
609
+ {"content": true,
610
+ "id": 41,
611
+ "arguments": [{"type": "long", "name": "content-checksum"}],
612
+ "name": "content-ok"}],
613
+ "name": "test"
614
+ }
615
+ ]
616
+ }