o
    i:	                     @   sz   d Z ddlZddlmZ G dd dejeddZG dd dejedd	Zeejj	j
ddddZd
d Zdd ZdS )z;Utilities for use with the base interface of RPC Framework.    N)basec                   @      e Zd ZdZdS )_Completionz,A trivial implementation of base.Completion.N__name__
__module____qualname____doc__ r
   r
   e/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/grpc/framework/interfaces/base/utilities.pyr      s    r   terminal_metadatacodemessagec                   @   r   )_Subscriptionz.A trivial implementation of base.Subscription.Nr   r
   r
   r
   r   r   #   s    r   )kindtermination_callback	allowanceoperatorprotocol_receiverc                 C   s   t | ||S )a@  Creates a base.Completion aggregating the given operation values.

    Args:
      terminal_metadata: A terminal metadata value for an operation.
      code: A code value for an operation.
      message: A message value for an operation.

    Returns:
      A base.Completion aggregating the given operation values.
    )r   r   r
   r
   r   
completion8   s   r   c                 C   s   t tjjjdd| |S )ah  Creates a "full" base.Subscription for the given base.Operator.

    Args:
      operator: A base.Operator to be used in an operation.
      protocol_receiver: A base.ProtocolReceiver to be used in an operation.

    Returns:
      A base.Subscription of kind base.Subscription.Kind.FULL wrapping the given
        base.Operator and base.ProtocolReceiver.
    N)r   r   SubscriptionKindFULL)r   r   r
   r
   r   full_subscriptionF   s   r   )r	   collectionsgrpc.framework.interfaces.baser   
Completion
namedtupler   r   r   r   NONE_NONE_SUBSCRIPTIONr   r   r
   r
   r
   r   <module>   s,   

