Rename Location to Channel and add extra Flatbuffer helpers
This now follows the convention in the design doc and is more closely
aligned to classic pubsub terminology.
Also add a Flatbuffer<T> base type, along with both an array backed
version. Rename the DetachedBuffer variant.
Change-Id: I257b5dbb5838120c479c4b98139657fc08e73150
diff --git a/aos/flatbuffer_merge.h b/aos/flatbuffer_merge.h
index 16372ed..afb4f69 100644
--- a/aos/flatbuffer_merge.h
+++ b/aos/flatbuffer_merge.h
@@ -43,15 +43,18 @@
}
template <class T>
-inline aos::Flatbuffer<T> MergeFlatBuffers(const aos::Flatbuffer<T> &fb1,
- const aos::Flatbuffer<T> &fb2) {
- return aos::Flatbuffer<T>(
- MergeFlatBuffers(T::MiniReflectTypeTable(), fb1.data(), fb2.data()));
+inline aos::FlatbufferDetachedBuffer<T> MergeFlatBuffers(
+ const aos::Flatbuffer<T> &fb1, const aos::Flatbuffer<T> &fb2) {
+const uint8_t *data1 = fb1.data();
+const uint8_t *data2 = fb2.data();
+ return aos::FlatbufferDetachedBuffer<T>(
+ MergeFlatBuffers(T::MiniReflectTypeTable(), data1, data2));
}
template <class T>
-inline aos::Flatbuffer<T> MergeFlatBuffers(const T *fb1, const T *fb2) {
- return aos::Flatbuffer<T>(MergeFlatBuffers(
+inline aos::FlatbufferDetachedBuffer<T> MergeFlatBuffers(const T *fb1,
+ const T *fb2) {
+ return aos::FlatbufferDetachedBuffer<T>(MergeFlatBuffers(
T::MiniReflectTypeTable(), reinterpret_cast<const uint8_t *>(fb1),
reinterpret_cast<const uint8_t *>(fb2)));
}
@@ -64,11 +67,11 @@
}
template <class T>
-inline Flatbuffer<T> CopyFlatBuffer(const T *t) {
+inline FlatbufferDetachedBuffer<T> CopyFlatBuffer(const T *t) {
flatbuffers::FlatBufferBuilder fbb;
fbb.ForceDefaults(1);
fbb.Finish(CopyFlatBuffer<T>(t, &fbb));
- return Flatbuffer<T>(fbb.Release());
+ return FlatbufferDetachedBuffer<T>(fbb.Release());
}
} // namespace aos