-// Activity* Exec::wait()
-//{
-// simcall_execution_wait(pimpl_);
-// state_ = State::FINISHED;
-// return this;
-//}
-//
-// Activity* Exec::wait(double timeout)
-//{
-// THROW_UNIMPLEMENTED;
-// return this;
-//}
-//
-///** @brief Returns whether the state of the exec is finished */
-// bool Exec::test()
-//{
-// xbt_assert(state_ == State::INITED || state_ == State::STARTED || state_ == State::FINISHED);
-//
-// if (state_ == State::FINISHED)
-// return true;
-//
-// if (state_ == State::INITED)
-// this->start();
-//
-// if (simcall_execution_test(pimpl_)) {
-// state_ = State::FINISHED;
-// return true;
-// }
-//
-// return false;
-//}
+Io* Io::wait()
+{
+ simcall_io_wait(pimpl_);
+ state_ = State::FINISHED;
+ return this;
+}
+
+Io* Io::wait_for(double)
+{
+ THROW_UNIMPLEMENTED;
+}
+
+bool Io::test()
+{
+ xbt_assert(state_ == State::INITED || state_ == State::STARTED || state_ == State::FINISHED);
+
+ if (state_ == State::FINISHED)
+ return true;
+
+ if (state_ == State::INITED)
+ this->start();
+
+ THROW_UNIMPLEMENTED;
+
+ // return false
+}