Package com.tangosol.net
Class ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRule
java.lang.Object
com.tangosol.net.ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRule
- All Implemented Interfaces:
Comparable<ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRule>
- Enclosing class:
- ConfigurableQuorumPolicy.MembershipQuorumPolicy
public static class ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRule
extends Object
implements Comparable<ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRule>
A quorum rule defines a set of allowable actions beyond the rule's
threshold size.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRuleA QuorumRule that permits all actions.protected static final ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRuleA QuorumRule that rejects all actions. -
Constructor Summary
ConstructorsConstructorDescriptionQuorumRule(int nRuleMask, int nThreshold) Construct a state with the specified threshold and numeric representation.QuorumRule(int nRuleMask, int nThreshold, float flThresholdPct) Construct a state with the specified threshold and numeric representation. -
Method Summary
Modifier and TypeMethodDescriptionintCompare this Rule to another one based on thethreshold.protected booleancontains(int nMask) Return true if the current rule contains the specified action mask.protected intReturn the numeric representation of the actions allowed by this rule.protected intReturn the size threshold for this rule.protected floatReturn the percentage threshold for this rule.protected voidsetRuleMask(int nRuleMask) Set the numeric representation of the actions allowed by this rule.protected voidsetThreshold(int nThreshold) Set the size threshold for this rule.protected voidsetThresholdFactor(float flThreshold) Set the percentage threshold for this rule.toString()Return a quorum rule composed from this and the specified rule that reflects the "union" of the two rules.
-
Field Details
-
NONE_ALLOWED
A QuorumRule that rejects all actions. -
ALL_ALLOWED
A QuorumRule that permits all actions.
-
-
Constructor Details
-
QuorumRule
public QuorumRule(int nRuleMask, int nThreshold) Construct a state with the specified threshold and numeric representation.- Parameters:
nRuleMask- numeric representation of the statenThreshold- the size threshold of the state
-
QuorumRule
public QuorumRule(int nRuleMask, int nThreshold, float flThresholdPct) Construct a state with the specified threshold and numeric representation.- Parameters:
nRuleMask- numeric representation of the statenThreshold- the size threshold of the stateflThresholdPct- the size of threshold of the state in percentage
-
-
Method Details
-
compareTo
Compare this Rule to another one based on thethreshold.- Specified by:
compareToin interfaceComparable<ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRule>
-
toString
-
contains
protected boolean contains(int nMask) Return true if the current rule contains the specified action mask.- Parameters:
nMask- the action bitmask to test for- Returns:
- true if the current rule contains the specified action mask
-
union
protected ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRule union(ConfigurableQuorumPolicy.MembershipQuorumPolicy.QuorumRule rule) Return a quorum rule composed from this and the specified rule that reflects the "union" of the two rules. The union of two rules A and B requires a membership threshold that is max(A.getThreshold(), A.getThreshold()) and allows all actions allowed by A or B.- Parameters:
rule- the rule to compute the union of this with- Returns:
- a quorum rule representing the union with the specified rule
-
getRuleMask
protected int getRuleMask()Return the numeric representation of the actions allowed by this rule.- Returns:
- the numeric representation of this rule
-
setRuleMask
protected void setRuleMask(int nRuleMask) Set the numeric representation of the actions allowed by this rule.- Parameters:
nRuleMask- the numeric representation of this rule
-
getThreshold
protected int getThreshold()Return the size threshold for this rule.- Returns:
- the size threshold for this rule
-
setThreshold
protected void setThreshold(int nThreshold) Set the size threshold for this rule.- Parameters:
nThreshold- the size threshold for this rule
-
getThresholdFactor
protected float getThresholdFactor()Return the percentage threshold for this rule.- Returns:
- the percentage threshold for this rule
-
setThresholdFactor
protected void setThresholdFactor(float flThreshold) Set the percentage threshold for this rule.- Parameters:
flThreshold- the percentage threshold for this rule
-