+ enum class OpType { READ, WRITE };
+
+private:
+ Storage* storage_ = nullptr;
+ Disk* disk_ = nullptr;
+ sg_size_t size_ = 0;
+ OpType type_ = OpType::READ;
+ std::string name_ = "";
+ std::atomic_int_fast32_t refcount_{0};
+
+ explicit Io(sg_storage_t storage, sg_size_t size, OpType type);
+ explicit Io(sg_disk_t disk, sg_size_t size, OpType type);
+
+public:
+#ifndef DOXYGEN