'Returns whether all required parts of a message are present.
Returns:
bool : True if the message is complete, False otherwise'

@property
def complete(self):

    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)))
