secure_carrot 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -13,6 +13,7 @@ begin
13
13
  s.summary = "A synchronous version of the ruby amqp client with added security features"
14
14
  s.authors = ["Sriram Varahan"]
15
15
  s.add_runtime_dependency 'encrypted_strings'
16
+ s.files = FileList["[A-Z]*", "{bin,generators,lib,test}/**/*"]
16
17
  end
17
18
  Jeweler::GemcutterTasks.new
18
19
  rescue LoadError
@@ -27,7 +28,7 @@ end
27
28
 
28
29
  Rake::RDocTask.new do |rdoc|
29
30
  rdoc.rdoc_dir = 'rdoc'
30
- rdoc.title = 'carrot'
31
+ rdoc.title = 'secure_carrot'
31
32
  rdoc.options << '--line-numbers' << '--inline-source'
32
33
  rdoc.rdoc_files.include('README*')
33
34
  rdoc.rdoc_files.include('lib/**/*.rb')
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- :patch: 1
2
+ :patch: 2
3
3
  :build:
4
4
  :major: 0
5
5
  :minor: 1
@@ -0,0 +1,92 @@
1
+ class Carrot
2
+ module AMQP
3
+ HEADER = "AMQP".freeze
4
+ VERSION_MAJOR = 8
5
+ VERSION_MINOR = 0
6
+ PORT = 5672
7
+ end
8
+ end
9
+
10
+ $:.unshift File.expand_path(File.dirname(File.expand_path(__FILE__)))
11
+ require 'amqp/spec'
12
+ require 'amqp/buffer'
13
+ require 'amqp/exchange'
14
+ require 'amqp/frame'
15
+ require 'amqp/header'
16
+ require 'amqp/queue'
17
+ require 'amqp/server'
18
+ require 'amqp/protocol'
19
+ require 'encrypted_strings'
20
+
21
+ class Carrot
22
+ @logging = false
23
+ class << self
24
+ attr_accessor :logging
25
+ end
26
+ def self.logging?
27
+ @logging
28
+ end
29
+ class Error < StandardError; end
30
+
31
+ def initialize(opts = {})
32
+ @opts = opts
33
+ end
34
+
35
+ def queue(name, opts = {})
36
+ queues[name] ||= AMQP::Queue.new(self, name, opts)
37
+ end
38
+
39
+ def server
40
+ @server ||= AMQP::Server.new(@opts)
41
+ end
42
+
43
+ def stop
44
+ server.close
45
+ @server = nil
46
+ end
47
+ alias :reset :stop
48
+
49
+ def queues
50
+ @queues ||= {}
51
+ end
52
+
53
+ def direct(name = 'amq.direct', opts = {})
54
+ exchanges[name] ||= AMQP::Exchange.new(self, :direct, name, opts)
55
+ end
56
+
57
+ def topic(name = 'amq.topic', opts = {})
58
+ exchanges[name] ||= AMQP::Exchange.new(self, :topic, name, opts)
59
+ end
60
+
61
+ def headers(name = 'amq.match', opts = {})
62
+ exchanges[name] ||= AMQP::Exchange.new(self, :headers, name, opts)
63
+ end
64
+
65
+ def exchanges
66
+ @exchanges ||= {}
67
+ end
68
+
69
+ private
70
+
71
+ def log(*args)
72
+ return unless Carrot.logging?
73
+ pp args
74
+ puts
75
+ end
76
+ end
77
+
78
+ #-- convenience wrapper (read: HACK) for thread-local Carrot object
79
+
80
+ class Carrot
81
+ def Carrot.default
82
+ #-- XXX clear this when connection is closed
83
+ Thread.current[:carrot] ||= Carrot.new
84
+ end
85
+
86
+ # Allows for calls to all Carrot instance methods. This implicitly calls
87
+ # Carrot.new so that a new channel is allocated for subsequent operations.
88
+ def Carrot.method_missing(meth, *args, &blk)
89
+ Carrot.default.__send__(meth, *args, &blk)
90
+ end
91
+
92
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: secure_carrot
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Sriram Varahan
@@ -42,7 +42,6 @@ extra_rdoc_files:
42
42
  - LICENSE
43
43
  - README.markdown
44
44
  files:
45
- - .gitignore
46
45
  - LICENSE
47
46
  - README.markdown
48
47
  - Rakefile
@@ -56,10 +55,7 @@ files:
56
55
  - lib/amqp/server.rb
57
56
  - lib/amqp/spec.rb
58
57
  - lib/examples/simple_pop.rb
59
- - protocol/amqp-0.8.json
60
- - protocol/amqp-0.8.xml
61
- - protocol/codegen.rb
62
- - protocol/doc.txt
58
+ - lib/secure_carrot.rb
63
59
  - test/carrot_test.rb
64
60
  - test/test_helper.rb
65
61
  has_rdoc: true
data/.gitignore DELETED
@@ -1,4 +0,0 @@
1
- *.sw?
2
- .DS_Store
3
- coverage
4
- .idea/*
@@ -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
- }