# File lib/Dnsruby/message.rb, line 249
    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