Convert log_edit over to QueueSpan
The QueueSizedFlatbuffer methods are going away. Instead, use the
slightly slower and simpler QueueSpan method. This is a debug tool,
so we don't really care about performance.
Change-Id: I137ac567ab1042dff764431f631fa25a164b126a
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/aos/events/logging/log_edit.cc b/aos/events/logging/log_edit.cc
index 78d5eff..b0f8ba5 100644
--- a/aos/events/logging/log_edit.cc
+++ b/aos/events/logging/log_edit.cc
@@ -22,17 +22,20 @@
gflags::SetUsageMessage(R"(This tool lets us manipulate log files.)");
aos::InitGoogle(&argc, &argv);
- std::string header =
+ std::string header_json_path =
FLAGS_header.empty() ? (FLAGS_logfile + "_header.json") : FLAGS_header;
if (FLAGS_replace) {
- const ::std::string header_json = aos::util::ReadFileToStringOrDie(header);
+ const ::std::string header_json =
+ aos::util::ReadFileToStringOrDie(header_json_path);
flatbuffers::FlatBufferBuilder fbb;
fbb.ForceDefaults(true);
- flatbuffers::Offset<aos::logger::LogFileHeader> header =
+ flatbuffers::Offset<aos::logger::LogFileHeader> header_offset =
aos::JsonToFlatbuffer<aos::logger::LogFileHeader>(header_json, &fbb);
- fbb.FinishSizePrefixed(header);
+ fbb.FinishSizePrefixed(header_offset);
+ aos::SizePrefixedFlatbufferDetachedBuffer<aos::logger::LogFileHeader>
+ header(fbb.Release());
const std::string orig_path = FLAGS_logfile + ".orig";
PCHECK(rename(FLAGS_logfile.c_str(), orig_path.c_str()) == 0);
@@ -42,7 +45,7 @@
aos::logger::DetachedBufferWriter buffer_writer(
FLAGS_logfile, std::make_unique<aos::logger::DummyEncoder>());
- buffer_writer.QueueSizedFlatbuffer(&fbb, aos::monotonic_clock::min_time);
+ buffer_writer.QueueSpan(header.span());
while (true) {
absl::Span<const uint8_t> msg_data = span_reader.ReadMessage();
@@ -55,7 +58,7 @@
} else {
aos::logger::MessageReader reader(FLAGS_logfile);
aos::util::WriteStringToFileOrDie(
- header,
+ header_json_path,
aos::FlatbufferToJson(reader.log_file_header(), {.multi_line = true}));
}