- explicit IoImpl(std::string name, resource::Action* surf_action, s4u::Storage* storage);
-
-public:
- void suspend() override;
- void resume() override;
+ IoImpl& set_size(sg_size_t size);
+ IoImpl& set_type(s4u::Io::OpType type);
+ IoImpl& set_storage(resource::StorageImpl* storage);
+ IoImpl& set_disk(resource::DiskImpl* disk);
+
+ void set_timeout_detector(resource::Action* action)
+ {
+ timeout_detector_ = action;
+ timeout_detector_->set_activity(this);
+ }
+
+ sg_size_t get_performed_ioops() { return performed_ioops_; }
+ resource::DiskImpl* get_disk() { return disk_; }
+ resource::StorageImpl* get_storage() { return storage_; }
+
+ IoImpl* start();