Classes | Public Member Functions | Private Attributes | List of all members
rosbag_fancy::MessageQueue Class Reference

#include <message_queue.h>

Classes

struct  Message
 

Public Member Functions

uint64_t bytesInQueue () const
 
 MessageQueue (uint64_t byteLimit)
 
uint64_t messagesInQueue () const
 
boost::optional< Messagepop ()
 
bool push (const Message &msg)
 
void shutdown ()
 

Private Attributes

uint64_t m_byteLimit
 
std::atomic< std::uint64_t > m_bytesInQueue {0}
 
std::condition_variable m_cond
 
std::atomic< std::uint64_t > m_msgsInQueue {0}
 
std::mutex m_mutex
 
std::queue< Messagem_queue
 
bool m_shuttingDown {false}
 

Detailed Description

Definition at line 23 of file message_queue.h.

Constructor & Destructor Documentation

◆ MessageQueue()

rosbag_fancy::MessageQueue::MessageQueue ( uint64_t  byteLimit)
explicit

Definition at line 9 of file message_queue.cpp.

Member Function Documentation

◆ bytesInQueue()

uint64_t rosbag_fancy::MessageQueue::bytesInQueue ( ) const
inline

Definition at line 44 of file message_queue.h.

◆ messagesInQueue()

uint64_t rosbag_fancy::MessageQueue::messagesInQueue ( ) const
inline

Definition at line 47 of file message_queue.h.

◆ pop()

boost::optional< MessageQueue::Message > rosbag_fancy::MessageQueue::pop ( )

Definition at line 32 of file message_queue.cpp.

◆ push()

bool rosbag_fancy::MessageQueue::push ( const Message msg)

Definition at line 14 of file message_queue.cpp.

◆ shutdown()

void rosbag_fancy::MessageQueue::shutdown ( )

Definition at line 56 of file message_queue.cpp.

Member Data Documentation

◆ m_byteLimit

uint64_t rosbag_fancy::MessageQueue::m_byteLimit
private

Definition at line 56 of file message_queue.h.

◆ m_bytesInQueue

std::atomic<std::uint64_t> rosbag_fancy::MessageQueue::m_bytesInQueue {0}
private

Definition at line 54 of file message_queue.h.

◆ m_cond

std::condition_variable rosbag_fancy::MessageQueue::m_cond
private

Definition at line 52 of file message_queue.h.

◆ m_msgsInQueue

std::atomic<std::uint64_t> rosbag_fancy::MessageQueue::m_msgsInQueue {0}
private

Definition at line 55 of file message_queue.h.

◆ m_mutex

std::mutex rosbag_fancy::MessageQueue::m_mutex
private

Definition at line 51 of file message_queue.h.

◆ m_queue

std::queue<Message> rosbag_fancy::MessageQueue::m_queue
private

Definition at line 50 of file message_queue.h.

◆ m_shuttingDown

bool rosbag_fancy::MessageQueue::m_shuttingDown {false}
private

Definition at line 58 of file message_queue.h.


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


rosbag_fancy
Author(s):
autogenerated on Tue Feb 20 2024 03:20:59