diff options
Diffstat (limited to 'kafka/coordinator/assignors/abstract.py')
-rw-r--r-- | kafka/coordinator/assignors/abstract.py | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/kafka/coordinator/assignors/abstract.py b/kafka/coordinator/assignors/abstract.py index ed09a6e..773280a 100644 --- a/kafka/coordinator/assignors/abstract.py +++ b/kafka/coordinator/assignors/abstract.py @@ -19,17 +19,36 @@ class AbstractPartitionAssignor(object): def assign(self, cluster, members): """Perform group assignment given cluster metadata and member subscriptions - @param cluster: cluster metadata - @param members: {member_id: subscription} - @return {member_id: MemberAssignment} + Arguments: + cluster (ClusterMetadata): metadata for use in assignment + members (dict of {member_id: MemberMetadata}): decoded metadata for + each member in the group. + + Returns: + dict: {member_id: MemberAssignment} """ pass @abc.abstractmethod def metadata(self, topics): - """return ProtocolMetadata to be submitted via JoinGroupRequest""" + """Generate ProtocolMetadata to be submitted via JoinGroupRequest. + + Arguments: + topics (set): a member's subscribed topics + + Returns: + MemberMetadata struct + """ pass @abc.abstractmethod def on_assignment(self, assignment): + """Callback that runs on each assignment. + + This method can be used to update internal state, if any, of the + partition assignor. + + Arguments: + assignment (MemberAssignment): the member's assignment + """ pass |