def to_s
retval = "";
if (@answerfrom != nil && @answerfrom != "")
retval = retval + ";; Answer received from #{@answerfrom} (#{@answersize} bytes)\n;;\n";
end
retval = retval + ";; HEADER SECTION\n";
retval = retval + @header.to_s;
retval = retval + "\n";
section = (@header.opcode == OpCode.UPDATE) ? "ZONE" : "QUESTION";
retval = retval + ";; #{section} SECTION (#{@header.qdcount} record#{@header.qdcount == 1 ? '' : 's'})\n";
each_question { |qr|
retval = retval + ";; #{qr.to_s}\n";
}
retval = retval + "\n";
section = (@header.opcode == OpCode.UPDATE) ? "PREREQUISITE" : "ANSWER";
retval = retval + ";; #{section} SECTION (#{@header.ancount} record#{@header.ancount == 1 ? '' : 's'})\n";
each_answer { |rr|
retval = retval + rr.to_s + "\n";
}
retval = retval + "\n";
section = (@header.opcode == OpCode.UPDATE) ? "UPDATE" : "AUTHORITY";
retval = retval + ";; #{section} SECTION (#{@header.nscount} record#{@header.nscount == 1 ? '' : 's'})\n";
each_authority { |rr|
retval = retval + rr.to_s + "\n";
}
retval = retval + "\n";
retval = retval + ";; ADDITIONAL SECTION (#{@header.arcount} record#{@header.arcount == 1 ? '' : 's'})\n";
each_additional { |rr|
retval = retval + rr.to_s+ "\n";
}
return retval;
end