Edit We are now using the aspnet core Kestrel webserver and concentrating our improvements there; which now for large requests is able to saturate a 10GbE network
And for small requests able to achieve over 2.5M RPS - but we are working on it!
I had to log in to the forums just to tell this high-speed networking thing was magnificent piece of work. As you may have noticed, the original CoreFX issue is cross-linked to Orleans.
Too bad I can spam only with two links. Let’s see…
… In any event, you write in Github (here) about hackiness and as I don’t know any other place to contribute even a minuscule amount of work, I hope I can provide here a few links worth consideration (and food for thoughts for anyone reading this even though this is like a wannabe-post).
SafeHandle: A Reliability Case Study
Constrained Execution Regions and other errata
Various SafeHandle types
Can I use SafeHandle instead of IntPtr?
One thing to derive from those is that, perhaps, one could (should?) wrap the IntPtrs to SafeHandle. For instance, the ones pointing to Socket to SafeHandleMinusOneIsInvalid (or to a derived one) as it looks like one should check for SOCKET_ERROR, which looks like defined to -1. The Orleans link may contain other interesting pointers, perhaps one is Microsoft.IO.RecycableMemoryStream.