[svn] commit: r980 - /branches/jinmei-dnsrdata/src/lib/dns/cpp/rdata/generic/rrsig_46.cc

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Feb 25 23:26:27 UTC 2010


Author: jinmei
Date: Thu Feb 25 23:26:27 2010
New Revision: 980

Log:
checkpoint: slightly improve efficiency of construction

Modified:
    branches/jinmei-dnsrdata/src/lib/dns/cpp/rdata/generic/rrsig_46.cc

Modified: branches/jinmei-dnsrdata/src/lib/dns/cpp/rdata/generic/rrsig_46.cc
==============================================================================
--- branches/jinmei-dnsrdata/src/lib/dns/cpp/rdata/generic/rrsig_46.cc (original)
+++ branches/jinmei-dnsrdata/src/lib/dns/cpp/rdata/generic/rrsig_46.cc Thu Feb 25 23:26:27 2010
@@ -62,6 +62,16 @@
         timeinception_(timeinception), keyid_(keyid), signer_(signer),
         signature_(signature)
     {}
+    RRSIGImpl(const RRType& covered, uint8_t algorithm, uint8_t labels,
+              uint32_t originalttl, uint32_t timeexpire, uint32_t timeinception,
+              uint16_t keyid, const Name& signer,
+              const string& signature_txt) :
+        covered_(covered), algorithm_(algorithm), labels_(labels),
+        originalttl_(originalttl), timeexpire_(timeexpire),
+        timeinception_(timeinception), keyid_(keyid), signer_(signer)
+    {
+        decodeBase64(signature_txt, signature_);
+    }
 
     const RRType covered_;
     uint8_t algorithm_;
@@ -71,7 +81,7 @@
     uint32_t timeinception_;
     uint16_t keyid_;
     const Name signer_;
-    const vector<char> signature_;
+    vector<char> signature_;
 };
 
 RRSIG::RRSIG(const string& rrsig_str) :
@@ -100,12 +110,9 @@
     uint32_t timeexpire = convertDNSSECTime(expire_txt);
     uint32_t timeinception = convertDNSSECTime(inception_txt);
 
-    vector<char> signature;
-    decodeBase64(signaturebuf.str(), signature);
-
     impl_ = new RRSIGImpl(RRType(covered_txt), algorithm, labels,
                           originalttl, timeexpire, timeinception, keyid,
-                          Name(signer_txt), signature);
+                          Name(signer_txt), signaturebuf.str());
 }
 
 RRSIG::RRSIG(InputBuffer& buffer, size_t rdata_len)




More information about the bind10-changes mailing list