It seems to me that your proposal doesn't achieve what is desired: The wish is to attempt to read the needed data in the non-blocking mode; should the data not be available, the request will be turned ...