17 #ifndef CYBER_SCHEDULER_PROCESSOR_H_ 18 #define CYBER_SCHEDULER_PROCESSOR_H_ 21 #include <condition_variable> 28 #include "cyber/proto/scheduler_conf.pb.h" 37 using croutine::CRoutine;
52 void BindContext(
const std::shared_ptr<ProcessorContext>& context);
53 std::thread*
Thread() {
return &thread_; }
54 std::atomic<pid_t>& Tid();
59 std::shared_ptr<ProcessorContext> context_;
61 std::condition_variable cv_ctx_;
62 std::once_flag thread_flag_;
66 std::atomic<pid_t> tid_{-1};
67 std::atomic<bool> running_{
false};
69 std::shared_ptr<Snapshot> snap_shot_ = std::make_shared<Snapshot>();
76 #endif // CYBER_SCHEDULER_PROCESSOR_H_ PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Definition: processor.h:39
std::shared_ptr< Snapshot > ProcSnapshot()
Definition: processor.h:56
std::string routine_name
Definition: processor.h:42
Definition: processor.h:45
std::atomic< uint64_t > execute_start_time
Definition: processor.h:40
std::atomic< pid_t > processor_id
Definition: processor.h:41
std::thread * Thread()
Definition: processor.h:53