Class CacheBufferInterface
Defined in File cache_buffer_interface.hpp
Inheritance Relationships
Derived Types
public rosbag2_cpp::cache::MessageCacheBuffer
(Class MessageCacheBuffer)public rosbag2_cpp::cache::MessageCacheCircularBuffer
(Class MessageCacheCircularBuffer)
Class Documentation
-
class CacheBufferInterface
This class provides the interface for all CacheBuffer implementations. The role of these buffers is store messages that are received via topic subscriptions before they are written to the bagfile.
Any class that implements CacheBufferInterface is reponsible for handling synchronization that is needed for the buffer to operate properly.
Subclassed by rosbag2_cpp::cache::MessageCacheBuffer, rosbag2_cpp::cache::MessageCacheCircularBuffer
Public Types
-
using buffer_element_t = std::shared_ptr<const rosbag2_storage::SerializedBagMessage>
Public Functions
-
inline virtual ~CacheBufferInterface()
-
virtual bool push(buffer_element_t msg) = 0
Pushes a SerializedBagMessage into the cache buffer.
- Parameters:
msg – SerializedBagMessage to add to the buffer.
- Returns:
whether message was successfully added to the cache.
-
virtual void clear() = 0
Clears the buffer by removing all remaining messages.
-
virtual size_t size() = 0
Check the buffer message count.
- Returns:
number of elements in the buffer.
-
virtual const std::vector<buffer_element_t> &data() = 0
Get the data/messages stored in the buffer. This should only be called once no more messages are being added to the buffer.
- Returns:
a vector containing messages in the buffer.
-
using buffer_element_t = std::shared_ptr<const rosbag2_storage::SerializedBagMessage>