Former-commit-id:a02aeb236c
[formerly9f19e3f712
] [formerly06a8b51d6d
[formerly 64fa9254b946eae7e61bbc3f513b7c3696c4f54f]] Former-commit-id:06a8b51d6d
Former-commit-id:3360eb6c5f
926 lines
33 KiB
XML
926 lines
33 KiB
XML
<?xml version="1.0"?>
|
|
<!--
|
|
-
|
|
- Licensed to the Apache Software Foundation (ASF) under one
|
|
- or more contributor license agreements. See the NOTICE file
|
|
- distributed with this work for additional information
|
|
- regarding copyright ownership. The ASF licenses this file
|
|
- to you under the Apache License, Version 2.0 (the
|
|
- "License"); you may not use this file except in compliance
|
|
- with the License. You may obtain a copy of the License at
|
|
-
|
|
- http://www.apache.org/licenses/LICENSE-2.0
|
|
-
|
|
- Unless required by applicable law or agreed to in writing,
|
|
- software distributed under the License is distributed on an
|
|
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
- KIND, either express or implied. See the License for the
|
|
- specific language governing permissions and limitations
|
|
- under the License.
|
|
-
|
|
-->
|
|
|
|
<amqp major="99" minor="0" port="5672">
|
|
|
|
<domain name="mediumstr" type="mediumstr" label="string with 16bit size field" />
|
|
|
|
<domain name="sequence-set" type="sequence-set" label="ranged set representation">
|
|
<doc>
|
|
Set of pairs of RFC-1982 numbers representing a discontinuous range. Each pair represents a
|
|
closed interval within the list.
|
|
|
|
For example, the set (1,3), (6,6), (8,9) represents the sequence 1,2,3,6,8,9.
|
|
</doc>
|
|
</domain>
|
|
|
|
<domain name="xid010">
|
|
<struct size="long" pack="short" type="1540">
|
|
<field name="format" domain="long" />
|
|
<field name="global-id" domain="shortstr" />
|
|
<field name="branch-id" domain="shortstr" />
|
|
</struct>
|
|
</domain>
|
|
|
|
<domain name="delivery-properties-010">
|
|
<struct size="long" pack="short" type="1025">
|
|
<field name="discard-unroutable" domain="bit" label="controls discard of unroutable messages"/>
|
|
<field name="immediate" domain="bit" label="Consider message unroutable if it cannot be
|
|
processed immediately"/>
|
|
<field name="redelivered" domain="bit" label="redelivery flag"/>
|
|
<field name="priority" domain="octet" label="message priority, 0 to 9"
|
|
required="true"/>
|
|
<field name="delivery-mode" domain="octet" label="message persistence requirement"
|
|
required="true"/>
|
|
<field name="ttl" domain="longlong" label="time to live in ms"/>
|
|
<field name="timestamp" domain="longlong" label="message timestamp"/>
|
|
<field name="expiration" domain="longlong" label="message expiration time"/>
|
|
<field name="exchange" domain="shortstr" label="originating exchange"/>
|
|
<field name="routing-key" domain="shortstr" label="message routing key"/>
|
|
<field name="resume-id" domain="mediumstr" label="global id for message transfer"/>
|
|
<field name="resume-ttl" domain="longlong" label="ttl in ms for interrupted message data"/>
|
|
</struct>
|
|
</domain>
|
|
|
|
<domain name="message-properties-010">
|
|
<struct size="long" pack="short" type="1027">
|
|
<field name="content-length" domain="longlong" label="length of the body segment in bytes"/>
|
|
<field name="message-id" domain="uuid" label="application message identifier"/>
|
|
<field name="correlation-id" domain="mediumstr" label="application correlation identifier"/>
|
|
<field name="reply-to" domain="reply-to" label="destination to reply to"/>
|
|
<field name="content-type" domain="shortstr" label="MIME content type"/>
|
|
<field name="content-encoding" domain="shortstr" label="MIME content encoding"/>
|
|
<field name="user-id" domain="mediumstr" label="creating user id"/>
|
|
<field name="app-id" domain="mediumstr" label="creating application id"/>
|
|
<field name="application-headers" domain="table" label="application specific headers table"/>
|
|
</struct>
|
|
</domain>
|
|
|
|
<class name = "connection010" index = "1">
|
|
|
|
<method name = "start" index="1">
|
|
<doc>new start method</doc>
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<response name="start-ok" />
|
|
|
|
<field name="server-properties" domain="table" label="server properties">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
<field name="mechanisms" domain="array" label="available security mechanisms">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
<field name="locales" domain="array" label="available message locales">
|
|
</field>
|
|
|
|
</method>
|
|
|
|
<method name = "start-ok" index="2">
|
|
<doc>new start-ok method</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
|
|
<field name="client-properties" domain="table" label="server properties">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
<field name="mechanism" domain="shortstr" label="chosen security mechanism">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
<field name="response" domain="longstr" label="security response data">
|
|
<doc>blah blah</doc>
|
|
</field>
|
|
|
|
<field name="locale" domain="shortstr" label="chosen locale">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
</method>
|
|
|
|
<method name="secure" synchronous="1" index="3" label="security mechanism challenge">
|
|
<doc>
|
|
The SASL protocol works by exchanging challenges and responses until both peers have
|
|
received sufficient information to authenticate each other. This method challenges the
|
|
client to provide more information.
|
|
</doc>
|
|
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<response name="secure-ok" />
|
|
|
|
<field name="challenge" domain="longstr" label="security challenge data">
|
|
<doc>
|
|
Challenge information, a block of opaque binary data passed to the security mechanism.
|
|
</doc>
|
|
</field>
|
|
</method>
|
|
|
|
<!-- - Method: connection.secure-ok - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
<method name="secure-ok" synchronous="1" index="4" label="security mechanism response">
|
|
<doc>
|
|
This method attempts to authenticate, passing a block of SASL data for the security
|
|
mechanism at the server side.
|
|
</doc>
|
|
|
|
<chassis name="server" implement="MUST" />
|
|
|
|
<field name="response" domain="longstr" label="security response data">
|
|
<doc>
|
|
A block of opaque data passed to the security mechanism. The contents of this data are
|
|
defined by the SASL security mechanism.
|
|
</doc>
|
|
<assert check="notnull" />
|
|
</field>
|
|
</method>
|
|
|
|
<method name="tune" synchronous="1" index="5" label="propose connection tuning parameters">
|
|
<doc>
|
|
This method proposes a set of connection configuration values to the client. The client can
|
|
accept and/or adjust these.
|
|
</doc>
|
|
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<response name="tune-ok" />
|
|
|
|
<field name="channel-max" domain="short" label="proposed maximum channels">
|
|
<doc>
|
|
The maximum total number of channels that the server allows per connection. Zero means
|
|
that the server does not impose a fixed limit, but the number of allowed channels may be
|
|
limited by available server resources.
|
|
</doc>
|
|
</field>
|
|
|
|
<field name="frame-max" domain="short" label="proposed maximum frame size">
|
|
<doc>
|
|
The largest frame size that the server proposes for the connection. The client can
|
|
negotiate a lower value. Zero means that the server does not impose any specific limit but
|
|
may reject very large frames if it cannot allocate resources for them.
|
|
</doc>
|
|
|
|
<rule name="minimum">
|
|
<doc>
|
|
Until the frame-max has been negotiated, both peers MUST accept frames of up to
|
|
frame-min-size octets large, and the minimum negotiated value for frame-max is also
|
|
frame-min-size.
|
|
</doc>
|
|
<doc type="scenario">
|
|
Client connects to server and sends a large properties field, creating a frame of
|
|
frame-min-size octets. The server must accept this frame.
|
|
</doc>
|
|
</rule>
|
|
</field>
|
|
|
|
<field name="heartbeat-min" domain="short" label="desired heartbeat delay"/>
|
|
<field name="heartbeat-max" domain="short" label="desired heartbeat delay"/>
|
|
</method>
|
|
|
|
<!-- - Method: connection.tune-ok - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
<method name="tune-ok" synchronous="1" index="6"
|
|
label="negotiate connection tuning parameters">
|
|
<doc>
|
|
This method sends the client's connection tuning parameters to the server. Certain fields
|
|
are negotiated, others provide capability information.
|
|
</doc>
|
|
|
|
<chassis name="server" implement="MUST" />
|
|
|
|
<field name="channel-max" domain="short" label="negotiated maximum channels">
|
|
<doc>
|
|
The maximum total number of channels that the client will use per connection.
|
|
</doc>
|
|
|
|
<rule name="upper-limit">
|
|
<doc>
|
|
If the client specifies a channel max that is higher than the value provided by the
|
|
server, the server MUST close the connection without attempting a negotiated close. The
|
|
server may report the error in some fashion to assist implementors.
|
|
</doc>
|
|
</rule>
|
|
|
|
<assert check="notnull" />
|
|
<assert check="le" value="channel-max" />
|
|
</field>
|
|
|
|
<field name="frame-max" domain="short" label="negotiated maximum frame size">
|
|
<doc>
|
|
The largest frame size that the client and server will use for the connection. Zero means
|
|
that the client does not impose any specific limit but may reject very large frames if it
|
|
cannot allocate resources for them. Note that the frame-max limit applies principally to
|
|
content frames, where large contents can be broken into frames of arbitrary size.
|
|
</doc>
|
|
|
|
<rule name="minimum">
|
|
<doc>
|
|
Until the frame-max has been negotiated, both peers MUST accept frames of up to
|
|
frame-min-size octets large, and the minimum negotiated value for frame-max is also
|
|
frame-min-size.
|
|
</doc>
|
|
</rule>
|
|
|
|
<rule name="upper-limit">
|
|
<doc>
|
|
If the client specifies a frame max that is higher than the value provided by the
|
|
server, the server MUST close the connection without attempting a negotiated close. The
|
|
server may report the error in some fashion to assist implementors.
|
|
</doc>
|
|
</rule>
|
|
</field>
|
|
|
|
<field name="heartbeat" domain="short" label="desired heartbeat delay">
|
|
<doc>
|
|
The delay, in seconds, of the connection heartbeat that the client wants. Zero means the
|
|
client does not want a heartbeat.
|
|
</doc>
|
|
</field>
|
|
</method>
|
|
|
|
<method name="open" synchronous="1" index="7" label="open connection to virtual host">
|
|
<doc>
|
|
This method opens a connection to a virtual host, which is a collection of resources, and
|
|
acts to separate multiple application domains within a server. The server may apply
|
|
arbitrary limits per virtual host, such as the number of each type of entity that may be
|
|
used, per connection and/or in total.
|
|
</doc>
|
|
|
|
<chassis name="server" implement="MUST" />
|
|
|
|
<response name="open-ok" />
|
|
<response name="redirect" />
|
|
|
|
<field name="virtual-host" domain="path" label="virtual host name">
|
|
<!-- TODO 0.82 - the entire vhost model needs review. This concept was prompted by the HTTP
|
|
vhost concept but does not fit very well into AMQP. Currently we use the vhost as a
|
|
"cluster identifier" which is inaccurate usage. /PH 2006/07/19
|
|
-->
|
|
<doc>
|
|
The name of the virtual host to work with.
|
|
</doc>
|
|
|
|
<rule name="separation">
|
|
<doc>
|
|
If the server supports multiple virtual hosts, it MUST enforce a full separation of
|
|
exchanges, queues, and all associated entities per virtual host. An application,
|
|
connected to a specific virtual host, MUST NOT be able to access resources of another
|
|
virtual host.
|
|
</doc>
|
|
</rule>
|
|
|
|
<rule name="security">
|
|
<doc>
|
|
The server SHOULD verify that the client has permission to access the specified virtual
|
|
host.
|
|
</doc>
|
|
</rule>
|
|
<assert check="regexp" value="^[a-zA-Z0-9/-_]+$" />
|
|
</field>
|
|
|
|
<field name="capabilities" domain="array" label="required capabilities">
|
|
<doc>
|
|
The client can specify zero or more capability names, delimited by spaces. The server can
|
|
use this string to how to process the client's connection request.
|
|
</doc>
|
|
</field>
|
|
|
|
<field name="insist" domain="bit" label="insist on connecting to server">
|
|
<doc>
|
|
In a configuration with multiple collaborating servers, the server may respond to a
|
|
Connection.Open method with a Connection.Redirect. The insist option tells the server that
|
|
the client is insisting on a connection to the specified server.
|
|
</doc>
|
|
<rule name="behaviour">
|
|
<doc>
|
|
When the client uses the insist option, the server MUST NOT respond with a
|
|
Connection.Redirect method. If it cannot accept the client's connection request it
|
|
should respond by closing the connection with a suitable reply code.
|
|
</doc>
|
|
</rule>
|
|
</field>
|
|
</method>
|
|
|
|
<method name="open-ok" synchronous="1" index="8" label="signal that connection is ready">
|
|
<doc>
|
|
This method signals to the client that the connection is ready for use.
|
|
</doc>
|
|
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="known-hosts" domain="array" />
|
|
</method>
|
|
|
|
<method name="redirect" synchronous="1" index="9" label="redirects client to other server">
|
|
<doc>
|
|
This method redirects the client to another server, based on the requested virtual host
|
|
and/or capabilities.
|
|
</doc>
|
|
|
|
<rule name="usage">
|
|
<doc>
|
|
When getting the Connection.Redirect method, the client SHOULD reconnect to the host
|
|
specified, and if that host is not present, to any of the hosts specified in the
|
|
known-hosts list.
|
|
</doc>
|
|
</rule>
|
|
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="host" domain="shortstr" label="server to connect to">
|
|
<doc>
|
|
Specifies the server to connect to. This is an IP address or a DNS name, optionally
|
|
followed by a colon and a port number. If no port number is specified, the client should
|
|
use the default port number for the protocol.
|
|
</doc>
|
|
<assert check="notnull" />
|
|
</field>
|
|
|
|
<field name="known-hosts" domain="array" />
|
|
</method>
|
|
|
|
<method name = "heartbeat" index="10">
|
|
<doc>new start-ok method</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
</method>
|
|
|
|
<!-- - Method: connection.close - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
<method name="close" synchronous="1" index="11" label="request a connection close">
|
|
<doc>
|
|
This method indicates that the sender wants to close the connection. This may be due to
|
|
internal conditions (e.g. a forced shut-down) or due to an error handling a specific method,
|
|
i.e. an exception. When a close is due to an exception, the sender provides the class and
|
|
method id of the method which caused the exception.
|
|
</doc>
|
|
<!-- TODO: The connection close mechanism needs to be reviewed from the ODF documentation and
|
|
better expressed as rules here. /PH 2006/07/20
|
|
-->
|
|
|
|
<rule name="stability">
|
|
<doc>
|
|
After sending this method any received method except the Close-OK method MUST be
|
|
discarded.
|
|
</doc>
|
|
</rule>
|
|
|
|
<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" />
|
|
</method>
|
|
|
|
<!-- - Method: connection.close-ok - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
<method name="close-ok" synchronous="1" index="12" label="confirm a connection close">
|
|
<doc>
|
|
This method confirms a Connection.Close method and tells the recipient that it is safe to
|
|
release resources for the connection and close the socket.
|
|
</doc>
|
|
|
|
<rule name="reporting">
|
|
<doc>
|
|
A peer that detects a socket closure without having received a Close-Ok handshake method
|
|
SHOULD log the error.
|
|
</doc>
|
|
</rule>
|
|
|
|
<chassis name="client" implement="MUST" />
|
|
<chassis name="server" implement="MUST" />
|
|
</method>
|
|
|
|
|
|
</class>
|
|
|
|
|
|
|
|
<class name = "session010" index = "2">
|
|
|
|
<method name = "attach" index="1">
|
|
|
|
<doc>blah, blah</doc>
|
|
<chassis name="client" implement="MUST" />
|
|
<chassis name="server" implement="MUST" />
|
|
|
|
<response name="start-ok" />
|
|
|
|
<field name="name" domain="mediumstr" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
<field name="force" domain="bit" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
</method>
|
|
|
|
<method name = "attached" index="2">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="name" domain="mediumstr" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
</method>
|
|
|
|
<method name = "detach" index="3">
|
|
|
|
<doc>blah, blah</doc>
|
|
<chassis name="client" implement="MUST" />
|
|
<chassis name="server" implement="MUST" />
|
|
|
|
<response name="start-ok" />
|
|
|
|
<field name="name" domain="mediumstr" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
</method>
|
|
|
|
<method name = "detached" index="4">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="name" domain="mediumstr" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
|
|
<field name="detach-code" domain="octet" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
</method>
|
|
|
|
<method name = "request-timeout" index="5">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="timeout" domain="long" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
</method>
|
|
|
|
<method name = "timeout" index="6">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="timeout" domain="long" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
</method>
|
|
|
|
|
|
<method name = "command-point" index="7">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="command-id" domain="rfc1982-long" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
|
|
<field name="command-offset" domain="longlong" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
</method>
|
|
|
|
<method name = "expected" index="8">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="commands" domain="sequence-set" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
<field name="fragments" domain="array" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
</method>
|
|
|
|
<method name = "confirmed" index="9">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="commands" domain="sequence-set" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
<field name="fragments" domain="array" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
</method>
|
|
|
|
<method name = "completed" index="10">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="commands" domain="sequence-set" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
|
|
<field name="timely-reply" domain="bit" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
</method>
|
|
|
|
<method name = "known-completed" index="11">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="commands" domain="sequence-set" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
</method>
|
|
|
|
<method name = "flush" index="12">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="expected" domain="bit" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
<field name="confirmed" domain="bit" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
<field name="completed" domain="bit" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
</method>
|
|
|
|
<method name = "gap" index="13">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
|
|
<field name="commands" domain="sequence-set" label="blah">
|
|
<doc>blah, blah</doc>
|
|
</field>
|
|
</method>
|
|
|
|
</class>
|
|
|
|
<class name="execution010" index="3">
|
|
<method name = "sync" index="1">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
</method>
|
|
<method name = "result" index="2">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
<field name="command-id" domain="command-id"/>
|
|
<field name="value" domain="long-struct"/>
|
|
</method>
|
|
<method name = "exception" index="3">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
<field name="error-code" domain="short"/>
|
|
<field name="command-id" domain="long"/>
|
|
<field name="class-code" domain="octet"/>
|
|
<field name="command-code" domain="octet"/>
|
|
<field name="field-index" domain="octet"/>
|
|
<field name="description" domain="mediumstr"/>
|
|
<field name="error-info" domain="table"/>
|
|
</method>
|
|
</class>
|
|
|
|
<class name="message010" index="4">
|
|
<doc>blah, blah</doc>
|
|
<method name = "transfer" content="1" index="1">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
<field name="destination" domain="shortstr"/>
|
|
<field name="accept-mode" domain="octet"/>
|
|
<field name="acquire-mode" domain="octet"/>
|
|
</method>
|
|
<method name = "accept" index="2">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
<field name="commands" domain="sequence-set"/>
|
|
</method>
|
|
<method name = "reject" index="3">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<chassis name="client" implement="MUST" />
|
|
<field name="commands" domain="sequence-set"/>
|
|
<field name="code" domain="short"/>
|
|
<field name="text" domain="shortstr"/>
|
|
</method>
|
|
<method name = "release" index="4">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="commands" domain="sequence-set"/>
|
|
<field name="set-redelivered" domain="bit"/>
|
|
</method>
|
|
<method name = "acquire" index="5">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="transfers" domain="sequence-set"/>
|
|
<result>
|
|
<struct size="long" type="4">
|
|
<field name="transfers" domain="sequence-set"/>
|
|
</struct>
|
|
</result>
|
|
</method>
|
|
|
|
<method name = "subscribe" index="7">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="queue" domain="shortstr"/>
|
|
<field name="destination" domain="shortstr"/>
|
|
<field name="accept-mode" domain="octet"/>
|
|
<field name="acquire-mode" domain="octet"/>
|
|
<field name="exclusive" domain="bit"/>
|
|
<field name="resume-id" domain="mediumstr"/>
|
|
<field name="resume-ttl" domain="longlong"/>
|
|
<field name="arguments" domain="table"/>
|
|
</method>
|
|
<method name = "cancel" index="8">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="destination" domain="shortstr"/>
|
|
</method>
|
|
<method name = "set-flow-mode" index="9">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="destination" domain="shortstr"/>
|
|
<field name="flow-mode" domain="octet"/>
|
|
</method>
|
|
<method name = "flow" index="10">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="destination" domain="shortstr"/>
|
|
<field name="unit" domain="octet"/>
|
|
<field name="value" domain="long"/>
|
|
</method>
|
|
<method name = "flush" index="11">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="destination" domain="shortstr"/>
|
|
</method>
|
|
<method name = "stop" index="12">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="destination" domain="shortstr"/>
|
|
</method>
|
|
</class>
|
|
|
|
<class name="tx010" index="5">
|
|
<doc>blah, blah</doc>
|
|
<method name = "select" index="1">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
</method>
|
|
<method name = "commit" index="2">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
</method>
|
|
<method name = "rollback" index="3">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
</method>
|
|
</class>
|
|
|
|
<class name="dtx010" index="6">
|
|
<doc>blah, blah</doc>
|
|
<method name = "select" index="1">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
</method>
|
|
<method name = "start" index="2">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="xid" domain="xid010"/>
|
|
<field name="join" domain="bit"/>
|
|
<field name="resume" domain="bit"/>
|
|
<result>
|
|
<struct size="long" pack="short" type="1">
|
|
<field name="status" domain="short" />
|
|
</struct>
|
|
</result>
|
|
</method>
|
|
<method name = "end" index="3">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="xid" domain="xid010"/>
|
|
<field name="fail" domain="bit"/>
|
|
<field name="suspend" domain="bit"/>
|
|
<result>
|
|
<struct size="long" pack="short" type="1">
|
|
<field name="status" domain="short" />
|
|
</struct>
|
|
</result>
|
|
</method>
|
|
<method name = "commit" index="4">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="xid" domain="xid010"/>
|
|
<field name="one-phase" domain="bit"/>
|
|
<result>
|
|
<struct size="long" pack="short" type="1">
|
|
<field name="status" domain="short" />
|
|
</struct>
|
|
</result>
|
|
</method>
|
|
<method name = "forget" index="5">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="xid" domain="xid010"/>
|
|
</method>
|
|
<method name = "get-timeout" index="6">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="xid" domain="xid010"/>
|
|
<result>
|
|
<struct size="long" pack="short" type="2">
|
|
<field name="timeout" domain="long" />
|
|
</struct>
|
|
</result>
|
|
</method>
|
|
<method name = "prepare" index="7">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="xid" domain="xid010"/>
|
|
<result>
|
|
<struct size="long" pack="short" type="1">
|
|
<field name="status" domain="short" />
|
|
</struct>
|
|
</result>
|
|
</method>
|
|
<method name = "recover" index="8">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<result>
|
|
<struct size="long" pack="short" type="3">
|
|
<field name="in-doubt" domain="array" />
|
|
</struct>
|
|
</result>
|
|
</method>
|
|
<method name = "rollback" index="9">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="xid" domain="xid010"/>
|
|
<result>
|
|
<struct size="long" pack="short" type="1">
|
|
<field name="status" domain="short" />
|
|
</struct>
|
|
</result>
|
|
</method>
|
|
<method name = "set-timeout" index="10">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="xid" domain="xid010"/>
|
|
<field name="timeout" domain="long"/>
|
|
</method>
|
|
</class>
|
|
|
|
<class name="exchange010" index="7">
|
|
<doc>blah, blah</doc>
|
|
<method name = "declare" index="1">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="exchange" domain="shortstr"/>
|
|
<field name="type" domain="shortstr"/>
|
|
<field name="alternate-exchange" domain="shortstr"/>
|
|
<field name="passive" domain="bit"/>
|
|
<field name="durable" domain="bit"/>
|
|
<field name="auto-delete" domain="bit"/>
|
|
<field name="arguments" domain="table"/>
|
|
</method>
|
|
<method name = "delete" index="2">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="exchange" domain="shortstr"/>
|
|
<field name="if-unused" domain="bit"/>
|
|
</method>
|
|
<method name = "query" index="3">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="name" domain="shortstr"/>
|
|
<result>
|
|
<struct size="long" type="1">
|
|
<field name="type" domain="shortstr"/>
|
|
<field name="durable" domain="bit"/>
|
|
<field name="not-found" domain="bit"/>
|
|
<field name="arguments" domain="table"/>
|
|
</struct>
|
|
</result>
|
|
</method>
|
|
<method name = "bind" index="4">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="queue" domain="shortstr"/>
|
|
<field name="exchange" domain="shortstr"/>
|
|
<field name="binding-key" domain="shortstr"/>
|
|
<field name="arguments" domain="table"/>
|
|
</method>
|
|
<method name = "unbind" index="5">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="queue" domain="shortstr"/>
|
|
<field name="exchange" domain="shortstr"/>
|
|
<field name="binding-key" domain="shortstr"/>
|
|
</method>
|
|
<method name = "bound" index="6">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="exchange" domain="shortstr"/>
|
|
<field name="queue" domain="shortstr"/>
|
|
<field name="binding-key" domain="shortstr"/>
|
|
<field name="arguments" domain="table"/>
|
|
<result>
|
|
<struct size="long" type="2">
|
|
<field name="exchange-not-found" domain="bit"/>
|
|
<field name="queue-not-found" domain="bit"/>
|
|
<field name="queue-not-matched" domain="bit"/>
|
|
<field name="key-not-matched" domain="bit"/>
|
|
<field name="arguments-not-matched" domain="bit"/>
|
|
</struct>
|
|
</result>
|
|
</method>
|
|
</class>
|
|
|
|
<class name="queue010" index="8">
|
|
<doc>blah, blah</doc>
|
|
<method name = "declare" index="1">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="queue" domain="shortstr"/>
|
|
<field name="alternate-exchange" domain="shortstr"/>
|
|
<field name="passive" domain="bit"/>
|
|
<field name="durable" domain="bit"/>
|
|
<field name="exclusive" domain="bit"/>
|
|
<field name="auto-delete" domain="bit"/>
|
|
<field name="arguments" domain="table"/>
|
|
</method>
|
|
<method name = "delete" index="2">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="queue" domain="shortstr"/>
|
|
<field name="if-unused" domain="bit"/>
|
|
<field name="if-empty" domain="bit"/>
|
|
</method>
|
|
<method name = "purge" index="3">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="queue" domain="shortstr"/>
|
|
</method>
|
|
<method name = "query" index="4">
|
|
<doc>blah, blah</doc>
|
|
<chassis name="server" implement="MUST" />
|
|
<field name="queue" domain="shortstr"/>
|
|
<result>
|
|
<struct size="long" type="1">
|
|
<field name="name" domain="shortstr"/>
|
|
<field name="alternate-exchange" domain="shortstr"/>
|
|
<field name="durable" domain="bit"/>
|
|
<field name="exclusive" domain="bit"/>
|
|
<field name="auto-delete" domain="bit"/>
|
|
<field name="arguments" domain="table"/>
|
|
<field name="message-count" domain="long"/>
|
|
<field name="subscriber-count" domain="long"/>
|
|
</struct>
|
|
</result>
|
|
</method>
|
|
</class>
|
|
|
|
</amqp>
|