Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
cartographer::common::Task Class Reference

#include <task.h>

List of all members.

Public Types

enum  State {
  NEW, DISPATCHED, DEPENDENCIES_COMPLETED, RUNNING,
  COMPLETED
}

Public Member Functions

void AddDependency (std::weak_ptr< Task > dependency) LOCKS_EXCLUDED(mutex_)
State GetState () LOCKS_EXCLUDED(mutex_)
void SetWorkItem (const WorkItem &work_item) LOCKS_EXCLUDED(mutex_)
 Task ()
 ~Task ()

Private Member Functions

void AddDependentTask (Task *dependent_task)
void Execute () LOCKS_EXCLUDED(mutex_)
WorkItem work_item_ GUARDED_BY (mutex_)
ThreadPoolInterface
*thread_pool_to_notify_ 
GUARDED_BY (mutex_)
State state_ GUARDED_BY (mutex_)
unsigned int
uncompleted_dependencies_ 
GUARDED_BY (mutex_)=0
std::set< Task * > dependent_tasks_ GUARDED_BY (mutex_)
void OnDependenyCompleted ()
void SetThreadPool (ThreadPoolInterface *thread_pool) LOCKS_EXCLUDED(mutex_)

Private Attributes

absl::Mutex mutex_

Friends

class ThreadPoolInterface

Detailed Description

Definition at line 31 of file task.h.


Member Enumeration Documentation

Enumerator:
NEW 
DISPATCHED 
DEPENDENCIES_COMPLETED 
RUNNING 
COMPLETED 

Definition at line 36 of file task.h.


Constructor & Destructor Documentation

Definition at line 22 of file task.cc.


Member Function Documentation

void cartographer::common::Task::AddDependency ( std::weak_ptr< Task dependency)

Definition at line 40 of file task.cc.

void cartographer::common::Task::AddDependentTask ( Task dependent_task) [private]

Definition at line 66 of file task.cc.

Definition at line 87 of file task.cc.

Definition at line 29 of file task.cc.

WorkItem work_item_ cartographer::common::Task::GUARDED_BY ( mutex_  ) [private]
ThreadPoolInterface* thread_pool_to_notify_ cartographer::common::Task::GUARDED_BY ( mutex_  ) [private]
unsigned int uncompleted_dependencies_ cartographer::common::Task::GUARDED_BY ( mutex_  ) [private, pure virtual]
std::set<Task*> dependent_tasks_ cartographer::common::Task::GUARDED_BY ( mutex_  ) [private]

Definition at line 76 of file task.cc.

Definition at line 54 of file task.cc.

void cartographer::common::Task::SetWorkItem ( const WorkItem &  work_item)

Definition at line 34 of file task.cc.


Friends And Related Function Documentation

friend class ThreadPoolInterface [friend]

Definition at line 33 of file task.h.


Member Data Documentation

absl::Mutex cartographer::common::Task::mutex_ [private]

Definition at line 70 of file task.h.


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


cartographer
Author(s): The Cartographer Authors
autogenerated on Thu May 9 2019 02:27:36