Kafka\Protocol\Encoder::produceRequest PHP Method

produceRequest() public method

produce request
public produceRequest ( array $payloads, integer $compression = self::COMPRESSION_NONE ) : integer
$payloads array
$compression integer
return integer
    public function produceRequest($payloads, $compression = self::COMPRESSION_NONE)
    {
        if (!isset($payloads['data'])) {
            throw new \Kafka\Exception\Protocol('given procude data invalid. `data` is undefined.');
        }
        if (!isset($payloads['required_ack'])) {
            // default server will not send any response
            // (this is the only case where the server will not reply to a request)
            $payloads['required_ack'] = 0;
        }
        if (!isset($payloads['timeout'])) {
            $payloads['timeout'] = 100;
            // default timeout 100ms
        }
        $header = self::requestHeader('kafka-php', 0, self::PRODUCE_REQUEST);
        $data = self::pack(self::BIT_B16, $payloads['required_ack']);
        $data .= self::pack(self::BIT_B32, $payloads['timeout']);
        $data .= self::encodeArray($payloads['data'], array(__CLASS__, '_encodeProcudeTopic'), $compression);
        $data = self::encodeString($header . $data, self::PACK_INT32);
        return $this->stream->write($data);
    }