Hi Mark,<div><br></div><div>I've just finished implementing SSL support, if you grab the latest code from code from github (<a href="https://github.com/BraveSirRobin/amqphp">https://github.com/BraveSirRobin/amqphp</a>) and twiddle with the tests/forker.xml configs a bit it should work. From my tests, client certificates and peer verification work fine, there's instructions in the amqp.php file on PHP specific setup. The SSL implementation does use the Stream context API, as you suggested, however the plain sockets implementation is still there (you can switch these in the forker.xml config file).</div>
<div><br></div><div>Thanks,</div><div>--Robin</div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div><br></div><div><br><br><div class="gmail_quote">On Tue, Jan 11, 2011 at 4:32 PM, Mark Steele <span dir="ltr"><<a href="mailto:msteele@beringmedia.com">msteele@beringmedia.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">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'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><font color="#888888">Mark Steele<br>Bering Media Inc.<br>
<div><br></div><br></font><div class="gmail_quote"><div><div></div><div class="h5">On Sat, Jan 8, 2011 at 8:46 AM, Robin Harvey <span dir="ltr"><<a href="mailto:harvey.robin@gmail.com" target="_blank">harvey.robin@gmail.com</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class="h5">
Hello Rabbiteers!<div><br></div><div><br><div>I hope I'm not being importune by posting this message to let you know about an LGPL Amqp implementation I'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'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'd be very grateful. There'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 "message" 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'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></div></div><div class="im">_______________________________________________<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></div></blockquote></div><br></div>
</blockquote></div><br></div>