Remove DetachedBufferFileWriter and use FileBackend
DetachedBufferFileWriter was a temp solution. Making file via log
backend is a better one.
Change-Id: I0c212f404f5a3f70034e674c697b5ddcc18614e6
Signed-off-by: Austin Schuh <austin.schuh@bluerivertech.com>
diff --git a/aos/events/logging/log_edit.cc b/aos/events/logging/log_edit.cc
index 55b7666..7e822ca 100644
--- a/aos/events/logging/log_edit.cc
+++ b/aos/events/logging/log_edit.cc
@@ -48,12 +48,13 @@
aos::logger::SpanReader span_reader(orig_path);
CHECK(!span_reader.ReadMessage().empty()) << ": Empty header, aborting";
- aos::logger::DetachedBufferFileWriter buffer_writer(
- FLAGS_logfile,
+ aos::logger::FileBackend file_backend("/");
+ aos::logger::DetachedBufferWriter buffer_writer(
+ file_backend.RequestFile(FLAGS_logfile),
std::make_unique<aos::logger::DummyEncoder>(FLAGS_max_message_size));
{
- aos::logger::DataEncoder::SpanCopier coppier(header.span());
- buffer_writer.CopyMessage(&coppier, aos::monotonic_clock::min_time);
+ aos::logger::DataEncoder::SpanCopier copier(header.span());
+ buffer_writer.CopyMessage(&copier, aos::monotonic_clock::min_time);
}
while (true) {
@@ -63,8 +64,8 @@
}
{
- aos::logger::DataEncoder::SpanCopier coppier(msg_data);
- buffer_writer.CopyMessage(&coppier, aos::monotonic_clock::min_time);
+ aos::logger::DataEncoder::SpanCopier copier(msg_data);
+ buffer_writer.CopyMessage(&copier, aos::monotonic_clock::min_time);
}
}
} else {
diff --git a/aos/events/logging/logfile_utils.h b/aos/events/logging/logfile_utils.h
index 8415efe..0bf60a0 100644
--- a/aos/events/logging/logfile_utils.h
+++ b/aos/events/logging/logfile_utils.h
@@ -134,17 +134,6 @@
aos::monotonic_clock::min_time;
};
-// Specialized writer to single file
-class DetachedBufferFileWriter : public FileBackend,
- public DetachedBufferWriter {
- public:
- DetachedBufferFileWriter(std::string_view filename,
- std::unique_ptr<DataEncoder> encoder)
- : FileBackend("/"),
- DetachedBufferWriter(FileBackend::RequestFile(filename),
- std::move(encoder)) {}
-};
-
// Repacks the provided RemoteMessage into fbb.
flatbuffers::Offset<MessageHeader> PackRemoteMessage(
flatbuffers::FlatBufferBuilder *fbb,
diff --git a/aos/events/logging/logfile_utils_out_of_space_test_runner.cc b/aos/events/logging/logfile_utils_out_of_space_test_runner.cc
index 03bfd0a..71c537f 100644
--- a/aos/events/logging/logfile_utils_out_of_space_test_runner.cc
+++ b/aos/events/logging/logfile_utils_out_of_space_test_runner.cc
@@ -18,8 +18,9 @@
std::array<uint8_t, 10240> data;
data.fill(0);
- aos::logger::DetachedBufferFileWriter writer(
- FLAGS_tmpfs + "/file",
+ aos::logger::FileBackend file_backend("/");
+ aos::logger::DetachedBufferWriter writer(
+ file_backend.RequestFile(FLAGS_tmpfs + "/file"),
std::make_unique<aos::logger::DummyEncoder>(data.size()));
for (int i = 0; i < 8; ++i) {
aos::logger::DataEncoder::SpanCopier coppier(data);
diff --git a/aos/events/logging/logfile_utils_test.cc b/aos/events/logging/logfile_utils_test.cc
index e2dc8aa..8d5b0fb 100644
--- a/aos/events/logging/logfile_utils_test.cc
+++ b/aos/events/logging/logfile_utils_test.cc
@@ -30,13 +30,15 @@
// Adapter class to make it easy to test DetachedBufferWriter without adding
// test only boilerplate to DetachedBufferWriter.
-class TestDetachedBufferWriter : public DetachedBufferFileWriter {
+class TestDetachedBufferWriter : public FileBackend,
+ public DetachedBufferWriter {
public:
// Pick a max size that is rather conservative.
static constexpr size_t kMaxMessageSize = 128 * 1024;
TestDetachedBufferWriter(std::string_view filename)
- : DetachedBufferFileWriter(
- filename, std::make_unique<DummyEncoder>(kMaxMessageSize)) {}
+ : FileBackend("/"),
+ DetachedBufferWriter(FileBackend::RequestFile(filename),
+ std::make_unique<DummyEncoder>(kMaxMessageSize)) {}
void WriteSizedFlatbuffer(flatbuffers::DetachedBuffer &&buffer) {
QueueSpan(absl::Span<const uint8_t>(buffer.data(), buffer.size()));
}