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
MessageBuilder msg;
auto ublox_raw = msg.initEvent().initUbloxRaw(dat.length());
memcpy(ublox_raw.begin(), dat.data(), dat.length());
capnp::Data::Builder ublox_row((uint8_t*)dat.data(), dat.length());
msg.initEvent().setUbloxRaw(ublox_row);
pm.send("ubloxRaw", msg);
}
void pigeon_thread() {
if (!panda->is_pigeon){ return; };

Loading…
Cancel
Save