7 #ifndef OPAQUE_DATA_TUPLE_H 8 #define OPAQUE_DATA_TUPLE_H 86 : length_field_type_(length_field_type) {
103 void append(
const char* data,
const size_t len) {
104 data_.insert(data_.end(), data, data + len);
107 data_.insert(data_.end(), data, data + len);
116 void append(
const std::string& text);
128 void assign(
const char* data,
const size_t len) {
129 data_.assign(data, data + len);
132 data_.assign(data, data + len);
141 void assign(
const std::string& text);
149 bool equals(
const std::string& other)
const;
153 return (length_field_type_);
158 return (data_.size());
163 return (getDataFieldSize() + getLength());
176 std::string getText()
const;
236 bool operator==(
const std::string& other)
const;
252 int getDataFieldSize()
const;
bool operator!=(const Element &a, const Element &b)
Buffer::const_iterator InputIterator
void assign(const char *data, const size_t len)
Assigns data to the tuple.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
void append(InputIterator data, const size_t len)
LengthFieldType getLengthFieldType() const
Returns tuple length data field type.
bool operator==(const Element &a, const Element &b)
size_t getTotalLength() const
Returns a total size of the tuple, including length field.
OpaqueDataTupleError(const char *file, size_t line, const char *what)
boost::shared_ptr< OpaqueDataTuple > OpaqueDataTuplePtr
Pointer to the OpaqueDataTuple object.
void append(const char *data, const size_t len)
Appends data to the tuple.
std::vector< uint8_t > Buffer
Defines a type of the data buffer used to hold the opaque data.
The OutputBuffer class is a buffer abstraction for manipulating mutable data.
LengthFieldType
Size of the length field in the tuple.
This is a base class for exceptions thrown from the DNS library module.
Defines the logger used by the top-level component of kea-lfc.
const Buffer & getData() const
Returns a reference to the buffer holding tuple data.
std::ostream & operator<<(std::ostream &os, const OpaqueDataTuple &tuple)
Inserts the OpaqueDataTuple as a string into stream.
OpaqueDataTuple(LengthFieldType length_field_type, InputIterator begin, InputIterator end)
Constructor.
Represents a single instance of the opaque data preceded by length.
size_t getLength() const
Returns the length of the data in the tuple.
void assign(InputIterator data, const size_t len)
std::istream & operator>>(std::istream &is, OpaqueDataTuple &tuple)
Inserts data carried in the stream into the tuple.
Exception to be thrown when the operation on OpaqueDataTuple object results in an error...