[rabbitmq-discuss] New open source PHP Amqp implementation

Matthias Radestock matthias at rabbitmq.com
Sat Jan 8 14:13:49 GMT 2011


Robin,

Robin Harvey wrote:
> https://github.com/BraveSirRobin/amqphp
> 
> I've implemented the 0.9.1 Amqp spec using a code-generation
> approach.

Great. Codegen is definitely the way to go since it will allow you
to keep up with the changes to the spec. Though you may want to grab the 
version of the xml spec from our dotnet client repo since it contains 
the rabbit-specific extensions. 
http://hg.rabbitmq.com/rabbitmq-dotnet-client/raw-file/default/docs/specs/amqp0-9-1.xml

Btw, the reason we don't use the xml in our server codegen, and instead 
have a json version of the spec, is because of legal issues with the 
AMQP XML spec that the Debian folks were unhappy about. This has since 
been fixed with the release of the stripped versions of the XML spec 
under a different license. But we haven't found the time to switch to 
using that.

> is it possible to get a content header frame on channel A, then a
> content header frame on channel B, then the message content for
> channel A, then the message content for channel B?

Yes, that is possible.

> The testing I've done so far indicates that RMQ always sends
> basic.deliver messages sequentially - it sends the content header
> then all content frames for a single message on a single channel in a
> non-interleaved fashion.  Is this always the case?

You were just lucky. Shorten the frame size, use very large messages
and lots of channels and I am sure you'd see some interleaving.


Regards,

Matthias.


More information about the rabbitmq-discuss mailing list