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();
}
}