

def __iter__(self):
    fd = os.open(self.path, os.O_RDONLY)
    size = os.fstat(fd).st_size
    if (not size):
        return
    map = mmap.mmap(fd, size, access=mmap.ACCESS_READ)
    i = 0
    while (i < size):
        length = struct.unpack('!I', map[i:(i + 4)])[0]
        i += 4
        (yield self.EntryClass(cPickle.loads(map[i:(i + length)])))
        i += length
    os.close(fd)

dataset/ETHPy150Open sassoftware/conary/conary/repository/calllog.py AbstractCallLogger.__iter__/original