def address_of_buffer(buf): if isinstance(buf, memoryview): return id(buf), len(buf) elif isinstance(buf, mmap.mmap): return buffer_pointer(buf)
def get_address(self): (arena, start, stop), size = self._state address, length = buffer_pointer(arena.block) assert size <= length return address + start