X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5ed37babb2fa9097abe82df299c0aa259ed84d5a..ebec9c6104a6bbe60b7bf4586baeaf0b88f53505:/src/s4u/s4u_Disk.cpp?ds=sidebyside diff --git a/src/s4u/s4u_Disk.cpp b/src/s4u/s4u_Disk.cpp index 5e5fea5f8b..c97f72bc00 100644 --- a/src/s4u/s4u_Disk.cpp +++ b/src/s4u/s4u_Disk.cpp @@ -17,7 +17,7 @@ namespace s4u { xbt::signal Disk::on_creation; xbt::signal Disk::on_destruction; -xbt::signal Disk::on_state_change; +xbt::signal Disk::on_onoff; const std::string& Disk::get_name() const { @@ -112,6 +112,16 @@ Disk* Disk::set_write_bandwidth_profile(kernel::profile::Profile* profile) [this, profile]() { this->pimpl_->set_write_bandwidth_profile(profile); }); return this; } +int Disk::get_concurrency_limit() const +{ + return pimpl_->get_concurrency_limit(); +} + +Disk* Disk::set_concurrency_limit(int limit) +{ + kernel::actor::simcall_object_access(pimpl_, [this, limit] { pimpl_->set_concurrency_limit(limit); }); + return this; +} IoPtr Disk::io_init(sg_size_t size, Io::OpType type) const { @@ -120,38 +130,38 @@ IoPtr Disk::io_init(sg_size_t size, Io::OpType type) const IoPtr Disk::read_async(sg_size_t size) const { - return IoPtr(io_init(size, Io::OpType::READ))->vetoable_start(); + return IoPtr(io_init(size, Io::OpType::READ))->start(); } sg_size_t Disk::read(sg_size_t size) const { - return IoPtr(io_init(size, Io::OpType::READ))->vetoable_start()->wait()->get_performed_ioops(); + return IoPtr(io_init(size, Io::OpType::READ))->start()->wait()->get_performed_ioops(); } sg_size_t Disk::read(sg_size_t size, double priority) const { return IoPtr(io_init(size, Io::OpType::READ)) ->set_priority(priority) - ->vetoable_start() + ->start() ->wait() ->get_performed_ioops(); } IoPtr Disk::write_async(sg_size_t size) const { - return IoPtr(io_init(size, Io::OpType::WRITE)->vetoable_start()); + return IoPtr(io_init(size, Io::OpType::WRITE)->start()); } sg_size_t Disk::write(sg_size_t size) const { - return IoPtr(io_init(size, Io::OpType::WRITE))->vetoable_start()->wait()->get_performed_ioops(); + return IoPtr(io_init(size, Io::OpType::WRITE))->start()->wait()->get_performed_ioops(); } sg_size_t Disk::write(sg_size_t size, double priority) const { return IoPtr(io_init(size, Io::OpType::WRITE)) ->set_priority(priority) - ->vetoable_start() + ->start() ->wait() ->get_performed_ioops(); }