27 #ifndef EMBB_MTAPI_TASK_H_ 28 #define EMBB_MTAPI_TASK_H_ 30 #include <embb/mtapi/c/mtapi.h> 31 #include <embb/mtapi/internal/check_status.h> 58 ) : handle_(other.handle_) {
69 handle_ = other.handle_;
87 mtapi_timeout_t timeout
90 mtapi_status_t status;
101 mtapi_status_t status;
111 mtapi_status_t status;
113 internal::CheckStatus(status);
128 explicit Task(mtapi_task_hndl_t handle)
133 mtapi_task_hndl_t handle_;
143 #endif // EMBB_MTAPI_TASK_H_ Definition: lock_free_mpmc_queue.h:40
A singleton representing the MTAPI runtime.
Definition: node.h:70
void mtapi_task_wait(const mtapi_task_hndl_t task, const mtapi_timeout_t timeout, mtapi_status_t *status)
This function waits for the completion of the specified task.
mtapi_status_t Wait(mtapi_timeout_t timeout)
Waits for Task to finish for timeout milliseconds.
Definition: task.h:86
Task()
Constructs an invalid Task.
Definition: task.h:47
void Cancel()
Signals the Task to cancel computation.
Definition: task.h:110
mtapi_status_t Wait()
Waits for Task to finish.
Definition: task.h:100
Allows for stream processing, either ordered or unordered.
Definition: queue.h:52
void operator=(Task const &other)
Copies a Task.
Definition: task.h:66
mtapi_task_hndl_t GetInternal() const
Returns the internal representation of this object.
Definition: task.h:123
Task(Task const &other)
Copies a Task.
Definition: task.h:56
~Task()
Destroys a Task.
Definition: task.h:76
Represents a facility to wait for multiple related Tasks.
Definition: group.h:52
A Task represents a running Action of a specific Job.
Definition: task.h:41
void mtapi_task_cancel(const mtapi_task_hndl_t task, mtapi_status_t *status)
This function cancels a task and sets the task status to MTAPI_TASK_CANCELLED.