Browse Source

[2000] Add API documentation for specialized methods and PseudoRR class

Mukund Sivaraman 11 years ago
parent
commit
f9daba2bfb
1 changed files with 27 additions and 0 deletions
  1. 27 0
      src/lib/dns/rdata/generic/opt_41.h

+ 27 - 0
src/lib/dns/rdata/generic/opt_41.h

@@ -41,13 +41,25 @@ public:
     OPT& operator=(const OPT& source);
     ~OPT();
 
+    /// \brief A class representing a pseudo RR (or option) within an
+    /// OPT RR (see RFC 6891).
     class PseudoRR {
     public:
+        /// \brief Constructor.
+        /// \param code The OPTION-CODE field of the pseudo RR.
+        /// \param data The OPTION-DATA field of the pseudo
+        /// RR. OPTION-LENGTH is set to the length of this vector.
         PseudoRR(uint16_t code,
                  boost::shared_ptr<std::vector<uint8_t> >& data);
 
+        /// \brief Return the option code of this pseudo RR.
         uint16_t getCode() const;
+
+        /// \brief Return the option data of this pseudo RR.
         const uint8_t* getData() const;
+
+        /// \brief Return the length of the option data of this
+        /// pseudo RR.
         uint16_t getLength() const;
 
     private:
@@ -55,7 +67,22 @@ public:
         boost::shared_ptr<std::vector<uint8_t> > data_;
     };
 
+    /// \brief Append a pseudo RR (option) in this OPT RR.
+    ///
+    /// \param code The OPTION-CODE field of the pseudo RR.
+    /// \param data The OPTION-DATA field of the pseudo RR.
+    /// \param length The size of the \c data argument. OPTION-LENGTH is
+    /// set to this size.
+    /// \throw \c isc::InvalidParameter if this pseudo RR would cause
+    /// the OPT RDATA to overflow its RDLENGTH.
     void appendPseudoRR(uint16_t code, const uint8_t* data, uint16_t length);
+
+    /// \brief Return a vector of the pseudo RRs (options) in this
+    /// OPT RR.
+    ///
+    /// Note: The returned reference is only valid during the lifetime
+    /// of this \c generic::OPT object. It should not be used
+    /// afterwards.
     const std::vector<PseudoRR>& getPseudoRRs() const;
 
 private: