CR fix 3
Change-Id: If6802a52f48870a1fe3c42d57d7797a5f5248b26
diff --git a/src/detail/probe-encoder.cpp b/src/detail/probe-encoder.cpp
index 2a5fa08..f040d2e 100644
--- a/src/detail/probe-encoder.cpp
+++ b/src/detail/probe-encoder.cpp
@@ -24,25 +24,25 @@
namespace ndncert {
Block
-probeEncoder::encodeApplicationParameters(std::vector<std::tuple<std::string, std::string>>&& parameters)
+probeEncoder::encodeApplicationParameters(std::multimap<std::string, std::string>&& parameters)
{
Block content(ndn::tlv::ApplicationParameters);
- for (size_t i = 0; i < parameters.size(); ++i) {
- content.push_back(makeStringBlock(tlv::ParameterKey, std::get<0>(parameters[i])));
- content.push_back(makeStringBlock(tlv::ParameterValue, std::get<1>(parameters[i])));
+ for (const auto& items : parameters) {
+ content.push_back(makeStringBlock(tlv::ParameterKey, items.first));
+ content.push_back(makeStringBlock(tlv::ParameterValue, items.second));
}
content.encode();
return content;
}
-std::vector<std::tuple<std::string, std::string>>
+std::multimap<std::string, std::string>
probeEncoder::decodeApplicationParameters(const Block& block)
{
- std::vector<std::tuple<std::string, std::string>> result;
+ std::multimap<std::string, std::string> result;
block.parse();
for (size_t i = 0; i < block.elements().size() - 1; i++) {
if (block.elements()[i].type() == tlv::ParameterKey && block.elements()[i + 1].type() == tlv::ParameterValue) {
- result.emplace_back(readString(block.elements().at(i)), readString(block.elements().at(i + 1)));
+ result.emplace(readString(block.elements().at(i)), readString(block.elements().at(i + 1)));
i ++;
}
}
diff --git a/src/detail/probe-encoder.hpp b/src/detail/probe-encoder.hpp
index 03d216e..3985f93 100644
--- a/src/detail/probe-encoder.hpp
+++ b/src/detail/probe-encoder.hpp
@@ -29,7 +29,7 @@
// For Client use
Block
- encodeApplicationParameters(std::vector<std::tuple<std::string, std::string>>&& parameters);
+ encodeApplicationParameters(std::multimap<std::string, std::string>&& parameters);
void
decodeDataContent(const Block& block, std::vector<std::pair<Name, int>>& availableNames,
@@ -41,7 +41,7 @@
optional<size_t> maxSuffixLength = nullopt,
optional<std::vector<std::shared_ptr<security::Certificate>>> redirectionItems = nullopt);
- std::vector<std::tuple<std::string, std::string>>
+ std::multimap<std::string, std::string>
decodeApplicationParameters(const Block& block);
} // namespace ProbeEncoder
} // namespace ndncert