All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.multiverse.stms.alpha.transactions.AbstractAlphaTransactionConfiguration Maven / Gradle / Ivy

Go to download

Contains the main Multiverse STM Implementation: the Alpha Engine. The Alpha engine supports readonly and update transactions. It also supports the retry/or else mechanism. This not the jar you want to have in your final distribution because it isn't instrumented (hence the name unborn). The jar you eventually want to have in your distribution is the multiverse-alpha jar. What this package does, is test the instrumentation for the Javaagent. The compiletime instrumentation is tested in the multiverse-alpha package (where all tests are copied and reexecuted but now with compiletime instrumentation).

The newest version!
package org.multiverse.stms.alpha.transactions;

import org.multiverse.api.PropagationLevel;
import org.multiverse.api.TraceLevel;
import org.multiverse.api.TransactionFactory;
import org.multiverse.api.backoff.BackoffPolicy;
import org.multiverse.api.clock.PrimitiveClock;
import org.multiverse.stms.AbstractTransactionConfiguration;

/**
 * @author Peter Veentjer
 */
public class AbstractAlphaTransactionConfiguration extends AbstractTransactionConfiguration {

    public final SpeculativeConfiguration speculativeConfiguration;
    public final int syncToClock;

    public AbstractAlphaTransactionConfiguration(
            PrimitiveClock clock, BackoffPolicy backoffPolicy, String familyName,
            boolean readOnly, int maxRetries, boolean interruptible, boolean writeSkewAllowed,
            boolean readTrackingEnabled, boolean explicitRetryAllowed, SpeculativeConfiguration speculativeConfiguration,
            long timeoutNs, int maxReadSpinCount, TransactionFactory transactionFactory, TraceLevel traceLevel,
            int syncToClock, PropagationLevel propagationLevel) {

        super(clock, backoffPolicy, familyName, readOnly, maxRetries, interruptible,
                writeSkewAllowed, readTrackingEnabled, explicitRetryAllowed, timeoutNs,
                maxReadSpinCount, transactionFactory, traceLevel, propagationLevel);

        this.syncToClock = syncToClock;
        this.speculativeConfiguration = speculativeConfiguration;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy