Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
BT::PublisherZMQ Class Reference

#include <bt_zmq_publisher.h>

Inheritance diagram for BT::PublisherZMQ:
Inheritance graph
[legend]

Classes

struct  Pimpl
 

Public Member Functions

 PublisherZMQ (const BT::Tree &tree, unsigned max_msg_per_second=25, unsigned publisher_port=1666, unsigned server_port=1667)
 
virtual ~PublisherZMQ ()
 
- Public Member Functions inherited from BT::StatusChangeLogger
bool enabled () const
 
void enableTransitionToIdle (bool enable)
 
void setEnabled (bool enabled)
 
void setTimestampType (TimestampType type)
 
bool showsTransitionToIdle () const
 
 StatusChangeLogger (TreeNode *root_node)
 
virtual ~StatusChangeLogger ()=default
 

Private Member Functions

virtual void callback (Duration timestamp, const TreeNode &node, NodeStatus prev_status, NodeStatus status) override
 
void createStatusBuffer ()
 
virtual void flush () override
 

Private Attributes

std::atomic_bool active_server_
 
TimePoint deadline_
 
std::chrono::microseconds min_time_between_msgs_
 
std::mutex mutex_
 
std::condition_variable send_condition_variable_
 
std::future< void > send_future_
 
std::atomic_bool send_pending_
 
std::vector< uint8_t > status_buffer_
 
std::thread thread_
 
std::vector< SerializedTransitiontransition_buffer_
 
const BT::Treetree_
 
std::vector< uint8_t > tree_buffer_
 
Pimplzmq_
 

Static Private Attributes

static std::atomic< bool > ref_count
 

Detailed Description

Definition at line 10 of file bt_zmq_publisher.h.

Constructor & Destructor Documentation

◆ PublisherZMQ()

BT::PublisherZMQ::PublisherZMQ ( const BT::Tree tree,
unsigned  max_msg_per_second = 25,
unsigned  publisher_port = 1666,
unsigned  server_port = 1667 
)

Definition at line 20 of file bt_zmq_publisher.cpp.

◆ ~PublisherZMQ()

BT::PublisherZMQ::~PublisherZMQ ( )
virtual

Definition at line 86 of file bt_zmq_publisher.cpp.

Member Function Documentation

◆ callback()

void BT::PublisherZMQ::callback ( Duration  timestamp,
const TreeNode node,
NodeStatus  prev_status,
NodeStatus  status 
)
overrideprivatevirtual

Implements BT::StatusChangeLogger.

Definition at line 117 of file bt_zmq_publisher.cpp.

◆ createStatusBuffer()

void BT::PublisherZMQ::createStatusBuffer ( )
private

Definition at line 104 of file bt_zmq_publisher.cpp.

◆ flush()

void BT::PublisherZMQ::flush ( )
overrideprivatevirtual

Implements BT::StatusChangeLogger.

Definition at line 142 of file bt_zmq_publisher.cpp.

Member Data Documentation

◆ active_server_

std::atomic_bool BT::PublisherZMQ::active_server_
private

Definition at line 32 of file bt_zmq_publisher.h.

◆ deadline_

TimePoint BT::PublisherZMQ::deadline_
private

Definition at line 37 of file bt_zmq_publisher.h.

◆ min_time_between_msgs_

std::chrono::microseconds BT::PublisherZMQ::min_time_between_msgs_
private

Definition at line 30 of file bt_zmq_publisher.h.

◆ mutex_

std::mutex BT::PublisherZMQ::mutex_
private

Definition at line 38 of file bt_zmq_publisher.h.

◆ ref_count

std::atomic< bool > BT::PublisherZMQ::ref_count
staticprivate

Definition at line 12 of file bt_zmq_publisher.h.

◆ send_condition_variable_

std::condition_variable BT::PublisherZMQ::send_condition_variable_
private

Definition at line 40 of file bt_zmq_publisher.h.

◆ send_future_

std::future<void> BT::PublisherZMQ::send_future_
private

Definition at line 41 of file bt_zmq_publisher.h.

◆ send_pending_

std::atomic_bool BT::PublisherZMQ::send_pending_
private

Definition at line 39 of file bt_zmq_publisher.h.

◆ status_buffer_

std::vector<uint8_t> BT::PublisherZMQ::status_buffer_
private

Definition at line 28 of file bt_zmq_publisher.h.

◆ thread_

std::thread BT::PublisherZMQ::thread_
private

Definition at line 33 of file bt_zmq_publisher.h.

◆ transition_buffer_

std::vector<SerializedTransition> BT::PublisherZMQ::transition_buffer_
private

Definition at line 29 of file bt_zmq_publisher.h.

◆ tree_

const BT::Tree& BT::PublisherZMQ::tree_
private

Definition at line 26 of file bt_zmq_publisher.h.

◆ tree_buffer_

std::vector<uint8_t> BT::PublisherZMQ::tree_buffer_
private

Definition at line 27 of file bt_zmq_publisher.h.

◆ zmq_

Pimpl* BT::PublisherZMQ::zmq_
private

Definition at line 43 of file bt_zmq_publisher.h.


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


behaviortree_cpp_v3
Author(s): Michele Colledanchise, Davide Faconti
autogenerated on Mon Jul 3 2023 02:50:15