public static void readIgniteConfiguration()

in modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java [723:957]


    public static void readIgniteConfiguration(BinaryReaderEx in, IgniteConfiguration cfg) {
        if (in.readBoolean())
            cfg.setClientMode(in.readBoolean());
        int[] evtTypes = in.readIntArray();
        if (evtTypes != null)
            cfg.setIncludeEventTypes(evtTypes);
        if (in.readBoolean())
            cfg.setMetricsExpireTime(in.readLong());
        if (in.readBoolean())
            cfg.setMetricsHistorySize(in.readInt());
        if (in.readBoolean())
            cfg.setMetricsLogFrequency(in.readLong());
        if (in.readBoolean())
            cfg.setMetricsUpdateFrequency(in.readLong());
        if (in.readBoolean())
            cfg.setNetworkSendRetryCount(in.readInt());
        if (in.readBoolean())
            cfg.setNetworkSendRetryDelay(in.readLong());
        if (in.readBoolean())
            cfg.setNetworkTimeout(in.readLong());
        String workDir = in.readString();
        if (workDir != null)
            cfg.setWorkDirectory(workDir);
        String locHost = in.readString();
        if (locHost != null)
            cfg.setLocalHost(locHost);
        if (in.readBoolean())
            cfg.setFailureDetectionTimeout(in.readLong());
        if (in.readBoolean())
            cfg.setClientFailureDetectionTimeout(in.readLong());
        if (in.readBoolean())
            cfg.setLongQueryWarningTimeout(in.readLong());
        if (in.readBoolean())
            cfg.setActiveOnStart(in.readBoolean());
        if (in.readBoolean())
            cfg.setAuthenticationEnabled(in.readBoolean());
        if (in.readBoolean())
            cfg.setSystemWorkerBlockedTimeout(in.readLong());
        if (in.readBoolean())
            cfg.setSqlQueryHistorySize(in.readInt());
        if (in.readBoolean())
            cfg.setPeerClassLoadingEnabled(in.readBoolean());
        if (in.readBoolean())
            cfg.setAsyncContinuationExecutor(getAsyncContinuationExecutor(in.readInt()));

        int sqlSchemasCnt = in.readInt();

        if (sqlSchemasCnt >= 0) {
            String[] sqlSchemas = new String[sqlSchemasCnt];

            for (int i = 0; i < sqlSchemasCnt; i++)
                sqlSchemas[i] = in.readString();

            cfg.setSqlSchemas(sqlSchemas);
        }

        Object consId = in.readObjectDetached();

        if (consId instanceof Serializable) {
            cfg.setConsistentId((Serializable)consId);
        }
        else if (consId != null) {
            throw new IgniteException("IgniteConfiguration.ConsistentId should be Serializable.");
        }

        // Thread pools.
        if (in.readBoolean())
            cfg.setPublicThreadPoolSize(in.readInt());
        if (in.readBoolean())
            cfg.setStripedPoolSize(in.readInt());
        if (in.readBoolean())
            cfg.setServiceThreadPoolSize(in.readInt());
        if (in.readBoolean())
            cfg.setSystemThreadPoolSize(in.readInt());
        if (in.readBoolean())
            cfg.setAsyncCallbackPoolSize(in.readInt());
        if (in.readBoolean())
            cfg.setManagementThreadPoolSize(in.readInt());
        if (in.readBoolean())
            cfg.setDataStreamerThreadPoolSize(in.readInt());
        if (in.readBoolean())
            cfg.setUtilityCachePoolSize(in.readInt());
        if (in.readBoolean())
            cfg.setQueryThreadPoolSize(in.readInt());

        readCacheConfigurations(in, cfg);
        readDiscoveryConfiguration(in, cfg);
        readEncryptionConfiguration(in, cfg);

        if (in.readBoolean()) {
            TcpCommunicationSpi comm = new TcpCommunicationSpi();

            comm.setAckSendThreshold(in.readInt());
            comm.setConnectionsPerNode(in.readInt());
            comm.setConnectTimeout(in.readLong());
            comm.setDirectBuffer(in.readBoolean());
            comm.setDirectSendBuffer(in.readBoolean());
            comm.setFilterReachableAddresses(in.readBoolean());
            comm.setIdleConnectionTimeout(in.readLong());
            comm.setLocalAddress(in.readString());
            comm.setLocalPort(in.readInt());
            comm.setLocalPortRange(in.readInt());
            comm.setMaxConnectTimeout(in.readLong());
            comm.setMessageQueueLimit(in.readInt());
            comm.setReconnectCount(in.readInt());
            comm.setSelectorsCount(in.readInt());
            comm.setSelectorSpins(in.readLong());
            comm.setSlowClientQueueLimit(in.readInt());
            comm.setSocketReceiveBuffer(in.readInt());
            comm.setSocketSendBuffer(in.readInt());
            comm.setSocketWriteTimeout(in.readLong());
            comm.setTcpNoDelay(in.readBoolean());
            comm.setUnacknowledgedMessagesBufferSize(in.readInt());
            comm.setUsePairedConnections(in.readBoolean());

            cfg.setCommunicationSpi(comm);
        }

        if (in.readBoolean()) {  // binary config is present
            if (cfg.getBinaryConfiguration() == null)
                cfg.setBinaryConfiguration(new BinaryConfiguration());

            if (in.readBoolean())  // compact footer is set
                cfg.getBinaryConfiguration().setCompactFooter(in.readBoolean());

            if (in.readBoolean()) {
                // Simple name mapper.
                cfg.getBinaryConfiguration().setNameMapper(new BinaryBasicNameMapper(true));
            }
        }

        int attrCnt = in.readInt();

        if (attrCnt > 0) {
            Map<String, Object> attrs = new HashMap<>(attrCnt);

            for (int i = 0; i < attrCnt; i++)
                attrs.put(in.readString(), in.readObject());

            cfg.setUserAttributes(attrs);
        }

        if (in.readBoolean()) {
            AtomicConfiguration atomic = new AtomicConfiguration();

            atomic.setAtomicSequenceReserveSize(in.readInt());
            atomic.setBackups(in.readInt());
            atomic.setCacheMode(CacheMode.fromCode(in.readInt()));

            cfg.setAtomicConfiguration(atomic);
        }

        if (in.readBoolean()) {
            TransactionConfiguration tx = new TransactionConfiguration();

            tx.setPessimisticTxLogSize(in.readInt());
            tx.setDefaultTxConcurrency(TransactionConcurrency.fromOrdinal(in.readInt()));
            tx.setDefaultTxIsolation(TransactionIsolation.fromOrdinal(in.readInt()));
            tx.setDefaultTxTimeout(in.readLong());
            tx.setPessimisticTxLogLinger(in.readInt());
            tx.setTxTimeoutOnPartitionMapExchange(in.readLong());

            cfg.setTransactionConfiguration(tx);
        }

        switch (in.readByte()) {
            case 1:
                cfg.setEventStorageSpi(new NoopEventStorageSpi());
                break;

            case 2:
                cfg.setEventStorageSpi(new MemoryEventStorageSpi()
                        .setExpireCount(in.readLong())
                        .setExpireAgeMs(in.readLong()));
                break;
        }

        if (in.readBoolean())
            cfg.setMemoryConfiguration(readMemoryConfiguration(in));

        if (in.readBoolean())
            cfg.setSqlConnectorConfiguration(readSqlConnectorConfiguration(in));

        if (in.readBoolean())
            cfg.setClientConnectorConfiguration(readClientConnectorConfiguration(in));

        if (!in.readBoolean())  // ClientConnectorConfigurationEnabled override
            cfg.setClientConnectorConfiguration(null);

        if (in.readBoolean())
            cfg.setPersistentStoreConfiguration(readPersistentStoreConfiguration(in));

        if (in.readBoolean())
            cfg.setDataStorageConfiguration(readDataStorageConfiguration(in));

        if (in.readBoolean())
            cfg.setSslContextFactory(readSslContextFactory(in));

        if (in.readBoolean()) {
            switch (in.readByte()) {
                case 0:
                    cfg.setFailureHandler(new NoOpFailureHandler());

                    break;

                case 1:
                    cfg.setFailureHandler(new StopNodeFailureHandler());

                    break;

                case 2:
                    cfg.setFailureHandler(new StopNodeOrHaltFailureHandler(in.readBoolean(), in.readLong()));

                    break;
            }
        }

        int execCfgCnt = in.readInt();

        if (execCfgCnt > 0) {
            ExecutorConfiguration[] execCfgs = new ExecutorConfiguration[execCfgCnt];

            for (int i = 0; i < execCfgCnt; i++) {
                execCfgs[i] = new ExecutorConfiguration()
                        .setName(in.readString())
                        .setSize(in.readInt());
            }

            cfg.setExecutorConfiguration(execCfgs);
        }

        readPluginConfiguration(cfg, in);

        readLocalEventListeners(cfg, in);
    }