package org.infinispan.server.hotrod.configuration; import org.infinispan.configuration.cache.LockingConfigurationBuilder; import org.infinispan.configuration.cache.StateTransferConfigurationBuilder; import org.infinispan.configuration.cache.SyncConfigurationBuilder; /** * HotRodServerChildConfigurationBuilder. * * @author Tristan Tarrant * @since 7.0 */ public interface HotRodServerChildConfigurationBuilder { AuthenticationConfigurationBuilder authentication(); /** * Sets the external address of this node, i.e. the address which clients will connect to */ HotRodServerChildConfigurationBuilder proxyHost(String proxyHost); /** * Sets the external port of this node, i.e. the port which clients will connect to */ HotRodServerChildConfigurationBuilder proxyPort(int proxyPort); /** * Configures the lock acquisition timeout for the topology cache. See {@link LockingConfigurationBuilder#lockAcquisitionTimeout(long)}. * Defaults to 10 seconds */ HotRodServerChildConfigurationBuilder topologyLockTimeout(long topologyLockTimeout); /** * Configures the replication timeout for the topology cache. See {@link SyncConfigurationBuilder#replTimeout(long)}. * Defaults to 10 seconds */ HotRodServerChildConfigurationBuilder topologyReplTimeout(long topologyReplTimeout); /** * Configures whether to enable waiting for initial state transfer for the topology cache. See {@link * StateTransferConfigurationBuilder#awaitInitialTransfer(boolean)} */ HotRodServerChildConfigurationBuilder topologyAwaitInitialTransfer(boolean topologyAwaitInitialTransfer); /** * Configures whether to enable state transfer for the topology cache. If disabled, a {@link * org.infinispan.persistence.cluster.ClusterLoader} will be used to lazily retrieve topology information from the * other nodes. Defaults to true. */ HotRodServerChildConfigurationBuilder topologyStateTransfer(boolean topologyStateTransfer); }