* Raises: timeout exception.*/
virtual Activity* wait(double timeout) = 0;
/** Cancel that activity */
- //virtual void cancel();
+ virtual Activity* cancel() = 0;
/** Retrieve the current state of the activity */
Activity::State get_state() { return state_; }
size_t get_dst_data_size();
bool test();
- Activity* cancel();
+ Activity* cancel() override;
/** Retrieve the mailbox on which this comm acts */
MailboxPtr get_mailbox();
Activity* start() override;
Activity* wait() override;
Activity* wait(double timeout) override;
+ Activity* cancel() override;
bool test();
ExecPtr set_priority(double priority);
return this;
}
+Activity* Exec::cancel()
+{
+ simcall_execution_cancel(pimpl_);
+ state_ = State::CANCELED;
+ return this;
+}
+
Activity* Exec::wait()
{
simcall_execution_wait(pimpl_);