From 21318aa1f1faeb876f2eee04584ba96259eb40fa Mon Sep 17 00:00:00 2001 From: Kevin Schoedel Date: Wed, 13 Jan 2021 10:54:02 -0500 Subject: [PATCH] Use rvalue references for some PacketBufferHandle parameters #### Problem Using `PacketBufferHandle` rather than raw `PacketBuffer*` imposes some overhead on argument passing. #### Summary of Changes Parameters converted from by-value to by-rvalue-reference only where the function unconditionally (and clearly) moves the handle out of the parameter. part of #2707 - Figure out a way to express PacketBuffer ownership in the type system --- src/app/Command.cpp | 2 +- src/app/Command.h | 2 +- src/ble/BLEEndPoint.cpp | 10 +++++----- src/ble/BLEEndPoint.h | 10 +++++----- src/inet/RawEndPoint.cpp | 6 +++--- src/inet/RawEndPoint.h | 6 +++--- src/inet/UDPEndPoint.cpp | 6 +++--- src/inet/UDPEndPoint.h | 6 +++--- src/inet/tests/TestInetLayerCommon.cpp | 4 ++-- src/inet/tests/TestInetLayerCommon.hpp | 4 ++-- src/protocols/echo/Echo.h | 2 +- src/protocols/echo/EchoClient.cpp | 2 +- src/system/SystemPacketBuffer.cpp | 2 +- src/system/SystemPacketBuffer.h | 2 +- src/system/TLVPacketBufferBackingStore.h | 10 +++++----- src/transport/SecureSessionMgr.cpp | 4 ++-- src/transport/SecureSessionMgr.h | 4 ++-- src/transport/TransportMgr.h | 2 +- src/transport/raw/Tuple.h | 2 +- 19 files changed, 43 insertions(+), 43 deletions(-) diff --git a/src/app/Command.cpp b/src/app/Command.cpp index 464f5562acfbcc..e371c713efb0a5 100644 --- a/src/app/Command.cpp +++ b/src/app/Command.cpp @@ -75,7 +75,7 @@ CHIP_ERROR Command::Reset() return err; } -CHIP_ERROR Command::ProcessCommandMessage(System::PacketBufferHandle payload, CommandRoleId aCommandRoleId) +CHIP_ERROR Command::ProcessCommandMessage(System::PacketBufferHandle && payload, CommandRoleId aCommandRoleId) { CHIP_ERROR err = CHIP_NO_ERROR; chip::System::PacketBufferTLVReader reader; diff --git a/src/app/Command.h b/src/app/Command.h index a224402e684a84..0cfec1a1b1e23c 100644 --- a/src/app/Command.h +++ b/src/app/Command.h @@ -129,7 +129,7 @@ class Command protected: void MoveToState(const CommandState aTargetState); - CHIP_ERROR ProcessCommandMessage(System::PacketBufferHandle payload, CommandRoleId aCommandRoleId); + CHIP_ERROR ProcessCommandMessage(System::PacketBufferHandle && payload, CommandRoleId aCommandRoleId); void ClearState(); const char * GetStateStr() const; diff --git a/src/ble/BLEEndPoint.cpp b/src/ble/BLEEndPoint.cpp index fd3d59f71bb2a4..07874716b40fda 100644 --- a/src/ble/BLEEndPoint.cpp +++ b/src/ble/BLEEndPoint.cpp @@ -589,7 +589,7 @@ BLE_ERROR BLEEndPoint::Init(BleLayer * bleLayer, BLE_CONNECTION_OBJECT connObj, return err; } -BLE_ERROR BLEEndPoint::SendCharacteristic(PacketBufferHandle buf) +BLE_ERROR BLEEndPoint::SendCharacteristic(PacketBufferHandle && buf) { BLE_ERROR err = BLE_NO_ERROR; @@ -628,7 +628,7 @@ BLE_ERROR BLEEndPoint::SendCharacteristic(PacketBufferHandle buf) * kType_Data(0) - data packet * kType_Control(1) - control packet */ -void BLEEndPoint::QueueTx(PacketBufferHandle data, PacketType_t type) +void BLEEndPoint::QueueTx(PacketBufferHandle && data, PacketType_t type) { #if CHIP_ENABLE_CHIPOBLE_TEST ChipLogDebugBleEndPoint(Ble, "%s: data->%p, type %d, len %d", __FUNCTION__, data, type, data->DataLength()); @@ -690,7 +690,7 @@ BLE_ERROR BLEEndPoint::Send(PacketBufferHandle data) return err; } -bool BLEEndPoint::PrepareNextFragment(PacketBufferHandle data, bool & sentAck) +bool BLEEndPoint::PrepareNextFragment(PacketBufferHandle && data, bool & sentAck) { // If we have a pending fragment acknowledgement to send, piggyback it on the fragment we're about to transmit. if (GetFlag(mTimerStateFlags, kTimerState_SendAckTimerRunning)) @@ -1451,14 +1451,14 @@ BLE_ERROR BLEEndPoint::Receive(PacketBufferHandle data) return err; } -bool BLEEndPoint::SendWrite(PacketBufferHandle buf) +bool BLEEndPoint::SendWrite(PacketBufferHandle && buf) { SetFlag(mConnStateFlags, kConnState_GattOperationInFlight, true); return mBle->mPlatformDelegate->SendWriteRequest(mConnObj, &CHIP_BLE_SVC_ID, &mBle->CHIP_BLE_CHAR_1_ID, std::move(buf)); } -bool BLEEndPoint::SendIndication(PacketBufferHandle buf) +bool BLEEndPoint::SendIndication(PacketBufferHandle && buf) { SetFlag(mConnStateFlags, kConnState_GattOperationInFlight, true); diff --git a/src/ble/BLEEndPoint.h b/src/ble/BLEEndPoint.h index f133559fd62864..7ea8609cd20bab 100644 --- a/src/ble/BLEEndPoint.h +++ b/src/ble/BLEEndPoint.h @@ -166,13 +166,13 @@ class DLL_EXPORT BLEEndPoint : public BleLayerObject // Transmit path: BLE_ERROR DriveSending(); BLE_ERROR DriveStandAloneAck(); - bool PrepareNextFragment(PacketBufferHandle data, bool & sentAck); + bool PrepareNextFragment(PacketBufferHandle && data, bool & sentAck); BLE_ERROR SendNextMessage(); BLE_ERROR ContinueMessageSend(); BLE_ERROR DoSendStandAloneAck(); - BLE_ERROR SendCharacteristic(PacketBufferHandle buf); - bool SendIndication(PacketBufferHandle buf); - bool SendWrite(PacketBufferHandle buf); + BLE_ERROR SendCharacteristic(PacketBufferHandle && buf); + bool SendIndication(PacketBufferHandle && buf); + bool SendWrite(PacketBufferHandle && buf); // Receive path: BLE_ERROR HandleConnectComplete(); @@ -223,7 +223,7 @@ class DLL_EXPORT BLEEndPoint : public BleLayerObject inline void QueueTxLock() {} inline void QueueTxUnlock() {} #endif - void QueueTx(PacketBufferHandle data, PacketType_t type); + void QueueTx(PacketBufferHandle && data, PacketType_t type); }; } /* namespace Ble */ diff --git a/src/inet/RawEndPoint.cpp b/src/inet/RawEndPoint.cpp index 3d31c7284e3bc0..47f5aac548d507 100644 --- a/src/inet/RawEndPoint.cpp +++ b/src/inet/RawEndPoint.cpp @@ -512,7 +512,7 @@ void RawEndPoint::Free() * A synonym for SendTo(addr, INET_NULL_INTERFACEID, msg, * sendFlags). */ -INET_ERROR RawEndPoint::SendTo(const IPAddress & addr, chip::System::PacketBufferHandle msg, uint16_t sendFlags) +INET_ERROR RawEndPoint::SendTo(const IPAddress & addr, chip::System::PacketBufferHandle && msg, uint16_t sendFlags) { return SendTo(addr, INET_NULL_INTERFACEID, std::move(msg), sendFlags); } @@ -547,7 +547,7 @@ INET_ERROR RawEndPoint::SendTo(const IPAddress & addr, chip::System::PacketBuffe * @details * Send the ICMP message in \c msg to the destination given in \c addr. */ -INET_ERROR RawEndPoint::SendTo(const IPAddress & addr, InterfaceId intfId, chip::System::PacketBufferHandle msg, uint16_t sendFlags) +INET_ERROR RawEndPoint::SendTo(const IPAddress & addr, InterfaceId intfId, chip::System::PacketBufferHandle && msg, uint16_t sendFlags) { IPPacketInfo pktInfo; pktInfo.Clear(); @@ -829,7 +829,7 @@ InterfaceId RawEndPoint::GetBoundInterface() #if CHIP_SYSTEM_CONFIG_USE_LWIP -void RawEndPoint::HandleDataReceived(System::PacketBufferHandle msg) +void RawEndPoint::HandleDataReceived(System::PacketBufferHandle && msg) { IPEndPointBasis::HandleDataReceived(std::move(msg)); } diff --git a/src/inet/RawEndPoint.h b/src/inet/RawEndPoint.h index acdba4b881e086..d806184e8f1b9b 100644 --- a/src/inet/RawEndPoint.h +++ b/src/inet/RawEndPoint.h @@ -75,8 +75,8 @@ class DLL_EXPORT RawEndPoint : public IPEndPointBasis INET_ERROR BindInterface(IPAddressType addrType, InterfaceId intfId); InterfaceId GetBoundInterface(); INET_ERROR Listen(); - INET_ERROR SendTo(const IPAddress & addr, chip::System::PacketBufferHandle msg, uint16_t sendFlags = 0); - INET_ERROR SendTo(const IPAddress & addr, InterfaceId intfId, chip::System::PacketBufferHandle msg, uint16_t sendFlags = 0); + INET_ERROR SendTo(const IPAddress & addr, chip::System::PacketBufferHandle && msg, uint16_t sendFlags = 0); + INET_ERROR SendTo(const IPAddress & addr, InterfaceId intfId, chip::System::PacketBufferHandle && msg, uint16_t sendFlags = 0); INET_ERROR SendMsg(const IPPacketInfo * pktInfo, chip::System::PacketBufferHandle msg, uint16_t sendFlags = 0); INET_ERROR SetICMPFilter(uint8_t numICMPTypes, const uint8_t * aICMPTypes); void Close(); @@ -95,7 +95,7 @@ class DLL_EXPORT RawEndPoint : public IPEndPointBasis uint8_t NumICMPTypes; const uint8_t * ICMPTypes; - void HandleDataReceived(chip::System::PacketBufferHandle msg); + void HandleDataReceived(chip::System::PacketBufferHandle && msg); INET_ERROR GetPCB(IPAddressType addrType); #if LWIP_VERSION_MAJOR > 1 || LWIP_VERSION_MINOR >= 5 diff --git a/src/inet/UDPEndPoint.cpp b/src/inet/UDPEndPoint.cpp index 94f3c649f13244..ae0a07e57dd71c 100644 --- a/src/inet/UDPEndPoint.cpp +++ b/src/inet/UDPEndPoint.cpp @@ -452,7 +452,7 @@ void UDPEndPoint::Free() /** * A synonym for SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags). */ -INET_ERROR UDPEndPoint::SendTo(const IPAddress & addr, uint16_t port, chip::System::PacketBufferHandle msg, uint16_t sendFlags) +INET_ERROR UDPEndPoint::SendTo(const IPAddress & addr, uint16_t port, chip::System::PacketBufferHandle && msg, uint16_t sendFlags) { return SendTo(addr, port, INET_NULL_INTERFACEID, std::move(msg), sendFlags); } @@ -491,7 +491,7 @@ INET_ERROR UDPEndPoint::SendTo(const IPAddress & addr, uint16_t port, chip::Syst * identifier for IPv6 link-local destinations) and \c port with the * transmit option flags encoded in \c sendFlags. */ -INET_ERROR UDPEndPoint::SendTo(const IPAddress & addr, uint16_t port, InterfaceId intfId, chip::System::PacketBufferHandle msg, +INET_ERROR UDPEndPoint::SendTo(const IPAddress & addr, uint16_t port, InterfaceId intfId, chip::System::PacketBufferHandle && msg, uint16_t sendFlags) { IPPacketInfo pktInfo; @@ -775,7 +775,7 @@ uint16_t UDPEndPoint::GetBoundPort() #if CHIP_SYSTEM_CONFIG_USE_LWIP -void UDPEndPoint::HandleDataReceived(System::PacketBufferHandle msg) +void UDPEndPoint::HandleDataReceived(System::PacketBufferHandle && msg) { IPEndPointBasis::HandleDataReceived(std::move(msg)); } diff --git a/src/inet/UDPEndPoint.h b/src/inet/UDPEndPoint.h index 7fd96f37f34267..d47ed9a18ed3d6 100644 --- a/src/inet/UDPEndPoint.h +++ b/src/inet/UDPEndPoint.h @@ -57,8 +57,8 @@ class DLL_EXPORT UDPEndPoint : public IPEndPointBasis InterfaceId GetBoundInterface(); uint16_t GetBoundPort(); INET_ERROR Listen(); - INET_ERROR SendTo(const IPAddress & addr, uint16_t port, chip::System::PacketBufferHandle msg, uint16_t sendFlags = 0); - INET_ERROR SendTo(const IPAddress & addr, uint16_t port, InterfaceId intfId, chip::System::PacketBufferHandle msg, + INET_ERROR SendTo(const IPAddress & addr, uint16_t port, chip::System::PacketBufferHandle && msg, uint16_t sendFlags = 0); + INET_ERROR SendTo(const IPAddress & addr, uint16_t port, InterfaceId intfId, chip::System::PacketBufferHandle && msg, uint16_t sendFlags = 0); INET_ERROR SendMsg(const IPPacketInfo * pktInfo, chip::System::PacketBufferHandle msg, uint16_t sendFlags = 0); void Close(); @@ -74,7 +74,7 @@ class DLL_EXPORT UDPEndPoint : public IPEndPointBasis void Init(InetLayer * inetLayer); #if CHIP_SYSTEM_CONFIG_USE_LWIP - void HandleDataReceived(chip::System::PacketBufferHandle msg); + void HandleDataReceived(chip::System::PacketBufferHandle && msg); INET_ERROR GetPCB(IPAddressType addrType4); #if LWIP_VERSION_MAJOR > 1 || LWIP_VERSION_MINOR >= 5 static void LwIPReceiveUDPMessage(void * arg, struct udp_pcb * pcb, struct pbuf * p, const ip_addr_t * addr, u16_t port); diff --git a/src/inet/tests/TestInetLayerCommon.cpp b/src/inet/tests/TestInetLayerCommon.cpp index 7ac9a5fec08585..31f6075540a190 100644 --- a/src/inet/tests/TestInetLayerCommon.cpp +++ b/src/inet/tests/TestInetLayerCommon.cpp @@ -295,7 +295,7 @@ static bool HandleICMPDataReceived(PacketBufferHandle aBuffer, uint16_t aHeaderL return (lStatus); } -bool HandleICMPv4DataReceived(PacketBufferHandle aBuffer, TransferStats & aStats, bool aStatsByPacket, bool aCheckBuffer) +bool HandleICMPv4DataReceived(PacketBufferHandle && aBuffer, TransferStats & aStats, bool aStatsByPacket, bool aCheckBuffer) { const uint16_t lICMPHeaderLength = sizeof(ICMPv4EchoHeader); bool lStatus; @@ -305,7 +305,7 @@ bool HandleICMPv4DataReceived(PacketBufferHandle aBuffer, TransferStats & aStats return (lStatus); } -bool HandleICMPv6DataReceived(PacketBufferHandle aBuffer, TransferStats & aStats, bool aStatsByPacket, bool aCheckBuffer) +bool HandleICMPv6DataReceived(PacketBufferHandle && aBuffer, TransferStats & aStats, bool aStatsByPacket, bool aCheckBuffer) { const uint16_t lICMPHeaderLength = sizeof(ICMPv6EchoHeader); bool lStatus; diff --git a/src/inet/tests/TestInetLayerCommon.hpp b/src/inet/tests/TestInetLayerCommon.hpp index 6a2f7b272de785..f329b0bb921572 100644 --- a/src/inet/tests/TestInetLayerCommon.hpp +++ b/src/inet/tests/TestInetLayerCommon.hpp @@ -140,9 +140,9 @@ extern bool HandleDataReceived(const System::PacketBufferHandle & aBuffer, Trans bool aCheckBuffer, uint8_t aFirstValue); extern bool HandleDataReceived(const System::PacketBufferHandle & aBuffer, TransferStats & aStats, bool aStatsByPacket, bool aCheckBuffer); -extern bool HandleICMPv4DataReceived(System::PacketBufferHandle aBuffer, TransferStats & aStats, bool aStatsByPacket, +extern bool HandleICMPv4DataReceived(System::PacketBufferHandle && aBuffer, TransferStats & aStats, bool aStatsByPacket, bool aCheckBuffer); -extern bool HandleICMPv6DataReceived(System::PacketBufferHandle aBuffer, TransferStats & aStats, bool aStatsByPacket, +extern bool HandleICMPv6DataReceived(System::PacketBufferHandle && aBuffer, TransferStats & aStats, bool aStatsByPacket, bool aCheckBuffer); // Timer Callback Handler diff --git a/src/protocols/echo/Echo.h b/src/protocols/echo/Echo.h index 695c1d9ebe0f7d..6dd88eee553796 100644 --- a/src/protocols/echo/Echo.h +++ b/src/protocols/echo/Echo.h @@ -90,7 +90,7 @@ class DLL_EXPORT EchoClient : public Messaging::ExchangeDelegate * Other CHIP_ERROR codes as returned by the lower layers. * */ - CHIP_ERROR SendEchoRequest(System::PacketBufferHandle payload); + CHIP_ERROR SendEchoRequest(System::PacketBufferHandle && payload); private: Messaging::ExchangeManager * mExchangeMgr = nullptr; diff --git a/src/protocols/echo/EchoClient.cpp b/src/protocols/echo/EchoClient.cpp index c005611d14b2c1..118ca1dda9d6be 100644 --- a/src/protocols/echo/EchoClient.cpp +++ b/src/protocols/echo/EchoClient.cpp @@ -51,7 +51,7 @@ void EchoClient::Shutdown() } } -CHIP_ERROR EchoClient::SendEchoRequest(System::PacketBufferHandle payload) +CHIP_ERROR EchoClient::SendEchoRequest(System::PacketBufferHandle && payload) { CHIP_ERROR err = CHIP_NO_ERROR; diff --git a/src/system/SystemPacketBuffer.cpp b/src/system/SystemPacketBuffer.cpp index ae1878daf53944..f390c38e796beb 100644 --- a/src/system/SystemPacketBuffer.cpp +++ b/src/system/SystemPacketBuffer.cpp @@ -179,7 +179,7 @@ void PacketBuffer::AddToEnd_ForNow(PacketBuffer * aPacket) #endif // !CHIP_SYSTEM_CONFIG_USE_LWIP } -void PacketBuffer::AddToEnd(PacketBufferHandle aPacketHandle) +void PacketBuffer::AddToEnd(PacketBufferHandle && aPacketHandle) { AddToEnd_ForNow(aPacketHandle.Release_ForNow()); } diff --git a/src/system/SystemPacketBuffer.h b/src/system/SystemPacketBuffer.h index bc0620b933d716..5b963f2a5d8a52 100644 --- a/src/system/SystemPacketBuffer.h +++ b/src/system/SystemPacketBuffer.h @@ -197,7 +197,7 @@ class DLL_EXPORT PacketBuffer : private pbuf * * @param[in] aPacket - the packet buffer to be added to the end of the current chain. */ - void AddToEnd(PacketBufferHandle aPacket); + void AddToEnd(PacketBufferHandle && aPacket); /** * Move data from subsequent buffers in the chain into the current buffer until it is full. diff --git a/src/system/TLVPacketBufferBackingStore.h b/src/system/TLVPacketBufferBackingStore.h index 3e6ec0335ab550..b2395e017d2c2d 100644 --- a/src/system/TLVPacketBufferBackingStore.h +++ b/src/system/TLVPacketBufferBackingStore.h @@ -38,7 +38,7 @@ class TLVPacketBufferBackingStore : public chip::TLV::TLVBackingStore { public: TLVPacketBufferBackingStore() : mHeadBuffer(nullptr), mCurrentBuffer(nullptr), mUseChainedBuffers(false) {} - TLVPacketBufferBackingStore(chip::System::PacketBufferHandle buffer, bool useChainedBuffers = false) + TLVPacketBufferBackingStore(chip::System::PacketBufferHandle && buffer, bool useChainedBuffers = false) { Init(std::move(buffer), useChainedBuffers); } @@ -55,13 +55,13 @@ class TLVPacketBufferBackingStore : public chip::TLV::TLVBackingStore * * @note This must take place before initializing a TLV class with this backing store. */ - void Init(chip::System::PacketBufferHandle buffer, bool useChainedBuffers = false) + void Init(chip::System::PacketBufferHandle && buffer, bool useChainedBuffers = false) { mHeadBuffer = std::move(buffer); mCurrentBuffer = mHeadBuffer.Retain(); mUseChainedBuffers = useChainedBuffers; } - void Adopt(chip::System::PacketBufferHandle buffer) { Init(std::move(buffer), mUseChainedBuffers); } + void Adopt(chip::System::PacketBufferHandle && buffer) { Init(std::move(buffer), mUseChainedBuffers); } /** * Release ownership of the backing packet buffer. @@ -98,7 +98,7 @@ class DLL_EXPORT PacketBufferTLVReader : public chip::TLV::TLVReader * If true, advance to the next buffer in the chain once all data * in the current buffer has been consumed. */ - void Init(chip::System::PacketBufferHandle buffer, bool useChainedBuffers = false) + void Init(chip::System::PacketBufferHandle && buffer, bool useChainedBuffers = false) { mBackingStore.Init(std::move(buffer), useChainedBuffers); chip::TLV::TLVReader::Init(mBackingStore); @@ -120,7 +120,7 @@ class DLL_EXPORT PacketBufferTLVWriter : public chip::TLV::TLVWriter * in the current buffer has been consumed. Once all existing buffers * have been used, new PacketBuffers will be allocated as necessary. */ - void Init(chip::System::PacketBufferHandle buffer, bool useChainedBuffers = false) + void Init(chip::System::PacketBufferHandle && buffer, bool useChainedBuffers = false) { mBackingStore.Init(std::move(buffer), useChainedBuffers); chip::TLV::TLVWriter::Init(mBackingStore); diff --git a/src/transport/SecureSessionMgr.cpp b/src/transport/SecureSessionMgr.cpp index 5d570e753d4721..0a1e92cab26fff 100644 --- a/src/transport/SecureSessionMgr.cpp +++ b/src/transport/SecureSessionMgr.cpp @@ -93,14 +93,14 @@ Transport::Type SecureSessionMgr::GetTransportType(NodeId peerNodeId) return Transport::Type::kUndefined; } -CHIP_ERROR SecureSessionMgr::SendMessage(SecureSessionHandle session, System::PacketBufferHandle msgBuf) +CHIP_ERROR SecureSessionMgr::SendMessage(SecureSessionHandle session, System::PacketBufferHandle && msgBuf) { PayloadHeader unusedPayloadHeader; return SendMessage(session, unusedPayloadHeader, std::move(msgBuf)); } CHIP_ERROR SecureSessionMgr::SendMessage(SecureSessionHandle session, PayloadHeader & payloadHeader, - System::PacketBufferHandle msgBuf, EncryptedPacketBufferHandle * bufferRetainSlot) + System::PacketBufferHandle && msgBuf, EncryptedPacketBufferHandle * bufferRetainSlot) { PacketHeader ununsedPacketHeader; return SendMessage(session, payloadHeader, ununsedPacketHeader, std::move(msgBuf), bufferRetainSlot, diff --git a/src/transport/SecureSessionMgr.h b/src/transport/SecureSessionMgr.h index 1a765ef590b7a8..fefbd3d481ff64 100644 --- a/src/transport/SecureSessionMgr.h +++ b/src/transport/SecureSessionMgr.h @@ -180,8 +180,8 @@ class DLL_EXPORT SecureSessionMgr : public TransportMgrDelegate * returns success, the encrypted data that was sent, as well as various other information needed * to retransmit it, will be stored in *bufferRetainSlot. */ - CHIP_ERROR SendMessage(SecureSessionHandle session, System::PacketBufferHandle msgBuf); - CHIP_ERROR SendMessage(SecureSessionHandle session, PayloadHeader & payloadHeader, System::PacketBufferHandle msgBuf, + CHIP_ERROR SendMessage(SecureSessionHandle session, System::PacketBufferHandle && msgBuf); + CHIP_ERROR SendMessage(SecureSessionHandle session, PayloadHeader & payloadHeader, System::PacketBufferHandle && msgBuf, EncryptedPacketBufferHandle * bufferRetainSlot = nullptr); CHIP_ERROR SendEncryptedMessage(SecureSessionHandle session, EncryptedPacketBufferHandle msgBuf, EncryptedPacketBufferHandle * bufferRetainSlot); diff --git a/src/transport/TransportMgr.h b/src/transport/TransportMgr.h index c1c2ca07a74562..da8d5045c044a8 100644 --- a/src/transport/TransportMgr.h +++ b/src/transport/TransportMgr.h @@ -59,7 +59,7 @@ class TransportMgrBase public: CHIP_ERROR Init(Transport::Base * transport); - CHIP_ERROR SendMessage(const PacketHeader & header, const Transport::PeerAddress & address, System::PacketBufferHandle msgBuf) + CHIP_ERROR SendMessage(const PacketHeader & header, const Transport::PeerAddress & address, System::PacketBufferHandle && msgBuf) { return mTransport->SendMessage(header, address, std::move(msgBuf)); } diff --git a/src/transport/raw/Tuple.h b/src/transport/raw/Tuple.h index 509371fae218b1..cdc4dedd54247a 100644 --- a/src/transport/raw/Tuple.h +++ b/src/transport/raw/Tuple.h @@ -163,7 +163,7 @@ class Tuple : public Base * @param msgBuf the data to send. */ template ::type * = nullptr> - CHIP_ERROR SendMessageImpl(const PacketHeader & header, const PeerAddress & address, System::PacketBufferHandle msgBuf) + CHIP_ERROR SendMessageImpl(const PacketHeader & header, const PeerAddress & address, System::PacketBufferHandle && msgBuf) { Base * base = &std::get(mTransports); if (base->CanSendToPeer(address))