diff options
Diffstat (limited to 'documentation/content/xdocs/AMQP0-9-DesignNotes.html')
-rwxr-xr-x | documentation/content/xdocs/AMQP0-9-DesignNotes.html | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/documentation/content/xdocs/AMQP0-9-DesignNotes.html b/documentation/content/xdocs/AMQP0-9-DesignNotes.html new file mode 100755 index 0000000000..f225d91848 --- /dev/null +++ b/documentation/content/xdocs/AMQP0-9-DesignNotes.html @@ -0,0 +1,69 @@ +<html> + <head> + <title>Apache Qpid : AMQP0-9-DesignNotes</title> + <link rel="stylesheet" href="styles/site.css" type="text/css" /> + <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> + </head> + + <body> + <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff"> + <tr> + <td valign="top" class="pagebody"> + <div class="pageheader"> + <span class="pagetitle"> + Apache Qpid : AMQP0-9-DesignNotes + </span> + </div> + <div class="pagesubheading"> + This page last changed on Jan 30, 2007 by <font color="#0050B2">kpvdr</font>. + </div> + + <h2><a name="AMQP0-9-DesignNotes-DesignnotesforAMQP09implemenation"></a>Design notes for AMQP 0-9 implemenation</h2> + +<ul> + <li>Reserved field in Request frame must be set to 0.</li> + <li>Request and Response constants were added to amqp.0-9.xml</li> + <li>Request ID and Response ID must start at 1 for new channels. 0 is reserved for future use, and should not be used in normal interactions between client and server.</li> + <li>Response Mark must start at 0 for new channels.</li> + <li>Content class encoding: For inline messages (first byte = 0), a null or empty byte array may be used.</li> + <li>Content class encoding: For refs, (first byte = 1), an error or exception must be thrown if the byte array is either null or empty. It makes no sense to send a null ref.</li> + <li>Content class decoding: For inline messages (first byte = 0), is is not possible to discriminate between the null array or empty array case above that encoded it. Decode as an empty byte array, not a null. (open for discussion)</li> + <li>Content class: It may be possible to set a value for either/or null and empty values in the future - if a use-case can be made for it</li> + <li>Possible batch-handling modes should be decided upon.</li> + <li>TODO: Devise a mechanism to allow one-way requests, where no acknowledgements are sent.</li> +</ul> + + +<h2><a name="AMQP0-9-DesignNotes-AMQP09SpecificationIssues"></a>AMQP 0-9 Specification Issues</h2> +<ul> + <li>Errara will be made by adding to an amqp-errata.0-9.xml file rather than by making edits directly to the specification file. These are the advantages: + <ul> + <li>The differences between the current specification and the spec as we use it are readily apparent.</li> + <li>Different implementations share the same specification file. Thus errors that may arise as a result of a change required for one implementation (e.g. Java) on others (e.g. C++) are controled/eliminated.</li> + </ul> + </li> + <li>Two constants are missing and need to be inserted as an erratum: +<div class="preformatted"><div class="preformattedContent"> +<pre> <constant name = "frame-request" value = "9" />
+ <constant name = "frame-response" value = "10" />
+</pre> +</div></div></li> + <li>The Basic field <font color="blue"><tt>Basic.type</tt></font> (a <tt>shortstr</tt>) was omitted from <font color="blue"><tt>Message.transfer</tt></font>. However, after some discussion it was resolved that since thid field serves JMS messaging only, that it should be handled as a custom property rather than creating an XML erratum to insert it. The property name is "<font color="blue"><b><tt>JMSXType</tt></b></font>".</li> + <li>The Basic field <font color="blue"><tt>Basic.mandatory</tt></font>(a <tt>bit</tt>) was originally omitted form <font color="blue"><tt>Message.transfer</tt></font> because its functionality would have been handled by the availability of dead-letter queues. However, they did not make it into the AMQP 0-9 speicification. Thus, <font color="blue"><tt>Basic.mandatory</tt></font> has been temporarily added as the last field in <font color="blue"><tt>Message.transfer</tt></font> until dead-letter queues become a reality in the specification.</li> +</ul> + + + + </td> + </tr> + </table> + <table border="0" cellpadding="0" cellspacing="0" width="100%"> + <tr> + <td height="12" background="border/border_bottom.gif"><img src="border/spacer.gif" width="1" height="1" border="0"/></td> + </tr> + <tr> + <td align="center"><font color="grey">Document generated by Confluence on Apr 22, 2008 02:47</font></td> + </tr> + </table> + </body> +</html>
\ No newline at end of file |