Bypass alignment related copy whenever possible (#1443)

remove blank lines

add file messagehelp.h

remove blank line

simplify

after review
old-commit-hash: b2250166281406853de9901271d69a9e64b3b74e
This commit is contained in:
Dean Lee
2020-05-02 10:21:00 +08:00
committed by GitHub
parent 5da84ba511
commit f2932aadfd
10 changed files with 95 additions and 121 deletions
+4 -8
View File
@@ -15,6 +15,7 @@
#include "common/messaging.h"
#include "common/params.h"
#include "common/timing.h"
#include "common/messagehelp.h"
#include "messaging.hpp"
#include "locationd_yawrate.h"
@@ -105,14 +106,10 @@ int main(int argc, char *argv[]) {
int save_counter = 0;
while (true){
for (auto s : poller->poll(100)){
Message * msg = s->receive();
auto amsg = kj::heapArray<capnp::word>((msg->getSize() / sizeof(capnp::word)) + 1);
memcpy(amsg.begin(), msg->getData(), msg->getSize());
capnp::FlatArrayMessageReader capnp_msg(amsg);
cereal::Event::Reader event = capnp_msg.getRoot<cereal::Event>();
MessageReader amsg = s->receive();
if (!amsg) continue;
auto event = amsg.getEvent();
localizer.handle_log(event);
auto which = event.which();
@@ -172,7 +169,6 @@ int main(int argc, char *argv[]) {
});
}
}
delete msg;
}
}
+6 -11
View File
@@ -23,6 +23,7 @@
#include "common/params.h"
#include "common/swaglog.h"
#include "common/timing.h"
#include "common/messagehelp.h"
#include "ublox_msg.h"
@@ -54,17 +55,12 @@ int ubloxd_main(poll_ubloxraw_msg_func poll_func, send_gps_event_func send_func)
while (!do_exit) {
Message * msg = poll_func(poller);
if (msg == NULL) continue;
MessageReader amsg = poll_func(poller);
if (!amsg) continue;
auto amsg = kj::heapArray<capnp::word>((msg->getSize() / sizeof(capnp::word)) + 1);
memcpy(amsg.begin(), msg->getData(), msg->getSize());
capnp::FlatArrayMessageReader cmsg(amsg);
cereal::Event::Reader event = cmsg.getRoot<cereal::Event>();
const uint8_t *data = event.getUbloxRaw().begin();
size_t len = event.getUbloxRaw().size();
auto ubloxRaw = amsg.getEvent().getUbloxRaw();
const uint8_t *data = ubloxRaw.begin();
size_t len = ubloxRaw.size();
size_t bytes_consumed = 0;
while(bytes_consumed < len && !do_exit) {
size_t bytes_consumed_this_time = 0U;
@@ -114,7 +110,6 @@ int ubloxd_main(poll_ubloxraw_msg_func poll_func, send_gps_event_func send_func)
}
bytes_consumed += bytes_consumed_this_time;
}
delete msg;
}
delete poller;