"room|peer" => concatenated bytes */ public array $data = []; /** @var array finalized keys */ public array $finalized = []; public function append(string $roomId, string $peerId, string $chunk): void { $key = "{$roomId}|{$peerId}"; $this->data[$key] = ($this->data[$key] ?? '').$chunk; } public function finalize(string $roomId, string $peerId): ?string { $key = "{$roomId}|{$peerId}"; if (! isset($this->data[$key])) { return null; } $this->finalized[] = $key; return "mem://{$key}"; } }