org.infinispan.client.hotrod.configuration.ClientIntelligence Maven / Gradle / Ivy
package org.infinispan.client.hotrod.configuration;
/**
* ClientIntelligence specifies the level of intelligence used by the client.
* - BASIC means that the
* client doesn't handle server topology changes and therefore will only used the list of servers supplied at
* configuration time
* - TOPOLOGY_AWARE means that the client wants to receive topology updates from the
* servers so that it can deal with added / removed servers dynamically. Requests will go to the servers using a
* round-robin approach
* - HASH_DISTRIBUTION_AWARE like TOPOLOGY_AWARE but with the additional
* advantage that each request involving keys will be routed to the server who is the primary owner which improves
* performance greatly. This is the default
*
*
* @author Tristan Tarrant
* @since 9.0
*/
public enum ClientIntelligence {
BASIC(1),
TOPOLOGY_AWARE(2),
HASH_DISTRIBUTION_AWARE(3);
final byte value;
ClientIntelligence(int value) {
this.value = (byte) value;
}
public byte getValue() {
return value;
}
public static ClientIntelligence getDefault() {
return HASH_DISTRIBUTION_AWARE;
}
}