
    9h                         S SK r S SKrS SKJrJr  S SKJr  S SKJrJ	r	  \R                  " \5      r " S S\ R                  5      rg)    N)IterableMapping)ClusterMetadata) ConsumerProtocolMemberAssignmentConsumerProtocolMemberMetadatac            
          \ rS rSrSr\\R                  S\4S j5       5       r	\
\R                  S\S\\\4   S\\\4   4S j5       5       r\
\R                  S\\   S\4S	 j5       5       r\
\R                  S
\SS4S j5       5       rSrg)AbstractPartitionAssignor   zAbstract assignor implementation which does some common grunt work (in particular
collecting partition counts which are always needed in assignors).
returnc                     g)z1.name should be a string identifying the assignorN )selfs    lC:\Suresh\moveshuttle\MDcreated\moveengine\venv\Lib\site-packages\aiokafka/coordinator/assignors/abstract.pynameAbstractPartitionAssignor.name           clustermembersc                     g)a/  Perform group assignment given cluster metadata and member subscriptions

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}
Nr   )clsr   r   s      r   assign AbstractPartitionAssignor.assign   r   r   topicsc                     g)zGenerate ProtocolMetadata to be submitted via JoinGroupRequest.

Arguments:
    topics (set): a member's subscribed topics

Returns:
    MemberMetadata struct
Nr   )r   r   s     r   metadata"AbstractPartitionAssignor.metadata*   r   r   
assignmentNc                     g)zCallback 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
Nr   )r   r   s     r   on_assignment'AbstractPartitionAssignor.on_assignment6   r   r   r   )__name__
__module____qualname____firstlineno____doc__propertyabcabstractmethodstrr   classmethodr   r   r   dictr   r   r   r   r    __static_attributes__r   r   r   r	   r	      s     @c @  @   <<= 
c33	4	    hsm 0N    'G D   r   r	   )r(   loggingcollections.abcr   r   aiokafka.clusterr   aiokafka.coordinator.protocolr   r   	getLoggerr"   logABCr	   r   r   r   <module>r5      s8    
  - ,
 !2 2r   