51 using WriterPtr = std::shared_ptr<Writer<message::RawMessage>>;
52 using WriterMap = std::unordered_map<std::string, WriterPtr>;
59 const bool preload_fill_buffer_mode =
false);
71 const double& total_time_s);
81 void Reset(
const double& progress_time_s);
84 bool ReadRecordInfo();
85 bool UpdatePlayParam();
87 bool CreatePlayTaskWriter(
const std::string& channel_name,
88 const std::string& msg_type);
90 void ThreadFuncUnderPreloadMode();
96 std::atomic<bool> is_initialized_;
97 std::atomic<bool> is_stopped_;
102 std::vector<RecordReaderPtr> record_readers_;
105 uint64_t earliest_begin_time_;
106 uint64_t latest_end_time_;
107 uint64_t total_msg_num_;
114 bool preload_fill_buffer_mode_;
116 static const uint32_t kMinTaskBufferSize;
117 static const uint32_t kPreloadTimeSec;
118 static const uint64_t kSleepIntervalNanoSec;