
    Ng                     X   d Z ddlZddlZddlZddlZddlZddlmZ  e	            Z
 G d de          Z G d de          Z ej         ej                              Zd Z G d	 d
e          Zd Zd Zd ZdZej        dk    r#ddlmZ ddlmZ ddlmZ ddlmZ eeeeefz   ZdS dS )zbgRPC's experimental APIs.

These APIs are subject to be removed during any minor version release.
    N)cygrpcc                       e Zd ZdZdZdS )ChannelOptionszIndicates a channel option unique to gRPC Python.

    This enumeration is part of an EXPERIMENTAL API.

    Attributes:
      SingleThreadedUnaryStream: Perform unary-stream RPCs on a single thread.
    SingleThreadedUnaryStreamN)__name__
__module____qualname____doc__r        V/var/www/html/ai-engine/env/lib/python3.11/site-packages/grpc/experimental/__init__.pyr   r      s"          !<r   r   c                       e Zd ZdZdS )
UsageErrorzDRaised by the gRPC library to indicate usage not allowed by the API.Nr   r   r	   r
   r   r   r   r   r   *   s        NNNNr   r   c                      t           S )zeCreates a ChannelCredentials for use with an insecure channel.

    THIS IS AN EXPERIMENTAL API.
    )_insecure_channel_credentialsr   r   r   insecure_channel_credentialsr   5   s
    
 )(r   c                       e Zd ZdZdS )ExperimentalApiWarningz&A warning that an API is experimental.Nr   r   r   r   r   r   =   s        0000r   r   c                     | t           vrSt                               |            d                    |           dz   }t          j        |t
          d|z              d S d S )Nz8'{}' is an experimental API. It is subject to change or z5removal between minor releases. Proceed with caution.   )
stacklevel)_EXPERIMENTAL_APIS_USEDaddformatwarningswarnr   )api_namestack_offsetmsgs      r   _warn_experimentalr!   A   sv    ...##H---FMM  FF 	 	c1a,>NOOOOOO /.r   c                 F     t          j                    fd            }|S )Nc                  >    t          j        d            | i |S )N   )r!   r   )argskwargsfs     r   _wrapperz"experimental_api.<locals>._wrapperN   s*    1:q)))q$!&!!!r   )	functoolswraps)r'   r(   s   ` r   experimental_apir+   M   s8    _Q" " " " " Or   c                 T   |sdS |j         sO|j        s$|                     | |j                            S |                     | |j                            S |j        s$|                     | |j                            S |                     | |j                            S )a  Wraps the server method handler function.

    The server implementation requires all server handlers being wrapped as
    RpcMethodHandler objects. This helper function ease the pain of writing
    server handler wrappers.

    Args:
        wrapper: A wrapper function that takes in a method handler behavior
          (the actual function) and returns a wrapped function.
        handler: A RpcMethodHandler object to be wrapped.

    Returns:
        A newly created RpcMethodHandler.
    Nunary_unaryunary_streamstream_unarystream_stream)request_streamingresponse_streaming_replacer.   r0   r2   r4   )wrapperhandlers     r   wrap_server_method_handlerr:   V   s      t$ ) 	P ##8K0L0L#MMM##9M1N1N#OOO) 	##9M1N1N#OOO##%gg&;<< $   r   )r   r   r   r   r:   )      r3   r1   r/   r-   )r
   copyr)   sysr   grpcgrpc._cythonr   _cygrpcsetr   objectr   	Exceptionr   ChannelCredentialschannel_credentials_insecurer   r   Warningr   r!   r+   r:   __all__version_infogrpc._simple_stubsr4   r2   r0   r.   r   r   r   <module>rK      s   
      



   * * * * * *#%% 	< 	< 	< 	< 	<V 	< 	< 	<O O O O O O O O !8 7(G(**! ! 
) ) )1 1 1 1 1W 1 1 1	P 	P 	P    D f000000////////////......lL-PPGGG r   