Upgrade from FlatbufferString to FlatbufferSpan
Less copies, and now we can get rid of FlatbufferString
Change-Id: Ic027de4270d7232d0defadc2b193072aa8e4c8e5
diff --git a/y2020/vision/camera_reader.cc b/y2020/vision/camera_reader.cc
index 24e9ae1..ed2b4b9 100644
--- a/y2020/vision/camera_reader.cc
+++ b/y2020/vision/camera_reader.cc
@@ -6,7 +6,6 @@
#include "aos/flatbuffer_merge.h"
#include "aos/init.h"
#include "aos/network/team_number.h"
-
#include "y2020/vision/sift/sift971.h"
#include "y2020/vision/sift/sift_generated.h"
#include "y2020/vision/sift/sift_training_generated.h"
@@ -599,15 +598,9 @@
aos::FlatbufferDetachedBuffer<aos::Configuration> config =
aos::configuration::ReadConfig(FLAGS_config);
- const auto training_data_bfbs = SiftTrainingData();
- const sift::TrainingData *const training_data =
- flatbuffers::GetRoot<sift::TrainingData>(training_data_bfbs.data());
- {
- flatbuffers::Verifier verifier(
- reinterpret_cast<const uint8_t *>(training_data_bfbs.data()),
- training_data_bfbs.size());
- CHECK(training_data->Verify(verifier));
- }
+ const aos::FlatbufferSpan<sift::TrainingData> training_data(
+ SiftTrainingData());
+ CHECK(training_data.Verify());
const auto index_params = cv::makePtr<cv::flann::IndexParams>();
index_params->setAlgorithm(cvflann::FLANN_INDEX_KDTREE);
@@ -622,13 +615,12 @@
{
aos::Sender<sift::TrainingData> training_data_sender =
event_loop.MakeSender<sift::TrainingData>("/camera");
- training_data_sender.Send(
- aos::FlatbufferString<sift::TrainingData>(training_data_bfbs));
+ training_data_sender.Send(training_data);
}
V4L2Reader v4l2_reader(&event_loop, "/dev/video0");
- CameraReader camera_reader(&event_loop, training_data, &v4l2_reader,
- &matcher);
+ CameraReader camera_reader(&event_loop, &training_data.message(),
+ &v4l2_reader, &matcher);
event_loop.Run();
}