private function readProperty()

in src/Apache/Ignite/Cache/CacheConfiguration.php [982:1008]


    private function readProperty(BinaryCommunicator $communicator, MessageBuffer $buffer, int $propertyCode): void
    {
        $propertyType = self::$propInfo[$propertyCode];
        switch (BinaryUtils::getTypeCode($propertyType)) {
            case ObjectType::INTEGER:
            case ObjectType::LONG:
            case ObjectType::BOOLEAN:
                $this->properties[$propertyCode] = $communicator->readTypedObject($buffer, $propertyType);
                return;
            case ObjectType::STRING:
                $this->properties[$propertyCode] = $communicator->readObject($buffer, $propertyType);
                return;
            case ObjectType::OBJECT_ARRAY:
                $length = $buffer->readInteger();
                $properties = [];
                for ($i = 0; $i < $length; $i++) {
                    $propClassName = $propertyType->getElementType()->getPhpClassName();
                    $property = new $propClassName();
                    $property->read($communicator, $buffer);
                    array_push($properties, $property);
                }
                $this->properties[$propertyCode] = $properties;
                return;
            default:
                BinaryUtils::internalError();
        }
    }