still use rvalue reference for parameters
Change-Id: I44e06a375f29b8552cbc58d99c7ac317ff33130c
diff --git a/src/detail/probe-encoder.cpp b/src/detail/probe-encoder.cpp
index 0591501..5141ba1 100644
--- a/src/detail/probe-encoder.cpp
+++ b/src/detail/probe-encoder.cpp
@@ -24,7 +24,7 @@
namespace ndncert {
Block
-ProbeEncoder::encodeApplicationParameters(const std::vector<std::tuple<std::string, std::string>>& parameters)
+ProbeEncoder::encodeApplicationParameters(std::vector<std::tuple<std::string, std::string>>&& parameters)
{
auto content = makeEmptyBlock(ndn::tlv::ApplicationParameters);
for (size_t i = 0; i < parameters.size(); ++i) {
diff --git a/src/detail/probe-encoder.hpp b/src/detail/probe-encoder.hpp
index 0db8cb9..0a991c3 100644
--- a/src/detail/probe-encoder.hpp
+++ b/src/detail/probe-encoder.hpp
@@ -31,7 +31,7 @@
public:
// For Client use
static Block
- encodeApplicationParameters(const std::vector<std::tuple<std::string, std::string>>& parameters);
+ encodeApplicationParameters(std::vector<std::tuple<std::string, std::string>>&& parameters);
static void
decodeDataContent(const Block& block, std::vector<std::pair<Name, int>>& availableNames,
diff --git a/src/requester.cpp b/src/requester.cpp
index 774b805..7b1df5f 100644
--- a/src/requester.cpp
+++ b/src/requester.cpp
@@ -88,14 +88,14 @@
}
shared_ptr<Interest>
-Requester::genProbeInterest(const CaProfile& ca,const std::vector<std::tuple<std::string, std::string>>& probeInfo)
+Requester::genProbeInterest(const CaProfile& ca, std::vector<std::tuple<std::string, std::string>>&& probeInfo)
{
Name interestName = ca.m_caPrefix;
interestName.append("CA").append("PROBE");
auto interest =std::make_shared<Interest>(interestName);
interest->setMustBeFresh(true);
interest->setCanBePrefix(false);
- interest->setApplicationParameters(ProbeEncoder::encodeApplicationParameters(probeInfo));
+ interest->setApplicationParameters(ProbeEncoder::encodeApplicationParameters(std::move(probeInfo)));
return interest;
}
diff --git a/src/requester.hpp b/src/requester.hpp
index 117229c..4e2a1b1 100644
--- a/src/requester.hpp
+++ b/src/requester.hpp
@@ -84,7 +84,7 @@
* @return A shared pointer of to the encoded interest, ready to be sent.
*/
static shared_ptr<Interest>
- genProbeInterest(const CaProfile& ca,const std::vector<std::tuple<std::string, std::string>>& probeInfo);
+ genProbeInterest(const CaProfile& ca, std::vector<std::tuple<std::string, std::string>>&& probeInfo);
/**
* @brief Decodes the replied data for PROBE process from the CA.
diff --git a/tests/unit-tests/protocol-encoders.t.cpp b/tests/unit-tests/protocol-encoders.t.cpp
index 96af9e4..f887a85 100644
--- a/tests/unit-tests/protocol-encoders.t.cpp
+++ b/tests/unit-tests/protocol-encoders.t.cpp
@@ -69,7 +69,7 @@
std::vector<std::tuple<std::string, std::string>> parameters;
parameters.emplace_back("key1", "value1");
parameters.emplace_back("key2", "value2");
- auto appParam = ProbeEncoder::encodeApplicationParameters(parameters);
+ auto appParam = ProbeEncoder::encodeApplicationParameters(std::move(parameters));
auto param1 = ProbeEncoder::decodeApplicationParameters(appParam);
BOOST_CHECK_EQUAL(parameters.size(), param1.size());
BOOST_CHECK_EQUAL(std::get<0>(parameters[0]), std::get<0>(param1[0]));
diff --git a/tools/ndncert-client.cpp b/tools/ndncert-client.cpp
index f7f015c..f1b99dd 100644
--- a/tools/ndncert-client.cpp
+++ b/tools/ndncert-client.cpp
@@ -379,7 +379,7 @@
std::cerr << "\n***************************************\n"
<< "Step " << nStep++ << ": Please provide information for name assignment" << std::endl;
auto capturedParams = captureParams(profile.m_probeParameterKeys);
- face.expressInterest(*Requester::genProbeInterest(profile, capturedParams),
+ face.expressInterest(*Requester::genProbeInterest(profile, std::move(capturedParams)),
bind(&probeCb, _2, profile), bind(&onNackCb), bind(&timeoutCb));
}
else {