summaryrefslogtreecommitdiff
path: root/qpid/specs/amqp0-9-qpid.stripped.xml
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/specs/amqp0-9-qpid.stripped.xml')
-rw-r--r--qpid/specs/amqp0-9-qpid.stripped.xml876
1 files changed, 876 insertions, 0 deletions
diff --git a/qpid/specs/amqp0-9-qpid.stripped.xml b/qpid/specs/amqp0-9-qpid.stripped.xml
new file mode 100644
index 0000000000..e0075870de
--- /dev/null
+++ b/qpid/specs/amqp0-9-qpid.stripped.xml
@@ -0,0 +1,876 @@
+<?xml version="1.0"?>
+
+<!--
+(c) Copyright JPMorgan Chase Bank & Co., Cisco Systems, Inc., Envoy
+Technologies Inc., iMatix Corporation, IONA\ufffd Technologies, Red
+Hat, Inc., TWIST Process Innovations, and 29West Inc. 2006.
+
+Copyright (c) 2009 AMQP Working Group.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<amqp major="0" minor="9" port="5672">
+ <constant name="frame-method" value="1"/>
+ <constant name="frame-header" value="2"/>
+ <constant name="frame-body" value="3"/>
+ <constant name="frame-oob-method" value="4"/>
+ <constant name="frame-oob-header" value="5"/>
+ <constant name="frame-oob-body" value="6"/>
+ <constant name="frame-trace" value="7"/>
+ <constant name="frame-heartbeat" value="8"/>
+ <constant name="frame-min-size" value="4096"/>
+ <constant name="frame-end" value="206"/>
+ <constant name="reply-success" value="200"/>
+ <constant name="not-delivered" value="310" class="soft-error"/>
+ <constant name="content-too-large" value="311" class="soft-error"/>
+ <constant name="no-route" value="312" class="soft-error"/>
+ <constant name="no-consumers" value="313" class="soft-error"/>
+ <constant name="connection-forced" value="320" class="hard-error"/>
+ <constant name="invalid-path" value="402" class="hard-error"/>
+ <constant name="access-refused" value="403" class="soft-error"/>
+ <constant name="not-found" value="404" class="soft-error"/>
+ <constant name="resource-locked" value="405" class="soft-error"/>
+ <constant name="precondition-failed" value="406" class="soft-error"/>
+ <constant name="frame-error" value="501" class="hard-error"/>
+ <constant name="syntax-error" value="502" class="hard-error"/>
+ <constant name="command-invalid" value="503" class="hard-error"/>
+ <constant name="channel-error" value="504" class="hard-error"/>
+ <constant name="resource-error" value="506" class="hard-error"/>
+ <constant name="not-allowed" value="530" class="hard-error"/>
+ <constant name="not-implemented" value="540" class="hard-error"/>
+ <constant name="internal-error" value="541" class="hard-error"/>
+ <domain name="access-ticket" type="short">
+ <assert check="ne" value="0"/>
+ </domain>
+ <domain name="class-id" type="short"/>
+ <domain name="consumer-tag" type="shortstr"/>
+ <domain name="delivery-tag" type="longlong"/>
+ <domain name="exchange-name" type="shortstr">
+ <assert check="length" value="127"/>
+ </domain>
+ <domain name="known-hosts" type="shortstr"/>
+ <domain name="method-id" type="short"/>
+ <domain name="no-ack" type="bit"/>
+ <domain name="no-local" type="bit"/>
+ <domain name="path" type="shortstr">
+ <assert check="notnull"/>
+ <assert check="syntax" rule="path"/>
+ <assert check="length" value="127"/>
+ </domain>
+ <domain name="peer-properties" type="table"/>
+ <domain name="queue-name" type="shortstr">
+ <assert check="length" value="127"/>
+ </domain>
+ <domain name="redelivered" type="bit"/>
+ <domain name="reply-code" type="short">
+ <assert check="notnull"/>
+ </domain>
+ <domain name="reply-text" type="shortstr">
+ <assert check="notnull"/>
+ </domain>
+ <domain name="channel-id" type="longstr"/>
+ <domain name="duration" type="longlong"/>
+ <domain name="offset" type="longlong"/>
+ <domain name="reference" type="longstr"/>
+ <domain name="destination" type="shortstr"/>
+ <domain name="reject-code" type="short"/>
+ <domain name="reject-text" type="shortstr"/>
+ <domain name="security-token" type="longstr"/>
+ <domain name="bit" type="bit"/>
+ <domain name="octet" type="octet"/>
+ <domain name="short" type="short"/>
+ <domain name="long" type="long"/>
+ <domain name="longlong" type="longlong"/>
+ <domain name="shortstr" type="shortstr"/>
+ <domain name="longstr" type="longstr"/>
+ <domain name="timestamp" type="timestamp"/>
+ <domain name="table" type="table"/>
+ <class name="connection" handler="connection" index="10">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <method name="start" synchronous="1" index="10">
+ <chassis name="client" implement="MUST"/>
+ <response name="start-ok"/>
+ <field name="version-major" domain="octet"/>
+ <field name="version-minor" domain="octet"/>
+ <field name="server-properties" domain="peer-properties"/>
+ <field name="mechanisms" domain="longstr">
+ <assert check="notnull"/>
+ </field>
+ <field name="locales" domain="longstr">
+ <assert check="notnull"/>
+ </field>
+ </method>
+ <method name="start-ok" synchronous="1" index="11">
+ <chassis name="server" implement="MUST"/>
+ <field name="client-properties" domain="peer-properties"/>
+ <field name="mechanism" domain="shortstr">
+ <assert check="notnull"/>
+ </field>
+ <field name="response" domain="longstr">
+ <assert check="notnull"/>
+ </field>
+ <field name="locale" domain="shortstr">
+ <assert check="notnull"/>
+ </field>
+ </method>
+ <method name="secure" synchronous="1" index="20">
+ <chassis name="client" implement="MUST"/>
+ <response name="secure-ok"/>
+ <field name="challenge" domain="longstr"/>
+ </method>
+ <method name="secure-ok" synchronous="1" index="21">
+ <chassis name="server" implement="MUST"/>
+ <field name="response" domain="longstr">
+ <assert check="notnull"/>
+ </field>
+ </method>
+ <method name="tune" synchronous="1" index="30">
+ <chassis name="client" implement="MUST"/>
+ <response name="tune-ok"/>
+ <field name="channel-max" domain="short"/>
+ <field name="frame-max" domain="long"/>
+ <field name="heartbeat" domain="short"/>
+ </method>
+ <method name="tune-ok" synchronous="1" index="31">
+ <chassis name="server" implement="MUST"/>
+ <field name="channel-max" domain="short">
+ <assert check="notnull"/>
+ <assert check="le" method="tune" field="channel-max"/>
+ </field>
+ <field name="frame-max" domain="long"/>
+ <field name="heartbeat" domain="short"/>
+ </method>
+ <method name="open" synchronous="1" index="40">
+ <chassis name="server" implement="MUST"/>
+ <response name="open-ok"/>
+ <response name="redirect"/>
+ <field name="virtual-host" domain="path">
+ <assert check="regexp" value="^[a-zA-Z0-9/-_]+$"/>
+ </field>
+ <field name="capabilities" domain="shortstr"/>
+ <field name="insist" domain="bit"/>
+ </method>
+ <method name="open-ok" synchronous="1" index="41">
+ <chassis name="client" implement="MUST"/>
+ <field name="known-hosts" domain="known-hosts"/>
+ </method>
+ <method name="redirect" synchronous="1" index="42">
+ <chassis name="client" implement="MUST"/>
+ <field name="host" domain="shortstr">
+ <assert check="notnull"/>
+ </field>
+ <field name="known-hosts" domain="known-hosts"/>
+ </method>
+ <method name="close" synchronous="1" index="50">
+ <chassis name="client" implement="MUST"/>
+ <chassis name="server" implement="MUST"/>
+ <response name="close-ok"/>
+ <field name="reply-code" domain="reply-code"/>
+ <field name="reply-text" domain="reply-text"/>
+ <field name="class-id" domain="class-id"/>
+ <field name="method-id" domain="method-id"/>
+ </method>
+ <method name="close-ok" synchronous="1" index="51">
+ <chassis name="client" implement="MUST"/>
+ <chassis name="server" implement="MUST"/>
+ </method>
+ </class>
+ <class name="channel" handler="channel" index="20">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <method name="open" synchronous="1" index="10">
+ <chassis name="server" implement="MUST"/>
+ <response name="open-ok"/>
+ <field name="out-of-band" domain="shortstr">
+ <assert check="null"/>
+ </field>
+ </method>
+ <method name="open-ok" synchronous="1" index="11">
+ <chassis name="client" implement="MUST"/>
+ <field name="channel-id" domain="channel-id"/>
+ </method>
+ <method name="flow" synchronous="1" index="20">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <response name="flow-ok"/>
+ <field name="active" domain="bit"/>
+ </method>
+ <method name="flow-ok" index="21">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <field name="active" domain="bit"/>
+ </method>
+ <method name="close" synchronous="1" index="40">
+ <chassis name="client" implement="MUST"/>
+ <chassis name="server" implement="MUST"/>
+ <response name="close-ok"/>
+ <field name="reply-code" domain="reply-code"/>
+ <field name="reply-text" domain="reply-text"/>
+ <field name="class-id" domain="class-id"/>
+ <field name="method-id" domain="method-id"/>
+ </method>
+ <method name="close-ok" synchronous="1" index="41">
+ <chassis name="client" implement="MUST"/>
+ <chassis name="server" implement="MUST"/>
+ </method>
+ <method name="resume" index="50">
+ <response name="ok"/>
+ <chassis name="server" implement="MAY"/>
+ <field name="channel-id" domain="channel-id"/>
+ </method>
+ <method name="ping" index="60">
+ <response name="ok"/>
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="pong" index="70">
+ <response name="ok"/>
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="ok" index="80">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ </method>
+ </class>
+ <class name="access" handler="connection" index="30">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <method name="request" synchronous="1" index="10">
+ <chassis name="server" implement="MUST"/>
+ <response name="request-ok"/>
+ <field name="realm" domain="shortstr"/>
+ <field name="exclusive" domain="bit"/>
+ <field name="passive" domain="bit"/>
+ <field name="active" domain="bit"/>
+ <field name="write" domain="bit"/>
+ <field name="read" domain="bit"/>
+ </method>
+ <method name="request-ok" synchronous="1" index="11">
+ <chassis name="client" implement="MUST"/>
+ <field name="ticket" domain="access-ticket"/>
+ </method>
+ </class>
+ <class name="exchange" handler="channel" index="40">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <method name="declare" synchronous="1" index="10">
+ <chassis name="server" implement="MUST"/>
+ <response name="declare-ok"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="exchange" domain="exchange-name">
+ <assert check="regexp" value="^[a-zA-Z0-9-_.:]+$"/>
+ </field>
+ <field name="type" domain="shortstr">
+ <assert check="regexp" value="^[a-zA-Z0-9-_.:]+$"/>
+ </field>
+ <field name="passive" domain="bit"/>
+ <field name="durable" domain="bit"/>
+ <field name="auto-delete" domain="bit"/>
+ <field name="internal" domain="bit"/>
+ <field name="nowait" domain="bit"/>
+ <field name="arguments" domain="table"/>
+ </method>
+ <method name="declare-ok" synchronous="1" index="11">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="delete" synchronous="1" index="20">
+ <chassis name="server" implement="MUST"/>
+ <response name="delete-ok"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="exchange" domain="exchange-name">
+ <assert check="notnull"/>
+ </field>
+ <field name="if-unused" domain="bit"/>
+ <field name="nowait" domain="bit"/>
+ </method>
+ <method name="delete-ok" synchronous="1" index="21">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <!-- Qpid specific addition -->
+ <method name="bound" synchronous="1" index="22">
+ <chassis name="server" implement="SHOULD"/>
+ <response name="bound-ok"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" type="shortstr"/>
+ <field name="queue" domain="queue name"/>
+ </method>
+ <method name="bound-ok" synchronous="1" index="23">
+ <field name="reply-code" domain="reply-code"/>
+ <field name="reply-text" domain="reply-text"/>
+ <chassis name="client" implement="SHOULD"/>
+ </method>
+ <!-- End Qpid specific addition -->
+ </class>
+ <class name="queue" handler="channel" index="50">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <method name="declare" synchronous="1" index="10">
+ <chassis name="server" implement="MUST"/>
+ <response name="declare-ok"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="queue" domain="queue-name">
+ <assert check="regexp" value="^[a-zA-Z0-9-_.:]*$"/>
+ </field>
+ <field name="passive" domain="bit"/>
+ <field name="durable" domain="bit"/>
+ <field name="exclusive" domain="bit"/>
+ <field name="auto-delete" domain="bit"/>
+ <field name="nowait" domain="bit"/>
+ <!-- Qpid diff - this field is known as filter in the original 0-9,
+ however since the name does not go on the wire, there is no
+ interop implication -->
+ <field name="arguments" domain="table"/>
+ </method>
+ <method name="declare-ok" synchronous="1" index="11">
+ <chassis name="client" implement="MUST"/>
+ <field name="queue" domain="queue-name">
+ <assert check="notnull"/>
+ </field>
+ <field name="message-count" domain="long"/>
+ <field name="consumer-count" domain="long"/>
+ </method>
+ <method name="bind" synchronous="1" index="20">
+ <chassis name="server" implement="MUST"/>
+ <response name="bind-ok"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="queue" domain="queue-name"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" domain="shortstr"/>
+ <field name="nowait" domain="bit"/>
+ <field name="arguments" domain="table"/>
+ </method>
+ <method name="bind-ok" synchronous="1" index="21">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="unbind" synchronous="1" index="50">
+ <chassis name="server" implement="MUST"/>
+ <response name="unbind-ok"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="queue" domain="queue-name"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" domain="shortstr"/>
+ <field name="arguments" domain="table"/>
+ </method>
+ <method name="unbind-ok" synchronous="1" index="51">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="purge" synchronous="1" index="30">
+ <chassis name="server" implement="MUST"/>
+ <response name="purge-ok"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="queue" domain="queue-name"/>
+ <field name="nowait" domain="bit"/>
+ </method>
+ <method name="purge-ok" synchronous="1" index="31">
+ <chassis name="client" implement="MUST"/>
+ <field name="message-count" domain="long"/>
+ </method>
+ <method name="delete" synchronous="1" index="40">
+ <chassis name="server" implement="MUST"/>
+ <response name="delete-ok"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="queue" domain="queue-name"/>
+ <field name="if-unused" domain="bit"/>
+ <field name="if-empty" domain="bit"/>
+ <field name="nowait" domain="bit"/>
+ </method>
+ <method name="delete-ok" synchronous="1" index="41">
+ <chassis name="client" implement="MUST"/>
+ <field name="message-count" domain="long"/>
+ </method>
+ </class>
+ <class name="basic" handler="channel" index="60">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MAY"/>
+ <field name="content-type" domain="shortstr"/>
+ <field name="content-encoding" domain="shortstr"/>
+ <field name="headers" domain="table"/>
+ <field name="delivery-mode" domain="octet"/>
+ <field name="priority" domain="octet"/>
+ <field name="correlation-id" domain="shortstr"/>
+ <field name="reply-to" domain="shortstr"/>
+ <field name="expiration" domain="shortstr"/>
+ <field name="message-id" domain="shortstr"/>
+ <field name="timestamp" domain="timestamp"/>
+ <field name="type" domain="shortstr"/>
+ <field name="user-id" domain="shortstr"/>
+ <field name="app-id" domain="shortstr"/>
+ <field name="cluster-id" domain="shortstr"/>
+ <method name="qos" synchronous="1" index="10">
+ <chassis name="server" implement="MUST"/>
+ <response name="qos-ok"/>
+ <field name="prefetch-size" domain="long"/>
+ <field name="prefetch-count" domain="short"/>
+ <field name="global" domain="bit"/>
+ </method>
+ <method name="qos-ok" synchronous="1" index="11">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="consume" synchronous="1" index="20">
+ <chassis name="server" implement="MUST"/>
+ <response name="consume-ok"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="queue" domain="queue-name"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ <field name="no-local" domain="no-local"/>
+ <field name="no-ack" domain="no-ack"/>
+ <field name="exclusive" domain="bit"/>
+ <field name="nowait" domain="bit"/>
+ <field name="arguments" domain="table"/>
+ </method>
+ <method name="consume-ok" synchronous="1" index="21">
+ <chassis name="client" implement="MUST"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ </method>
+ <method name="cancel" synchronous="1" index="30">
+ <chassis name="server" implement="MUST"/>
+ <response name="cancel-ok"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ <field name="nowait" domain="bit"/>
+ </method>
+ <method name="cancel-ok" synchronous="1" index="31">
+ <chassis name="client" implement="MUST"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ </method>
+ <method name="publish" content="1" index="40">
+ <chassis name="server" implement="MUST"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" domain="shortstr"/>
+ <field name="mandatory" domain="bit"/>
+ <field name="immediate" domain="bit"/>
+ </method>
+ <method name="return" content="1" index="50">
+ <chassis name="client" implement="MUST"/>
+ <field name="reply-code" domain="reply-code"/>
+ <field name="reply-text" domain="reply-text"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" domain="shortstr"/>
+ </method>
+ <method name="deliver" content="1" index="60">
+ <chassis name="client" implement="MUST"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ <field name="delivery-tag" domain="delivery-tag"/>
+ <field name="redelivered" domain="redelivered"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" domain="shortstr"/>
+ </method>
+ <method name="get" synchronous="1" index="70">
+ <response name="get-ok"/>
+ <response name="get-empty"/>
+ <chassis name="server" implement="MUST"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="queue" domain="queue-name"/>
+ <field name="no-ack" domain="no-ack"/>
+ </method>
+ <method name="get-ok" synchronous="1" content="1" index="71">
+ <chassis name="client" implement="MAY"/>
+ <field name="delivery-tag" domain="delivery-tag"/>
+ <field name="redelivered" domain="redelivered"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" domain="shortstr"/>
+ <field name="message-count" domain="long"/>
+ </method>
+ <method name="get-empty" synchronous="1" index="72">
+ <chassis name="client" implement="MAY"/>
+ <field name="cluster-id" domain="shortstr"/>
+ </method>
+ <method name="ack" index="80">
+ <chassis name="server" implement="MUST"/>
+ <field name="delivery-tag" domain="delivery-tag"/>
+ <field name="multiple" domain="bit"/>
+ </method>
+ <method name="reject" index="90">
+ <chassis name="server" implement="MUST"/>
+ <field name="delivery-tag" domain="delivery-tag"/>
+ <field name="requeue" domain="bit"/>
+ </method>
+ <method name="recover" index="100">
+ <chassis name="server" implement="MUST"/>
+ <field name="requeue" domain="bit"/>
+ </method>
+ <!-- Qpid specific addition -->
+ <method name="recover-sync" index="102">
+ <chassis name="server" implement="MUST"/>
+ <field name="requeue" type="bit"/>
+ <response name="recover-sync-ok"/>
+ </method>
+ <method name="recover-sync-ok" synchronous="1" index="101">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <!-- End Qpid specific addition -->
+ </class>
+ <class name="file" handler="channel" index="70">
+ <chassis name="server" implement="MAY"/>
+ <chassis name="client" implement="MAY"/>
+ <field name="content-type" domain="shortstr"/>
+ <field name="content-encoding" domain="shortstr"/>
+ <field name="headers" domain="table"/>
+ <field name="priority" domain="octet"/>
+ <field name="reply-to" domain="shortstr"/>
+ <field name="message-id" domain="shortstr"/>
+ <field name="filename" domain="shortstr"/>
+ <field name="timestamp" domain="timestamp"/>
+ <field name="cluster-id" domain="shortstr"/>
+ <method name="qos" synchronous="1" index="10">
+ <chassis name="server" implement="MUST"/>
+ <response name="qos-ok"/>
+ <field name="prefetch-size" domain="long"/>
+ <field name="prefetch-count" domain="short"/>
+ <field name="global" domain="bit"/>
+ </method>
+ <method name="qos-ok" synchronous="1" index="11">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="consume" synchronous="1" index="20">
+ <chassis name="server" implement="MUST"/>
+ <response name="consume-ok"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="queue" domain="queue-name"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ <field name="no-local" domain="no-local"/>
+ <field name="no-ack" domain="no-ack"/>
+ <field name="exclusive" domain="bit"/>
+ <field name="nowait" domain="bit"/>
+ <field name="filter" domain="table"/>
+ </method>
+ <method name="consume-ok" synchronous="1" index="21">
+ <chassis name="client" implement="MUST"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ </method>
+ <method name="cancel" synchronous="1" index="30">
+ <response name="cancel-ok"/>
+ <chassis name="server" implement="MUST"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ <field name="nowait" domain="bit"/>
+ </method>
+ <method name="cancel-ok" synchronous="1" index="31">
+ <chassis name="client" implement="MUST"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ </method>
+ <method name="open" synchronous="1" index="40">
+ <response name="open-ok"/>
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <field name="identifier" domain="shortstr"/>
+ <field name="content-size" domain="longlong"/>
+ </method>
+ <method name="open-ok" synchronous="1" index="41">
+ <response name="stage"/>
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <field name="staged-size" domain="longlong"/>
+ </method>
+ <method name="stage" content="1" index="50">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="publish" index="60">
+ <chassis name="server" implement="MUST"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" domain="shortstr"/>
+ <field name="mandatory" domain="bit"/>
+ <field name="immediate" domain="bit"/>
+ <field name="identifier" domain="shortstr"/>
+ </method>
+ <method name="return" content="1" index="70">
+ <chassis name="client" implement="MUST"/>
+ <field name="reply-code" domain="reply-code"/>
+ <field name="reply-text" domain="reply-text"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" domain="shortstr"/>
+ </method>
+ <method name="deliver" index="80">
+ <chassis name="client" implement="MUST"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ <field name="delivery-tag" domain="delivery-tag"/>
+ <field name="redelivered" domain="redelivered"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" domain="shortstr"/>
+ <field name="identifier" domain="shortstr"/>
+ </method>
+ <method name="ack" index="90">
+ <chassis name="server" implement="MUST"/>
+ <field name="delivery-tag" domain="delivery-tag"/>
+ <field name="multiple" domain="bit"/>
+ </method>
+ <method name="reject" index="100">
+ <chassis name="server" implement="MUST"/>
+ <field name="delivery-tag" domain="delivery-tag"/>
+ <field name="requeue" domain="bit"/>
+ </method>
+ </class>
+ <class name="stream" handler="channel" index="80">
+ <chassis name="server" implement="MAY"/>
+ <chassis name="client" implement="MAY"/>
+ <field name="content-type" domain="shortstr"/>
+ <field name="content-encoding" domain="shortstr"/>
+ <field name="headers" domain="table"/>
+ <field name="priority" domain="octet"/>
+ <field name="timestamp" domain="timestamp"/>
+ <method name="qos" synchronous="1" index="10">
+ <chassis name="server" implement="MUST"/>
+ <response name="qos-ok"/>
+ <field name="prefetch-size" domain="long"/>
+ <field name="prefetch-count" domain="short"/>
+ <field name="consume-rate" domain="long"/>
+ <field name="global" domain="bit"/>
+ </method>
+ <method name="qos-ok" synchronous="1" index="11">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="consume" synchronous="1" index="20">
+ <chassis name="server" implement="MUST"/>
+ <response name="consume-ok"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="queue" domain="queue-name"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ <field name="no-local" domain="no-local"/>
+ <field name="exclusive" domain="bit"/>
+ <field name="nowait" domain="bit"/>
+ <field name="filter" domain="table"/>
+ </method>
+ <method name="consume-ok" synchronous="1" index="21">
+ <chassis name="client" implement="MUST"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ </method>
+ <method name="cancel" synchronous="1" index="30">
+ <chassis name="server" implement="MUST"/>
+ <response name="cancel-ok"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ <field name="nowait" domain="bit"/>
+ </method>
+ <method name="cancel-ok" synchronous="1" index="31">
+ <chassis name="client" implement="MUST"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ </method>
+ <method name="publish" content="1" index="40">
+ <chassis name="server" implement="MUST"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" domain="shortstr"/>
+ <field name="mandatory" domain="bit"/>
+ <field name="immediate" domain="bit"/>
+ </method>
+ <method name="return" content="1" index="50">
+ <chassis name="client" implement="MUST"/>
+ <field name="reply-code" domain="reply-code"/>
+ <field name="reply-text" domain="reply-text"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" domain="shortstr"/>
+ </method>
+ <method name="deliver" content="1" index="60">
+ <chassis name="client" implement="MUST"/>
+ <field name="consumer-tag" domain="consumer-tag"/>
+ <field name="delivery-tag" domain="delivery-tag"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="queue" domain="queue-name">
+ <assert check="notnull"/>
+ </field>
+ </method>
+ </class>
+ <class name="tx" handler="channel" index="90">
+ <chassis name="server" implement="SHOULD"/>
+ <chassis name="client" implement="MAY"/>
+ <method name="select" synchronous="1" index="10">
+ <chassis name="server" implement="MUST"/>
+ <response name="select-ok"/>
+ </method>
+ <method name="select-ok" synchronous="1" index="11">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="commit" synchronous="1" index="20">
+ <chassis name="server" implement="MUST"/>
+ <response name="commit-ok"/>
+ </method>
+ <method name="commit-ok" synchronous="1" index="21">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="rollback" synchronous="1" index="30">
+ <chassis name="server" implement="MUST"/>
+ <response name="rollback-ok"/>
+ </method>
+ <method name="rollback-ok" synchronous="1" index="31">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ </class>
+ <class name="dtx" handler="channel" index="100">
+ <chassis name="server" implement="MAY"/>
+ <chassis name="client" implement="MAY"/>
+ <method name="select" synchronous="1" index="10">
+ <chassis name="server" implement="MUST"/>
+ <response name="select-ok"/>
+ </method>
+ <method name="select-ok" synchronous="1" index="11">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="start" synchronous="1" index="20">
+ <chassis name="server" implement="MAY"/>
+ <response name="start-ok"/>
+ <field name="dtx-identifier" domain="shortstr">
+ <assert check="notnull"/>
+ </field>
+ </method>
+ <method name="start-ok" synchronous="1" index="21">
+ <chassis name="client" implement="MUST"/>
+ </method>
+ </class>
+ <class name="tunnel" handler="tunnel" index="110">
+ <chassis name="server" implement="MAY"/>
+ <chassis name="client" implement="MAY"/>
+ <field name="headers" domain="table"/>
+ <field name="proxy-name" domain="shortstr"/>
+ <field name="data-name" domain="shortstr"/>
+ <field name="durable" domain="octet"/>
+ <field name="broadcast" domain="octet"/>
+ <method name="request" content="1" index="10">
+ <chassis name="server" implement="MUST"/>
+ <field name="meta-data" domain="table"/>
+ </method>
+ </class>
+ <class name="message" handler="channel" index="120">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <method name="transfer" index="10">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <response name="ok"/>
+ <response name="reject"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="destination" domain="destination"/>
+ <field name="redelivered" domain="redelivered"/>
+ <field name="immediate" domain="bit"/>
+ <field name="ttl" domain="duration"/>
+ <field name="priority" domain="octet"/>
+ <field name="timestamp" domain="timestamp"/>
+ <field name="delivery-mode" domain="octet"/>
+ <field name="expiration" domain="timestamp"/>
+ <field name="exchange" domain="exchange-name"/>
+ <field name="routing-key" domain="shortstr"/>
+ <field name="message-id" domain="shortstr"/>
+ <field name="correlation-id" domain="shortstr"/>
+ <field name="reply-to" domain="shortstr"/>
+ <field name="content-type" domain="shortstr"/>
+ <field name="content-encoding" domain="shortstr"/>
+ <field name="user-id" domain="shortstr"/>
+ <field name="app-id" domain="shortstr"/>
+ <field name="transaction-id" domain="shortstr"/>
+ <field name="security-token" domain="security-token"/>
+ <field name="application-headers" domain="table"/>
+ <field name="body" domain="content"/>
+ </method>
+ <method name="consume" index="20">
+ <chassis name="server" implement="MUST"/>
+ <response name="ok"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="queue" domain="queue-name"/>
+ <field name="destination" domain="destination"/>
+ <field name="no-local" domain="no-local"/>
+ <field name="no-ack" domain="no-ack"/>
+ <field name="exclusive" domain="bit"/>
+ <field name="filter" domain="table"/>
+ </method>
+ <method name="cancel" index="30">
+ <chassis name="server" implement="MUST"/>
+ <response name="ok"/>
+ <field name="destination" domain="destination"/>
+ </method>
+ <method name="get" index="40">
+ <response name="ok"/>
+ <response name="empty"/>
+ <chassis name="server" implement="MUST"/>
+ <field name="ticket" domain="access-ticket"/>
+ <field name="queue" domain="queue-name"/>
+ <field name="destination" domain="destination"/>
+ <field name="no-ack" domain="no-ack"/>
+ </method>
+ <method name="recover" index="50">
+ <chassis name="server" implement="MUST"/>
+ <response name="ok"/>
+ <field name="requeue" domain="bit"/>
+ </method>
+ <method name="open" index="60">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <response name="ok"/>
+ <field name="reference" domain="reference"/>
+ </method>
+ <method name="close" index="70">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <response name="ok"/>
+ <field name="reference" domain="reference"/>
+ </method>
+ <method name="append" index="80">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <response name="ok"/>
+ <field name="reference" domain="reference"/>
+ <field name="bytes" domain="longstr"/>
+ </method>
+ <method name="checkpoint" index="90">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <response name="ok"/>
+ <field name="reference" domain="reference"/>
+ <field name="identifier" domain="shortstr"/>
+ </method>
+ <method name="resume" index="100">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <response name="offset"/>
+ <field name="reference" domain="reference"/>
+ <field name="identifier" domain="shortstr"/>
+ </method>
+ <method name="qos" index="110">
+ <chassis name="server" implement="MUST"/>
+ <response name="ok"/>
+ <field name="prefetch-size" domain="long"/>
+ <field name="prefetch-count" domain="short"/>
+ <field name="global" domain="bit"/>
+ </method>
+ <method name="ok" index="500">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="empty" index="510">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ </method>
+ <method name="reject" index="520">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <field name="code" domain="reject-code"/>
+ <field name="text" domain="reject-text"/>
+ </method>
+ <method name="offset" index="530">
+ <chassis name="server" implement="MUST"/>
+ <chassis name="client" implement="MUST"/>
+ <field name="value" domain="offset"/>
+ </method>
+ </class>
+</amqp>