Apollo
6.0
Open source self driving car software
|
#include <scheduler_choreography.h>
Public Member Functions | |
bool | RemoveCRoutine (uint64_t crid) override |
bool | RemoveTask (const std::string &name) override |
bool | DispatchTask (const std::shared_ptr< CRoutine > &) override |
![]() | |
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 | |
Scheduler * | Instance () |
Additional Inherited Members | |
![]() | |
static Scheduler * | Instance () |
![]() | |
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_ |
|
overridevirtual |
Implements apollo::cyber::scheduler::Scheduler.
|
overridevirtual |
Implements apollo::cyber::scheduler::Scheduler.
|
overridevirtual |
Implements apollo::cyber::scheduler::Scheduler.
|
friend |