85 #include "../impl/types.h"
115 int64_t min_cache_time{500};
116 int64_t max_cache_size{1024LL * 1024LL * 256};
117 int64_t max_jump_time{60LL * 60LL * 1000LL};
172 void on_output(std::unique_lock<std::mutex>& lock,
bool at_end);
176 void on_exec(
bool at_end);
179 std::unique_ptr<Impl> impl_;
Time-sorted relay buffer keyed on the data-plane time, shared by read- and write-side plugins.
Definition: bag_processor.h:97
void push(int64_t data_timestamp, const Frame &frame)
Inserts a frame into the data-plane-time-sorted cache.
void register_output_callback(OutputCallback &&output_callback)
Sets the sink receiving reordered frames and starts the worker thread.
void flush()
Synchronously drains every currently-buffered frame to the sink, in data-plane-time order.
~BagProcessor()
Drains remaining frames in data-plane-time order and joins the worker thread.
BagProcessor(const Config &config=Config())
Builds the processor.
Move-only type-erased callable analogue of std::move_only_function with pool spill.
Definition: functional.h:134
#define VLINK_EXPORT
Definition: macros.h:81
#define VLINK_DISALLOW_COPY_AND_ASSIGN(classname)
Deletes the copy constructor and copy-assignment operator of classname.
Definition: macros.h:174
MoveFunction< void(const Frame &)> FrameCallback
Frame sink reused by every bag frame interface.
Definition: types.h:247
Tunables controlling the reorder buffer behaviour.
Definition: bag_processor.h:114
Config()
Definition: bag_processor.h:119
One recorded or replayed message as it flows through the bag pipeline.
Definition: types.h:230