Search in sources :

Example 1 with ReplicationMode

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;
}
Also used : StatisticsMode(org.infinispan.functional.Param.StatisticsMode) ExecutionMode(org.infinispan.functional.Param.ExecutionMode) ReplicationMode(org.infinispan.functional.Param.ReplicationMode) PersistenceMode(org.infinispan.functional.Param.PersistenceMode) LockingMode(org.infinispan.functional.Param.LockingMode)

Example 2 with ReplicationMode

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);
}
Also used : StatisticsMode(org.infinispan.functional.Param.StatisticsMode) ExecutionMode(org.infinispan.functional.Param.ExecutionMode) ReplicationMode(org.infinispan.functional.Param.ReplicationMode) PersistenceMode(org.infinispan.functional.Param.PersistenceMode) LockingMode(org.infinispan.functional.Param.LockingMode)

Example 3 with ReplicationMode

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);
    }
}
Also used : StatisticsMode(org.infinispan.functional.Param.StatisticsMode) Param(org.infinispan.functional.Param) ExecutionMode(org.infinispan.functional.Param.ExecutionMode) ReplicationMode(org.infinispan.functional.Param.ReplicationMode) PersistenceMode(org.infinispan.functional.Param.PersistenceMode) LockingMode(org.infinispan.functional.Param.LockingMode)

Aggregations

ExecutionMode (org.infinispan.functional.Param.ExecutionMode)3 LockingMode (org.infinispan.functional.Param.LockingMode)3 PersistenceMode (org.infinispan.functional.Param.PersistenceMode)3 ReplicationMode (org.infinispan.functional.Param.ReplicationMode)3 StatisticsMode (org.infinispan.functional.Param.StatisticsMode)3 Param (org.infinispan.functional.Param)1