Non blocking is not async IO. It is not really possible to perform zero copy IO with non blocking IO semantics, you must have full async IO to issue multiple pending requests.

Brian Akins wrote:
Phillip Susi wrote:

As an alternative, you can bypass the cache and do direct async IO to the disk with zero copies. IIRC, this is supported on linux with the O_DIRECT flag. Doing this though, means that you will need to handle caching yourself, which might not be such a good idea. Does Linux not support O_DIRECT on sockets?


Can you not just set the socket to non-blocking using O_NONBLOCK?


Reply via email to