make reader_writer supporting non-blocking with time out