
    "j                     l    d dl Z d dlZd dlZd dlmZ d dlmZ  ej                  e      Z	 G d d      Z
y)    N)Protocol)
AdbLoggingc                   ^    e Zd ZddZd Zd Zd Zd Zd Zd Z	d	 Z
d
 Zd Zd ZddZd Zy)ConnectionAsyncNc                 \    || _         t        |      | _        || _        d | _        d | _        y N)hostintporttimeoutreaderwriter)selfr	   r   r   s       Z/var/www/oz-panel.ru/ozpay-pub/venv/lib/python3.12/site-packages/ppadb/connection_async.py__init__zConnectionAsync.__init__   s)    	I	    c                    K   | S wr    r   s    r   
__aenter__zConnectionAsync.__aenter__   s     s   c                 @   K   | j                          d {    y 7 wr   )close)r   typevalue	tracebacks       r   	__aexit__zConnectionAsync.__aexit__   s     jjls   c                 f  K   t         j                  d| j                  | j                         	 | j                  r_t        j                  t        j                  | j                  | j                        | j                         d {   \  | _        | _	        | S t        j                  | j                  | j                         d {   \  | _        | _	        	 | S 7 U7 # t        t
        j                  f$ r5}t        dj                  | j                  | j                  |            d }~ww xY ww)NzConnect to ADB server - %s:%dz?ERROR: connecting to {}:{} {}.
Is adb running on your computer?)loggerdebugr	   r   r   asynciowait_foropen_connectionr   r   OSErrorTimeoutErrorRuntimeErrorformat)r   es     r   connectzConnectionAsync.connect   s    4diiK	C||181A1A'BYBYZ^ZcZceienenBoquq}q}1~+~(T[  291H1HTXT]T]1^+^(T[
  ,+^--. 	Cahhimirirtxt}t}  @A   B  C  C	CsY   ,D1AC  CC  D1-C  CC  D1C  C   D.90D))D..D1c                   K   t         j                  d       | j                  r=	 | j                  j                          | j                  j	                          d {    d | _        d | _        y 7 # t
        $ r Y w xY ww)NzConnection closed...)r   r   r   r   wait_closedr#   r   r   s    r   r   zConnectionAsync.close(   sk     +,;;!!#kk--///  0 s:   "B7A2 A0A2 !B0A2 2	A>;B=A>>Bc                    K   t        j                  | j                  j                  |      | j                         d {   S 7 wr   )r    r!   r   readr   )r   lengths     r   _recvzConnectionAsync._recv:   s2     %%dkk&6&6v&>MMMMs   =AA Ac                    K   | j                   j                  |       t        j                  | j                   j	                         | j
                         d {    y 7 wr   )r   writer    r!   drainr   r   datas     r   _sendzConnectionAsync._send=   s?     $t{{002DLLAAAs   AA!AA!c                    K   t        | j                  d       d {   j                  d      d      }| j                  |       d {   j                  d      S 7 @7 w)N   utf-8   )r
   r.   decode)r   nobs     r   receivezConnectionAsync.receiveA   sM     A&..w7<jjo%--g66 '%s!   A!A,A!	A
A!A!c                    K   t        j                  |      }t        j                  |       | j	                  |       d {    | j                          d {   S 7 7 wr   )r   encode_datar   r   r4   _check_status)r   msgs     r   sendzConnectionAsync.sendE   sN     ""3'Sjjo''))) 	)s#   ?A"AA"A A" A"c                 "  K   | j                  d       d {   j                  d      }|t        j                  k7  rL| j                  d       d {   j                  d      }t	        dj                  t        |      |            y7 s7 :w)Nr6   r7   i   zERROR: {} {}T)r.   r9   r   OKAYr%   r&   repr)r   recverrors      r   r>   zConnectionAsync._check_statusK   sq     jjm#++G48== ::d++33G<E~44T$ZGHH $+s!   BB:BB9BBc                 l   K   t               }	 | j                  d       d {   }|s	 |S ||z  }$7 w)Ni   )	bytearrayr.   )r   r3   rD   s      r   read_allzConnectionAsync.read_allX   sA     {D))D  DLD	 )s    424c                 D   K   | j                  |       d {   }|S 7 wr   )r.   )r   r-   r3   s      r   r,   zConnectionAsync.readc   s!     ZZ'' (s     c                 B   K   | j                  |       d {    y 7 wr   )r4   r2   s     r   r0   zConnectionAsync.writeg   s     jjs   )	localhosti  N)r   )__name__
__module____qualname__r   r   r   r(   r   r.   r4   r;   r@   r>   rH   r,   r0   r   r   r   r   r      sE    $NB7*	r   r   )r    structsocketppadb.protocolr   ppadb.utils.loggerr   
get_loggerrL   r   r   r   r   r   <module>rT      s2       # )			x	(] ]r   