Example #1
0
<?php

require 'autoloader.php';
$data = array('test1');
$conn = new \Kafka\Socket('192.168.1.115', '9092');
$conn->connect();
$encoder = new \Kafka\Protocol\Encoder($conn);
$encoder->metadataRequest($data);
$decoder = new \Kafka\Protocol\Decoder($conn);
$result = $decoder->metadataResponse();
var_dump($result);
Example #2
0
 /**
  * get broker broker connect
  *
  * @param string $host
  * @access private
  * @return void
  */
 public function getStream($host, $lockKey = null)
 {
     if (!$lockKey) {
         $lockKey = uniqid($host);
     }
     list($hostname, $port) = explode(':', $host);
     // find unlock stream
     if (isset(self::$stream[$host])) {
         foreach (self::$stream[$host] as $key => $info) {
             if ($info['locked']) {
                 continue;
             } else {
                 self::$stream[$host][$key]['locked'] = true;
                 return array('key' => $key, 'stream' => $info['stream']);
             }
         }
     }
     // no idle stream
     $stream = new \Kafka\Socket($hostname, $port);
     $stream->connect();
     self::$stream[$host][$lockKey] = array('locked' => true, 'stream' => $stream);
     return array('key' => $lockKey, 'stream' => $stream);
 }