use of com.hazelcast.concurrent.atomicreference.AtomicReferenceContainer in project hazelcast by hazelcast.
the class AlterAndGetOperation method run.
@Override
public void run() throws Exception {
NodeEngine nodeEngine = getNodeEngine();
IFunction f = nodeEngine.toObject(function);
AtomicReferenceContainer atomicReferenceContainer = getReferenceContainer();
Data originalData = atomicReferenceContainer.get();
Object input = nodeEngine.toObject(originalData);
//noinspection unchecked
Object output = f.apply(input);
Data serializedOutput = nodeEngine.toData(output);
shouldBackup = !isEquals(originalData, serializedOutput);
if (shouldBackup) {
backup = serializedOutput;
atomicReferenceContainer.set(backup);
}
response = output;
}
use of com.hazelcast.concurrent.atomicreference.AtomicReferenceContainer in project hazelcast by hazelcast.
the class CompareAndSetOperation method run.
@Override
public void run() throws Exception {
AtomicReferenceContainer atomicReferenceContainer = getReferenceContainer();
returnValue = atomicReferenceContainer.compareAndSet(expect, update);
shouldBackup = returnValue;
}
Aggregations