Interface DistributionState
- All Known Subinterfaces:
MutableDistributionState
- All Known Implementing Classes:
DbDistributionState
public interface DistributionState
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceThis visitor can visit pending distributions ofCommandDistributionRecord. -
Method Summary
Modifier and TypeMethodDescriptionvoidVisits each persisted pending distribution, providing both the key of that distribution and theCommandDistributionRecord.getCommandDistributionRecord(long distributionKey, int partition) Returns theCommandDistributionRecordfor the given distribution key.booleanhasPendingDistribution(long distributionKey) Returns whether there are any distributions pending for a given key.booleanhasPendingDistribution(long distributionKey, int partition) Returns whether a specific distribution for a specific partition is pending.
-
Method Details
-
hasPendingDistribution
boolean hasPendingDistribution(long distributionKey) Returns whether there are any distributions pending for a given key.- Parameters:
distributionKey- the key of the distribution- Returns:
- true if there are pending distributions for the given key, otherwise false
-
hasPendingDistribution
boolean hasPendingDistribution(long distributionKey, int partition) Returns whether a specific distribution for a specific partition is pending.- Parameters:
distributionKey- the key of the distribution that may be pendingpartition- the id of the partition for which the distribution might be pending- Returns:
trueif the specific pending distribution exists, otherwisefalse.
-
getCommandDistributionRecord
Returns theCommandDistributionRecordfor the given distribution key. This method takes a partition id. This is only used to set the partition property in theCommandDistributionRecord. Doing so allows us to return a whole record, without the need to remember setting the partition everytime this method is called.- Parameters:
distributionKey- the key of the distributionpartition- the partition to distribute to- Returns:
- an new instance of the
CommandDistributionRecord
-
foreachPendingDistribution
Visits each persisted pending distribution, providing both the key of that distribution and theCommandDistributionRecord.Note that a new instance of the record is provided for each visit, so the visitor does not have to make a copy when long term access is needed.
- Parameters:
visitor- Each pending distribution is visited by this visitor
-