Struct Buffer::Impl

Nested Relationships

This struct is a nested type of Template Class Buffer.

Nested Types

Struct Documentation

struct Impl

Public Functions

inline Impl(Buffer *parent, BufferPolicy policy, std::size_t max_queue_size) noexcept
inline void adjust_capacity(std::size_t max_queue_size)
inline void insert_queue_element(std::unique_lock<std::mutex> &lock, QueueElement &e)
template<class NodeT>
inline void set_node(std::unique_lock<std::mutex> &lock, NodeT &&node)
inline bool wait_for_queue_element(std::unique_lock<std::mutex> &lock) noexcept
template<class Rep, class Period>
inline bool wait_for_queue_element(std::unique_lock<std::mutex> &lock, const std::chrono::duration<Rep, Period> &timeout) noexcept

Public Members

BufferCB::SharedPtr callback_
rclcpp::CallbackGroup::SharedPtr callback_group_
std::condition_variable cond_
std::size_t max_queue_size_
std::mutex mutex_
rclcpp::node_interfaces::NodeBaseInterface::SharedPtr node_base_
rclcpp::node_interfaces::NodeWaitablesInterface::SharedPtr node_waitable_
Buffer *parent_
BufferPolicy policy_
std::deque<QueueElement> queue_
class BufferCB : public rclcpp::Waitable

Public Types

using SharedPtr = std::shared_ptr<BufferCB>

Public Functions

inline explicit BufferCB(Impl *impl)
inline ~BufferCB()
inline void add_to_wait_set(rcl_wait_set_t &wait_set) override
inline void clear_on_ready_callback() override
inline void execute(const std::shared_ptr<void>&) override
inline std::size_t get_number_of_ready_guard_conditions() override
inline std::vector<std::shared_ptr<rclcpp::TimerBase>> get_timers() const override
inline bool is_ready(const rcl_wait_set_t&) override
inline void set_on_ready_callback(std::function<void(std::size_t, int)>) override
inline std::shared_ptr<void> take_data() override
inline std::shared_ptr<void> take_data_by_entity_id(std::size_t id) override
inline void trigger()