Read feedback information from the stream and unpack it.
        :param stream: A stream of feedback data from APN. Can contain multiple
        feedback tuples, as defined in the feedback service protocol.
        :return A list containing all unpacked feedbacks.

def from_binary_string(cls, stream):
        """
        Read feedback information from the stream and unpack it.
        :param stream: A stream of feedback data from APN. Can contain multiple
        feedback tuples, as defined in the feedback service protocol.
        :return A list containing all unpacked feedbacks.
        """
        offset = 0
        length = len(stream)
        feedbacks = []

        while offset < length:
            timestamp, token_length = struct.unpack(cls.FORMAT_PREFIX,
                                                    stream[offset:offset+6])
            when = datetime.fromtimestamp(timestamp)
            offset += 6
            token = struct.unpack('>{0}s'.format(token_length),
                                  stream[offset:offset+token_length])[0]
            token = binascii.hexlify(token)
            offset += token_length
            feedbacks.append(cls(when, token))

        return feedbacks