From: Mukund Sivaraman Date: Wed, 19 Feb 2014 09:21:10 +0000 (+0530) Subject: [2000] Add API documentation for specialized methods and PseudoRR class X-Git-Tag: bind10-1.2.0beta1-release~36^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f9daba2bfb0b915cd17d4330d47c991c18652d8d;p=thirdparty%2Fkea.git [2000] Add API documentation for specialized methods and PseudoRR class --- diff --git a/src/lib/dns/rdata/generic/opt_41.h b/src/lib/dns/rdata/generic/opt_41.h index 88f2b4c2f6..cc51977e3a 100644 --- a/src/lib/dns/rdata/generic/opt_41.h +++ b/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 >& 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 > 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& getPseudoRRs() const; private: