<div dir="ltr">Hello,<div><br></div><div>On the surface, it sounds like an interesting idea and I would love to see someone prototype this.   </div><div><br></div><div>Today our async methods on the socket class delegate the waiting and waiting/wakeup capabilities to the C runtime and there they use a per-platform dispatching system (epoll, kqueue or regular poll depending on the platform).</div>
<div><br></div><div>Miguel</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 15, 2014 at 9:22 AM, Roope Kangas <span dir="ltr"><<a href="mailto:roope@grandcrugames.com" target="_blank">roope@grandcrugames.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>Hi,</div><div><br></div><div>On a tangent...</div><div><br></div><div>It would be really nice if something like libuv would the thing behind Socket code.</div>
<div><br></div><div>Could that be something to investigate?</div><div><br></div><div>Mono could basically piggyback on nodejs development.</div><div><br></div><div>--</div><div>Roope Kangas</div><div><div class="h5"><div>
<br>On 15.5.2014, at 15.00, Greg Young <<a href="mailto:gregoryyoung1@gmail.com" target="_blank">gregoryyoung1@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">So the one issue I have seen with the libevent implementation is that it seems to perform very poorly in windows (+-5k hello worlds/second where as its closer to 100k/second in linux). From researching libevent they supposedly now use IOCP in windows and should be better but I have not been able to make this happen. It may also be worth looking at libuv which is pretty close to a drop in replacement for libevent as it seems to get much better performance in windows and similar performance in linux. @Nikita I will hopefully have some time next week and likely will send some more pull requests in relation to the memory allocation patterns.</div>

<div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 15, 2014 at 6:56 AM, Miguel de Icaza <span dir="ltr"><<a href="mailto:miguel@xamarin.com" target="_blank">miguel@xamarin.com</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">Hello Nikita!<div><br></div><div>Your approach looks fabulous!   I look forward to trying it out!</div>
<span><font color="#888888"><div>
<br></div><div>Miguel</div></font></span></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 14, 2014 at 11:40 AM, Nikita Tsukanov <span dir="ltr"><<a href="mailto:keks9n@gmail.com" target="_blank">keks9n@gmail.com</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"><div><div>I'll try to implement OWIN host on top of my libevent built-in http server ( <a href="https://github.com/kekekeks/evhttp-sharp" target="_blank">https://github.com/kekekeks/evhttp-sharp</a> ) since for now it's the fastest thing for handling HTTP-requests on Mono I know (now it has host implementation for NancyFx which we are using in production for half of a year).<br>



</div><div><span>Although both evhttp-sharp and FastCGI servers like HyperFastCGI and Fos, are incapable of serving websockets (one because of underlying implementation, another because of limitations of FastCGI protocol), so it would be great to wrap something like <a href="https://github.com/kekekeks/evhttp-sharp" target="_blank">https://github.com/kekekeks/evhttp-sharp</a> which has websocket support and positioned as evhttp drop-in replacement.<br>



</span></div><div><br></div>Regards,<br></div>Nikita<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-05-14 19:29 GMT+04:00 Marcelo Zabani <span dir="ltr"><<a href="mailto:mzabani@gmail.com" target="_blank">mzabani@gmail.com</a>></span>:<div>


<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Wow! This is such great news!!<div><br></div><div>As for running Owin applications with Unix HTTP servers, I've developed <a href="http://github.com/mzabani/Fos" target="_blank">Fos</a> on a very permissive license and a focus on good documentation and running with Mono on *nix. I would very much love getting contributions on this, because my spare time is running lower these days.</div>




<div><br></div><div>Hope it helps,</div><div>Marcelo.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 14, 2014 at 12:44 AM, Miguel de Icaza <span dir="ltr"><<a href="mailto:miguel@xamarin.com" target="_blank">miguel@xamarin.com</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">Hello guys!<div><br></div><div>Microsoft has open sourced <a href="http://ASP.NET" target="_blank">ASP.NET</a> vNext:</div>




<div><br></div><div><a href="http://github.com/aspnet/home" target="_blank">http://github.com/aspnet/home</a></div><div>
<br></div><div>This is an entire new web stack that only needs the core of Mono (does not even use System.Web.dll!).</div><div><br></div><div>So these are of course great news, because (a) The core Mono has been in active development, and (b) that means that Mono's on the server can be used without all those pesky limitations that have been plaguing us for years.</div>





<div><br></div><div>So we ran into a couple of limitations in Mono: some classes that they need are not implemented (I filed a bug, and a couple of Xamarin folks decided to take on that on their copious spare time) and we have a couple of bugs on FileSystemWatcher on OSX.</div>





<div><br></div><div>But this is a great time to:</div><div><ul><li>Get involved with the <a href="http://github.com/aspnet" target="_blank">github.com/aspnet</a> project and submit contributions that will make the software run on Unix.<br>





<br></li><li>Look into technologies like Owin and Katana (sp?) and help us have a story that plugs into Unix HTTP servers (the equivalent of our bridge between Apache and mono: mod_mono, or our Fast CGI bridge to mono).<br>





<br></li><li>Take Mono's new profiling tools and performance counters for a spin and help us fine tune the runtime to run .NET code faster on Unix than you can on Windows.  While this is a tall order, my friend David Miller would expect nothing less from us.</li>





</ul><div>Hugs and love,</div></div><div>Miguel</div></div>
<br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Studying for the Turing test</div>
</div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Mono-devel-list mailing list</span><br><span><a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a></span><br>
<span><a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a></span><br></div></blockquote></div></div></div><br>_______________________________________________<br>

Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br></div>