+\h&ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl mZmZmZmZmZGddeZGddeZGddeZy) N)QUIC_MAX_DATAGRAMAsyncQuicConnectionAsyncQuicManagerBaseQuicStream UnexpectedEOFcXeZdZfdZdZdZdZd dZd dZdZ dZ d Z d Z xZ S) AsyncioQuicStreamcXt|||tj|_yN)super__init__asyncio Condition_wake_up)self connection stream_id __class__s T/root/niggaflix-v3/playground/venv/lib/python3.12/site-packages/dns/quic/_asyncio.pyr zAsyncioQuicStream.__init__s" Y/))+ cK|j4d{|jjd{dddd{y7777 #1d{7swYyxYwwr )rwaitrs r_wait_for_wake_upz#AsyncioQuicStream._wait_for_wake_upsV== ' '--$$& & & ' ' ' & ' ' ' 'sSA&A A&AA A A&AA& AA&A#A A#A&c0K |j|}|jj|ry||_ t j |j |d{d|_i7 #t$rtjjwxYww)Nr) _timeout_from_expiration_bufferhave _expectingrwait_forr TimeoutErrordns exceptionTimeout)ramount expirationtimeouts rr zAsyncioQuicStream.wait_for"s33J?G||  ($DO ,&&t'='='?III DO J ,mm+++ ,s.6B'A/ A-!A/%B-A//$BBcK |j|}|jjry tj|j |d{Z7#t $rtjjwxYwwr ) rrseen_endrr rr!r"r#r$)rr&r's r wait_for_endzAsyncioQuicStream.wait_for_end.sy33J?G||$$& ,&&t'='='?III  J ,mm+++ ,s..B'A AA BA $BBcK|j|}|jjr3|j|d{|jj S|j d|d{tjd|jjd\}|j ||d{|jj|S77l7#w)Nz!H) _expiration_from_timeout _connectionis_h3r*rget_allr structunpackget)rr'r&sizes rreceivezAsyncioQuicStream.receive8s227;    ! ! ###J/ / /<<'') )--:. . .mmD$,,*:*:1*=>GT--j1 1 1<<##D) ) 0 / 1s7AC'C!3C'6C#7A C'C% C'#C'%C'cK|j|}|jj|j||d{y7wr ) _encapsulater.write _stream_id)rdatagramis_enddatas rsendzAsyncioQuicStream.sendCs8  *$$T__dFCCCs;H=G>>HIH?H! H??IcKd|_|j4d{|jjdddd{y7/7#1d{7swYyxYww)NT)r`r] notify_allrs rrwzAsyncioQuicConnection._wakeupsX!## * *    ' ' ) * * * * * * *sCA#A A#A A#A A# A#A A A A#cK|j4d{|js"|jjd{dddd{d|_y7J77#1d{7swYd|_yxYwwrK)r]r`rrs r_wait_for_wake_timerz*AsyncioQuicConnection._wait_for_wake_timersw## . .%%&&++--- . .# .- . . . .#sVBAB*A$A A$ BA" B A$"B$A=*A- +A=2BcrK|jjd{|js|jj t j }|D]E\}}||j k(sJ|jj||j dd{G|j\}} tj|j|d{|j||jd{|jsyy777@#t$rYIwxYw7(wr )r\rrsr.datagrams_to_sendrvrqrYsendto_get_timer_valuesrr rrx _handle_timer_handle_events)r datagramsr:rar&intervals r_senderzAsyncioQuicConnection._senders""'')))**((::499;GI%. F!'$**,,,ll))(DJJEEE F&*%;%;%= "Z &&t'@'@'BHMMM   z *%%' ' '** * FN   (sjD7D BD7!D""D7<'D&#D$$D&($D7 D5 D7D7"D7$D&& D2/D71D22D7cKd} |jj}|yt|tjj j r|jre|jj|}|D]B}t|tjj jr|jj|j}|sZ|j|j |_n|j"|j |_|j$s|j'ddd{t|tjj j(s|jj|j}|s|j'|j*|j$d{En`|jj|j}|r8|j'|j*|j,d{nt|tjj j.r|j0j3nt|tjj j4r"d|_|j8j;not|tjj j<rA|jj|j}|r|j'ddd{|dz }|dkDrd}t?j@dd{M777@787w)NrTrrg )!r. next_event isinstanceaioquicquiceventsStreamDataReceivedr/_h3_conn handle_eventh3HeadersReceived_streamsr3r_headersheaders _trailers stream_endedrA DataReceivedr< end_streamHandshakeCompletedr[rrConnectionTerminatedrsr^cancel StreamResetrsleep)rcountevent h3_eventsh3_eventstreams rrz$AsyncioQuicConnection._handle_eventss$$//1E}%!4!4!G!GH::< $ : :5 AI$-"%h 0A0A0Q0QR%)]]%6%6u%GF%#)??#:6>6F6FFO%+%5%5%=7?7G7GF$4#+#8#8*0*;*;C*F$F$F''**2C2C2P2PQ%)]]%6%6u%GF%&,&7&7$,MM83H3H'"!"!""""]]..u?F$// EM?AM MD M #M$(M  M M M M M M czK|jj||||jd{y7wr )r.send_stream_datarw)rrr<r;s rr8zAsyncioQuicConnection.writes- ))&$?llns 1;9;c|jrytj|j|_tj|j |_yr )_closedrTaskr{r^rr_rs rrunzAsyncioQuicConnection.runs; << %ll4>>+;<#LL8rc^K tj|jj|d{|jrt|jjd}t||}||j|<|S7N#t$rt j jwxYwwrK)rr r[rr!r"r#r$rsrr.get_next_available_stream_idr r)rr'rrs r make_streamz!AsyncioQuicConnection.make_streams (""4#;#;#@#@#BGL L L :: $$AA%H "43#) i   M (--'' ' (s,B-1BBBA B-B$B**B-cDK|js|jj|jd|jdd|_|jj |j j|jd{ |jd{ |jd{|jj d{yy7R7?#tj$rYRwxYw7E#tj$rYXwxYw7>w)NrrgT)r_managerclosedrqr.rDr\rrrwr^rCancelledErrorr_rYrs rrDzAsyncioQuicConnection.closes|| MM A 1 >DL    " " $  $ $ &,,.  )))) '''',,$$& & & !)))  ())   &sBD C&D C*(C()C*.D=D>DD D D (C**D=D ?DD DDD DD r rP)rQrRrSr r{rwrrrr8rrrDrTrUs@rrWrW[s6#+8* # (+'Z9 'rrWcReZdZdejddffd Z ddZdZdZxZ S)AsyncioQuicManagerNFc4t|||t||yr )r r rW)rconf verify_mode server_namerrs rr zAsyncioQuicManager.__init__s {,A;PRSrcZ|j|||||\}}|r|j|Sr )_connectr)rrarbrcrdwant_session_ticketrstarts rconnectzAsyncioQuicManager.connects8#mm T6;0C U  NN rcK|Swr rFrs rrGzAsyncioQuicManager.__aenter__rHrIcKt|jj}|D]}|jd{y7wrK)list _connectionsvaluesrD)rrLrMrN connectionsrs rrOzAsyncioQuicManager.__aexit__sJ4,,3356 % %J""$ $ $ % %srs\ !??DT'/T'n)r