wait to be verified
diff --git a/src/query.cpp b/src/query.cpp
index 756de40..7a96731 100644
--- a/src/query.cpp
+++ b/src/query.cpp
@@ -23,7 +23,9 @@
namespace ndns {
Query::Query()
- : m_interestLifetime(time::milliseconds(4000))
+ : m_queryType (QUERY_DNS)
+ , m_interestLifetime(time::milliseconds(4000))
+ , m_rrType(RR::NS)
{
}
@@ -31,8 +33,14 @@
}
-void
-Query::fromWire(const Name &name, const Interest &interest)
+bool
+Query::fromInterest(const Name &name, const Interest &interest)
+{
+ return fromInterest(interest);
+}
+
+bool
+Query::fromInterest(const Interest& interest)
{
Name interestName;
interestName = interest.getName();
@@ -51,40 +59,24 @@
if (qtflag == -1)
{
- std::cerr << "There is no QueryType in the Interest Name: " << interestName << std::endl;
- return;
+ std::cerr << "There is no QueryType in the Interest Name: "<< interestName << std::endl;
+ return false;
}
this->m_queryType = toQueryType(interestName.get(qtflag).toUri());
- this->m_rrType = toRRType(interestName.get(len-1).toUri());
+ this->m_rrType = RR::toRRType(interestName.get(len-1).toUri());
this->m_authorityZone = interestName.getPrefix(qtflag); //the DNS/DNS-R is not included
this->m_interestLifetime = interest.getInterestLifetime();
-
-}
-
-template<bool T>
-size_t
-Query::wireEncode(EncodingImpl<T>& block) const
-{
- size_t totalLength = 0;
- totalLength += 0;
-
-
- size_t totalLength = prependByteArrayBlock(block, tlv::Bytes,
- m_key.get().buf(), m_key.get().size());
- totalLength += m_keyName.wireEncode(block);
- totalLength += block.prependVarNumber(totalLength);
- totalLength += block.prependVarNumber(tlv::PublicKey);
-
- return totalLength;
+ this->m_rrLabel = interestName.getSubName(qtflag+1, len-qtflag-2);
+ return true;
}
Interest
-Query::toWire() const
+Query::toInterest() const
{
Name name = this->m_authorityZone;
name.append(toString(this->m_queryType));
name.append(this->m_rrLabel);
- name.append(toString(this->m_rrType));
+ name.append(RR::toString(this->m_rrType));
Selectors selector;
//selector.setMustBeFresh(true);