package com.jivesoftware.os.amzabot.deployable.bot;
import org.merlin.config.Config;
import org.merlin.config.defaults.BooleanDefault;
import org.merlin.config.defaults.IntDefault;
import org.merlin.config.defaults.LongDefault;
import org.merlin.config.defaults.StringDefault;
public interface AmzaBotRandomOpConfig extends Config {
@BooleanDefault(false)
boolean getEnabled();
void setEnabled(boolean value);
@IntDefault(10)
int getHesitationFactorMs();
void setHesitationFactorMs(int value);
@LongDefault(10_000L)
long getWriteThreshold();
void setWriteThreshold(long value);
@IntDefault(100)
int getValueSizeThreshold();
void setValueSizeThreshold(int value);
@StringDefault("fsync_async")
String getDurability();
void setDurability(String value);
@StringDefault("leader_quorum")
String getConsistency();
void setConsistency(String value);
@IntDefault(3)
int getRingSize();
void setRingSize(int value);
@IntDefault(5_000)
int getRetryWaitMs();
void setRetryWaitMs(int value);
@IntDefault(1_000)
int getSnapshotFrequency();
void setSnapshotFrequency(int value);
@BooleanDefault(true)
boolean getClientOrdering();
void setClientOrdering(boolean value);
@IntDefault(1_000)
int getBatchFactor();
void setBatchFactor(int value);
@IntDefault(24 * 60 * 60 * 1_000)
int getTombstoneTimestampAgeInMillis();
void setTombstoneTimestampAgeInMillis(int value);
@IntDefault(12 * 60 * 60 * 1_000)
int getTombstoneTimestampIntervalMillis();
void setTombstoneTimestampIntervalMillis(int value);
}