--- amqp.xml	2007-06-04 15:52:38.385787256 +0100
+++ amqp-hacked-on-for-115.xml	2007-06-04 15:31:41.817398160 +0100
@@ -1361,8 +1361,8 @@
     </doc>
 
     <doc type = "grammar">
-      exchange            = C:DECLARE  S:DECLARE-OK
-                          / C:DELETE   S:DELETE-OK
+      exchange            = C:DECLARE
+                          / C:DELETE
     </doc>
 
     <chassis name = "server" implement = "MUST" />
@@ -1446,7 +1446,6 @@
       </rule>
 
       <chassis name = "server" implement = "MUST" />
-      <response name = "declare-ok" />
 
       <field name = "ticket" domain = "access-ticket">
         <doc>
@@ -1590,14 +1589,6 @@
       </field>
     </method>
 
-    <method name = "declare-ok" synchronous = "1" index = "11" label = "confirm exchange declaration">
-      <doc>
-        This method confirms a Declare method and confirms the name of the exchange,
-        essential for automatically-named exchanges.
-      </doc>
-      <chassis name = "client" implement = "MUST" />
-    </method>
-
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
 
     <method name = "delete" synchronous = "1" index = "20" label = "delete an exchange">
@@ -1607,7 +1598,6 @@
       </doc>
 
       <chassis name = "server" implement = "MUST" />
-      <response name = "delete-ok" />
 
       <field name = "ticket" domain = "access-ticket">
         <rule name = "validity" on-failure = "access-refused">
@@ -1650,12 +1640,6 @@
         </doc>
       </field>
     </method>
-
-    <method name = "delete-ok" synchronous = "1" index = "21"
-      label = "confirm deletion of an exchange">
-      <doc>This method confirms the deletion of an exchange.</doc>
-      <chassis name = "client" implement = "MUST" />
-    </method>
   </class>
 
   <!-- ==  QUEUE  ============================================================ -->
@@ -1669,7 +1653,7 @@
 
     <doc type = "grammar">
       queue               = C:DECLARE  S:DECLARE-OK
-                          / C:BIND     S:BIND-OK
+                          / C:BIND
                           / C:PURGE    S:PURGE-OK
                           / C:DELETE   S:DELETE-OK
     </doc>
@@ -2016,8 +2000,6 @@
       
       <chassis name = "server" implement = "MUST" />
 
-      <response name = "bind-ok" />
-      
       <field name = "ticket" domain = "access-ticket">
         <doc>
           The client provides a valid access ticket giving "active" access rights to the
@@ -2101,12 +2083,6 @@
       </field>
     </method>
     
-    <method name = "bind-ok" synchronous = "1" index = "21" label = "confirm bind successful">
-      <doc>This method confirms that the bind was successful.</doc>
-      
-      <chassis name = "client" implement = "MUST" />
-    </method>
-
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
 
     <method name = "unbind" synchronous = "1" index = "50" label = "unbind a queue from an exchange">
@@ -2115,7 +2091,6 @@
         <doc>If a unbind fails, the server MUST raise a connection exception.</doc>
       </rule>
       <chassis name="server" implement="MUST"/>
-      <response name="unbind-ok"/>
 
       <field name = "ticket" domain = "access-ticket">
         <doc>
@@ -2153,11 +2128,6 @@
       </field>
     </method>
 
-    <method name = "unbind-ok" synchronous = "1" index = "51" label = "confirm unbind successful">
-      <doc>This method confirms that the unbind was successful.</doc>
-      <chassis name = "client" implement = "MUST"/>
-    </method>
-
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
     
     <method name = "purge" synchronous = "1" index = "30" label = "purge a queue">
@@ -2358,7 +2328,7 @@
     </doc>
 
     <doc type = "grammar">
-      basic               = C:QOS S:QOS-OK
+      basic               = C:QOS
                           / C:CONSUME S:CONSUME-OK
                           / C:CANCEL S:CANCEL-OK
                           / C:PUBLISH content
@@ -2521,7 +2491,6 @@
       </doc>
 
       <chassis name = "server" implement = "MUST" />
-      <response name = "qos-ok" />
 
       <field name = "prefetch-size" domain = "long" label = "prefetch window in octets">
         <doc>
@@ -2578,15 +2547,6 @@
       </field>
     </method>
 
-    <method name = "qos-ok" synchronous = "1" index = "11" label = "confirm the requested qos">
-      <doc>
-        This method tells the client that the requested QoS levels could be handled by the
-        server. The requested QoS applies to all active consumers until a new QoS is
-        defined.
-      </doc>
-      <chassis name = "client" implement = "MUST" />
-    </method>
-
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
 
     <method name = "consume" synchronous = "1" index = "20" label = "start a queue consumer">
@@ -4241,9 +4201,9 @@
     </rule>
 
     <doc type = "grammar">
-      tx                  = C:SELECT S:SELECT-OK
-                          / C:COMMIT S:COMMIT-OK
-                          / C:ROLLBACK S:ROLLBACK-OK
+      tx                  = C:SELECT
+                          / C:COMMIT
+                          / C:ROLLBACK
     </doc>
 
     <chassis name = "server" implement = "SHOULD" />
@@ -4257,15 +4217,6 @@
         method at least once on a channel before using the Commit or Rollback methods.
       </doc>
       <chassis name = "server" implement = "MUST" />
-      <response name = "select-ok" />
-    </method>
-
-    <method name = "select-ok" synchronous = "1" index = "11" label = "confirm transaction mode">
-      <doc>
-        This method confirms to the client that the channel was successfully set to use
-        standard transactions.
-      </doc>
-      <chassis name = "client" implement = "MUST" />
     </method>
 
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
@@ -4276,15 +4227,6 @@
         transaction. A new transaction starts immediately after a commit.
       </doc>
       <chassis name = "server" implement = "MUST" />
-      <response name = "commit-ok" />
-    </method>
-
-    <method name = "commit-ok" synchronous = "1" index = "21" label = "confirm a successful commit">
-      <doc>
-        This method confirms to the client that the commit succeeded. Note that if a commit
-        fails, the server raises a channel exception.
-      </doc>
-      <chassis name = "client" implement = "MUST" />
     </method>
 
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
@@ -4296,15 +4238,6 @@
         transaction. A new transaction starts immediately after a rollback.
       </doc>
       <chassis name = "server" implement = "MUST" />
-      <response name = "rollback-ok" />
-    </method>
-
-    <method name = "rollback-ok" synchronous = "1" index = "31" label = "confirm successful rollback">
-      <doc>
-        This method confirms to the client that the rollback succeeded. Note that if an
-        rollback fails, the server raises a channel exception.
-      </doc>
-      <chassis name = "client" implement = "MUST" />
     </method>
   </class>
 
@@ -4423,21 +4356,21 @@
     </doc>
 
     <doc type = "grammar">
-      message             = C:QOS S:OK
-                          / C:CONSUME S:OK
-                          / C:CANCEL S:OK
-                          / C:TRANSFER ( S:OK / S:REJECT )
-                          / S:TRANSFER ( C:OK / C:REJECT )
-                          / C:GET ( S:OK / S:EMPTY )
-                          / C:RECOVER S:OK
-                          / C:OPEN S:OK
-                          / S:OPEN C:OK
-                          / C:APPEND S:OK
-                          / S:APPEND C:OK
-                          / C:CLOSE S:OK
-                          / S:CLOSE C:OK
-                          / C:CHECKPOINT S:OK
-                          / S:CHECKPOINT C:OK
+      message             = C:QOS
+                          / C:CONSUME
+                          / C:CANCEL
+                          / C:TRANSFER [S:REJECT]
+                          / S:TRANSFER [C:REJECT]
+                          / C:GET [S:EMPTY]
+                          / C:RECOVER
+                          / C:OPEN
+                          / S:OPEN
+                          / C:APPEND
+                          / S:APPEND
+                          / C:CLOSE
+                          / S:CLOSE
+                          / C:CHECKPOINT
+                          / S:CHECKPOINT
                           / C:RESUME S:OFFSET
                           / S:RESUME C:OFFSET
     </doc>
@@ -4589,14 +4522,13 @@
 
       <rule name = "01">
         <doc>
-          The recipient MUST NOT return ok before the message has been
+          The recipient MUST NOT indicate completion before the message has been
           processed as defined by the QoS settings.
         </doc>
       </rule>
 
       <chassis name = "server" implement = "MUST" />
       <chassis name = "client" implement = "MUST" />
-      <response name = "ok" />
       <response name = "reject" />
 
       <field name = "ticket"      domain = "access-ticket">
@@ -4731,7 +4663,6 @@
       </rule>
 
       <chassis name = "server" implement = "MUST" />
-      <response name = "ok" />
 
       <field name = "ticket"      domain = "access-ticket">
         <rule name = "01" on-failure = "access-refused">
@@ -4828,7 +4759,7 @@
         [WORK IN PROGRESS] This method cancels a consumer. This does not affect already delivered
         messages, but it does mean the server will not send any more messages for
         that consumer. The client may receive an arbitrary number of messages in
-        between sending the cancel method and receiving the cancel-ok reply.
+        between sending the cancel method and receiving the notification of completion of cancellation.
       </doc>
 
       <rule name = "01">
@@ -4839,7 +4770,6 @@
       </rule>
 
       <chassis name = "server" implement = "MUST" />
-      <response name = "ok" />
 
       <field name = "destination" domain = "destination"/>
     </method>
@@ -4853,7 +4783,6 @@
         functionality is more important than performance.
       </doc>
 
-      <response name = "ok" />
       <response name = "empty" />
       <chassis name = "server" implement = "MUST" />
 
@@ -4881,8 +4810,8 @@
 
       <field name = "destination" domain = "destination">
         <doc>
-          On normal completion of the get request (i.e. a response of
-          ok). A message will be transferred to the supplied destination.
+          On normal completion of the get request (i.e. without an "empty" response),
+	  a message will be transferred to the supplied destination.
         </doc>
       </field>
 
@@ -4914,7 +4843,6 @@
       </rule>
 
       <chassis name = "server" implement = "MUST" />
-      <response name = "ok" />
 
       <field name = "requeue" domain = "bit" label = "requeue the message">
         <doc>
@@ -4947,7 +4875,6 @@
 
       <chassis name = "server" implement = "MUST" />
       <chassis name = "client" implement = "MUST" />
-      <response name = "ok" />
 
       <field name = "reference" domain = "reference">
         <rule name = "01">
@@ -4977,7 +4904,6 @@
       <chassis name = "server" implement = "MUST" />
       <chassis name = "client" implement = "MUST" />
 
-      <response name = "ok" />
       <field name = "reference" domain = "reference" label = "target reference">
         <rule name = "01">
           <doc>
@@ -4997,7 +4923,6 @@
 
       <chassis name = "server" implement = "MUST" />
       <chassis name = "client" implement = "MUST" />
-      <response name = "ok" />
 
       <field name = "reference" domain = "reference" label = "target reference">
         <rule name = "01">
@@ -5025,7 +4950,6 @@
 
       <chassis name = "server" implement = "MUST" />
       <chassis name = "client" implement = "MUST" />
-      <response name = "ok" />
 
       <field name = "reference"  domain = "reference" label = "target reference">
         <rule name = "01">
@@ -5084,7 +5008,6 @@
       </doc>
 
       <chassis name = "server" implement = "MUST" />
-      <response name = "ok" />
 
       <field name = "prefetch-size" domain = "long" label = "prefetch window in octets">
         <doc>
@@ -5142,14 +5065,6 @@
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
     <!-- === Responses === -->
     
-    <method name = "ok" index = "500" label = "[WORK IN PROGRESS] normal completion">
-      <doc>
-        [WORK IN PROGRESS] Signals the normal completion of a method.
-      </doc>
-      <chassis name = "server" implement = "MUST" />
-      <chassis name = "client" implement = "MUST" />
-    </method>
-
     <method name = "empty" index = "510" label = "[WORK IN PROGRESS] empty queue">
       <doc>
         [WORK IN PROGRESS] Signals that a queue does not contain any messages.
