I'm looking to do non-blocking io on Windows anonymous pipes. This is a .NET project so I plan on using managed classes if possible. I see that .NET does have an AnonymousPipeServerStream and an AnonymousPipeClientStream. I see both BeginRead()/BeginWrite() and ReadAsync()/WriteAsync() methods. However from:
it says:
"Asynchronous (overlapped) read and write operations are not supported by anonymous pipes. This means that you cannot use the ReadFileEx and WriteFileEx functions with anonymous pipes. In addition, the lpOverlapped parameter of ReadFile and WriteFile is ignored when these functions are used with anonymous pipes."
So I'm wondering how the managed asynchronous methods work? Are they implemented as synchronous methods which are run on an io worker thread? If so, wouldn't that be a problem if I end up blocking several io worker threads?
Thanks, Nick