ROS 2 rclcpp + rcl - jazzy  jazzy
ROS 2 C++ Client Library with ROS Client Library
Public Member Functions | List of all members
rclcpp::executors::cbg_executor::FirstInFirstOutScheduler Class Reference
Inheritance diagram for rclcpp::executors::cbg_executor::FirstInFirstOutScheduler:
Inheritance graph
[legend]
Collaboration diagram for rclcpp::executors::cbg_executor::FirstInFirstOutScheduler:
Collaboration graph
[legend]

Public Member Functions

ExecutableEntityWithInfo get_next_ready_entity_intern () final
 
ExecutableEntityWithInfo get_next_ready_entity_intern (GlobalEventIdProvider::MonotonicId max_id) final
 
 CBGScheduler (std::function< void()> sync_function)
 
 CBGScheduler (const CBGScheduler &)=delete
 
 CBGScheduler (CBGScheduler &&)=delete
 
- Public Member Functions inherited from rclcpp::executors::cbg_executor::CBGScheduler
 CBGScheduler (std::function< void()> sync_function)
 
 CBGScheduler (const CBGScheduler &)=delete
 
 CBGScheduler (CBGScheduler &&)=delete
 
CBGScheduleroperator= (const CBGScheduler &)=delete
 
CBGScheduleroperator= (CBGScheduler &&)=delete
 
CallbackGroupHandleadd_callback_group (const rclcpp::CallbackGroup::SharedPtr &callback_group)
 
void remove_callback_group (const CallbackGroupHandle *callback_handle)
 
void callback_group_ready (CallbackGroupHandle *handle, bool callback_group_was_idle)
 
ExecutableEntityWithInfo get_next_ready_entity ()
 
ExecutableEntityWithInfo get_next_ready_entity (GlobalEventIdProvider::MonotonicId max_id)
 
void trigger_sync ()
 
void mark_entity_as_executed (const ExecutableEntity &e)
 
void unblock_one_worker_thread ()
 
void block_worker_thread ()
 
void block_worker_thread_for (std::chrono::nanoseconds timeout)
 
void release_all_worker_threads ()
 

Additional Inherited Members

- Protected Attributes inherited from rclcpp::executors::cbg_executor::CBGScheduler
std::function< void()> sync_function
 
bool needs_sync = false
 
std::mutex ready_callback_groups_mutex
 
std::deque< CallbackGroupHandle * > ready_callback_groups
 
bool release_workers = false
 
bool release_worker_once = false
 
std::condition_variable work_ready_conditional
 
std::list< std::unique_ptr< CallbackGroupHandle > > callback_groups
 

Detailed Description

Definition at line 64 of file first_in_first_out_scheduler.hpp.

Member Function Documentation

◆ CBGScheduler()

rclcpp::executors::cbg_executor::CBGScheduler::CBGScheduler
inlineexplicit
Parameters
sync_functionA special purpose sync function, that shall be executed with high priority if triggered by trigger_sync();

Definition at line 182 of file scheduler.hpp.


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