private function readArray()

in src/Apache/Ignite/Internal/Binary/BinaryCommunicator.php [305:322]


    private function readArray(MessageBuffer $buffer, int $arrayTypeCode, $arrayType): array
    {
        if ($arrayTypeCode === ObjectType::OBJECT_ARRAY) {
            $buffer->readInteger();
        }
        $length = $buffer->readInteger();
        $elementType = BinaryUtils::getArrayElementType($arrayType ? $arrayType : $arrayTypeCode);
        $keepElementType = $elementType === null ? true : TypeInfo::getTypeInfo($arrayTypeCode)->keepElementType();
        $result = array();
        for ($i = 0; $i < $length; $i++) {
            array_push(
                $result,
                $keepElementType ?
                    $this->readObject($buffer, $elementType) :
                    $this->readTypedObject($buffer, $elementType));
        }
        return $result;
    }