Kafka\Protocol\Encoder::fetchRequest PHP Method

fetchRequest() public method

build fetch request
public fetchRequest ( array $payloads ) : string
$payloads array
return string
    public function fetchRequest($payloads)
    {
        if (!isset($payloads['data'])) {
            throw new \Kafka\Exception\Protocol('given fetch kafka data invalid. `data` is undefined.');
        }
        if (!isset($payloads['replica_id'])) {
            $payloads['replica_id'] = -1;
        }
        if (!isset($payloads['max_wait_time'])) {
            $payloads['max_wait_time'] = 100;
            // default timeout 100ms
        }
        if (!isset($payloads['min_bytes'])) {
            $payloads['min_bytes'] = 64 * 1024;
            // 64k
        }
        $header = self::requestHeader('kafka-php', 0, self::FETCH_REQUEST);
        $data = self::pack(self::BIT_B32, $payloads['replica_id']);
        $data .= self::pack(self::BIT_B32, $payloads['max_wait_time']);
        $data .= self::pack(self::BIT_B32, $payloads['min_bytes']);
        $data .= self::encodeArray($payloads['data'], array(__CLASS__, '_encodeFetchTopic'));
        $data = self::encodeString($header . $data, self::PACK_INT32);
        return $this->stream->write($data);
    }