Convert aos over to flatbuffers

Everything builds, and all the tests pass.  I suspect that some entries
are missing from the config files, but those will be found pretty
quickly on startup.

There is no logging or live introspection of queue messages.

Change-Id: I496ee01ed68f202c7851bed7e8786cee30df29f5
diff --git a/aos/events/BUILD b/aos/events/BUILD
index b69fc66..17ed688 100644
--- a/aos/events/BUILD
+++ b/aos/events/BUILD
@@ -1,3 +1,19 @@
+load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
+
+package(default_visibility = ["//visibility:public"])
+
+flatbuffer_cc_library(
+    name = "test_message_fbs",
+    srcs = ["test_message.fbs"],
+    gen_reflections = 1,
+)
+
+flatbuffer_cc_library(
+    name = "pingpong_fbs",
+    srcs = ["pingpong.fbs"],
+    gen_reflections = 1,
+)
+
 cc_library(
     name = "epoll",
     srcs = ["epoll.cc"],
@@ -10,72 +26,97 @@
 )
 
 cc_library(
-    name = "raw-event-loop",
-    hdrs = ["raw-event-loop.h"],
-    deps = [
-        "//aos:queues",
-        "//aos/time",
-    ],
-)
-
-cc_library(
-    name = "event-loop",
-    srcs = ["event-loop-tmpl.h"],
+    name = "event_loop",
+    srcs = ["event_loop_tmpl.h"],
     hdrs = [
-        "event-loop.h",
-        "raw-event-loop.h",
+        "event_loop.h",
     ],
     visibility = ["//visibility:public"],
     deps = [
-        ":raw-event-loop",
-        "//aos:queues",
+        "//aos:configuration",
+        "//aos:configuration_fbs",
+        "//aos:flatbuffers",
         "//aos/time",
+        "@com_github_google_flatbuffers//:flatbuffers",
+    ],
+)
+
+cc_binary(
+    name = "ping",
+    srcs = [
+        "ping.cc",
+    ],
+    data = ["config.fb.json"],
+    deps = [
+        ":pingpong_fbs",
+        ":shm_event_loop",
+        "//aos:configuration",
+        "//aos:init",
+        "//aos:json_to_flatbuffer",
+        "@com_github_google_glog//:glog",
+    ],
+)
+
+cc_binary(
+    name = "pong",
+    srcs = [
+        "pong.cc",
+    ],
+    data = ["config.fb.json"],
+    deps = [
+        ":pingpong_fbs",
+        ":shm_event_loop",
+        "//aos:configuration",
+        "//aos:init",
+        "//aos:json_to_flatbuffer",
+        "@com_github_google_glog//:glog",
     ],
 )
 
 cc_library(
-    name = "shm-event-loop",
-    srcs = ["shm-event-loop.cc"],
-    hdrs = ["shm-event-loop.h"],
+    name = "shm_event_loop",
+    srcs = ["shm_event_loop.cc"],
+    hdrs = ["shm_event_loop.h"],
     visibility = ["//visibility:public"],
     deps = [
         ":epoll",
-        ":event-loop",
-        "//aos:init",
-        "//aos:queues",
-        "//aos/logging",
+        ":event_loop",
+        ":test_message_fbs",
+        "//aos:realtime",
+        "//aos/ipc_lib:lockless_queue",
+        "//aos/ipc_lib:signalfd",
         "//aos/util:phased_loop",
     ],
 )
 
 cc_test(
-    name = "shm-event-loop_test",
-    srcs = ["shm-event-loop_test.cc"],
+    name = "shm_event_loop_test",
+    srcs = ["shm_event_loop_test.cc"],
     shard_count = 5,
     deps = [
-        ":event-loop_param_test",
-        ":shm-event-loop",
-        "//aos/testing:test_shm",
+        ":event_loop_param_test",
+        ":shm_event_loop",
+        ":test_message_fbs",
     ],
 )
 
 cc_library(
-    name = "event-loop_param_test",
+    name = "event_loop_param_test",
     testonly = True,
-    srcs = ["event-loop_param_test.cc"],
-    hdrs = ["event-loop_param_test.h"],
+    srcs = ["event_loop_param_test.cc"],
+    hdrs = ["event_loop_param_test.h"],
     deps = [
-        ":event-loop",
-        "//aos/logging:queue_logging",
+        ":event_loop",
+        ":test_message_fbs",
         "//aos/testing:googletest",
     ],
 )
 
 cc_test(
     name = "simulated_event_loop_test",
-    srcs = ["simulated-event-loop_test.cc"],
+    srcs = ["simulated_event_loop_test.cc"],
     deps = [
-        ":event-loop_param_test",
+        ":event_loop_param_test",
         ":simulated_event_loop",
         "//aos/testing:googletest",
     ],
@@ -84,14 +125,19 @@
 cc_library(
     name = "simulated_event_loop",
     testonly = True,
-    srcs = ["simulated-event-loop.cc"],
-    hdrs = ["simulated-event-loop.h"],
+    srcs = [
+        "event_scheduler.cc",
+        "simulated_event_loop.cc",
+    ],
+    hdrs = [
+        "event_scheduler.h",
+        "simulated_event_loop.h",
+    ],
     visibility = ["//visibility:public"],
     deps = [
-        ":event-loop",
-        "//aos:queues",
-        "//aos/logging",
-        "//aos/testing:test_logging",
+        ":event_loop",
+        "//aos/ipc_lib:index",
         "//aos/util:phased_loop",
+        "@com_google_absl//absl/container:btree",
     ],
 )