summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Garnock-Jones <tonyg@lshift.net>2009-05-13 13:46:54 +0100
committerTony Garnock-Jones <tonyg@lshift.net>2009-05-13 13:46:54 +0100
commit09e989c78a18badf0402bbb3253c59dc62690020 (patch)
tree21cfdc94cb151dd2115997e46fc1f7c7a385295d
parentf62760522ddf9af173d90e21a3c0c2ff914ab25b (diff)
parent86866fed3ccf9de69ee32d6bbc7cffb3a3cc7c3b (diff)
downloadrabbitmq-codegen-09e989c78a18badf0402bbb3253c59dc62690020.tar.gz
merge default into amqp_0_9_1
-rw-r--r--amqp-0.9.1.json388
-rw-r--r--amqp_codegen.py1
2 files changed, 389 insertions, 0 deletions
diff --git a/amqp-0.9.1.json b/amqp-0.9.1.json
new file mode 100644
index 0000000..7dbfe03
--- /dev/null
+++ b/amqp-0.9.1.json
@@ -0,0 +1,388 @@
+{
+ "name": "AMQP",
+ "major-version": 0,
+ "minor-version": 9,
+ "revision": 1,
+ "port": 5672,
+ "copyright": [
+ "Copyright (C) 2008-2009 LShift Ltd, Cohesive Financial Technologies LLC,\n",
+ "and Rabbit Technologies Ltd\n",
+ "\n",
+ "Permission is hereby granted, free of charge, to any person\n",
+ "obtaining a copy of this file (the \"Software\"), to deal in the\n",
+ "Software without restriction, including without limitation the \n",
+ "rights to use, copy, modify, merge, publish, distribute, \n",
+ "sublicense, and/or sell copies of the Software, and to permit \n",
+ "persons to whom the Software is furnished to do so, subject to \n",
+ "the following conditions:\n",
+ "\n",
+ "The above copyright notice and this permission notice shall be\n",
+ "included in all copies or substantial portions of the Software.\n",
+ "\n",
+ "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n",
+ "EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n",
+ "OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n",
+ "NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n",
+ "HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n",
+ "WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n",
+ "FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n",
+ "OTHER DEALINGS IN THE SOFTWARE.\n",
+ "\n",
+ "Class information entered from amqp_xml0-8.pdf and domain types from amqp-xml-doc0-9.pdf\n",
+ "Updated for 0-9-1 by Tony Garnock-Jones\n",
+ "\n",
+ "b3cb053f15e7b98808c0ccc67f23cb3e amqp_xml0-8.pdf\n",
+ "http://www.twiststandards.org/index.php?option=com_docman&task=cat_view&gid=28&&Itemid=90\n",
+ "8444db91e2949dbecfb2585e9eef6d64 amqp-xml-doc0-9.pdf\n",
+ "https://jira.amqp.org/confluence/download/attachments/720900/amqp-xml-doc0-9.pdf?version=1\n"],
+
+ "domains": [
+ ["bit", "bit"],
+ ["channel-id", "longstr"],
+ ["class-id", "short"],
+ ["consumer-tag", "shortstr"],
+ ["delivery-tag", "longlong"],
+ ["destination", "shortstr"],
+ ["duration", "longlong"],
+ ["exchange-name", "shortstr"],
+ ["long", "long"],
+ ["longlong", "longlong"],
+ ["longstr", "longstr"],
+ ["method-id", "short"],
+ ["no-ack", "bit"],
+ ["no-local", "bit"],
+ ["octet", "octet"],
+ ["offset", "longlong"],
+ ["path", "shortstr"],
+ ["peer-properties", "table"],
+ ["queue-name", "shortstr"],
+ ["redelivered", "bit"],
+ ["reference", "longstr"],
+ ["reject-code", "short"],
+ ["reject-text", "shortstr"],
+ ["reply-code", "short"],
+ ["reply-text", "shortstr"],
+ ["security-token", "longstr"],
+ ["short", "short"],
+ ["shortstr", "shortstr"],
+ ["table", "table"],
+ ["timestamp", "timestamp"]
+ ],
+
+ "constants": [
+ {"name": "FRAME-METHOD", "value": 1},
+ {"name": "FRAME-HEADER", "value": 2},
+ {"name": "FRAME-BODY", "value": 3},
+ {"name": "FRAME-HEARTBEAT", "value": 8},
+ {"name": "FRAME-MIN-SIZE", "value": 4096},
+ {"name": "FRAME-END", "value": 206},
+ {"name": "REPLY-SUCCESS", "value": 200},
+ {"name": "CONTENT-TOO-LARGE", "value": 311, "class": "soft-error"},
+ {"name": "NO-ROUTE", "value": 312, "class": "soft-error"},
+ {"name": "NO-CONSUMERS", "value": 313, "class": "soft-error"},
+ {"name": "ACCESS-REFUSED", "value": 403, "class": "soft-error"},
+ {"name": "NOT-FOUND", "value": 404, "class": "soft-error"},
+ {"name": "RESOURCE-LOCKED", "value": 405, "class": "soft-error"},
+ {"name": "PRECONDITION-FAILED", "value": 406, "class": "soft-error"},
+ {"name": "CONNECTION-FORCED", "value": 320, "class": "hard-error"},
+ {"name": "INVALID-PATH", "value": 402, "class": "hard-error"},
+ {"name": "FRAME-ERROR", "value": 501, "class": "hard-error"},
+ {"name": "SYNTAX-ERROR", "value": 502, "class": "hard-error"},
+ {"name": "COMMAND-INVALID", "value": 503, "class": "hard-error"},
+ {"name": "CHANNEL-ERROR", "value": 504, "class": "hard-error"},
+ {"name": "UNEXPECTED-FRAME", "value": 505, "class": "hard-error"},
+ {"name": "RESOURCE-ERROR", "value": 506, "class": "hard-error"},
+ {"name": "NOT-ALLOWED", "value": 530, "class": "hard-error"},
+ {"name": "NOT-IMPLEMENTED", "value": 540, "class": "hard-error"},
+ {"name": "INTERNAL-ERROR", "value": 541, "class": "hard-error"}
+ ],
+
+ "classes": [
+ {
+ "id": 10,
+ "methods": [{"id": 10,
+ "arguments": [{"type": "octet", "name": "version-major", "default-value": 0},
+ {"type": "octet", "name": "version-minor", "default-value": 8},
+ {"domain": "peer-properties", "name": "server properties"},
+ {"type": "longstr", "name": "mechanisms", "default-value": "PLAIN"},
+ {"type": "longstr", "name": "locales", "default-value": "en_US"}],
+ "name": "start"},
+ {"id": 11,
+ "arguments": [{"domain": "peer-properties", "name": "client-properties"},
+ {"type": "shortstr", "name": "mechanism", "default-value": "PLAIN"},
+ {"type": "longstr", "name": "response"},
+ {"type": "shortstr", "name": "locale", "default-value": "en_US"}],
+ "name": "start-ok"},
+ {"id": 20,
+ "arguments": [{"type": "longstr", "name": "challenge"}],
+ "name": "secure"},
+ {"id": 21,
+ "arguments": [{"type": "longstr", "name": "response"}],
+ "name": "secure-ok"},
+ {"id": 30,
+ "arguments": [{"type": "short", "name": "channel-max", "default-value": 0},
+ {"type": "long", "name": "frame-max", "default-value": 0},
+ {"type": "short", "name": "heartbeat", "default-value": 0}],
+ "name": "tune"},
+ {"id": 31,
+ "arguments": [{"type": "short", "name": "channel-max", "default-value": 0},
+ {"type": "long", "name": "frame-max", "default-value": 0},
+ {"type": "short", "name": "heartbeat", "default-value": 0}],
+ "name": "tune-ok"},
+ {"id": 40,
+ "arguments": [{"type": "shortstr", "name": "virtual-host", "default-value": "/"},
+ {"type": "shortstr", "name": "deprecated-capabilities", "default-value": ""},
+ {"type": "bit", "name": "deprecated-insist", "default-value": false}],
+ "name": "open"},
+ {"id": 41,
+ "arguments": [{"type": "shortstr", "name": "deprecated-known-hosts", "default-value": ""}],
+ "name": "open-ok"},
+ {"id": 50,
+ "arguments": [{"type": "short", "name": "reply-code"},
+ {"type": "shortstr", "name": "reply-text", "default-value": ""},
+ {"type": "short", "name": "class-id"},
+ {"type": "short", "name": "method-id"}],
+ "name": "close"},
+ {"id": 51,
+ "arguments": [],
+ "name": "close-ok"}],
+ "name": "connection",
+ "properties": []
+ },
+ {
+ "id": 20,
+ "methods": [{"id": 10,
+ "arguments": [{"type": "shortstr", "name": "deprecated-out-of-band", "default-value": ""}],
+ "name": "open"},
+ {"id": 11,
+ "arguments": [{"type": "longstr", "name": "deprecated-channel-id", "default-value": ""}],
+ "name": "open-ok"},
+ {"id": 20,
+ "arguments": [{"type": "bit", "name": "active"}],
+ "name": "flow"},
+ {"id": 21,
+ "arguments": [{"type": "bit", "name": "active"}],
+ "name": "flow-ok"},
+ {"id": 40,
+ "arguments": [{"type": "short", "name": "reply-code"},
+ {"type": "shortstr", "name": "reply-text", "default-value": ""},
+ {"type": "short", "name": "class-id"},
+ {"type": "short", "name": "method-id"}],
+ "name": "close"},
+ {"id": 41,
+ "arguments": [],
+ "name": "close-ok"}],
+ "name": "channel"
+ },
+ {
+ "id": 40,
+ "methods": [{"id": 10,
+ "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 1},
+ {"type": "shortstr", "name": "exchange"},
+ {"type": "shortstr", "name": "type", "default-value": "direct"},
+ {"type": "bit", "name": "passive", "default-value": false},
+ {"type": "bit", "name": "durable", "default-value": false},
+ {"type": "bit", "name": "deprecated-auto-delete", "default-value": false},
+ {"type": "bit", "name": "deprecated-internal", "default-value": false},
+ {"type": "bit", "name": "nowait", "default-value": false},
+ {"type": "table", "name": "arguments", "default-value": {}}],
+ "name": "declare"},
+ {"id": 11,
+ "arguments": [],
+ "name": "declare-ok"},
+ {"id": 20,
+ "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 1},
+ {"type": "shortstr", "name": "exchange"},
+ {"type": "bit", "name": "if-unused", "default-value": false},
+ {"type": "bit", "name": "nowait", "default-value": false}],
+ "name": "delete"},
+ {"id": 21,
+ "arguments": [],
+ "name": "delete-ok"}],
+ "name": "exchange"
+ },
+ {
+ "id": 50,
+ "methods": [{"id": 10,
+ "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 1},
+ {"type": "shortstr", "name": "queue", "default-value": ""},
+ {"type": "bit", "name": "passive", "default-value": false},
+ {"type": "bit", "name": "durable", "default-value": false},
+ {"type": "bit", "name": "exclusive", "default-value": false},
+ {"type": "bit", "name": "auto-delete", "default-value": false},
+ {"type": "bit", "name": "nowait", "default-value": false},
+ {"type": "table", "name": "arguments", "default-value": {}}],
+ "name": "declare"},
+ {"id": 11,
+ "arguments": [{"type": "shortstr", "name": "queue"},
+ {"type": "long", "name": "message-count"},
+ {"type": "long", "name": "consumer-count"}],
+ "name": "declare-ok"},
+ {"id": 20,
+ "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 1},
+ {"type": "shortstr", "name": "queue"},
+ {"type": "shortstr", "name": "exchange"},
+ {"type": "shortstr", "name": "routing-key"},
+ {"type": "bit", "name": "nowait", "default-value": false},
+ {"type": "table", "name": "arguments", "default-value": {}}],
+ "name": "bind"},
+ {"id": 21,
+ "arguments": [],
+ "name": "bind-ok"},
+ {"id": 30,
+ "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 1},
+ {"type": "shortstr", "name": "queue"},
+ {"type": "bit", "name": "nowait", "default-value": false}],
+ "name": "purge"},
+ {"id": 31,
+ "arguments": [{"type": "long", "name": "message-count"}],
+ "name": "purge-ok"},
+ {"id": 40,
+ "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 1},
+ {"type": "shortstr", "name": "queue"},
+ {"type": "bit", "name": "if-unused", "default-value": false},
+ {"type": "bit", "name": "if-empty", "default-value": false},
+ {"type": "bit", "name": "nowait", "default-value": false}],
+ "name": "delete"},
+ {"id": 41,
+ "arguments": [{"type": "long", "name": "message-count"}],
+ "name": "delete-ok"},
+ {"id": 50,
+ "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 1},
+ {"type": "shortstr", "name": "queue"},
+ {"type": "shortstr", "name": "exchange"},
+ {"type": "shortstr", "name": "routing-key"},
+ {"type": "table", "name": "arguments"}],
+ "name": "unbind"},
+ {"id": 51,
+ "arguments": [],
+ "name": "unbind-ok"}
+ ],
+ "name": "queue"
+ },
+ {
+ "id": 60,
+ "methods": [{"id": 10,
+ "arguments": [{"type": "long", "name": "prefetch-size", "default-value": 0},
+ {"type": "short", "name": "prefetch-count", "default-value": 0},
+ {"type": "bit", "name": "global", "default-value": false}],
+ "name": "qos"},
+ {"id": 11,
+ "arguments": [],
+ "name": "qos-ok"},
+ {"id": 20,
+ "arguments": [{"domain": "short", "name": "deprecated-ticket", "default-value": 1},
+ {"domain": "queue-name", "name": "queue"},
+ {"type": "shortstr", "name": "consumer-tag"},
+ {"type": "bit", "name": "no-local", "default-value": false},
+ {"type": "bit", "name": "no-ack", "default-value": false},
+ {"type": "bit", "name": "exclusive", "default-value": false},
+ {"type": "bit", "name": "nowait", "default-value": false},
+ {"type": "table", "name": "filter", "default-value": {}}],
+ "name": "consume"},
+ {"id": 21,
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
+ "name": "consume-ok"},
+ {"id": 30,
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
+ {"type": "bit", "name": "nowait", "default-value": false}],
+ "name": "cancel"},
+ {"id": 31,
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
+ "name": "cancel-ok"},
+ {"content": true,
+ "id": 40,
+ "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 1},
+ {"type": "shortstr", "name": "exchange", "default-value": ""},
+ {"type": "shortstr", "name": "routing-key"},
+ {"type": "bit", "name": "mandatory", "default-value": false},
+ {"type": "bit", "name": "immediate", "default-value": false}],
+ "name": "publish"},
+ {"content": true,
+ "id": 50,
+ "arguments": [{"type": "short", "name": "reply-code"},
+ {"type": "shortstr", "name": "reply-text", "default-value": ""},
+ {"type": "shortstr", "name": "exchange"},
+ {"type": "shortstr", "name": "routing-key"}],
+ "name": "return"},
+ {"content": true,
+ "id": 60,
+ "arguments": [{"type": "shortstr", "name": "consumer-tag"},
+ {"type": "longlong", "name": "delivery-tag"},
+ {"type": "bit", "name": "redelivered", "default-value": false},
+ {"type": "shortstr", "name": "exchange"},
+ {"type": "shortstr", "name": "routing-key"}],
+ "name": "deliver"},
+ {"id": 70,
+ "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 1},
+ {"type": "shortstr", "name": "queue"},
+ {"type": "bit", "name": "no-ack", "default-value": false}],
+ "name": "get"},
+ {"content": true,
+ "id": 71,
+ "arguments": [{"type": "longlong", "name": "delivery-tag"},
+ {"type": "bit", "name": "redelivered", "default-value": false},
+ {"type": "shortstr", "name": "exchange"},
+ {"type": "shortstr", "name": "routing-key"},
+ {"type": "long", "name": "message-count"}],
+ "name": "get-ok"},
+ {"id": 72,
+ "arguments": [{"type": "shortstr", "name": "deprecated-cluster-id", "default-value": ""}],
+ "name": "get-empty"},
+ {"id": 80,
+ "arguments": [{"type": "longlong", "name": "delivery-tag", "default-value": 0},
+ {"type": "bit", "name": "multiple", "default-value": true}],
+ "name": "ack"},
+ {"id": 90,
+ "arguments": [{"type": "longlong", "name": "delivery-tag"},
+ {"type": "bit", "name": "requeue", "default-value": true}],
+ "name": "reject"},
+ {"id": 100,
+ "arguments": [{"type": "bit", "name": "requeue", "default-value": false}],
+ "name": "recover-async"},
+ {"id": 110,
+ "arguments": [{"type": "bit", "name": "requeue", "default-value": false}],
+ "name": "recover"},
+ {"id": 111,
+ "arguments": [],
+ "name": "recover-ok"}],
+ "name": "basic",
+ "properties": [{"type": "shortstr", "name": "content-type"},
+ {"type": "shortstr", "name": "content-encoding"},
+ {"type": "table", "name": "headers"},
+ {"type": "octet", "name": "delivery-mode"},
+ {"type": "octet", "name": "priority"},
+ {"type": "shortstr", "name": "correlation-id"},
+ {"type": "shortstr", "name": "reply-to"},
+ {"type": "shortstr", "name": "expiration"},
+ {"type": "shortstr", "name": "message-id"},
+ {"type": "timestamp", "name": "timestamp"},
+ {"type": "shortstr", "name": "type"},
+ {"type": "shortstr", "name": "user-id"},
+ {"type": "shortstr", "name": "deprecated-app-id"},
+ {"type": "shortstr", "name": "cluster-id"}]
+ },
+ {
+ "id": 90,
+ "methods": [{"id": 10,
+ "arguments": [],
+ "name": "select"},
+ {"id": 11,
+ "arguments": [],
+ "name": "select-ok"},
+ {"id": 20,
+ "arguments": [],
+ "name": "commit"},
+ {"id": 21,
+ "arguments": [],
+ "name": "commit-ok"},
+ {"id": 30,
+ "arguments": [],
+ "name": "rollback"},
+ {"id": 31,
+ "arguments": [],
+ "name": "rollback-ok"}],
+ "name": "tx"
+ }
+ ]
+}
diff --git a/amqp_codegen.py b/amqp_codegen.py
index 06c772a..4ab7bdf 100644
--- a/amqp_codegen.py
+++ b/amqp_codegen.py
@@ -65,6 +65,7 @@ class AmqpSpec:
self.major = self.spec['major-version']
self.minor = self.spec['minor-version']
+ self.revision = self.spec.get('revision', 0)
self.port = self.spec['port']
self.domains = {}