...
Code Block | ||||
---|---|---|---|---|
| ||||
package org.apache.kafka.streams.processor.assignment;
/** A simple wrapper around UUID that abstracts a Process ID */
public class ProcessID {
private final UUID id;
public ProcessID(final UUID id) {
this.id = id;
}
public id() {
return id;
}
int hashCode() {
return id.hashCode();
}
boolean equals(final ProcessID other) {
if (other == null || getClass() != other.getClass()) {
return false;
}
return id.equals(other.id);
}
}
/**
* A simple interface for the assignor to return the desired placement of active and standby tasks on Streams client nodes
*/
public interface NodeAssignment {
ProcessID processId();
Set<TaskId> activeAssignment();
Set<TaskId> activeStatefulAssignment();
Set<TaskId> activeStatelessAssignment();
Set<TaskId> standbyAssignment();
/**
* @return the actual deadline in objective time, using ms since the epoch, after which the
* followup rebalance will be attempted. Equivalent to {@code 'now + followupRebalanceDelay'}
*/
long followupRebalanceDeadline();
} |
...