Add LocklessQueue::Pinner class
This will allow reading messages from queues without copying, which is
helpful for speeding up the processing of images.
Change-Id: Ia4bb98afa6fe1c1b5cc186e3071c7458f143d77d
diff --git a/aos/events/shm_event_loop.cc b/aos/events/shm_event_loop.cc
index d2c9112..0aa82a1 100644
--- a/aos/events/shm_event_loop.cc
+++ b/aos/events/shm_event_loop.cc
@@ -60,7 +60,7 @@
}
std::string ShmPath(const Channel *channel) {
CHECK(channel->has_type());
- return ShmFolder(channel) + channel->type()->str() + ".v2";
+ return ShmFolder(channel) + channel->type()->str() + ".v3";
}
void PageFaultData(char *data, size_t size) {
@@ -96,6 +96,7 @@
config_.num_watchers = channel->num_watchers();
config_.num_senders = channel->num_senders();
+ config_.num_pinners = 0;
config_.queue_size =
channel_storage_duration.count() * channel->frequency();
config_.message_data_size = channel->max_size();
diff --git a/aos/events/shm_event_loop_test.cc b/aos/events/shm_event_loop_test.cc
index d25e2f8..f0680a9 100644
--- a/aos/events/shm_event_loop_test.cc
+++ b/aos/events/shm_event_loop_test.cc
@@ -25,12 +25,12 @@
}
// Clean up anything left there before.
- unlink((FLAGS_shm_base + "/test/aos.TestMessage.v2").c_str());
- unlink((FLAGS_shm_base + "/test1/aos.TestMessage.v2").c_str());
- unlink((FLAGS_shm_base + "/test2/aos.TestMessage.v2").c_str());
- unlink((FLAGS_shm_base + "/test2/aos.TestMessage.v2").c_str());
- unlink((FLAGS_shm_base + "/aos/aos.timing.Report.v2").c_str());
- unlink((FLAGS_shm_base + "/aos/aos.logging.LogMessageFbs.v2").c_str());
+ unlink((FLAGS_shm_base + "/test/aos.TestMessage.v3").c_str());
+ unlink((FLAGS_shm_base + "/test1/aos.TestMessage.v3").c_str());
+ unlink((FLAGS_shm_base + "/test2/aos.TestMessage.v3").c_str());
+ unlink((FLAGS_shm_base + "/test2/aos.TestMessage.v3").c_str());
+ unlink((FLAGS_shm_base + "/aos/aos.timing.Report.v3").c_str());
+ unlink((FLAGS_shm_base + "/aos/aos.logging.LogMessageFbs.v3").c_str());
}
~ShmEventLoopTestFactory() { FLAGS_override_hostname = ""; }