private function writeProperty()

in src/Apache/Ignite/Cache/CacheConfiguration.php [920:943]


    private function writeProperty(BinaryCommunicator $communicator, MessageBuffer $buffer, int $propertyCode, $property): void
    {
        $buffer->writeShort($propertyCode);
        $propertyType = self::$propInfo[$propertyCode];
        switch (BinaryUtils::getTypeCode($propertyType)) {
            case ObjectType::INTEGER:
            case ObjectType::LONG:
            case ObjectType::BOOLEAN:
                $communicator->writeObject($buffer, $property, $propertyType, false);
                return;
            case ObjectType::STRING:
                $communicator->writeObject($buffer, $property, $propertyType);
                return;
            case ObjectType::OBJECT_ARRAY:
                $length = $property ? count($property) : 0;
                $buffer->writeInteger($length);
                foreach ($property as $prop) {
                    $prop->write($communicator, $buffer);
                }
                return;
            default:
                BinaryUtils::internalError();
        }
    }