/** * format payload array * * @access private * @return array */ private function _formatPayload() { if (empty($this->payload)) { return array(); } $data = array(); foreach ($this->payload as $topicName => $partitions) { foreach ($partitions as $partitionId => $offset) { $host = $this->client->getHostByPartition($topicName, $partitionId); $data[$host][$topicName][$partitionId] = $offset; } } $requestData = array(); foreach ($data as $host => $info) { $topicData = array(); foreach ($info as $topicName => $partitions) { $partitionData = array(); foreach ($partitions as $partitionId => $offset) { $partitionData[] = array('partition_id' => $partitionId, 'offset' => $offset, 'max_bytes' => $this->maxSize); } $topicData[] = array('topic_name' => $topicName, 'partitions' => $partitionData); } $requestData[$host] = array('data' => $topicData); } return $requestData; }