Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::Task Class Referenceabstract

Generic parallel task. More...

#include <duckdb.hpp>

Inheritance diagram for duckdb::Task:
Collaboration diagram for duckdb::Task:

Public Member Functions

virtual TaskExecutionResult Execute (TaskExecutionMode mode)=0
 
virtual void Deschedule ()
 
virtual void Reschedule ()
 Ensures a task is rescheduled to the correct queue.
 
virtual bool TaskBlockedOnResult () const
 
virtual string TaskType () const
 
- Public Member Functions inherited from duckdb::enable_shared_from_this< Task >
shared_ptr< Taskshared_from_this ()
 
shared_ptr< Task constshared_from_this () const
 

Public Attributes

optional_ptr< ProducerTokentoken
 

Additional Inherited Members

- Protected Member Functions inherited from duckdb::enable_shared_from_this< Task >
 enable_shared_from_this (enable_shared_from_this const &) noexcept
 
enable_shared_from_thisoperator= (enable_shared_from_this const &) noexcept
 

Detailed Description

Generic parallel task.

Constructor & Destructor Documentation

◆ ~Task()

virtual duckdb::Task::~Task ( )
inlinevirtual
21793 {
21794 }

Member Function Documentation

◆ Execute()

virtual TaskExecutionResult duckdb::Task::Execute ( TaskExecutionMode  mode)
pure virtual

Execute the task in the specified execution mode If mode is PROCESS_ALL, Execute should always finish processing and return TASK_FINISHED If mode is PROCESS_PARTIAL, Execute can return TASK_NOT_FINISHED, in which case Execute will be called again In case of an error, TASK_ERROR is returned In case the task has interrupted, BLOCKED is returned.

Implemented in duckdb::ExecutorTask.

◆ Deschedule()

virtual void duckdb::Task::Deschedule ( )
inlinevirtual

Descheduling a task ensures the task is not executed, but remains available for rescheduling as long as required, generally until some code in an operator calls the InterruptState::Callback() method of a state of the InterruptMode::TASK mode.

Reimplemented in duckdb::ExecutorTask.

21807 {
21808 throw InternalException("Cannot deschedule task of base Task class");
21809 };

◆ Reschedule()

virtual void duckdb::Task::Reschedule ( )
inlinevirtual

Ensures a task is rescheduled to the correct queue.

Reimplemented in duckdb::ExecutorTask.

21812 {
21813 throw InternalException("Cannot reschedule task of base Task class");
21814 }

◆ TaskBlockedOnResult()

virtual bool duckdb::Task::TaskBlockedOnResult ( ) const
inlinevirtual
21816 {
21817 return false;
21818 }

◆ TaskType()

virtual string duckdb::Task::TaskType ( ) const
inlinevirtual
21820 {
21821 return "UnnamedTask";
21822 }

The documentation for this class was generated from the following file: