(data_bytes: bytes)
| 129 | |
| 130 | @staticmethod |
| 131 | def create(data_bytes: bytes) -> "Descriptor": |
| 132 | # Create shared memory buffer and store payload |
| 133 | name = f"fmq_shm_{uuid.uuid4().hex}" |
| 134 | shm = shared_memory.SharedMemory(create=True, size=len(data_bytes), name=name) |
| 135 | shm.buf[: len(data_bytes)] = data_bytes |
| 136 | shm.close() |
| 137 | return Descriptor(shm_name=name, size=len(data_bytes)) |
| 138 | |
| 139 | def read_and_unlink(self) -> bytes: |
| 140 | # Read and cleanup shared memory |