amqp-0.9.1.json
author Matthew Sackman <matthew@lshift.net>
Thu Mar 18 16:34:15 2010 +0000 (2010-03-18)
branchamqp_0_9_1
changeset 76 fc46914f99b7
parent 75 330c44941d14
child 78 5c1cb4cd1b52
permissions -rw-r--r--
Missed a ticket default 1 => 0 fix
     1 {
     2     "name": "AMQP",
     3     "major-version": 0,
     4     "minor-version": 9,
     5     "revision": 1,
     6     "port": 5672,
     7     "copyright": [
     8         "Copyright (C) 2008-2009 LShift Ltd, Cohesive Financial Technologies LLC,\n",
     9         "and Rabbit Technologies Ltd\n",
    10         "\n",
    11         "Permission is hereby granted, free of charge, to any person\n",
    12         "obtaining a copy of this file (the \"Software\"), to deal in the\n",
    13         "Software without restriction, including without limitation the \n",
    14         "rights to use, copy, modify, merge, publish, distribute, \n",
    15         "sublicense, and/or sell copies of the Software, and to permit \n",
    16         "persons to whom the Software is furnished to do so, subject to \n",
    17         "the following conditions:\n",
    18 	"\n",
    19 	"The above copyright notice and this permission notice shall be\n",
    20         "included in all copies or substantial portions of the Software.\n",
    21 	"\n",
    22 	"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n",
    23         "EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n",
    24         "OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n",
    25         "NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n",
    26         "HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n",
    27         "WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n",
    28         "FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n",
    29         "OTHER DEALINGS IN THE SOFTWARE.\n",
    30 	"\n",
    31 	"Class information entered from amqp_xml0-8.pdf and domain types from amqp-xml-doc0-9.pdf\n",
    32 	"Updated for 0-9-1 by Tony Garnock-Jones\n",
    33 	"\n",
    34 	"b3cb053f15e7b98808c0ccc67f23cb3e  amqp_xml0-8.pdf\n",
    35         "http://www.twiststandards.org/index.php?option=com_docman&task=cat_view&gid=28&&Itemid=90\n",
    36         "8444db91e2949dbecfb2585e9eef6d64  amqp-xml-doc0-9.pdf\n",
    37         "https://jira.amqp.org/confluence/download/attachments/720900/amqp-xml-doc0-9.pdf?version=1\n"],
    38 
    39     "domains": [
    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 	["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-HEARTBEAT", "value": 8},
    77 	{"name": "FRAME-MIN-SIZE", "value": 4096},
    78 	{"name": "FRAME-END", "value": 206},
    79 	{"name": "REPLY-SUCCESS", "value": 200},
    80 	{"name": "CONTENT-TOO-LARGE", "value": 311, "class": "soft-error"},
    81 	{"name": "NO-ROUTE", "value": 312, "class": "soft-error"},
    82 	{"name": "NO-CONSUMERS", "value": 313, "class": "soft-error"},
    83 	{"name": "ACCESS-REFUSED", "value": 403, "class": "soft-error"},
    84 	{"name": "NOT-FOUND", "value": 404, "class": "soft-error"},
    85 	{"name": "RESOURCE-LOCKED", "value": 405, "class": "soft-error"},
    86 	{"name": "PRECONDITION-FAILED", "value": 406, "class": "soft-error"},
    87 	{"name": "CONNECTION-FORCED", "value": 320, "class": "hard-error"},
    88 	{"name": "INVALID-PATH", "value": 402, "class": "hard-error"},
    89 	{"name": "FRAME-ERROR", "value": 501, "class": "hard-error"},
    90 	{"name": "SYNTAX-ERROR", "value": 502, "class": "hard-error"},
    91 	{"name": "COMMAND-INVALID", "value": 503, "class": "hard-error"},
    92 	{"name": "CHANNEL-ERROR", "value": 504, "class": "hard-error"},
    93 	{"name": "UNEXPECTED-FRAME", "value": 505, "class": "hard-error"},
    94 	{"name": "RESOURCE-ERROR", "value": 506, "class": "hard-error"},
    95 	{"name": "NOT-ALLOWED", "value": 530, "class": "hard-error"},
    96 	{"name": "NOT-IMPLEMENTED", "value": 540, "class": "hard-error"},
    97 	{"name": "INTERNAL-ERROR", "value": 541, "class": "hard-error"}
    98     ],
    99 
   100     "classes": [
   101 	{
   102 	    "id": 10,
   103 	    "methods": [{"id": 10,
   104                          "arguments": [{"type": "octet", "name": "version-major", "default-value": 0},
   105 				       {"type": "octet", "name": "version-minor", "default-value": 9},
   106 				       {"domain": "peer-properties", "name": "server properties"},
   107 				       {"type": "longstr", "name": "mechanisms", "default-value": "PLAIN"},
   108 				       {"type": "longstr", "name": "locales", "default-value": "en_US"}],
   109 			 "name": "start",
   110 			 "synchronous" : "true"},
   111 			{"id": 11,
   112 			 "arguments": [{"domain": "peer-properties", "name": "client-properties"},
   113 				       {"type": "shortstr", "name": "mechanism", "default-value": "PLAIN"},
   114 				       {"type": "longstr", "name": "response"},
   115 				       {"type": "shortstr", "name": "locale", "default-value": "en_US"}],
   116 			 "name": "start-ok"},
   117 			{"id": 20,
   118 			 "arguments": [{"type": "longstr", "name": "challenge"}],
   119 			 "name": "secure",
   120 			 "synchronous" : "true"},
   121 			{"id": 21,
   122 			 "arguments": [{"type": "longstr", "name": "response"}],
   123 			 "name": "secure-ok"},
   124 			{"id": 30,
   125 			 "arguments": [{"type": "short", "name": "channel-max", "default-value": 0},
   126 				       {"type": "long", "name": "frame-max", "default-value": 0},
   127 				       {"type": "short", "name": "heartbeat", "default-value": 0}],
   128 			 "name": "tune",
   129 			 "synchronous" : "true"},
   130 			{"id": 31,
   131 			 "arguments": [{"type": "short", "name": "channel-max", "default-value": 0},
   132 				       {"type": "long", "name": "frame-max", "default-value": 0},
   133 				       {"type": "short", "name": "heartbeat", "default-value": 0}],
   134 			 "name": "tune-ok"},
   135 			{"id": 40,
   136 			 "arguments": [{"type": "shortstr", "name": "virtual-host", "default-value": "/"},
   137 				       {"type": "shortstr", "name": "deprecated-capabilities", "default-value": ""},
   138 				       {"type": "bit", "name": "deprecated-insist", "default-value": false}],
   139 			 "name": "open",
   140 			 "synchronous" : "true"},
   141 			{"id": 41,
   142 			 "arguments": [{"type": "shortstr", "name": "deprecated-known-hosts", "default-value": ""}],
   143 			 "name": "open-ok"},
   144 			{"id": 50,
   145 			 "arguments": [{"type": "short", "name": "reply-code"},
   146 				       {"type": "shortstr", "name": "reply-text", "default-value": ""},
   147 				       {"type": "short", "name": "class-id"},
   148 				       {"type": "short", "name": "method-id"}],
   149 			 "name": "close",
   150 			 "synchronous" : "true"},
   151 			{"id": 51,
   152 			 "arguments": [],
   153 			 "name": "close-ok"}],
   154 	    "name": "connection",
   155 	    "properties": []
   156 	},
   157 	{
   158 	    "id": 20,
   159 	    "methods": [{"id": 10,
   160 			 "arguments": [{"type": "shortstr", "name": "deprecated-out-of-band", "default-value": ""}],
   161 			 "name": "open",
   162 			 "synchronous" : "true"},
   163 			{"id": 11,
   164 			 "arguments": [{"type": "longstr", "name": "deprecated-channel-id", "default-value": ""}],
   165 			 "name": "open-ok"},
   166 			{"id": 20,
   167 			 "arguments": [{"type": "bit", "name": "active"}],
   168 			 "name": "flow",
   169 			 "synchronous" : "true"},
   170 			{"id": 21,
   171 			 "arguments": [{"type": "bit", "name": "active"}],
   172 			 "name": "flow-ok"},
   173 			{"id": 40,
   174 			 "arguments": [{"type": "short", "name": "reply-code"},
   175 				       {"type": "shortstr", "name": "reply-text", "default-value": ""},
   176 				       {"type": "short", "name": "class-id"},
   177 				       {"type": "short", "name": "method-id"}],
   178 			 "name": "close",
   179 			 "synchronous" : "true"},
   180 			{"id": 41,
   181 			 "arguments": [],
   182 			 "name": "close-ok"}],
   183 	    "name": "channel"
   184 	},
   185 	{
   186 	    "id": 40,
   187 	    "methods": [{"id": 10,
   188 			 "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 0},
   189 				       {"type": "shortstr", "name": "exchange"},
   190 				       {"type": "shortstr", "name": "type", "default-value": "direct"},
   191 				       {"type": "bit", "name": "passive", "default-value": false},
   192 				       {"type": "bit", "name": "durable", "default-value": false},
   193 				       {"type": "bit", "name": "deprecated-auto-delete", "default-value": false},
   194 				       {"type": "bit", "name": "deprecated-internal", "default-value": false},
   195 				       {"type": "bit", "name": "nowait", "default-value": false},
   196 				       {"type": "table", "name": "arguments", "default-value": {}}],
   197 			 "name": "declare",
   198 			 "synchronous" : "true"},
   199 			{"id": 11,
   200 			 "arguments": [],
   201 			 "name": "declare-ok"},
   202 			{"id": 20,
   203 			 "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 0},
   204 				       {"type": "shortstr", "name": "exchange"},
   205 				       {"type": "bit", "name": "if-unused", "default-value": false},
   206 				       {"type": "bit", "name": "nowait", "default-value": false}],
   207 			 "name": "delete",
   208 			 "synchronous" : "true"},
   209 			{"id": 21,
   210 			 "arguments": [],
   211 			 "name": "delete-ok"}],
   212 	    "name": "exchange"
   213 	},
   214 	{
   215 	    "id": 50,
   216 	    "methods": [{"id": 10,
   217 			 "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 0},
   218                            {"type": "shortstr", "name": "queue", "default-value": ""},
   219 				       {"type": "bit", "name": "passive", "default-value": false},
   220 				       {"type": "bit", "name": "durable", "default-value": false},
   221 				       {"type": "bit", "name": "exclusive", "default-value": false},
   222 				       {"type": "bit", "name": "auto-delete", "default-value": false},
   223 				       {"type": "bit", "name": "nowait", "default-value": false},
   224 				       {"type": "table", "name": "arguments", "default-value": {}}],
   225 			 "name": "declare",
   226 			 "synchronous" : "true"},
   227 			{"id": 11,
   228 			 "arguments": [{"type": "shortstr", "name": "queue"},
   229 				       {"type": "long", "name": "message-count"},
   230 				       {"type": "long", "name": "consumer-count"}],
   231 			 "name": "declare-ok"},
   232 			{"id": 20,
   233 			 "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 0},
   234 				       {"type": "shortstr", "name": "queue"},
   235 				       {"type": "shortstr", "name": "exchange"},
   236 				       {"type": "shortstr", "name": "routing-key", "default-value": ""},
   237 				       {"type": "bit", "name": "nowait", "default-value": false},
   238 				       {"type": "table", "name": "arguments", "default-value": {}}],
   239 			 "name": "bind",
   240 			 "synchronous" : "true"},
   241 			{"id": 21,
   242 			 "arguments": [],
   243 			 "name": "bind-ok"},
   244 			{"id": 30,
   245 			 "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 0},
   246 				       {"type": "shortstr", "name": "queue"},
   247 				       {"type": "bit", "name": "nowait", "default-value": false}],
   248 			 "name": "purge",
   249 			 "synchronous" : "true"},
   250 			{"id": 31,
   251 			 "arguments": [{"type": "long", "name": "message-count"}],
   252 			 "name": "purge-ok"},
   253 			{"id": 40,
   254 			 "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 0},
   255 				       {"type": "shortstr", "name": "queue"},
   256 				       {"type": "bit", "name": "if-unused", "default-value": false},
   257 				       {"type": "bit", "name": "if-empty", "default-value": false},
   258 				       {"type": "bit", "name": "nowait", "default-value": false}],
   259 			 "name": "delete",
   260 			 "synchronous" : "true"},
   261 			{"id": 41,
   262 			 "arguments": [{"type": "long", "name": "message-count"}],
   263 			 "name": "delete-ok"},
   264 			{"id": 50,
   265 			 "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 0},
   266 				       {"type": "shortstr", "name": "queue"},
   267 				       {"type": "shortstr", "name": "exchange"},
   268 				       {"type": "shortstr", "name": "routing-key", "default-value": ""},
   269 				       {"type": "table", "name": "arguments", "default-value": {}}],
   270 			 "name": "unbind",
   271 			 "synchronous" : "true"},
   272 			{"id": 51,
   273 			 "arguments": [],
   274 			 "name": "unbind-ok"}
   275 			],
   276 	    "name": "queue"
   277 	},
   278 	{
   279 	    "id": 60,
   280 	    "methods": [{"id": 10,
   281 			 "arguments": [{"type": "long", "name": "prefetch-size", "default-value": 0},
   282 				       {"type": "short", "name": "prefetch-count", "default-value": 0},
   283 				       {"type": "bit", "name": "global", "default-value": false}],
   284 			 "name": "qos",
   285 			 "synchronous" : "true"},
   286 			{"id": 11,
   287 			 "arguments": [],
   288 			 "name": "qos-ok"},
   289 			{"id": 20,
   290 			 "arguments": [{"domain": "short", "name": "deprecated-ticket", "default-value": 0},
   291 				       {"domain": "queue-name", "name": "queue"},
   292 				       {"type": "shortstr", "name": "consumer-tag", "default-value": ""},
   293 				       {"type": "bit", "name": "no-local", "default-value": false},
   294 				       {"type": "bit", "name": "no-ack", "default-value": false},
   295 				       {"type": "bit", "name": "exclusive", "default-value": false},
   296 				       {"type": "bit", "name": "nowait", "default-value": false},
   297 				       {"type": "table", "name": "filter", "default-value": {}}],
   298 			 "name": "consume",
   299 			 "synchronous" : "true"},
   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", "default-value": false}],
   306 			 "name": "cancel",
   307 			 "synchronous" : "true"},
   308 			{"id": 31,
   309 			 "arguments": [{"type": "shortstr", "name": "consumer-tag"}],
   310 			 "name": "cancel-ok"},
   311 			{"content": true,
   312 			 "id": 40,
   313 			 "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 0},
   314 				       {"type": "shortstr", "name": "exchange", "default-value": ""},
   315 				       {"type": "shortstr", "name": "routing-key", "default-value": ""},
   316 				       {"type": "bit", "name": "mandatory", "default-value": false},
   317 				       {"type": "bit", "name": "immediate", "default-value": false}],
   318 			 "name": "publish"},
   319 			{"content": true,
   320 			 "id": 50,
   321 			 "arguments": [{"type": "short", "name": "reply-code"},
   322 				       {"type": "shortstr", "name": "reply-text", "default-value": ""},
   323 				       {"type": "shortstr", "name": "exchange"},
   324 				       {"type": "shortstr", "name": "routing-key"}],
   325 			 "name": "return"},
   326 			{"content": true,
   327 			 "id": 60,
   328 			 "arguments": [{"type": "shortstr", "name": "consumer-tag"},
   329 				       {"type": "longlong", "name": "delivery-tag"},
   330 				       {"type": "bit", "name": "redelivered", "default-value": false},
   331 				       {"type": "shortstr", "name": "exchange"},
   332 				       {"type": "shortstr", "name": "routing-key"}],
   333 			 "name": "deliver"},
   334 			{"id": 70,
   335 			 "arguments": [{"type": "short", "name": "deprecated-ticket", "default-value": 0},
   336 				       {"type": "shortstr", "name": "queue"},
   337 				       {"type": "bit", "name": "no-ack", "default-value": false}],
   338 			 "name": "get",
   339 			 "synchronous" : "true"},
   340 			{"content": true,
   341 			 "id": 71,
   342 			 "arguments": [{"type": "longlong", "name": "delivery-tag"},
   343 				       {"type": "bit", "name": "redelivered", "default-value": false},
   344 				       {"type": "shortstr", "name": "exchange"},
   345 				       {"type": "shortstr", "name": "routing-key"},
   346 				       {"type": "long", "name": "message-count"}],
   347 			 "name": "get-ok"},
   348 			{"id": 72,
   349 			 "arguments": [{"type": "shortstr", "name": "deprecated-cluster-id", "default-value": ""}],
   350 			 "name": "get-empty"},
   351 			{"id": 80,
   352 			 "arguments": [{"type": "longlong", "name": "delivery-tag", "default-value": 0},
   353 				       {"type": "bit", "name": "multiple", "default-value": false}],
   354 			 "name": "ack"},
   355 			{"id": 90,
   356 			 "arguments": [{"type": "longlong", "name": "delivery-tag"},
   357 				       {"type": "bit", "name": "requeue", "default-value": true}],
   358 			 "name": "reject"},
   359 			{"id": 100,
   360 			 "arguments": [{"type": "bit", "name": "requeue", "default-value": false}],
   361 			 "name": "recover-async"},
   362 			{"id": 110,
   363 			 "arguments": [{"type": "bit", "name": "requeue", "default-value": false}],
   364 			 "name": "recover",
   365 			 "synchronous" : "true"},
   366 			{"id": 111,
   367 			 "arguments": [],
   368 			 "name": "recover-ok"}],
   369 	    "name": "basic",
   370 	    "properties": [{"type": "shortstr", "name": "content-type"},
   371 			   {"type": "shortstr", "name": "content-encoding"},
   372 			   {"type": "table", "name": "headers"},
   373 			   {"type": "octet", "name": "delivery-mode"},
   374 			   {"type": "octet", "name": "priority"},
   375 			   {"type": "shortstr", "name": "correlation-id"},
   376 			   {"type": "shortstr", "name": "reply-to"},
   377 			   {"type": "shortstr", "name": "expiration"},
   378 			   {"type": "shortstr", "name": "message-id"},
   379 			   {"type": "timestamp", "name": "timestamp"},
   380 			   {"type": "shortstr", "name": "type"},
   381 			   {"type": "shortstr", "name": "user-id"},
   382 			   {"type": "shortstr", "name": "app-id"},
   383 			   {"type": "shortstr", "name": "deprecated-cluster-id"}]
   384 	},
   385 	{
   386 	    "id": 90,
   387 	    "methods": [{"id": 10,
   388 			 "arguments": [],
   389 			 "name": "select",
   390 			 "synchronous" : "true"},
   391 			{"id": 11,
   392 			 "arguments": [],
   393 			 "name": "select-ok"},
   394 			{"id": 20,
   395 			 "arguments": [],
   396 			 "name": "commit",
   397 			 "synchronous" : "true"},
   398 			{"id": 21,
   399 			 "arguments": [],
   400 			 "name": "commit-ok"},
   401 			{"id": 30,
   402 			 "arguments": [],
   403 			 "name": "rollback",
   404 			 "synchronous" : "true"},
   405 			{"id": 31,
   406 			 "arguments": [],
   407 			 "name": "rollback-ok"}],
   408 	    "name": "tx"
   409 	}
   410     ]
   411 }