namespace kernel {
namespace activity {
+IoImpl& IoImpl::set_timeout(double timeout)
+{
+ s4u::Host* host = get_disk() ? get_disk()->get_host() : s4u::Host::by_name(get_storage()->get_host());
+ timeout_detector_ = host->pimpl_cpu->sleep(timeout);
+ timeout_detector_->set_activity(this);
+ return *this;
+}
+
IoImpl& IoImpl::set_type(s4u::Io::OpType type)
{
type_ = type;
finish();
else {
/* we need a sleep action (even when there is no timeout) to be notified of host failures */
- if (get_disk() != nullptr)
- set_timeout_detector(get_disk()->get_host()->pimpl_cpu->sleep(timeout));
- else
- set_timeout_detector(simgrid::s4u::Host::by_name(get_storage()->get_host())->pimpl_cpu->sleep(timeout));
+ set_timeout(timeout);
}
}