boardd: use setUbloxRaw to avoid memory alloc&copy in pigeon_publish_raw (#19884)

* use setUbloxRaw to avoid memory copy

* const std::string &dat
pull/19895/head
Dean Lee 4 years ago committed by GitHub
parent cbd08d6f0c
commit 0f8b5db8ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      selfdrive/boardd/boardd.cc

@ -462,16 +462,14 @@ void hardware_control_thread() {
} }
} }
static void pigeon_publish_raw(PubMaster &pm, std::string dat) { static void pigeon_publish_raw(PubMaster &pm, const std::string &dat) {
// create message // create message
MessageBuilder msg; MessageBuilder msg;
auto ublox_raw = msg.initEvent().initUbloxRaw(dat.length()); capnp::Data::Builder ublox_row((uint8_t*)dat.data(), dat.length());
memcpy(ublox_raw.begin(), dat.data(), dat.length()); msg.initEvent().setUbloxRaw(ublox_row);
pm.send("ubloxRaw", msg); pm.send("ubloxRaw", msg);
} }
void pigeon_thread() { void pigeon_thread() {
if (!panda->is_pigeon){ return; }; if (!panda->is_pigeon){ return; };

Loading…
Cancel
Save