Ë
    S¼Sfä:  ã                   óì  — d Z ddlZddlZddlZddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
 ddlmZ dd	lmZ dd
lmZ ddlmZ dZ G d„ dej$                  «      Z G d„ dej(                  «      Zd„ Zd„ Z G d„ dej0                  «      Zd„ Zd„ Zd„ Zd„ Zd„ Z G d„ d ej>                  dd«      ej@                  «      Z!d„ Z"d„ Z# G d „ d!ejH                  «      Z% G d"„ d#ejL                  «      Z'd$„ Z(y)%zCTranslates gRPC's server-side API into gRPC's server-side Beta API.é    N)Ú_common)Ú	_metadata)Ú
interfaces)Úcardinality)Ústyle)Úabandonment)Úlogging_pool)Ústream)Úfaceé   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú_ServerProtocolContextc                 ó   — || _         y ©N©Ú_servicer_context©ÚselfÚservicer_contexts     ú\C:\Users\user\Documents\project_loop\venv\Lib\site-packages\grpc/beta/_server_adaptations.pyÚ__init__z_ServerProtocolContext.__init__$   ó
   € Ø!1ˆÕó    c                 ó6   — | j                   j                  «       S r   )r   Úpeer©r   s    r   r   z_ServerProtocolContext.peer'   s   € Ø×%Ñ%×*Ñ*Ó,Ð,r   c                  ó   — y r   © r   s    r   Ú!disable_next_response_compressionz8_ServerProtocolContext.disable_next_response_compression*   s   € Ør   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   #   s   „ ò2ò-ór   r   c                   óN   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zy)Ú_FaceServicerContextc                 ó   — || _         y r   r   r   s     r   r   z_FaceServicerContext.__init__/   r   r   c                 ó6   — | j                   j                  «       S r   )r   Ú	is_activer   s    r   r'   z_FaceServicerContext.is_active2   s   € Ø×%Ñ%×/Ñ/Ó1Ð1r   c                 ó6   — | j                   j                  «       S r   )r   Útime_remainingr   s    r   r)   z#_FaceServicerContext.time_remaining5   s   € Ø×%Ñ%×4Ñ4Ó6Ð6r   c                 ó   — t        d«      ‚)Nz6add_abortion_callback no longer supported server-side!)ÚNotImplementedError)r   Úabortion_callbacks     r   Úadd_abortion_callbackz*_FaceServicerContext.add_abortion_callback8   s   € Ü!ØDó
ð 	
r   c                 ó8   — | j                   j                  «        y r   )r   Úcancelr   s    r   r/   z_FaceServicerContext.cancel=   s   € Ø×Ñ×%Ñ%Õ'r   c                 ó,   — t        | j                  «      S r   )r   r   r   s    r   Úprotocol_contextz%_FaceServicerContext.protocol_context@   s   € Ü% d×&<Ñ&<Ó=Ð=r   c                 ó\   — t        j                  | j                  j                  «       «      S r   )r   Úbetar   Úinvocation_metadatar   s    r   r4   z(_FaceServicerContext.invocation_metadataC   s    € Ü�~‰~˜d×4Ñ4×HÑHÓJÓKÐKr   c                 ó`   — | j                   j                  t        j                  |«      «       y r   )r   Úsend_initial_metadatar   Úunbeta)r   Úinitial_metadatas     r   r8   z%_FaceServicerContext.initial_metadataF   s%   € Ø×Ñ×4Ñ4Ü×ÑÐ-Ó.õ	
r   c                 ó`   — | j                   j                  t        j                  |«      «       y r   )r   Úset_terminal_metadatar   r7   )r   Úterminal_metadatas     r   r;   z&_FaceServicerContext.terminal_metadataK   s%   € Ø×Ñ×4Ñ4Ü×ÑÐ.Ó/õ	
r   c                 ó:   — | j                   j                  |«       y r   )r   Úset_code)r   Úcodes     r   r>   z_FaceServicerContext.codeP   s   € Ø×Ñ×'Ñ'¨Õ-r   c                 ó:   — | j                   j                  |«       y r   )r   Úset_details)r   Údetailss     r   rA   z_FaceServicerContext.detailsS   s   € Ø×Ñ×*Ñ*¨7Õ3r   N)r    r!   r"   r   r'   r)   r-   r/   r1   r4   r8   r;   r>   rA   r   r   r   r$   r$   .   s:   „ ò2ò2ò7ò
ò
(ò>òLò
ò

ò
.ó4r   r$   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó(   •—  ‰| t        |«      «      S r   ©r$   )Úrequestr   Úunary_request_inlines     €r   Ú
adaptationz/_adapt_unary_request_inline.<locals>.adaptationX   s   ø€ Ù#ØÔ)Ð*:Ó;ó
ð 	
r   r   )rF   rG   s   ` r   Ú_adapt_unary_request_inlinerH   W   ó   ø€ ô
ð
 Ðr   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó(   •—  ‰| t        |«      «      S r   rD   )Úrequest_iteratorr   Ústream_request_inlines     €r   rG   z0_adapt_stream_request_inline.<locals>.adaptationa   s   ø€ Ù$ØÔ2Ð3CÓDó
ð 	
r   r   )rM   rG   s   ` r   Ú_adapt_stream_request_inlinerN   `   rI   r   c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	Ú	_Callbackc                 ó`   — t        j                  «       | _        g | _        d| _        d| _        y ©NF)Ú	threadingÚ	ConditionÚ
_conditionÚ_valuesÚ_terminatedÚ
_cancelledr   s    r   r   z_Callback.__init__j   s(   € Ü#×-Ñ-Ó/ˆŒØˆŒØ ˆÔØˆ�r   c                 ó°   — | j                   5  | j                  j                  |«       | j                   j                  «        d d d «       y # 1 sw Y   y xY wr   )rU   rV   ÚappendÚ
notify_all©r   Úvalues     r   Úconsumez_Callback.consumep   s@   € Ø�_‰_ñ 	)Ø�L‰L×Ñ Ô&Ø�O‰O×&Ñ&Ô(÷	)÷ 	)ñ 	)ús   �6AÁAc                 óˆ   — | j                   5  d| _        | j                   j                  «        d d d «       y # 1 sw Y   y xY w©NT)rU   rW   r[   r   s    r   Ú	terminatez_Callback.terminateu   s6   € Ø�_‰_ñ 	)Ø#ˆDÔØ�O‰O×&Ñ&Ô(÷	)÷ 	)ñ 	)úó	   �"8¸Ac                 ó¾   — | j                   5  | j                  j                  |«       d| _        | j                   j	                  «        d d d «       y # 1 sw Y   y xY wr`   )rU   rV   rZ   rW   r[   r\   s     r   Úconsume_and_terminatez_Callback.consume_and_terminatez   sH   € Ø�_‰_ñ 	)Ø�L‰L×Ñ Ô&Ø#ˆDÔØ�O‰O×&Ñ&Ô(÷	)÷ 	)ñ 	)ús   �=AÁAc                 óˆ   — | j                   5  d| _        | j                   j                  «        d d d «       y # 1 sw Y   y xY wr`   )rU   rX   r[   r   s    r   r/   z_Callback.cancel€   s5   € Ø�_‰_ñ 	)Ø"ˆDŒOØ�O‰O×&Ñ&Ô(÷	)÷ 	)ñ 	)úrb   c                 ó8  — | j                   5  	 | j                  rt        j                  «       ‚| j                  r$| j                  j                  d«      cd d d «       S | j                  r
	 d d d «       y | j                   j                  «        Œ�# 1 sw Y   y xY w©Nr   )rU   rX   r   Ú	AbandonedrV   ÚpoprW   Úwaitr   s    r   Údraw_one_valuez_Callback.draw_one_value…   s„   € Ø�_‰_ñ 		+ØØ—?’?Ü%×/Ñ/Ó1Ð1Ø—\’\ØŸ<™<×+Ñ+¨AÓ.÷		+ñ 		+ð ×%Ò%Ø÷		+ð 		+ð —O‘O×(Ñ(Ô*ð ÷		+ð 		+ús   �ABÁBÁ5BÂBc                 ó  — | j                   5  	 | j                  rt        j                  «       ‚| j                  r't        | j                  «      }d | _        |cd d d «       S | j                   j                  «        Œn# 1 sw Y   y xY wr   )rU   rX   r   rh   rW   ÚtuplerV   rj   )r   Ú
all_valuess     r   Údraw_all_valuesz_Callback.draw_all_values‘   st   € Ø�_‰_ñ 		+ØØ—?’?Ü%×/Ñ/Ó1Ð1Ø×%Ò%Ü!& t§|¡|Ó!4�JØ#'�D”LØ%÷		+ñ 		+ð —O‘O×(Ñ(Ô*ð ÷		+ð 		+ús   �AA=Á"A=Á=BN)
r    r!   r"   r   r^   ra   rd   r/   rk   ro   r   r   r   rP   rP   i   s%   „ ò ò)ò
)ò
)ò)ò

+ó
+r   rP   c                 óž   ‡ ‡‡‡— t        j                  «       Šˆˆ ˆˆfd„}t        j                  |¬«      }d|_        |j	                  «        y )Nc                  óÞ   •— ‰D ]W  } ‰j                  «       r‰j                  «       r y ‰j                  | «       ‰j                  «       r‰j                  «       sŒW y  ‰j                  «        y r   )r'   Úis_setr^   ra   )rE   Úrequest_consumerrL   r   Úthread_joineds    €€€€r   Úpipe_requestsz/_run_request_pipe_thread.<locals>.pipe_requests£   sb   ø€ Ø'ò 	ˆGØ#×-Ñ-Ô/°=×3GÑ3GÔ3IÙØ×$Ñ$ WÔ-Ø#×-Ñ-Ô/°=×3GÑ3GÕ3IÙð	ð 	×"Ñ"Õ$r   )ÚtargetT)rS   ÚEventÚThreadÚdaemonÚstart)rL   rs   r   ru   Úrequest_pipe_threadrt   s   ```  @r   Ú_run_request_pipe_threadr|   ž   s>   û€ ô —O‘OÓ%€M÷%ô $×*Ñ*°-Ô@ÐØ!%ÐÔØ×ÑÕr   c                 ó   ‡ — ˆ fd„}|S )Nc                 óÖ   •— t        «       }|j                  |j                  «      st        j                  «       ‚ ‰| |j
                  t        |«      «       |j                  «       d   S rg   )rP   Úadd_callbackr/   r   rh   rd   r$   ro   )rE   r   ÚcallbackÚunary_unary_events      €r   rG   z,_adapt_unary_unary_event.<locals>.adaptation²   s^   ø€ Ü“;ˆØ×,Ñ,¨X¯_©_Ô=Ü×'Ñ'Ó)Ð)ÙØØ×*Ñ*Ü Ð!1Ó2ô	
ð
 ×'Ñ'Ó)¨!Ñ,Ð,r   r   )r�   rG   s   ` r   Ú_adapt_unary_unary_eventr‚   ±   s   ø€ ô	-ð Ðr   c                 ó   ‡ — ˆ fd„}|S )Nc              3   óÖ   •K  — t        «       }|j                  |j                  «      st        j                  «       ‚ ‰| |t        |«      «       	 |j                  «       }|€y |–— Œ­wr   )rP   r   r/   r   rh   r$   rk   )rE   r   r€   ÚresponseÚunary_stream_events       €r   rG   z-_adapt_unary_stream_event.<locals>.adaptationÁ   sk   øè ø€ Ü“;ˆØ×,Ñ,¨X¯_©_Ô=Ü×'Ñ'Ó)Ð)ÙØ�XÔ3Ð4DÓEô	
ð Ø×.Ñ.Ó0ˆHØÐØà’ð ùs   ƒA&A)r   )r†   rG   s   ` r   Ú_adapt_unary_stream_eventr‡   À   s   ø€ ôð Ðr   c                 ó   ‡ — ˆ fd„}|S )Nc                 óî   •— t        «       }|j                  |j                  «      st        j                  «       ‚ ‰|j
                  t        |«      «      }t        | ||«       |j                  «       d   S rg   )	rP   r   r/   r   rh   rd   r$   r|   ro   )rL   r   r€   rs   Ústream_unary_events       €r   rG   z-_adapt_stream_unary_event.<locals>.adaptationÓ   sq   ø€ Ü“;ˆØ×,Ñ,¨X¯_©_Ô=Ü×'Ñ'Ó)Ð)Ù-Ø×*Ñ*Ü Ð!1Ó2ó
Ðô 	!ØÐ.Ð0@ô	
ð ×'Ñ'Ó)¨!Ñ,Ð,r   r   )rŠ   rG   s   ` r   Ú_adapt_stream_unary_eventr‹   Ò   s   ø€ ô-ð Ðr   c                 ó   ‡ — ˆ fd„}|S )Nc              3   óî   •K  — t        «       }|j                  |j                  «      st        j                  «       ‚ ‰|t        |«      «      }t        | ||«       	 |j                  «       }|€y |–— Œ­wr   )rP   r   r/   r   rh   r$   r|   rk   )rL   r   r€   rs   r…   Ústream_stream_events        €r   rG   z._adapt_stream_stream_event.<locals>.adaptationä   s   øè ø€ Ü“;ˆØ×,Ñ,¨X¯_©_Ô=Ü×'Ñ'Ó)Ð)Ù.ØÔ*Ð+;Ó<ó
Ðô 	!ØÐ.Ð0@ô	
ð Ø×.Ñ.Ó0ˆHØÐØà’ð ùs   ƒA2A5r   )rŽ   rG   s   ` r   Ú_adapt_stream_stream_eventr�   ã   s   ø€ ôð" Ðr   c                   ó   — e Zd Zy)Ú_SimpleMethodHandlerN)r    r!   r"   r   r   r   r‘   r‘   ø   s   „ ð  	r   r‘   Ú_MethodHandler)Úrequest_streamingÚresponse_streamingÚrequest_deserializerÚresponse_serializerÚunary_unaryÚunary_streamÚstream_unaryÚstream_streamc                 óv  — | j                   t         j                  j                  u �r6| j                  t        j                  j
                  u r%t        dd||t        | j                  «      d d d «      S | j                  t        j                  j                  u r%t        dd||d t        | j                  «      d d «      S | j                  t        j                  j                  u r%t        dd||d d t        | j                  «      d «      S | j                  t        j                  j                  u r%t        dd||d d d t        | j                  «      «      S t3        «       ‚| j                   t         j                  j                   u �r,| j                  t        j                  j
                  u r%t        dd||t#        | j$                  «      d d d «      S | j                  t        j                  j                  u r%t        dd||d t'        | j(                  «      d d «      S | j                  t        j                  j                  u r%t        dd||d d t+        | j,                  «      d «      S | j                  t        j                  j                  u r%t        dd||d d d t/        | j0                  «      «      S t3        «       ‚)NFT)r   ÚServiceÚINLINEr   ÚCardinalityÚUNARY_UNARYr‘   rH   Úunary_unary_inlineÚUNARY_STREAMÚunary_stream_inlineÚSTREAM_UNARYrN   Ústream_unary_inlineÚSTREAM_STREAMÚstream_stream_inlineÚEVENTr‚   r�   r‡   r†   r‹   rŠ   r�   rŽ   Ú
ValueError)Úimplementationr•   r–   s      r   Ú_simple_method_handlerrª     s°  € ð ×ÑœuŸ}™}×3Ñ3Ò3Ø×%Ñ%¬×)@Ñ)@×)LÑ)LÑLÜ'ØØØ$Ø#Ü+¨N×,MÑ,MÓNØØØó	ð 	ð ×'Ñ'¬;×+BÑ+B×+OÑ+OÑOÜ'ØØØ$Ø#ØÜ+¨N×,NÑ,NÓOØØó	ð 	ð ×'Ñ'¬;×+BÑ+B×+OÑ+OÑOÜ'ØØØ$Ø#ØØÜ,Ø"×6Ñ6óð óð ð ×&Ñ&¬+×*AÑ*A×*OÑ*OÑOä'ØØØ$Ø#ØØØÜ,Ø"×7Ñ7óóð ôv ‹,Ðð_ 
×	Ñ	¤§¡×!4Ñ!4Ò	4Ø×%Ñ%¬×)@Ñ)@×)LÑ)LÑLÜ'ØØØ$Ø#Ü(¨×)IÑ)IÓJØØØó	ð 	ð ×'Ñ'¬;×+BÑ+B×+OÑ+OÑOÜ'ØØØ$Ø#ØÜ)¨.×*KÑ*KÓLØØó	ð 	ð ×'Ñ'¬;×+BÑ+B×+OÑ+OÑOÜ'ØØØ$Ø#ØØÜ)¨.×*KÑ*KÓLØó	ð 	ð ×&Ñ&¬+×*AÑ*A×*OÑ*OÑOä'ØØØ$Ø#ØØØÜ*¨>×+MÑ+MÓNó	ð 	ô ‹,Ðr   c                 ól   — | xs i } i }| D ]&  }t        j                  |d   |d   «      }| |   ||<   Œ( |S )Nr   é   )r   Úfully_qualified_method)Úmethod_pair_mapÚflat_mapÚmethod_pairÚmethods       r   Ú_flatten_method_pair_mapr²   s  sP   € Ø%Ò+¨€OØ€HØ&ò 8ˆÜ×/Ñ/°¸A±ÀÈAÁÓOˆØ*¨;Ñ7ˆ�Òð8ð €Or   c                   ó   — e Zd Zd„ Zd„ Zy)Ú_GenericRpcHandlerc                 ór   — t        |«      | _        t        |«      | _        t        |«      | _        || _        y r   )r²   Ú_method_implementationsÚ_request_deserializersÚ_response_serializersÚ_multi_method_implementation)r   Úmethod_implementationsÚmulti_method_implementationÚrequest_deserializersÚresponse_serializerss        r   r   z_GenericRpcHandler.__init__}  sD   € ô (@Ø"ó(
ˆÔ$ô '?Ø!ó'
ˆÔ#ô &>Ø ó&
ˆÔ"ð -HˆÕ)r   c                 óF  — | j                   j                  |j                  «      }|�St        || j                  j                  |j                  «      | j
                  j                  |j                  «      «      S | j                  €y 	 y # t        j                  $ r Y y w xY wr   )	r¶   Úgetr±   rª   r·   r¸   r¹   r   ÚNoSuchMethodError)r   Úhandler_call_detailsÚmethod_implementations      r   Úservicez_GenericRpcHandler.service�  s¡   € Ø $× <Ñ <× @Ñ @Ø ×'Ñ'ó!
Ðð !Ð,Ü)Ø%Ø×+Ñ+×/Ñ/Ð0D×0KÑ0KÓLØ×*Ñ*×.Ñ.Ð/C×/JÑ/JÓKóð ð
 ×.Ñ.Ð6ØðØøÜ×)Ñ)ò Ùðús   Â
B ÂB N)r    r!   r"   r   rÃ   r   r   r   r´   r´   |  s   „ òHó$r   r´   c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	Ú_Serverc                 ó   — || _         y r   )Ú_grpc_server)r   Úgrpc_servers     r   r   z_Server.__init__£  s
   € Ø'ˆÕr   c                 ó8   — | j                   j                  |«      S r   )rÇ   Úadd_insecure_port)r   Úaddresss     r   rÊ   z_Server.add_insecure_port¦  s   € Ø× Ñ ×2Ñ2°7Ó;Ð;r   c                 ó:   — | j                   j                  ||«      S r   )rÇ   Úadd_secure_port)r   rË   Úserver_credentialss      r   rÍ   z_Server.add_secure_port©  s   € Ø× Ñ ×0Ñ0°Ð:LÓMÐMr   c                 ó8   — | j                   j                  «        y r   ©rÇ   rz   r   s    r   rz   z_Server.start¬  s   € Ø×Ñ×ÑÕ!r   c                 ó8   — | j                   j                  |«      S r   ©rÇ   Ústop)r   Úgraces     r   rÓ   z_Server.stop¯  s   € Ø× Ñ ×%Ñ% eÓ,Ð,r   c                 ó:   — | j                   j                  «        | S r   rÐ   r   s    r   Ú	__enter__z_Server.__enter__²  s   € Ø×Ñ×ÑÔ!Øˆr   c                 ó:   — | j                   j                  d «       yrR   rÒ   )r   Úexc_typeÚexc_valÚexc_tbs       r   Ú__exit__z_Server.__exit__¶  s   € Ø×Ñ×Ñ˜tÔ$Ør   N)
r    r!   r"   r   rÊ   rÍ   rz   rÓ   rÖ   rÛ   r   r   r   rÅ   rÅ   ¢  s&   „ ò(ò<òNò"ò-òór   rÅ   c                 ó¤   — t        | |||«      }|€t        j                  |€t        n|«      }n|}t	        t        j                  ||f¬«      «      S )N)Úhandlers)r´   r	   ÚpoolÚ_DEFAULT_POOL_SIZErÅ   ÚgrpcÚserver)Úservice_implementationsr»   r¼   r½   Úthread_poolÚthread_pool_sizeÚgeneric_rpc_handlerÚeffective_thread_pools           r   rá   rá   »  sh   € ô -ØØ#ØØó	Ðð ÐÜ ,× 1Ñ 1Ø"2Ð":ÕÐ@Pó!
Ñð !,ÐÜÜ�‰Ð)Ð5HÐ4JÔKóð r   ))Ú__doc__ÚcollectionsrS   rà   r   Ú	grpc.betar   r   Úgrpc.framework.commonr   r   Úgrpc.framework.foundationr   r	   r
   Úgrpc.framework.interfaces.facer   rß   ÚGRPCServicerContextr   ÚServicerContextr$   rH   rN   ÚConsumerrP   r|   r‚   r‡   r‹   r�   Ú
namedtupleÚRpcMethodHandlerr‘   rª   r²   ÚGenericRpcHandlerr´   ÚServerrÅ   rá   r   r   r   ú<module>rô      só   ðñ Jã Û ã Ý Ý Ý  Ý -Ý 'Ý 1Ý 2Ý ,Ý /ð Ð ô˜Z×;Ñ;ô ô&4˜4×/Ñ/ô &4òRòô2+�—‘ô 2+òj ò&òò$ò"ô*	Ø€K×ÑØð		
óð 	×Ñô	ò&eòPô#˜×/Ñ/ô #ôLˆj×Ñô ó2r   