|
VLink 2.0.0
A high-performance communication middleware
|
Abstract base class for VLink bag file recording with split, compression and global writer support. 更多...
#include <chrono>#include <cstdint>#include <functional>#include <memory>#include <string>#include <string_view>#include <unordered_set>#include "../base/bytes.h"#include "../base/macros.h"#include "../base/message_loop.h"#include "../impl/types.h"类 | |
| class | vlink::BagWriter |
Abstract asynchronous message recorder backed by a MessageLoop event queue. 更多... | |
| struct | vlink::BagWriter::Config |
| Configuration for recording behaviour, splitting, compression, and limits. 更多... | |
命名空间 | |
| namespace | vlink |
Abstract base class for VLink bag file recording with split, compression and global writer support.
BagWriter is an abstract MessageLoop-based recorder that captures VLink messages (URL + serialisation type + payload) to a bag file. Concrete implementations are DatabaseWriter (SQLite-backed) and McapWriter (MCAP-format).
Key features:
MessageLoop queue.VLINK_BAG_PATH environment variable.create() selects the concrete implementation based on the file extension (.vcap / .vcapx -> McapWriter, otherwise -> DatabaseWriter).push() is thread-safe and non-blocking; recording is done on the loop thread.immediate flag bypasses the task queue and writes synchronously (use with care).