Commit f9daba2b authored by Mukund Sivaraman's avatar Mukund Sivaraman
Browse files

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

parent 6e873156
......@@ -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:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment