in modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java [1323:1567]
public static void writeIgniteConfiguration(BinaryRawWriter w, IgniteConfiguration cfg) {
assert w != null;
assert cfg != null;
w.writeBoolean(true);
w.writeBoolean(cfg.isClientMode());
w.writeIntArray(cfg.getIncludeEventTypes());
w.writeBoolean(true);
w.writeLong(cfg.getMetricsExpireTime());
w.writeBoolean(true);
w.writeInt(cfg.getMetricsHistorySize());
w.writeBoolean(true);
w.writeLong(cfg.getMetricsLogFrequency());
w.writeBoolean(true);
w.writeLong(cfg.getMetricsUpdateFrequency());
w.writeBoolean(true);
w.writeInt(cfg.getNetworkSendRetryCount());
w.writeBoolean(true);
w.writeLong(cfg.getNetworkSendRetryDelay());
w.writeBoolean(true);
w.writeLong(cfg.getNetworkTimeout());
w.writeString(cfg.getWorkDirectory());
w.writeString(cfg.getLocalHost());
w.writeBoolean(true);
w.writeLong(cfg.getFailureDetectionTimeout());
w.writeBoolean(true);
w.writeLong(cfg.getClientFailureDetectionTimeout());
w.writeBoolean(true);
w.writeLong(cfg.getLongQueryWarningTimeout());
w.writeBoolean(true);
w.writeBoolean(cfg.isActiveOnStart());
w.writeBoolean(true);
w.writeBoolean(cfg.isAuthenticationEnabled());
if (cfg.getSystemWorkerBlockedTimeout() != null) {
w.writeBoolean(true);
w.writeLong(cfg.getSystemWorkerBlockedTimeout());
}
else {
w.writeBoolean(false);
}
w.writeBoolean(true);
w.writeInt(cfg.getSqlQueryHistorySize());
w.writeBoolean(true);
w.writeBoolean(cfg.isPeerClassLoadingEnabled());
w.writeBoolean(true);
w.writeInt(getAsyncContinuationExecutorMode(cfg.getAsyncContinuationExecutor()));
if (cfg.getSqlSchemas() == null)
w.writeInt(0);
else {
w.writeInt(cfg.getSqlSchemas().length);
for (String schema : cfg.getSqlSchemas())
w.writeString(schema);
}
w.writeObject(cfg.getConsistentId());
// Thread pools.
w.writeBoolean(true);
w.writeInt(cfg.getPublicThreadPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getStripedPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getServiceThreadPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getSystemThreadPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getAsyncCallbackPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getManagementThreadPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getDataStreamerThreadPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getUtilityCacheThreadPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getQueryThreadPoolSize());
CacheConfiguration[] cacheCfg = cfg.getCacheConfiguration();
if (cacheCfg != null) {
w.writeInt(cacheCfg.length);
for (CacheConfiguration ccfg : cacheCfg)
writeCacheConfiguration(w, ccfg);
}
else
w.writeInt(0);
writeDiscoveryConfiguration(w, cfg.getDiscoverySpi());
writeEncryptionConfiguration(w, cfg.getEncryptionSpi());
CommunicationSpi comm = cfg.getCommunicationSpi();
if (comm instanceof TcpCommunicationSpi) {
w.writeBoolean(true);
TcpCommunicationSpi tcp = (TcpCommunicationSpi)comm;
w.writeInt(tcp.getAckSendThreshold());
w.writeInt(tcp.getConnectionsPerNode());
w.writeLong(tcp.getConnectTimeout());
w.writeBoolean(tcp.isDirectBuffer());
w.writeBoolean(tcp.isDirectSendBuffer());
w.writeBoolean(tcp.isFilterReachableAddresses());
w.writeLong(tcp.getIdleConnectionTimeout());
w.writeString(tcp.getLocalAddress());
w.writeInt(tcp.getLocalPort());
w.writeInt(tcp.getLocalPortRange());
w.writeLong(tcp.getMaxConnectTimeout());
w.writeInt(tcp.getMessageQueueLimit());
w.writeInt(tcp.getReconnectCount());
w.writeInt(tcp.getSelectorsCount());
w.writeLong(tcp.getSelectorSpins());
w.writeInt(tcp.getSlowClientQueueLimit());
w.writeInt(tcp.getSocketReceiveBuffer());
w.writeInt(tcp.getSocketSendBuffer());
w.writeLong(tcp.getSocketWriteTimeout());
w.writeBoolean(tcp.isTcpNoDelay());
w.writeInt(tcp.getUnacknowledgedMessagesBufferSize());
w.writeBoolean(tcp.isUsePairedConnections());
}
else
w.writeBoolean(false);
BinaryConfiguration bc = cfg.getBinaryConfiguration();
if (bc != null) {
w.writeBoolean(true); // binary config exists
w.writeBoolean(true); // compact footer is set
w.writeBoolean(bc.isCompactFooter());
w.writeBoolean(bc.getNameMapper() instanceof BinaryBasicNameMapper &&
((BinaryBasicNameMapper)(bc.getNameMapper())).isSimpleName());
}
else
w.writeBoolean(false);
Map<String, ?> attrs = cfg.getUserAttributes();
if (attrs != null) {
w.writeInt(attrs.size());
for (Map.Entry<String, ?> e : attrs.entrySet()) {
w.writeString(e.getKey());
w.writeObject(e.getValue());
}
}
else
w.writeInt(0);
AtomicConfiguration atomic = cfg.getAtomicConfiguration();
if (atomic != null) {
w.writeBoolean(true);
w.writeInt(atomic.getAtomicSequenceReserveSize());
w.writeInt(atomic.getBackups());
w.writeInt(ofNullable(atomic.getCacheMode()).orElse(AtomicConfiguration.DFLT_CACHE_MODE).code());
}
else
w.writeBoolean(false);
TransactionConfiguration tx = cfg.getTransactionConfiguration();
if (tx != null) {
w.writeBoolean(true);
w.writeInt(tx.getPessimisticTxLogSize());
writeEnumInt(w, tx.getDefaultTxConcurrency(), TransactionConfiguration.DFLT_TX_CONCURRENCY);
writeEnumInt(w, tx.getDefaultTxIsolation(), TransactionConfiguration.DFLT_TX_ISOLATION);
w.writeLong(tx.getDefaultTxTimeout());
w.writeInt(tx.getPessimisticTxLogLinger());
w.writeLong(tx.getTxTimeoutOnPartitionMapExchange());
}
else
w.writeBoolean(false);
EventStorageSpi evtStorageSpi = cfg.getEventStorageSpi();
if (evtStorageSpi == null)
w.writeByte((byte)0);
else if (evtStorageSpi instanceof NoopEventStorageSpi)
w.writeByte((byte)1);
else if (evtStorageSpi instanceof MemoryEventStorageSpi) {
w.writeByte((byte)2);
w.writeLong(((MemoryEventStorageSpi)evtStorageSpi).getExpireCount());
w.writeLong(((MemoryEventStorageSpi)evtStorageSpi).getExpireAgeMs());
}
writeMemoryConfiguration(w, cfg.getMemoryConfiguration());
writeSqlConnectorConfiguration(w, cfg.getSqlConnectorConfiguration());
writeClientConnectorConfiguration(w, cfg.getClientConnectorConfiguration());
w.writeBoolean(cfg.getClientConnectorConfiguration() != null);
writePersistentStoreConfiguration(w, cfg.getPersistentStoreConfiguration());
writeDataStorageConfiguration(w, cfg.getDataStorageConfiguration());
writeSslContextFactory(w, cfg.getSslContextFactory());
FailureHandler failureHnd = cfg.getFailureHandler();
if (failureHnd instanceof NoOpFailureHandler) {
w.writeBoolean(true);
w.writeByte((byte)0);
}
else if (failureHnd instanceof StopNodeFailureHandler) {
w.writeBoolean(true);
w.writeByte((byte)1);
}
else if (failureHnd instanceof StopNodeOrHaltFailureHandler) {
w.writeBoolean(true);
w.writeByte((byte)2);
w.writeBoolean(((StopNodeOrHaltFailureHandler)failureHnd).tryStop());
w.writeLong(((StopNodeOrHaltFailureHandler)failureHnd).timeout());
}
else
w.writeBoolean(false);
ExecutorConfiguration[] execCfgs = cfg.getExecutorConfiguration();
if (execCfgs != null) {
w.writeInt(execCfgs.length);
for (ExecutorConfiguration execCfg : execCfgs) {
w.writeString(execCfg.getName());
w.writeInt(execCfg.getSize());
}
}
else
w.writeInt(0);
w.writeString(cfg.getIgniteHome());
w.writeLong(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getInit());
w.writeLong(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax());
}