use of org.infinispan.functional.Param.ReplicationMode in project infinispan by infinispan.
the class Params method toFlagsBitSet.
/**
* Bridging method between flags and params, provided for efficient checks.
*/
public long toFlagsBitSet() {
PersistenceMode persistenceMode = (PersistenceMode) params[PersistenceMode.ID].get();
LockingMode lockingMode = (LockingMode) params[LockingMode.ID].get();
ExecutionMode executionMode = (ExecutionMode) params[ExecutionMode.ID].get();
StatisticsMode statisticsMode = (StatisticsMode) params[StatisticsMode.ID].get();
ReplicationMode replicationMode = (ReplicationMode) params[ReplicationMode.ID].get();
long flagsBitSet = 0;
switch(persistenceMode) {
case SKIP_PERSIST:
flagsBitSet |= FlagBitSets.SKIP_CACHE_STORE;
break;
case SKIP_LOAD:
flagsBitSet |= FlagBitSets.SKIP_CACHE_LOAD;
break;
case SKIP:
flagsBitSet |= FlagBitSets.SKIP_CACHE_LOAD | FlagBitSets.SKIP_CACHE_STORE;
break;
}
switch(lockingMode) {
case SKIP:
flagsBitSet |= FlagBitSets.SKIP_LOCKING;
break;
case TRY_LOCK:
flagsBitSet |= FlagBitSets.ZERO_LOCK_ACQUISITION_TIMEOUT | FlagBitSets.FAIL_SILENTLY;
break;
}
switch(executionMode) {
case LOCAL:
flagsBitSet |= FlagBitSets.CACHE_MODE_LOCAL;
break;
case LOCAL_SITE:
flagsBitSet |= FlagBitSets.SKIP_XSITE_BACKUP;
break;
}
if (statisticsMode == StatisticsMode.SKIP) {
flagsBitSet |= FlagBitSets.SKIP_STATISTICS;
}
switch(replicationMode) {
case SYNC:
flagsBitSet |= FlagBitSets.FORCE_SYNCHRONOUS;
break;
case ASYNC:
flagsBitSet |= FlagBitSets.FORCE_ASYNCHRONOUS;
break;
}
return flagsBitSet;
}
use of org.infinispan.functional.Param.ReplicationMode in project infinispan by infinispan.
the class Params method writeObject.
public static void writeObject(ObjectOutput output, Params params) throws IOException {
PersistenceMode persistenceMode = (PersistenceMode) params.get(PersistenceMode.ID).get();
LockingMode lockingMode = (LockingMode) params.get(LockingMode.ID).get();
ExecutionMode executionMode = (ExecutionMode) params.get(ExecutionMode.ID).get();
StatisticsMode statisticsMode = (StatisticsMode) params.get(StatisticsMode.ID).get();
ReplicationMode replicationMode = (ReplicationMode) params.get(ReplicationMode.ID).get();
int paramBits = persistenceMode.ordinal() | (lockingMode.ordinal() << 2) | (executionMode.ordinal() << 4) | (statisticsMode.ordinal() << 6) | (replicationMode.ordinal() << 7);
output.writeByte(paramBits);
}
use of org.infinispan.functional.Param.ReplicationMode in project infinispan by infinispan.
the class Params method readObject.
public static Params readObject(ObjectInput input) throws IOException {
int paramBits = input.readByte();
PersistenceMode persistenceMode = PersistenceMode.valueOf(paramBits & 3);
LockingMode lockingMode = LockingMode.valueOf((paramBits >>> 2) & 3);
ExecutionMode executionMode = ExecutionMode.valueOf((paramBits >>> 4) & 3);
StatisticsMode statisticsMode = StatisticsMode.valueOf((paramBits >>> 6) & 1);
ReplicationMode replicationMode = ReplicationMode.valueOf((paramBits >>> 7) & 1);
if (persistenceMode == PersistenceMode.defaultValue() && lockingMode == LockingMode.defaultValue() && executionMode == ExecutionMode.defaultValue() && statisticsMode == StatisticsMode.defaultValue() && replicationMode == ReplicationMode.defaultValue()) {
return DEFAULT_INSTANCE;
} else {
Param[] params = Arrays.copyOf(DEFAULTS, DEFAULTS.length);
params[PersistenceMode.ID] = persistenceMode;
params[LockingMode.ID] = lockingMode;
params[ExecutionMode.ID] = executionMode;
params[StatisticsMode.ID] = statisticsMode;
params[ReplicationMode.ID] = replicationMode;
return new Params(params);
}
}
Aggregations