Hi Robin,<div><br></div><div>A few questions:</div><div><ul><li>Is it possible to make your class work with SSL connections? (Use php&#39;s stream context api instead of creating plain sockets?). </li><li>Will it behave properly in an app that uses signals/alarms?</li>

</ul></div><div><br></div><div>Nice work, looking forward to testing it.</div><div><br></div><div>Mark Steele<br>Bering Media Inc.<br>
<div><br></div><br><div class="gmail_quote">On Sat, Jan 8, 2011 at 8:46 AM, Robin Harvey <span dir="ltr">&lt;<a href="mailto:harvey.robin@gmail.com" target="_blank">harvey.robin@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Hello Rabbiteers!<div><br></div><div><br><div>I hope I&#39;m not being importune by posting this message to let you know about an LGPL Amqp implementation I&#39;ve recently written for PHP 5.3:</div></div><div><br></div>

<div>

<a href="https://github.com/BraveSirRobin/amqphp" target="_blank">https://github.com/BraveSirRobin/amqphp</a></div><div><br></div><div>I&#39;ve implemented the 0.9.1 Amqp spec using a code-generation approach.  If any of the more experienced Amqp people were able to take a quick look at my code in order to provide feedback, or have any other advice I&#39;d be very grateful.  There&#39;s a UML class diagram showing the implementation classes here: <a href="https://github.com/BraveSirRobin/amqphp/raw/master/diag/amqp.png" target="_blank">https://github.com/BraveSirRobin/amqphp/raw/master/diag/amqp.png</a></div>



<div><br></div><div>Secondly, I have a question regarding using basic.consume on multiple channels.  Is it possible for message frames to be mixed up for basic.consume?  Section 4.2.6 of the spec says this:</div><div><br>



</div><div><div><i>Content frames on a specific channel are strictly sequential. That is, they may be mixed with frames for</i></div><div><i>other channels, but no two content frames from the same channel may be mixed or overlapped, nor may</i></div>



<div><i>content frames for a single content be mixed with method frames on the same channel.</i></div></div><div><br></div><div>What I find confusing is that a single &quot;message&quot; consists of a frame header, a content header and one or more content frames, for large messages there can be many content frames; a single message contains many frames.  For example, 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?  The testing I&#39;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?  Is this what the spec guarantees?</div>



<div><br></div><div><br></div><div>Many thanks,</div><div>--Robin</div>
<br>_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com" target="_blank">rabbitmq-discuss@lists.rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
<br></blockquote></div><br></div>