def collect()

in share/multiline.py [0:0]


    def collect(self) -> CollectIterator:
        last_iteration_datetime: datetime.datetime = datetime.datetime.now(datetime.UTC)
        for data, newline in self.feed:
            self._buffer.grow(data, newline)
            self._current_count += 1
            if (
                self._count_lines == self._current_count
                or (datetime.datetime.now(datetime.UTC) - last_iteration_datetime) > timedelta_circuit_breaker
            ):
                self._current_count = 0
                yield self._buffer.collect_and_reset()

        if not self._buffer.is_empty():
            yield self._buffer.collect_and_reset()