85 std::function<void(int64_t timestamp,
const std::string& url,
ActionType action_type,
const Bytes& data)>;
138 void on_output(std::unique_lock<std::mutex>& lock);
142 void on_exec(
bool at_end);
144 std::unique_ptr<struct BagReaderProcessorImpl> impl_;
Versatile byte buffer with small-buffer optimisation, ownership semantics and compression.
~BagReaderProcessor()
Destructor – flushes remaining cached messages and stops the processing thread.
void register_output_callback(OutputCallback &&output_callback)
Registers the callback that receives time-ordered messages.
std::function< void(int64_t timestamp, const std::string &url, ActionType action_type, const Bytes &data)> OutputCallback
Callback type fired for each message in timestamp order.
定义 bag_reader_processor.h:84
void push(int64_t timestamp, const std::string &url, ActionType action_type, const Bytes &data)
Pushes a message into the time-ordered cache.
BagReaderProcessor(const Config &config=Config())
Constructs the processor with the given config.
Versatile 128-byte byte buffer with SBO, five ownership modes and compression helpers.
定义 bytes.h:113
#define VLINK_EXPORT
定义 macros.h:85
ActionType
Identifies the type of message action for recording purposes.
定义 types.h:162
Configuration for the time-ordered message cache.
定义 bag_reader_processor.h:91
int64_t max_cache_size
Maximum cache size in bytes (256 MiB).
定义 bag_reader_processor.h:93
int64_t min_cache_time
Minimum cache time in milliseconds before flushing.
定义 bag_reader_processor.h:92
Config()
定义 bag_reader_processor.h:95
Core type definitions shared across all VLink node implementations.