Returns whether all required parts of a message are present.

        Returns:
            bool : True if the message is complete, False otherwise

def complete(self):
        ''' Returns whether all required parts of a message are present.

        Returns:
            bool : True if the message is complete, False otherwise

        '''
        return self.header is not None and \
            self.metadata is not None and \
            self.content is not None and \
            self.header.get('num_buffers', 0) == len(self._buffers)