171 void SetAnswers(
const std::vector<DNSResourceRecord>& answers_)
190 char flags0 = ReadData<char>(iter, length);
191 qr = (flags0 >> 7) & 0x01;
192 opcode = (flags0 >> 3) & 0x0F;
193 aa = (flags0 >> 2) & 0x01;
194 tc = (flags0 >> 1) & 0x01;
197 char flags1 = ReadData<char>(iter, length);
198 ra = (flags1 >> 7) & 0x01;
199 z = (flags1 >> 4) & 0x07;
200 rcode = flags1 & 0x0F;
237 char flags0 = (
qr << 7) | (
opcode << 3) | (
aa << 2) | (
tc << 1) |
rd;
238 WriteData<char>(flags0, container);
240 char flags1 = (
ra << 7) | (
z << 4) |
opcode;
241 WriteData<char>(flags1, container);
248 for (
int i = 0; i <
questions.size(); ++i)
253 for (
int i = 0; i <
answers.size(); ++i)
274 output[
"opcode"] =
opcode;
280 output[
"rcode"] =
rcode;
char GetFlagOPCode() const
void SetAdditionals(const std::vector< DNSResourceRecord > &additionals_)
void SetIdentification(const std::vector< unsigned char > &identification_)
short GetNumberAdditionalRR() const
const std::vector< DNSResourceRecord > & GetAuthorities() const
const std::vector< unsigned char > & GetIdentification() const
const std::vector< DNSQuestion > & GetQuestions() const
void SetAnswers(const std::vector< DNSResourceRecord > &answers_)
void SetAuthorities(const std::vector< DNSResourceRecord > &authorities_)
void SetFlagOPCode(const char opcode_)
void SetQuestions(const std::vector< DNSQuestion > &questions_)
void SetFlagRA(const char ra_)
void SetFlagQR(const char qr_)
void SetFlagRCode(const char rcode_)
std::vector< DNSQuestion > questions
char GetFlagRCode() const
short GetNumberAnswer() const
void SetNumberAdditionalRR(const short number_additional_rr_)
short GetNumberAuthority() const
std::vector< DNSResourceRecord > authorities
short number_additional_rr
std::vector< unsigned char > identification
void SetFlagAA(const char aa_)
void SetNumberAnswer(const short number_answer_)
virtual Json::Value SerializeImpl() const override
short GetNumberQuestion() const
std::vector< DNSResourceRecord > additionals
std::vector< DNSResourceRecord > answers
virtual void WriteImpl(WriteContainer &container) const override
void SetFlagZ(const char z_)
void SetFlagRD(const char rd_)
const std::vector< DNSResourceRecord > & GetAdditionals() const
const std::vector< DNSResourceRecord > & GetAnswers() const
void SetFlagTC(const char tc_)
virtual void ReadImpl(ReadIterator &iter, size_t &length) override
void SetNumberQuestion(const short number_question_)
void SetNumberAuthority(const short number_authority_)
Real class declaration, just a derived class of std::vector<Value>
Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant direc...
void push_back(const Value &value)
virtual Json::Value Serialize() const
std::vector< unsigned char > ReadByteArray(ReadIterator &iter, size_t &length, const size_t desired_length)
std::vector< unsigned char > WriteContainer
std::vector< unsigned char >::const_iterator ReadIterator
void WriteByteArray(const std::vector< unsigned char > &my_array, WriteContainer &container)