diff --git a/metadata_collection.c b/metadata_collection.c index 7bf8f55..6802f6b 100644 --- a/metadata_collection.c +++ b/metadata_collection.c @@ -186,7 +186,7 @@ ZEND_METHOD(Kafka_Metadata_Collection, next) return; } - intern->position ++; + intern->position++; } /* }}} */ @@ -243,4 +243,5 @@ void kafka_metadata_collection_obj_init(zval *return_value, Z_KAFKA_OBJ *zmetada intern->item_cnt = item_cnt; intern->item_size = item_size; intern->ctor = ctor; + intern->position = 0; } diff --git a/tests/metadata.phpt b/tests/metadata.phpt index 30839f6..b9b546b 100644 --- a/tests/metadata.phpt +++ b/tests/metadata.phpt @@ -39,9 +39,16 @@ $producer->flush(10000); printf("%d messages delivered\n", $delivered); $metadata = $producer->getMetadata(false, 2*1000, $topic); echo $metadata->getOrigBrokerName() . PHP_EOL; -echo $metadata->getTopics()->current()->getTopic() . PHP_EOL; -echo $metadata->getTopics()->current()->getPartitions()->count() . PHP_EOL; -echo $metadata->getTopics()->current()->getPartitions()->current()->getLeader() . PHP_EOL; + +$topics = $metadata->getTopics(); + +while ($topics->valid()) { + echo $topics->current()->getTopic() . PHP_EOL; + echo $topics->current()->getPartitions()->count() . PHP_EOL; + echo $topics->current()->getPartitions()->current()->getLeader() . PHP_EOL; + $topics->next(); +} + echo $metadata->getBrokers()->current()->getHost() . PHP_EOL; echo $metadata->getBrokers()->current()->getPort() . PHP_EOL; --EXPECT--