Currently file_req::read is allocate buffer memory with std::unique_ptr, hopefully allow user allocate it.