'Two messages are equal if they have the same content in the
header, question, answer, and authority sections.
@rtype: bool'

def __eq__(self, other):

    if (not isinstance(other, Message)):
        return False
    if (self.id != other.id):
        return False
    if (self.flags != other.flags):
        return False
    for n in self.question:
        if (n not in other.question):
            return False
    for n in other.question:
        if (n not in self.question):
            return False
    for n in self.answer:
        if (n not in other.answer):
            return False
    for n in other.answer:
        if (n not in self.answer):
            return False
    for n in self.authority:
        if (n not in other.authority):
            return False
    for n in other.authority:
        if (n not in self.authority):
            return False
    return True
