<div dir="ltr">I have pushed my changes to RabbitMQ client for .NET for it to work in a Windows 8 Store / WinRT environment. It includes a basic Windows Store application that connects to the specified amqp URL and subscribes to messages. By pressing a button, messages can be sent to the RabbitMQ server and will then be received by the subscription and displayed in a list.<div>
<br></div><div>The unit tests had to be copied and ported to MSTest because NUnit doesn't deploy to an app container and some of the WinRT APIs require that. Specifically getting the protocol from application configuration.</div>
<div><br></div><div style>I added a Subscription.NextAsync() and modified the SharedQueue to handle a Task based DequeueAsync efficiently. This allows the main GUI loop to wait for a message without a separate thread. These changes will only be compiled in if the project is a Windows Store App (which defines NETFX_CORE).</div>
<div style><br></div><div style>The SSL code is un-tested and probably broken. The reason for the change is that the WinRT StreamSocket API handles the SSL internally and doesn't let the client code do as much as with the previous Socket implementation. If someone with experience with SSL can take a look and test it, that would be great. </div>
<div style><br></div><div style>Please take a look here:</div><div style><a href="https://bitbucket.org/nathanbrown/rabbitmq-dotnet-client/commits/branch/WinStore">https://bitbucket.org/nathanbrown/rabbitmq-dotnet-client/commits/branch/WinStore</a><br>
</div><div style><br></div><div style>It doesn't appear that the NuGet package creation is in this repository, so I was unable to make any changes to that.</div><div style><br></div><div style>Let me know of any feedback you have.</div>
<div style><br></div><div style>Thanks,</div><div style><br></div><div style>Nathan Brown</div><div style><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 25, 2013 at 10:29 AM, Nathan Brown <span dir="ltr"><<a href="mailto:nathan@nkbrown.us" target="_blank">nathan@nkbrown.us</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Accidentally sent the message before I finished.<div><br></div><div>My questions were:</div><div><br></div>
<div>Is there any feedback on the code I've submitted so far?<div><br></div><div>For the Windows 8 changes; How should I deal with the split in the codebase? Should I use conditional compilation like #ifdef NETFX_CORE, or use copies of the files that change and links for the ones that don't? I personally think that conditional compilation for most changes and only separate files for the ones that change a lot (like SSL handling) is the best option.</div>
</div><div><br></div><div>Thanks,</div><div><br></div><div>Nathan</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 25, 2013 at 10:22 AM, Nathan Brown <span dir="ltr"><<a href="mailto:nathan@nkbrown.us" target="_blank">nathan@nkbrown.us</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I've submitted the contributor agreement, and I hope the submitted changes can now be reviewed and considered for main-line inclusion.<div>
<br></div><div>Emile mentioned that this is now under "bug25552", should I re-base my code to the most recent .net client release and set the branch name to match?</div>
<div><br></div><div>Also, there are really the separate changes that could be made independently:</div><div><ul><li><a href="https://bitbucket.org/nathanbrown/rabbitmq-dotnet-client/commits/25988f1d5bea8ad86aed536edd4d4fe1826ac43f" target="_blank">Corrected test to pull correct value types from dictionary.</a><br>
</li><li>Move from non-generic dictionary (.net 1.1) to generic dictionary, required, but independent of the next change. This is my <a href="https://bitbucket.org/nathanbrown/rabbitmq-dotnet-client/commits/branch/depreciate1_1" target="_blank">"depreciate1_1" branch</a>.</li>
<li>Add Windows 8/RT code to handle differences in threads and sockets.</li><li>Threads are removed in favor of Tasks, and sockets have been removed in favor of StreamSockts</li></ul><div>*</div><div><br></div>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div>On Sat, May 11, 2013 at 2:05 PM, Michael Klishin <span dir="ltr"><<a href="mailto:michael.s.klishin@gmail.com" target="_blank">michael.s.klishin@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 dir="ltr"><div class="gmail_extra"><div>2013/5/12 Nathan Brown <span dir="ltr"><<a href="mailto:nathan@nkbrown.us" target="_blank">nathan@nkbrown.us</a>></span><br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
I'm also not familiar with setting up and testing SSL in RabbitMQ.</blockquote></div><br></div>Take a look at <a href="http://rabbitmq.com/ssl.html" target="_blank">http://rabbitmq.com/ssl.html</a><span><font color="#888888"><br>
-- <br>MK<br><br><a href="http://github.com/michaelklishin" target="_blank">http://github.com/michaelklishin</a><br>
<a href="http://twitter.com/michaelklishin" target="_blank">http://twitter.com/michaelklishin</a><br>
</font></span></div></div>
<br></div></div>_______________________________________________<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>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>