AMQP0-9-DesignNotes has been edited by Kim van der Riet (Jan 30, 2007).

(View changes)

Content:

Design notes for AMQP 0-9 implemenation

  • Reserved field in Request frame must be set to 0.
  • Request and Response constants were added to amqp.0-9.xml
  • 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.
  • Response Mark must start at 0 for new channels.
  • Content class encoding: For inline messages (first byte = 0), a null or empty byte array may be used.
  • 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.
  • 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)
  • 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
  • Possible batch-handling modes should be decided upon.
  • TODO: Devise a mechanism to allow one-way requests, where no acknowledgements are sent.

AMQP 0-9 Specification Issues

  • Two constants are missing and need to be inserted as an erratum:
     <constant name = "frame-request"    value = "9" />
     <constant name = "frame-response"   value = "10" />
    
  • The Basic field Basic.type (a shortstr) was omitted from Message.transfer. 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 JMSXType.


Reply via email to