private function readCollection()

in src/Apache/Ignite/Internal/Binary/BinaryCommunicator.php [324:339]


    private function readCollection(MessageBuffer $buffer, CollectionObjectType $expectedColType = null)
    {
        $size = $buffer->readInteger();
        $subType = $buffer->readByte();
        $isSet = CollectionObjectType::isSet($subType);
        $result = $isSet ? new Set() : [];
        for ($i = 0; $i < $size; $i++) {
            $element = $this->readObject($buffer, $expectedColType ? $expectedColType->getElementType() : null);
            if ($isSet) {
                $result->add($element);
            } else {
                array_push($result, $element);
            }
        }
        return $result;
    }