PHP 8.2.30
Preview: buffer.py Size: 1.24 KB
/proc/thread-self/root/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/utils/buffer.py

class LineBuffer(object):
    """
    Allows to accumulate data, and than iterate over it getting tokens
    split by line breaks '\n'. If at the end there is no line break,
    the data will sit in the line buffer until more data with line
    break comes in.
    """

    def __init__(self):
        self.buf = ""

    def append(self, data):
        self.buf += data

    def __iter__(self):
        return self

    def __next__(self):
        pos = self.buf.find("\n")
        if pos != -1:
            result = self.buf[0:pos]
            self.buf = self.buf[pos + 1 :]
            return result
        raise StopIteration

    def clean(self):
        self.buf = ""


class SizeBuffer:
    def __init__(self, size_len=2):
        self._buf = b""
        self._size_len = size_len

    def append(self, data):
        self._buf += data

    def __iter__(self):
        return self

    def __next__(self):
        if not self._buf:
            raise StopIteration
        size = int.from_bytes(self._buf[: self._size_len], "big")
        if len(self._buf[self._size_len :]) >= size:
            data = self._buf[self._size_len : self._size_len + size]
            self._buf = self._buf[self._size_len + size :]
            return data
        raise StopIteration

Directory Contents

Dirs: 1 × Files: 30

Name Size Perms Modified Actions
- drwxr-xr-x 2026-03-03 08:59:03
Edit Download
497 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download
718 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download
538 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download
1.24 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
7.72 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
636 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download
7.39 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
14.41 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
999 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download
902 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download
1.00 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
149 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download
2.67 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
3.17 KB lrw-r--r-- 2026-01-23 13:13:44
Edit Download
953 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download
1.56 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
11.12 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
2.29 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
7.99 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
363 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download
1.72 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
7.94 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
1.53 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
5.20 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
1005 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download
4.27 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
7.60 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
1.41 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
795 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download
55.96 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).