From 04be6c42ffd3e537de14f6830df5c73efe7ba342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Betto?= <niccolo.betto@skywarder.eu> Date: Wed, 19 Jun 2024 12:40:17 +0200 Subject: [PATCH] [CanProtocol] Avoid copying messages when calling the receive callback --- src/shared/drivers/canbus/CanProtocol/CanProtocol.cpp | 2 +- src/shared/drivers/canbus/CanProtocol/CanProtocol.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/shared/drivers/canbus/CanProtocol/CanProtocol.cpp b/src/shared/drivers/canbus/CanProtocol/CanProtocol.cpp index a58beed63..c17b89b1e 100644 --- a/src/shared/drivers/canbus/CanProtocol/CanProtocol.cpp +++ b/src/shared/drivers/canbus/CanProtocol/CanProtocol.cpp @@ -32,7 +32,7 @@ namespace Canbus CanProtocol::CanProtocol(CanbusDriver* can, MsgHandler onReceive, miosix::Priority threadPriority) - : can(can), onReceive(onReceive), threadPriority(threadPriority) + : can(can), onReceive(std::move(onReceive)), threadPriority(threadPriority) { } diff --git a/src/shared/drivers/canbus/CanProtocol/CanProtocol.h b/src/shared/drivers/canbus/CanProtocol/CanProtocol.h index 0f437a53d..128d23a6e 100644 --- a/src/shared/drivers/canbus/CanProtocol/CanProtocol.h +++ b/src/shared/drivers/canbus/CanProtocol/CanProtocol.h @@ -47,7 +47,7 @@ namespace Canbus */ class CanProtocol { - using MsgHandler = std::function<void(CanMessage data)>; + using MsgHandler = std::function<void(const CanMessage& data)>; public: /** -- GitLab