Correctly respect isAutoRead() and make it consistent across OIO/NIO