Apollo  6.0
Open source self driving car software
Public Member Functions | Friends | List of all members
apollo::cyber::scheduler::SchedulerChoreography Class Reference

#include <scheduler_choreography.h>

Inheritance diagram for apollo::cyber::scheduler::SchedulerChoreography:
Inheritance graph
Collaboration diagram for apollo::cyber::scheduler::SchedulerChoreography:
Collaboration graph

Public Member Functions

bool RemoveCRoutine (uint64_t crid) override
 
bool RemoveTask (const std::string &name) override
 
bool DispatchTask (const std::shared_ptr< CRoutine > &) override
 
- Public Member Functions inherited from apollo::cyber::scheduler::Scheduler
virtual ~Scheduler ()
 
bool CreateTask (const RoutineFactory &factory, const std::string &name)
 
bool CreateTask (std::function< void()> &&func, const std::string &name, std::shared_ptr< DataVisitorBase > visitor=nullptr)
 
bool NotifyTask (uint64_t crid)
 
void Shutdown ()
 
uint32_t TaskPoolSize ()
 
void ProcessLevelResourceControl ()
 
void SetInnerThreadAttr (const std::string &name, std::thread *thr)
 
void CheckSchedStatus ()
 
void SetInnerThreadConfs (const std::unordered_map< std::string, InnerThread > &confs)
 

Friends

SchedulerInstance ()
 

Additional Inherited Members

- Static Public Member Functions inherited from apollo::cyber::scheduler::Scheduler
static SchedulerInstance ()
 
- Protected Member Functions inherited from apollo::cyber::scheduler::Scheduler
 Scheduler ()
 
- Protected Attributes inherited from apollo::cyber::scheduler::Scheduler
AtomicRWLock id_cr_lock_
 
AtomicHashMap< uint64_t, MutexWrapper * > id_map_mutex_
 
std::mutex cr_wl_mtx_
 
std::unordered_map< uint64_t, std::shared_ptr< CRoutine > > id_cr_
 
std::vector< std::shared_ptr< ProcessorContext > > pctxs_
 
std::vector< std::shared_ptr< Processor > > processors_
 
std::unordered_map< std::string, InnerThread > inner_thr_confs_
 
std::string process_level_cpuset_
 
uint32_t proc_num_ = 0
 
uint32_t task_pool_size_ = 0
 
std::atomic< bool > stop_
 

Member Function Documentation

◆ DispatchTask()

bool apollo::cyber::scheduler::SchedulerChoreography::DispatchTask ( const std::shared_ptr< CRoutine > &  )
overridevirtual

◆ RemoveCRoutine()

bool apollo::cyber::scheduler::SchedulerChoreography::RemoveCRoutine ( uint64_t  crid)
overridevirtual

◆ RemoveTask()

bool apollo::cyber::scheduler::SchedulerChoreography::RemoveTask ( const std::string &  name)
overridevirtual

Friends And Related Function Documentation

◆ Instance

Scheduler* Instance ( )
friend

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