Enable flatbuffer encoding for foxglove websocket server
Change-Id: I7ab44a5c6e978f517008fb7dcc40893688e95e28
Signed-off-by: James Kuszmaul <jabukuszmaul@gmail.com>
diff --git a/aos/util/foxglove_websocket.cc b/aos/util/foxglove_websocket.cc
index 26092bc..6ecb600 100644
--- a/aos/util/foxglove_websocket.cc
+++ b/aos/util/foxglove_websocket.cc
@@ -5,6 +5,12 @@
DEFINE_string(config, "/app/aos_config.json", "Path to the config.");
DEFINE_uint32(port, 8765, "Port to use for foxglove websocket server.");
+DEFINE_string(mode, "flatbuffer", "json or flatbuffer serialization.");
+DEFINE_bool(fetch_pinned_channels, true,
+ "Set this to allow foxglove_websocket to make fetchers on channels "
+ "with a read_method of PIN (see aos/configuration.fbs; PIN is an "
+ "enum value). Having this enabled will cause foxglove to consume "
+ "extra shared memory resources.");
int main(int argc, char *argv[]) {
gflags::SetUsageMessage(
@@ -40,7 +46,14 @@
aos::ShmEventLoop event_loop(&config.message());
- aos::FoxgloveWebsocketServer server(&event_loop, FLAGS_port);
+ aos::FoxgloveWebsocketServer server(
+ &event_loop, FLAGS_port,
+ FLAGS_mode == "flatbuffer"
+ ? aos::FoxgloveWebsocketServer::Serialization::kFlatbuffer
+ : aos::FoxgloveWebsocketServer::Serialization::kJson,
+ FLAGS_fetch_pinned_channels
+ ? aos::FoxgloveWebsocketServer::FetchPinnedChannels::kYes
+ : aos::FoxgloveWebsocketServer::FetchPinnedChannels::kNo);
event_loop.Run();
}