3131#include < range/v3/view/concat.hpp>
3232#include < range/v3/view/single.hpp>
3333#include < thread>
34+ #include < utility>
3435
3536using namespace bcos ;
3637using namespace front ;
@@ -102,7 +103,7 @@ void FrontService::start()
102103 // try to getNodeIDs from gateway
103104 auto self = std::weak_ptr<FrontService>(shared_from_this ());
104105 m_gatewayInterface->asyncGetGroupNodeInfo (
105- m_groupID, [self](Error::Ptr _error, bcos::gateway::GroupNodeInfo::Ptr _groupNodeInfo) {
106+ m_groupID, [self](const Error::Ptr& _error, const bcos::gateway::GroupNodeInfo::Ptr& _groupNodeInfo) {
106107 if (_error)
107108 {
108109 FRONT_LOG (ERROR) << LOG_BADGE (" start" ) << LOG_DESC (" asyncGetGroupNodeInfo failed" )
@@ -121,7 +122,7 @@ void FrontService::start()
121122 }
122123 });
123124
124- m_frontServiceThread = std::make_shared<std::thread>([=, this ]() {
125+ m_frontServiceThread = std::make_shared<std::thread>([this ]() {
125126 while (m_run)
126127 {
127128 try
@@ -278,7 +279,7 @@ void FrontService::asyncSendMessageByNodeID(int _moduleID, bcos::crypto::NodeIDP
278279
279280 auto self = weak_from_this ();
280281 sendMessage (_moduleID, _nodeID, uuid, _data, false ,
281- [self, _moduleID, _nodeID, uuid](Error::Ptr _error) {
282+ [self, _moduleID, _nodeID, uuid](const Error::Ptr& _error) {
282283 auto front = self.lock ();
283284 if (!front)
284285 {
@@ -437,13 +438,13 @@ void FrontService::protocolNegotiate(bcos::gateway::GroupNodeInfo::Ptr _groupNod
437438}
438439
439440void FrontService::notifyGroupNodeInfo (
440- const std::string& _groupID, bcos::gateway::GroupNodeInfo::Ptr _groupNodeInfo)
441+ const std::string& _groupID, const bcos::gateway::GroupNodeInfo::Ptr& _groupNodeInfo)
441442{
442443 Guard l (x_notifierLock);
443444 for (const auto & entry : m_module2GroupNodeInfoNotifier)
444445 {
445446 auto moduleID = entry.first ;
446- entry.second (_groupNodeInfo, [_groupID, moduleID](Error::Ptr _error) {
447+ entry.second (_groupNodeInfo, [_groupID, moduleID](const Error::Ptr& _error) {
447448 if (_error)
448449 {
449450 FRONT_LOG (ERROR) << LOG_DESC (" onReceiveGroupNodeInfo dispather failed" )
@@ -468,7 +469,7 @@ void FrontService::handleCallback(bcos::Error::Ptr _error, bytesConstRef _payLoa
468469 if (frontService)
469470 {
470471 frontService->sendMessage (
471- _moduleID, _nodeID, _uuid, _data, true , [_uuid](Error::Ptr _error) {
472+ _moduleID, _nodeID, _uuid, _data, true , [_uuid](const Error::Ptr& _error) {
472473 if (_error && (_error->errorCode () != CommonError::SUCCESS))
473474 {
474475 FRONT_LOG (ERROR)
@@ -599,7 +600,7 @@ void FrontService::onReceiveBroadcastMessage(const std::string& _groupID,
599600 */
600601void FrontService::sendMessage (int _moduleID, bcos::crypto::NodeIDPtr _nodeID,
601602 const std::string& _uuid, bytesConstRef _data, bool isResponse,
602- ReceiveMsgFunc _receiveMsgCallback)
603+ const ReceiveMsgFunc& _receiveMsgCallback)
603604{
604605 auto message = messageFactory ()->buildMessage ();
605606 message->setModuleID (_moduleID);
@@ -614,11 +615,11 @@ void FrontService::sendMessage(int _moduleID, bcos::crypto::NodeIDPtr _nodeID,
614615 message->encode (*buffer);
615616
616617 // call gateway interface to send the message
617- m_gatewayInterface->asyncSendMessageByNodeID (m_groupID, _moduleID, m_nodeID, _nodeID,
618+ m_gatewayInterface->asyncSendMessageByNodeID (m_groupID, _moduleID, m_nodeID, std::move ( _nodeID) ,
618619 bytesConstRef (buffer->data (), buffer->size ()), [_receiveMsgCallback](Error::Ptr _error) {
619620 if (_receiveMsgCallback)
620621 {
621- _receiveMsgCallback (_error);
622+ _receiveMsgCallback (std::move ( _error) );
622623 }
623624 });
624625}
0 commit comments